CN102662651A - 可视化组件的生成方法和生成模块 - Google Patents

可视化组件的生成方法和生成模块 Download PDF

Info

Publication number
CN102662651A
CN102662651A CN2012100597460A CN201210059746A CN102662651A CN 102662651 A CN102662651 A CN 102662651A CN 2012100597460 A CN2012100597460 A CN 2012100597460A CN 201210059746 A CN201210059746 A CN 201210059746A CN 102662651 A CN102662651 A CN 102662651A
Authority
CN
China
Prior art keywords
gef
model
view
programming tool
generate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2012100597460A
Other languages
English (en)
Inventor
陈暄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING DIGITAL CHINA SI-TECH INFORMATION TECHNOLOGY Co Ltd
Original Assignee
BEIJING DIGITAL CHINA SI-TECH INFORMATION TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEIJING DIGITAL CHINA SI-TECH INFORMATION TECHNOLOGY Co Ltd filed Critical BEIJING DIGITAL CHINA SI-TECH INFORMATION TECHNOLOGY Co Ltd
Priority to CN2012100597460A priority Critical patent/CN102662651A/zh
Publication of CN102662651A publication Critical patent/CN102662651A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种可视化组件的生成方法和生成模块。可视化组件的生成方法包括:根据要生成的编程工具组件的组件类型和该要生成的编程工具组件需要的流程控制关键字,选取图形化编辑框架GEF模型;为选取的每个GEF模型设置与该GEF模型对应的视图,将所述要生成的编程工具组件的流程表示为选取的GEF模型对应的视图的组合;根据GEF文件中保存的模型实例属性信息和模型实例关系信息,自动生成所述要生成的编程工具组件的源代码文件。本发明可视化组件的生成方法和生成模块,降低了对开发人员C/C++开发能力的要求,使得开发人员可以更多的关注于业务逻辑,并且降低了语法错误出现的机率,提高了开发测试效率。

Description

可视化组件的生成方法和生成模块
技术领域
本发明涉及计算机领域,尤其涉及一种可视化组件的生成方法和生成模块。
背景技术
目前,编程工具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++开发能力的要求,使得开发人员可以更多的关注于业务逻辑。并且,本发明可视化组件的生成方法和生成模块,能够自动生成代码,代码格式统一,降低了语法错误出现的机率,提高了开发测试效率。
附图说明
图1为本发明实施例中可视化组件的生成方法的流程图;
图2为本发明实施例中可视化组件的生成模块的结构图。
具体实施方式
本发明使用GEF技术,在Eclipse平台上实现一个C/C++组件的可视化开发插件,通过图形化编辑C/C++组件流程,最终生成C/C++组件代码。
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
本发明可视化组件的生成方法可以通过Eclipse平台实现。
图1为本发明实施例中可视化组件的生成方法的流程图。如图1所示,本实施例中,可视化组件的生成方法可以包括如下步骤:
步骤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++开发能力的要求,使得开发人员可以更多的关注于业务逻辑。并且,本发明可视化组件的生成模块,能够自动生成代码,代码格式统一,降低了语法错误出现的机率,提高了开发测试效率。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种可视化组件的生成方法,其特征在于,包括:
根据要生成的编程工具组件的组件类型和该要生成的编程工具组件需要的流程控制关键字,选取图形化编辑框架GEF模型;
为选取的每个GEF模型设置与该GEF模型对应的视图,将所述要生成的编程工具组件的流程表示为选取的GEF模型对应的视图的组合;
根据GEF文件中保存的模型实例属性信息和模型实例关系信息,自动生成所述要生成的编程工具组件的源代码文件。
2.根据权利要求1所述的可视化组件的生成方法, 其特征在于,还包括:
    根据所述GEF模型的属性变化更新所述GEF模型对应的视图。
3.根据权利要求1所述的可视化组件的生成方法, 其特征在于,还包括:
    根据用户对视图的编辑修改该视图对应的GEF模型。
4.根据权利要求1所述的可视化组件的生成方法, 其特征在于,所述GEF模型对应的视图使用绘图工具Draw2D绘制。
5.根据权利要求1所述的可视化组件的生成方法, 其特征在于,所述编程工具为C编程语言或C++编程语言。
6.一种可视化组件的生成模块,其特征在于,包括:
    选取单元,用于根据要生成的编程工具组件的组件类型和该要生成的编程工具组件需要的流程控制关键字,选取图形化编辑框架GEF模型;
    视图化单元,用于为选取的每个GEF模型设置与该GEF模型对应的视图,将所述要生成的编程工具组件的流程表示为选取的GEF模型对应的视图的组合;
    生成单元,用于根据GEF文件中保存的模型实例属性信息和模型实例关系信息,自动生成所述要生成的编程工具组件的源代码文件。
