读书人

eclipse GMF 制造简单工作流流程设计器

发布时间: 2012-08-31 12:55:03 作者: rapoo

eclipse GMF 制作简单工作流流程设计器(2)


本节教程在原来基础上继续完善工作流流程设计器,本节的主要内容有:

    迁移线上加入箭头使用OCL语言给活动节点类型赋值



1.在迁移线上添加箭头其实很简单,只要在gmfgraph文件中添加箭头修饰即可。

a)在Canvas flow->Figure Gallery Default->Figure DescriptorTransitionFigure->Polyline Conneciton TransitionFigure右键点击,NewChild->Polyline Decoration, 输入名称TransitionFigure, 这样为目标设置箭头了,如下图:


eclipse GMF 制造简单工作流流程设计器(2)

?

?

b)选择在Canvas flow->Figure Gallery Default->Figure DescriptorTransitionFigure节点,将Target Decoration属性设置成Polyline DecorationTransitionFigure,如下图:


eclipse GMF 制造简单工作流流程设计器(2)

?

?

c)重新生成flow.gmfgen文件,并重新生成图形代码,右键点击flow.gmfgen文件,Generate Diagram Code, 生成完毕后,运行如下:

?

eclipse GMF 制造简单工作流流程设计器(2)

?

2.使用OCL给活动节点类型赋值, 我们只需要在gmfmap文件加入OCL约束即可。

a)选择节点Mapping->TopNode Reference<activity:StartActivity/StartActivity>->NodeMapping <StartActivity/StartActivity>, 点击右键,New Child->FeatureSeq Initializer, 然后选择该节点,右键点击New Child->Feature Value Spec,在属性Feature选择Activity.type:ActivityType,然后继续新建,New Child->Constraint,在body里面输入ActivityType::START,在Feature Seq Initializer继续新建Feature ValueSpec,在属性Feature选择Activity.name:EString, 继续新建Constraint,输入‘START’,不要忘记加引号。
如下图:


eclipse GMF 制造简单工作流流程设计器(2)

?

?

同样设置其他活动,然后重新生成gmfgen文件,生成gmfgen文件时会报错,说OCL类型不兼容,是因为OCL类型语句要求Boolean值。如下图:


eclipse GMF 制造简单工作流流程设计器(2)

?

?

?

我们将错误忽略,PS:之前版本的GMF没有这个错误的。

并生成代码,运行如下:


eclipse GMF 制造简单工作流流程设计器(2)

?

?

?

我们可以看到自动活动的类型已经将类型赋值为AUTO, 而不是之前的类型START.

?

?

源代码请见附件。



OK, 这一节讲完了,困了,要去睡觉了。

?

前面两节只是简单的熟悉GMF相关操作,没有编写任何JAVA代码,接下来会通过一些自定义JAVA类来完成更多的功能。

下一节的内容主要是如何自定义Node图标以及自定义形状。

?

?

?

?


你的文章真是精采啊...
持注中...
希望有可以交流一下...
2 楼 liu_ms 2011-06-16 英语好果然很占优势

读书人网 >Eclipse开发

热点推荐