需要一些关于从Motif迁移到Gtk的建议

时间:2012-04-27 01:24:54

标签: c gtk legacy-code x11 motif

我正在做一个关于将遗留GUI程序从Motif迁移到Gtk的项目。 源代码很长(大约80k行)。 现在我有两个计划:

  1. 只需找到Motif函数和Gtk之间的对应关系。然后编写一些脚本来自动执行此转换。当然,这不能100%自动完成,需要手工完成。
  2. 从源代码返回GUI程序的体系结构。构建一个树状结构,然后根据结构使用Gtk重新构建程序。
  3. 请给我一些关于这两个计划的建议。任何想法或想法也受到热烈欢迎。

2 个答案:

答案 0 :(得分:0)

我记得在我大学的旧时代,我有一个从MOTIF程序到X框架xview进行(自动)转换的任务。我迷失在这项任务中并进行了彻底的重建。

祝你好运

答案 1 :(得分:0)

我不知道主题,但你解决方案1听起来对我来说是一个非常糟糕的主意。工具包具有一些特定功能,并且不可互换。否则你会有很多不同的前端到软件,事实并非如此,因为这需要大量的工作。

我真的不明白你的解决方案2,尤其是树状结构。它是一个图表,看看哪些屏幕出现?这将是一个好主意。截取当前屏幕的屏幕截图,将它们合并为一个大图像,并用箭头说明哪些操作可以帮助您。

然后,您需要查看GUI逻辑是否在您的程序中明确分开,如果它们全部并列。如果它是并列的,你将会有很多工作,这很可能是你在GTK中完全重新实现你的程序!

但不要忘记你可以使用Glade设计GTK GUI,这将为你节省大量的GUI创建代码行。

由于您的应用程序是80k LOC,我认为这是一个大项目,可能需要几个月的时间才能实现。您需要创建GTK应用程序框架,然后复制/粘贴程序的内部逻辑。开始按屏幕重新实现屏幕,这样您就可以看到真正的改进。如果你试图一次性完成,你最终会因为看不到任何进展而气馁。

所有这些都是个人方法,这就是我如何做到的。其他人可能会找到更好的迁移计划。

您可以通过搜索gtk-app-devel-list mailing list找到更多建议(已经提出类似问题,例如this one)。