7.根据权利要求6所述的可视化组件的生成模块, 其特征在于,还包括:
    视图更新单元,用于根据所述GEF模型的属性变化更新所述GEF模型对应的视图。
8.根据权利要求6所述的可视化组件的生成模块, 其特征在于,还包括:
    模型修改单元,用于根据用户对视图的编辑修改该视图对应的GEF模型。
9.根据权利要求6所述的可视化组件的生成模块, 其特征在于, 所述GEF模型对应的视图使用绘图工具Draw2D绘制。
10.根据权利要求6所述的可视化组件的生成模块, 其特征在于, 所述编程工具为C编程语言或C++编程语言。
CN2012100597460A 2012-03-08 2012-03-08 可视化组件的生成方法和生成模块 Pending CN102662651A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012100597460A CN102662651A (zh) 2012-03-08 2012-03-08 可视化组件的生成方法和生成模块

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012100597460A CN102662651A (zh) 2012-03-08 2012-03-08 可视化组件的生成方法和生成模块

Publications (1)

Publication Number Publication Date
CN102662651A true CN102662651A (zh) 2012-09-12

Family

ID=46772152

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012100597460A Pending CN102662651A (zh) 2012-03-08 2012-03-08 可视化组件的生成方法和生成模块

Country Status (1)

Country Link
CN (1) CN102662651A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019690A (zh) * 2012-11-20 2013-04-03 北京思特奇信息技术股份有限公司 一种可视化的基于jet技术的组件模块开发方法
CN104111828A (zh) * 2013-04-22 2014-10-22 易保网络技术(上海)有限公司 人机交互界面自动生成方法及系统
CN104317576A (zh) * 2014-07-04 2015-01-28 北京思特奇信息技术股份有限公司 一种基于eclipse的代码自动生成方法及系统
CN104408548A (zh) * 2014-10-31 2015-03-11 北京思特奇信息技术股份有限公司 一种图形化引导展示方法及系统
CN105607902A (zh) * 2015-12-16 2016-05-25 苏州同元软控信息技术有限公司 基于构件模型的系统可视化设计及代码生成系统及方法
CN106155668A (zh) * 2015-04-18 2016-11-23 成都复晓科技有限公司 一种宏语言的图形化表达方法
CN106933563A (zh) * 2015-12-31 2017-07-07 远光软件股份有限公司 一种页面流编辑器
CN107908542A (zh) * 2017-07-26 2018-04-13 平安壹钱包电子商务有限公司 测试用例创建方法、装置、计算机设备及存储介质
CN108415697A (zh) * 2018-02-13 2018-08-17 北京安博通科技股份有限公司 一种可视化组件的配置方法及装置
CN109074245A (zh) * 2016-03-24 2018-12-21 微软技术许可有限责任公司 将视觉示图转换成代码
CN109240706A (zh) * 2017-05-09 2019-01-18 北京京东尚科信息技术有限公司 用于配置系统业务的方法、装置及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1731351A (zh) * 2005-08-26 2006-02-08 南京邮电大学 一种用于网格计算的模型驱动方法
US20060271909A1 (en) * 2005-05-24 2006-11-30 International Business Machines Corporation Graphical editor with incremental development
CN101727327A (zh) * 2010-02-01 2010-06-09 山东浪潮齐鲁软件产业股份有限公司 一种基于gef技术可视化jsp界面的开发方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060271909A1 (en) * 2005-05-24 2006-11-30 International Business Machines Corporation Graphical editor with incremental development
CN1731351A (zh) * 2005-08-26 2006-02-08 南京邮电大学 一种用于网格计算的模型驱动方法
CN101727327A (zh) * 2010-02-01 2010-06-09 山东浪潮齐鲁软件产业股份有限公司 一种基于gef技术可视化jsp界面的开发方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019690B (zh) * 2012-11-20 2015-12-09 北京思特奇信息技术股份有限公司 一种可视化的基于jet技术的组件模块开发方法
CN103019690A (zh) * 2012-11-20 2013-04-03 北京思特奇信息技术股份有限公司 一种可视化的基于jet技术的组件模块开发方法
CN104111828A (zh) * 2013-04-22 2014-10-22 易保网络技术(上海)有限公司 人机交互界面自动生成方法及系统
CN104111828B (zh) * 2013-04-22 2017-06-13 易保网络技术(上海)有限公司 人机交互界面自动生成方法及系统
CN104317576A (zh) * 2014-07-04 2015-01-28 北京思特奇信息技术股份有限公司 一种基于eclipse的代码自动生成方法及系统
CN104408548A (zh) * 2014-10-31 2015-03-11 北京思特奇信息技术股份有限公司 一种图形化引导展示方法及系统
CN106155668B (zh) * 2015-04-18 2019-03-01 成都复晓科技有限公司 一种宏语言的图形化表达方法
CN106155668A (zh) * 2015-04-18 2016-11-23 成都复晓科技有限公司 一种宏语言的图形化表达方法
CN105607902A (zh) * 2015-12-16 2016-05-25 苏州同元软控信息技术有限公司 基于构件模型的系统可视化设计及代码生成系统及方法
CN106933563A (zh) * 2015-12-31 2017-07-07 远光软件股份有限公司 一种页面流编辑器
CN109074245A (zh) * 2016-03-24 2018-12-21 微软技术许可有限责任公司 将视觉示图转换成代码
CN109240706A (zh) * 2017-05-09 2019-01-18 北京京东尚科信息技术有限公司 用于配置系统业务的方法、装置及电子设备
CN107908542A (zh) * 2017-07-26 2018-04-13 平安壹钱包电子商务有限公司 测试用例创建方法、装置、计算机设备及存储介质
CN107908542B (zh) * 2017-07-26 2020-06-23 平安壹钱包电子商务有限公司 测试用例创建方法、装置、计算机设备及存储介质
CN108415697A (zh) * 2018-02-13 2018-08-17 北京安博通科技股份有限公司 一种可视化组件的配置方法及装置
CN108415697B (zh) * 2018-02-13 2021-06-04 北京安博通科技股份有限公司 一种可视化组件的配置方法及装置

