基于 GMF 的流程分析工具的设计与实现
2009-12-17 00:00:00 来源:WEB开发网layoutLayoutNodes()方法,该方法是真正计算所要布局的节点的坐标从而进行布局的更新,和上面提到的做Node的布局是类似的。所不同的是此方法返回一个Runnable对象,由这个Runnable对象的执行,完成真正的布局功能的执行。具体的功能实现可参见GMF默认的LayoutProvider: org.eclipse.gmf.runtime.diagram.ui.providers.internal.DefaultProvider。
UI外观的修改
GMF和GEF一样,都是用Draw2D来完成模型前端的显示工作,这里提到的对UI外观的修改主要是对Draw2D功能的一些应用。
在GMF中,每一个EditPart都会有一个Figure或PolylineConnection对象来做其前端的显示,因此对UI的外观的修改也就是对这些图形属性的修改。
设置渐变背景色
在图2中,要实现图形背景的渐变色,需要对TaskEditPart对应的TaskFigure进行修改,在图形进行重新绘制时设置其背景色。这里Draw2D提供了fillGradient()方法来绘制渐变色。如下:
清单 3. 设置渐变的背景色 public void paintFigure(Graphics g) {
super.paintFigure(g);
Color oldForeground = g.getForegroundColor();
Color oldBackground = g.getBackgroundColor();
g.setForegroundColor(FlowUtil.FORE_COLOR);
g.setBackgroundColor(FlowUtil.TASK_BG_COLOR);
g.fillGradient(bounds, true);
g.setForegroundColor(oldForeground);
g.setBackgroundColor(oldBackground);
}
设置子图形位置
默认情况下,Process和Task节点的图标和文本是放在同一行的,如何设置其为上下布局呢?修改它们对应的XXXNameEditPart的两个方法如下,设置文本的在下,图标在上:
- ››基于IP地址的vsftp服务器
- ››基于MySQL 水平分区的优化示例
- ››基于CentOS5的Linux下pptp和openvpn的搭建及配置
- ››基于JavaScript的网页版塔防游戏
- ››基于Android平台 QQ大战360手机游戏爆红
- ››基于Windows Azure的云计算应用设计
- ››基于AES算法实现对数据的加密
- ››基于SoPC目标板Flash编程设计的创建及应用
- ››基于SolidWarks齿轮机构的运动分析与仿真
- ››基于Windwos Server 2008故障转移群
- ››基于JavaScript的REST客户端框架
- ››基于JavaScript和CSS的Web图表框架横向对比
更多精彩
赞助商链接