1.带阴影
重写Figure的paintFigure方法,先画border后画figure
2.尺寸约束(默认、最大、最小尺寸)
默认尺寸--setPreferredSize
最大尺寸--setMaximumSize
最小尺寸--setMinimumSize
3.等比例缩放
重写Figure的setBounds方法,保持长宽等比例
4.图形的控制点(选中后的8个点,没有考虑中心点)
重写EditPart的getPrimaryDragEditPolicy方法,返回一个新的ResizableShapeEditPolicy的子类。覆写该类的createHandle方法,返回一个SquareHandle的子类,这时可以将其默认的黑色正方形改成空心小圆圈。
5.图形容器的折叠
installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE,ResizableCompartmentEditPolicy)
ResizableCompartmentEditPolicy->CompartmentCollapseHandle->Locator(relocate)
覆写CompartmentEditPart的handleNotificationEvent方法,收到折叠通知后重绘图形容器。
6.图形之间连线的路由规则
Handle
installEditPolicy(EditPolicyRoles.CONNECTION_HANDLES_ROLE,new ConnectionHandleEditPolicyEx());
getHandleFigures->ConnectionHandleEx->getImage,createDragTracker
getConnectionHandleLocator-> ConnectionHandleLocatorEx
Router
SequenceFlowEditPart-> installRouter()->EdgeRectilinearRouter
7.图形容器的吸附特性,比如在子流程上放边界事件
建立一个Border的Compartment图形容器,用来放置边界事件,其有一半的区域和子流程的图形重叠,从而形成吸附的效果。
8.图形的说明性文本在图形中水平和垂直两个方向居中
水平居中--setAlignment(PositionConstants.CENTER);
垂直居中--setTextJustification(PositionConstants.CENTER);
9.带阴影的图形,其控制点应排除阴影部分
重写Figure的getHandleBounds方法
10.图形拖动中覆盖其他一些图形时做鬼影提示,拖动完成后不允许覆盖其他图形
鬼影--ResizableShapeEditPolicy->SquareHandle->DragEditPartsTracker
11.图形容器中的浮动工具条
在容器的EditPart中installEditPolicy(EditPolicyRoles.POPUPBAR_ROLE, new PopupBarEditPolicyEx());
其中PopupBarEditPolicyEx继承自DiagramAssistantEditPolicy。
BpmnmodelModelingAssistantProvider负责为图形容器提供其可以选择的图形元素。
可替换在edit插件的icons/full/obj16下的图形对应的图标。
12.在图形编辑器里去除默认的note等
org.eclipse.gmf.runtime.common.ui.services.action.contributionItemProviders—工具箱remove掉对应的action
org.eclipse.gmf.runtime.diagram.ui.paletteProviders—右键菜单remove掉对应的action
分享到:
相关推荐
在这个“GMF学习资料”中,我们可以通过Mindmap和其他教程来深入理解GMF的关键概念和技术。 1. **GMF概述**: - GMF是EMF的图形化表示层,用于构建基于模型的图形编辑器。 - 它将模型与视图分离,使得开发者可以...
GMF(Generic Model Framework)是Eclipse平台下的一款强大的图形建模框架,它为开发者提供了构建图形用户界面(GUI)的工具,特别是用于创建复杂的图形编辑器和图表应用程序。GMF 1.7是最新的版本,它在前一版本的...
7. **学习与应用**:对于想要学习GMF或数据库设计的人员来说,这个例子是一个很好的实践材料。它可以帮助理解GMF的生成过程,同时提供一个实用的数据库建模工具,可以实际操作和修改,从而加深对数据库设计的理解。 ...
【GMF教程】GMF(Graphics Modeling Framework)是Eclipse平台下的一个图形建模框架,用于构建基于模型的图形编辑工具。本教程是基于英文教程的实践与翻译,旨在帮助读者理解并掌握如何使用GMF创建一个Mindmap编辑器...
【GMF Tutorial中文版】是一套面向初学者的Eclipse GMF(Graphical Modeling Framework)入门教程。GMF是Eclipse建模项目的一个子项目,它的主要目标是为Eclipse Modeling Framework (EMF)和Graphical Editing ...
四、学习GMF的关键概念 1. 模型(Model):存储数据的结构,基于Ecore定义。 2. 图形模型(Diagram Model):表示模型的可视化表示,包括形状、连接线等。 3. 节点模型(Node Model):图形模型中的具体元素,如形状...
【GMF实例解析】 GMF,全称是Graphical Modeling Framework,是Eclipse建模项目中的一个重要组成部分,它建立在GEF(Graphical Editor ...这样的实践不仅有助于学习GMF本身,也为理解和应用EMF和GEF提供了宝贵的经验。
《深入解析Eclipse GMF RAR技术》 在软件开发领域,Eclipse是一个广泛使用的集成开发环境(IDE),而GMF(Graphical Modeling Framework)则是Eclipse社区提供的一款强大的图形建模框架。本文将深入探讨GMF中的RAR...
### GEF及GMF入门学习知识点详解 #### 一、GEF与GMF概述 - **GEF**(Graphical Editing Framework)是Eclipse提供的一个用于构建图形编辑器的框架,它提供了一套完整的API来支持图形化界面的创建、编辑和管理。GEF...
通过Taipan实例的深度分析,我们不仅能够深入了解GMF的工作原理,还能学习如何充分利用其功能来创建复杂且用户友好的图形化编辑器。对于那些致力于图形化应用程序开发的工程师而言,掌握GMF无疑是一条通往成功的捷径...
本压缩包文件是GMF的入门资料集合,非常适合初学者进行系统学习和实践。 首先,我们要理解GMF的基本概念。GMF是一个命令行工具,它提供了丰富的地图制作功能,包括投影变换、数据导入导出、符号化、图层管理等。...
### GMF Tourial中文版(一)核心知识点详解 #### 一、引言与背景介绍 **GMF Tourial**是一系列针对...- 对于想要深入研究Eclipse平台下的图形化应用开发的读者来说,**GMF Tourial**无疑是一份宝贵的学习资源。
Eclipse插件GMF,全称为Graphical Modeling Framework,是Eclipse平台上的一个重要组成部分,主要用于构建可视化的建模工具。这个框架提供了一种强大的方式,让开发者能够创建出具有图形界面的模型编辑器,用于设计...
Eclipse是一个著名的开源集成开发环境(IDE),广泛用于Java、C++...通过研究这些资源,开发者可以学习如何利用Eclipse的这些框架创建自己的图形化编辑器,提高开发效率,同时也可以深入理解模型驱动开发的理念和实践。
在深入学习如何使用GMF创建FSM编辑器之前,我们需要对GMF的基本工作原理有一个大概的了解。 **2.1 GMF的工作机制** GMF的核心在于将模型和视图分离,即数据模型与用户界面之间的解耦。这使得开发者能够更加专注于...
### 图形建模框架GMF综述 #### 引言 在软件开发过程中,图形建模作为一种有效的沟通手段,帮助工程师们清晰地表达系统结构、流程逻辑和其他关键要素。传统上,开发人员依赖如Rational Rose或Sybase PowerDesigner...
### GMF开发文档知识点概述 #### 一、GMF简介 **GMF (Graphical Modeling Framework)** 是一种基于Eclipse的框架,用于构建图形编辑器。它为开发人员提供了创建和定制图形用户界面(GUI)的功能,使得创建复杂的...
总结来说,这个“一个简单的GMF实例”提供了学习和实践GMF技术的机会,帮助开发者理解如何利用GMF创建图形化编辑工具。通过阅读博文和研究提供的源码,可以深入理解GMF的工作原理,并能够将其应用到自己的项目中。