Similar Documents

Publication Publication Date Title
CN102662651A (zh) 可视化组件的生成方法和生成模块
CN1655120B (zh) 在集成开发环境中作为设计器主宿应用程序的方法和系统
CN108228287B (zh) 基于qt的用户界面控件的生成方法及装置
CN106293664A (zh) 代码生成方法及装置
US11513775B2 (en) Group control and management among electronic devices
CN101887370B (zh) 创建系统用户界面的方法及装置
CN103903086A (zh) 一种基于业务模型驱动的管理信息系统开发方法及系统
CN105761007B (zh) 信息管理软件设计的辅助方法及系统
CN101226479A (zh) 一种实现手机菜单动态配置的方法
CN109471580B (zh) 一种可视化3d课件编辑器及课件编辑方法
CN104536398B (zh) 一种变频器监控方法和系统
CN102629204A (zh) 网页源代码生成方法及装置
CN105653255A (zh) 一种在office框架中设置报告模板以自动生成报告文件的方法
CN101604286B (zh) 一种关键字驱动表格生成方法
KR101408280B1 (ko) 개발도구의 로직생성장치 및 방법과, 그 방법을 실행하기 위한 프로그램이 기록된 저장매체
CN115495069A (zh) 基于模型驱动的煤炭工业软件流程实现方法、装置及设备
CN110427185A (zh) 一种基于电力脚本语言实现人机浏览器功能的方法
CN107391118A (zh) 一种Web应用用户体验平台系统
KR20150066377A (ko) Devs 기반의 시뮬레이션 프레임워크 시스템 및 이를 이용한 시뮬레이션 방법
KR101460794B1 (ko) 미디어 아트 콘텐츠 생성 방법 및 시스템
CN106372152B (zh) 一种在线表单开发系统
CN105573900A (zh) 一种系统日志配置和记录方法
US11853727B2 (en) Group control and management among electronic devices
CN108022056B (zh) 一种基于bim的结构动态响应安全监测系统与方法
CN103049602A (zh) 基于模型驱动工程的将aadl组件转换到接口自动机模型方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 100085 Haidian District, Zhongguancun, South Street, No. 6,, building information, floor, No. 16

Applicant after: SI-TECH Information Technology Ltd.

Address before: 100085 Haidian District, Zhongguancun, South Street, No. 6,, building information, floor, No. 16

Applicant before: Beijing Digital China SI-TECH Information Technology Co., Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: BEIJING DIGITAL CHINA SI-TECH INFORMATION TECHNOLOGY LTD. TO: BEIJING SI-TECH INFORMATION TECHNOLOGY LTD.

C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20120912