可视化组件的生成方法和生成模块的制作方法

文档序号:6365944阅读:151来源:国知局
专利名称:可视化组件的生成方法和生成模块的制作方法
技术领域
本发明涉及计算机领域,尤其涉及一种可视化组件的生成方法和生成模块。
背景技术
目前,编程工具C/C++组件的开发主要依赖于人工编码,这种方式存在以下问题 要求开发人员具有较好的C/C++基础和C/C++开发经验;
手工输入代码容易出现语法错误;
人工编码容易导致编码风格不规范。Eclipse是ー种基于Java的可扩展开源开发平台。Eclipse是ー个框架和ー组服务,用于通过插件组件构建开发环境。Eclipse附帯了一个标准的插件集,包括为人熟知的 JDT (Java Development Tools, Java 开发工具)。

发明内容
本发明所要解决的技术问题是提供一种可视化组件的生成方法和生成模块,降低对组件开发人员的能力要求,提高组件开发效率。为解决上述技术问题,本发明提出了一种可视化组件的生成方法,包括
根据要生成的编程工具组件的组件类型和该要生成的编程工具组件需要的流程控制
关键字,选取图形化编辑框架GEF模型;
为选取的每个GEF模型设置与该GEF模型对应的视图,将所述要生成的编程工具组件的流程表示为选取的GEF模型对应的视图的组合;
根据GEF文件中保存的模型实例属性信息和模型实例关系信息,自动生成所述要生成的编程工具组件的源代码文件。进ー步地,上述方法还可具有以下特点,还包括根据所述GEF模型的属性变化更新所述GEF模型对应的视图。进ー步地,上述方法还可具有以下特点,还包括根据用户对视图的编辑修改该视图对应的GEF模型。进ー步地,上述方法还可具有以下特点,所述GEF模型对应的视图使用绘图工具Draw2D 绘制。进ー步地,上述方法还可具有以下特点,所述编程工具为C编程语言或C++编程语言。为解决上述技术问题,本发明提出了一种可视化组件的生成模块,包括
选取单元,用于根据要生成的编程工具组件的组件类型和该要生成的编程工具组
件需要的流程控制关键字,选取图形化编辑框架GEF模型;
视图化単元,用于为选取的每个GEF模型设置与该GEF模型对应的视图,将所述要生成的编程工具组件的流程表示为选取的GEF模型对应的视图的组合;
生成単元,用于根据GEF文件中保存的模型实例属性信息和模型实例关系信息,自动生成所述要生成的编程工具组件的源代码文件
进ー步地,上述模块还可具有以下特点,还包括视图更新単元,用于根据所述GEF模型的属性变化更新所述GEF模型对应的视图。进ー步地,上述模块还可具有以下特点,还包括模型修改単元,用于根据用户对视图的编辑修改该视图对应的GEF模型。进ー步地,上述模块还可具有以下特点,所述GEF模型对应的视图使用绘图工具Draw2D 绘制。进ー步地,上述模块还可具有以下特点,所述编程工具为C编程语言或C++编程语言。
本发明可视化组件的生成方法和生成模块,降低了对开发人员C/C++开发能力的要求,使得开发人员可以更多的关注于业务逻辑。并且,本发明可视化组件的生成方法和生成模块,能够自动生成代码,代码格式统一,降低了语法错误出现的机率,提高了开发测试效率。


