使用GMF开发可视化界面编辑器(三)——连接线的绘制

截至到目前为止,所有的视图节点都已添加到编辑器中去,还需要有连接线的绘制将这些节点关联起来。

连接线的类型大致包含这样几种,实线、虚线、点线;而箭头的修饰主要为折线修饰或多变行修饰,这里我们所创建的连接线是比较常用的实线模式,并且箭头修饰使用折线修饰。

首先在视图模型中新建一个Figure Descriptor节点,name属性设置为SolidLineOpenArrow;

然后为其添加Polyline Connection子节点,表明该Figure是一个折线,将Line Kind属性设置成LINE_SOLID(实线),Line Width设置成2,连接线的箭头修饰是通过Decoration属性来指定,Source Decoration表示连接源的修饰,Target Decoration表示连接目标的修饰,创建连接修饰的方法也非常简单。新建一个Polyline Decoration子节点,并设置成如图所示的属性信息:

使用GMF开发可视化界面编辑器(三)——连接线的绘制

再将连接线的Target Decoration属性设置成我们所创建的修饰对象:

使用GMF开发可视化界面编辑器(三)——连接线的绘制

最后在Canvas节点下面实例化我们所声明的SolidLineOpenArrow对象

新建一个Connection节点,name属性设置成Transition,Figure属性设置成SolidLineOpenArrow

这样,视图模型创建完成,然后修改工具模型,新建一个Creation Tool节点,Title属性设置成"连接线",Description属性设置成"创建连接线",并指定默认的图标信息

最后修改映射模型完成连接节点的映射操作

不同于其他节点的映射操作,连接线是通过Link Mapping映射来实现的,新建一个Link Mapping节点,并为其指定如图所示的属性信息:

使用GMF开发可视化界面编辑器(三)——连接线的绘制

至此,模型修改结束,重新生成generator model,并重新生成项目源代码,运行项目,界面如图所示:

使用GMF开发可视化界面编辑器(三)——连接线的绘制

有了连接线以后,我们可能还需要为其指定描述信息,用来表明此连接是用来干什么的,功能实现也不复杂

首先在视图模型中新建一个Figure Descriptor节点,name属性设置成SolidLineLabelFigure;

然后为其添加一个label子节点,用于显示连接的描述信息,Name属性同样设置成SolidLineLabelFigure(随意);

最后在Canvas节点下,创建该Figure的实例:

新建一个Diagram Label节点,Name属性设置成TransitionLabel,Figure属性设置成SolidLineLabelFigure。

接下来修改映射模型

在Link Mapping节点下面。新建一个Feature Label Mapping子节点,并将Feature to display属性设置成Transition的name属性
Diagram Label属性设置成TransitionLabel。

最后重新生成generator model和项目源码,运行程序,界面如图所示,已经可以为连接添加描述信息:

使用GMF开发可视化界面编辑器(三)——连接线的绘制