在GMF中当使用XYLayout时经常会遇到这样的问题:
1。在create一个新figure时,figure会跑到它的parent figure的外面。
2。在move或者resize时跑到parent figure的外面。
如下图logic example中的问题:
一般的情况下,用户会challenge这个现象,如果在resize的时候,即便把figure的边界拖出parent,figure可以自动保持在parent的内部就比较好。
做到这个也不难,重载XYLayoutEditPolicy中的public Object getConstraintFor(Rectangle r) 方法就行了。参数r是gmf xylayout默认返回的figure的constrain,你可以根据自己的需要改变r中的width, height, x,y等参数,具体的算法就因需求而异了。
看一下XYLayoutEditPolicy还有他的父类中有许多同名不同参数的getConstrainFor(...)方法,有可以重载来定制用户的resize或move figure的行为。就不多介绍了,看源代码吧!
分享到:
相关推荐
3. **图元工厂**:GMF提供图元工厂,用于创建和管理图形元素,包括形状、连接线等,这些元素在编辑器中显示。 4. **编辑操作**:GMF能够自动处理常见的编辑操作,如拖放、剪切、复制、粘贴、撤销和重做等。 5. **...
在这个“GMF学习资料”中,我们可以通过Mindmap和其他教程来深入理解GMF的关键概念和技术。 1. **GMF概述**: - GMF是EMF的图形化表示层,用于构建基于模型的图形编辑器。 - 它将模型与视图分离,使得开发者可以...
Eclipse GMF(Graphics Modeling Framework)是Eclipse平台下的一个开源工具,用于构建图形化建模和编辑环境。本教程将带你快速掌握Eclipse GMF的核心概念和使用方法,让你在15分钟内对GMF有初步的认识。 一、...
GMF,全称是Graphical Modeling Framework,是Eclipse建模项目中的一个重要组成部分,它建立在GEF(Graphical Editor Framework)和EMF(Eclipse Modeling Framework)之上,为开发基于图形界面的编辑器提供了一种更...
这个"GMF数据表建模例子"显然是一个利用GMF构建的数据库设计工具,可以帮助用户以图形化的方式创建和管理数据库模型。以下是关于GMF和数据库建模的相关知识点: 1. **GMF简介**:GMF是一种模型到模型(M2M)和模型...
- 在Eclipse中,通过`File` > `New` > `Project`,选择`New GMF Project`,创建名为`org.eclipse.gmf.examples.mindmap`的项目。 - 在创建项目时,可以选择显示Dashboard视图,便于后续操作。 2. **导入模型文件*...
GMF区分了"toolsmith"(使用GMF构建插件的开发者)和"user"(使用这些插件的开发者),并强调在透视图中,GMF应尽可能隐藏内部模型的复杂性。 教程还涉及了GMF的核心组成部分——概念模型和工具定义模型。概念模型...
在Eclipse插件GMF中,你还可以利用EMF(Eclipse Modeling Framework)的强大功能,如数据持久化、版本控制和互操作性,进一步提升模型的灵活性和可扩展性。 总结来说,Eclipse插件GMF是一个强大的建模框架,它允许...
总结来说,"org.eclipse.gmf.rar"是Eclipse GMF框架中用于构建图形用户界面的关键组件,它为模型驱动的开发提供了图形化表示和交互的基础设施。理解并掌握RAR的工作原理和使用方法,对于开发高效、灵活的图形建模...
在此背景下,GMF(Graphical Modeling Framework)应运而生,作为GEF和EMF的进一步封装,它提供了一个更为友好的图形化开发环境和运行时框架,极大地简化了基于EMF和GEF的图形化编辑器的开发流程。尽管如此,理解GMF...
在学习GMF的过程中,首先要掌握的是基本操作,如安装和配置环境。这通常涉及到下载源代码、编译、设置环境变量等步骤。初学者需要了解如何在不同的操作系统(如Windows、Linux或Mac OS)上完成这些操作。 接着,...
在Eclipse中,GEF(Graphical Editing Framework)、VE(Visual Editor)和GMF(Graphical Modeling Framework)是三个重要的插件或框架,主要用于图形化界面设计和建模。 1. GEF(Graphical Editing Framework) ...
GMF是基于EMF和GEF的,它在两者的基础上提供了更为高级的功能和服务,主要包括: - **模型驱动的开发**:GMF提供了一整套模型驱动的开发环境,允许开发者通过图形界面定制自己的领域模型。开发者可以定义模型中的...
- **启动GMF项目:** 在Eclipse中设置一个新的GMF项目是整个开发流程的第一步。 - **GMF Dashboard:** 创建新项目后,会显示GMF Dashboard(图1),它将指导用户完成整个开发过程,并成为主要的交互界面。 ##### ...
- 在实际操作过程中,开发者可以逐步熟悉GMF的核心概念和技术细节,从而更好地掌握这一强大框架的使用方法。 #### 八、总结 - **GMF Tourial**不仅提供了理论知识的讲解,更重要的是通过实践案例的方式引导读者深入...
4. **芯片系统框图**:系统框图是芯片内部结构的可视化表示,它展示了CPU、内存、电源管理单元、时钟系统等关键模块的位置和连接关系。通过系统框图,工程师可以理解芯片的整体架构,以便于设计和调试。 5. **...
GMF(Graphical Modeling Framework)是Eclipse项目的一部分,它提供了一套完整的工具和框架用于创建图形化编辑器,帮助开发者快速构建复杂的模型编辑器。本文档将通过一个详细的案例来介绍如何使用GMF来开发一个FSM...
【标题】:“一个简单的GMF实例” 在IT领域,GMF(Graphical Modeling Framework)是Eclipse项目的一部分,主要用于创建...通过阅读博文和研究提供的源码,可以深入理解GMF的工作原理,并能够将其应用到自己的项目中。