图I为本发明实施例中可视化组件的生成方法的流程 图2为本发明实施例中可视化组件的生成模块的结构图。
具体实施例方式本发明使用GEF技木,在Eclipse平台上实现ー个C/C++组件的可视化开发插件,通过图形化编辑C/C++组件流程,最終生成C/C++组件代码。以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。本发明可视化组件的生成方法可以通过Eclipse平台实现。图I为本发明实施例中可视化组件的生成方法的流程图。如图I所示,本实施例中,可视化组件的生成方法可以包括如下步骤
步骤101,根据要生成的编程工具组件的组件类型和该要生成的编程工具组件需要的流程控制关键字,选取GEF (Graphical Editor Framework,图形化编辑框架)模型;
每个GEF模型对应ー种GEF中自定义的图形,该图形即下面将要提到的GEF模型对应的视图。其中,编程工具可以为C编程语言或C++编程语言。GEF模型的选取可以通过分析归类得到。比如,C/C++组件有A、B两类,分别用ー个java类来描述A、B两类组件;再比如,C/C++流程控制关键字主要有if、for等,分别用ー个java类来描述各个关键字的属性。这些java类就构成了 GEF的模型。GEF模型用来记录组件或者流程关键字的属性(例如组件名称、组件输入输出參数、if关键字的判断条件等)以及在编辑器中图形化展示时的位置、大小等关系。GEF模型只与控制器打交道,而不知道任何与视图有关的东西。为了能让GEF中的控制器知道GEF模型的变化,还需把控制器作为事件监听者注册到GEF模型中,当GEF模型发生变化吋,GEF模型发相应的事件给控制器,控制器负责通知视图进行更新,所以GEF模型对象一般还会包含PropertyChangeSupport类型的成员变量,用来维护控制器。步骤102,为选取的每个GEF模型设置与该GEF模型对应的视图,将要生成的编程工具组件的流程表示为选取的GEF模型对应的视图的组合;
GEF模型对应的视图是指GEF模型对应的显示图形。GEF模型对应的视图可以使用绘图工具Draw2D绘制。为GEF模型设置或者说绘制视图的目的是,使GEF模型能够在可视化编辑器中展现,并用视图的组合来表示编程工具组件的流程,使用户对编程工具组件流程的了解更加直观,易于理解。可以通过拖拽GEF模型对应的视图到编辑器窗ロ以实例化、图形化GEF模型,通过设置GEF模型实例的属性以及GEF模型实例之间的关系完成C/C++流程设计。步骤103,根据GEF文件中保存的模型实例属性信息和模型实例关系信息,自动生成要生成的编程工具组件的源代码文件;
步骤104,根据GEF模型的属性变化更新GEF模型对应的视 步骤105,根据用户对视图的编辑修改该视图对应的GEF模型。控制器是GEF模型和GEF模型对应的视图之间的桥梁。控制器不仅要监听GEF模型的变化,当GEF模型的属性发生变化吋,刷新GEF模型对应的视图,而且当用户编辑GEF模型对应的视图时,还要把编辑结果反映到GEF模型上。GEF中的控制器就是所谓的EditPart对象,每ー个GEF模型对象都对应ー个EditPart对象。姆个控制器都继承类AbstractGraphicalEditPart,并且由于控制器要监听GEF模型的变化,所以还需实现PropertyChangeListener接ロ。在控制器生效时,应该把控制器注册·为对应GEF模型的监听器,所以需覆盖父类AbstractGraphicalEditPart的active方法,在控制器失效时,从GEF模型中删除这个控制器,所以需覆盖父类AbstractGraphicalEditPart的deactive方法。此外由于控制器要根据模型来创建并刷新模型对应的视图,所以还需覆盖父类AbstractGraphicalEditPart的CreateFigure、实现PropertyChangeListener 接 ロ 的 PropertyChange 万法。用户编辑视图(比如拖动某个GEF模型对应的图形,改变其位置),这过程包括用户向视图对应的控制器发出编辑请求(Request),控制器会调用相应的命令(command)来修改对应GEF模型的位置属性,GEF模型位置属性发生变化了,又会通知控制器,控制器就会刷新视图,改变图形的位置。控制器怎么根据请求类型来调用相应的命令,是通过策略来完成的,策略保存了请求类型和命令的映射关系。所以需要在控制器中安装策略,这通过覆盖父类的 createEditPolicies 来实现。本发明可视化组件的生成方法,降低了对开发人员C/C++开发能力的要求,使得开发人员可以更多的关注于业务逻辑。并且,本发明可视化组件的生成方法,能够自动生成代码,代码格式统一,降低了语法错误出现的机率,提高了开发测试效率。本发明还提出了一种可视化组件的生成模块。本发明可视化组件的生成模块可以实施上述可视化组件的生成方法。图2为本发明实施例中可视化组件的生成模块的结构图。如图2所示,本实施例中,可视化组件的生成模块200可以包括选取单元210、视图化単元220和生成単元230。其中,选取单元210用于根据要生成的编程工具组件的组件类型和该要生成的编程工具组件需要的流程控制关键字,选取图形化编辑框架GEF模型。视图化単元220用于为选取的每个GEF模型设置与该GEF模型对应的视图,将要生成的编程工具组件的流程表示为选取的GEF模型对应的视图的组合。生成単元230用于根据GEF文件中保存的模型实例属性信息和模型实例关系信息,自动生成该要生成的编程工具组件的源代码文件。再如图2所示,可视化组件 的生成模块200还可以包括视图更新単元240。视图更新単元240用于根据GEF模型的属性变化更新该GEF模型对应的视图。再如图2所示,可视化组件的生成模块200还可以包括模型修改単元250。模型修改単元250用于根据用户对视图的编辑修改该视图对应的GEF模型。应用本发明可视化组件的生成模块,降低了对开发人员C/C++开发能力的要求,使得开发人员可以更多的关注于业务逻辑。并且,本发明可视化组件的生成模块,能够自动生成代码,代码格式统一,降低了语法错误出现的机率,提高了开发测试效率。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种可视化组件的生成方法,其特征在于,包括 根据要生成的编程工具组件的组件类型和该要生成的编程工具组件需要的流程控制关键字,选取图形化编辑框架GEF模型; 为选取的每个GEF模型设置与该GEF模型对应的视图,将所述要生成的编程工具组件的流程表示为选取的GEF模型对应的视图的组合; 根据GEF文件中保存的模型实例属性信息和模型实例关系信息,自动生成所述要生成的编程工具组件的源代码文件。
2.根据权利要求I所述的可视化组件的生成方法,其特征在于,还包括根据所述GEF模型的属性变化更新所述GEF模型对应的视图。
3.根据权利要求I所述的可视化组件的生成方法,其特征在于,还包括根据用户对视图的编辑修改该视图对应的GEF模型。
4.根据权利要求I所述的可视化组件的生成方法,其特征在于,所述GEF模型对应的视图使用绘图工具Draw2D绘制。
5.根据权利要求I所述的可视化组件的生成方法,其特征在于,所述编程工具为C编程语言或C++编程语言。
6.一种可视化组件的生成模块,其特征在于,包括选取单元,用于根据要生成的编程工具组件的组件类型和该要生成的编程工具组件需要的流程控制关键字,选取图形化编辑框架GEF模型;视图化单元,用于为选取的每个GEF模型设置与该GEF模型对应的视图,将所述要生成的编程工具组件的流程表示为选取的GEF模型对应的视图的组合;生成单元,用于根据GEF文件中保存的模型实例属性信息和模型实例关系信息,自动生成所述要生成的编程工具组件的源代码文件。
7.根据权利要求6所述的可视化组件的生成模块,其特征在于,还包括视图更新单元,用于根据所述GEF模型的属性变化更新所述GEF模型对应的视图。
8.根据权利要求6所述的可视化组件的生成模块,其特征在于,还包括模型修改单元,用于根据用户对视图的编辑修改该视图对应的GEF模型。
9.根据权利要求6所述的可视化组件的生成模块,其特征在于,所述GEF模型对应的视图使用绘图工具Draw2D绘制。
10.根据权利要求6所述的可视化组件的生成模块,其特征在于,所述编程工具为C编程语言或C++编程语言。
全文摘要
本发明涉及一种可视化组件的生成方法和生成模块。可视化组件的生成方法包括根据要生成的编程工具组件的组件类型和该要生成的编程工具组件需要的流程控制关键字,选取图形化编辑框架GEF模型;为选取的每个GEF模型设置与该GEF模型对应的视图,将所述要生成的编程工具组件的流程表示为选取的GEF模型对应的视图的组合;根据GEF文件中保存的模型实例属性信息和模型实例关系信息,自动生成所述要生成的编程工具组件的源代码文件。本发明可视化组件的生成方法和生成模块,降低了对开发人员C/C++开发能力的要求,使得开发人员可以更多的关注于业务逻辑,并且降低了语法错误出现的机率,提高了开发测试效率。
文档编号G06F9/44GK102662651SQ20121005974
公开日2012年9月12日 申请日期2012年3月8日 优先权日2012年3月8日
发明者陈暄 申请人:北京神州数码思特奇信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1