`
diystyle
  • 浏览: 38578 次
文章分类
社区版块
存档分类
最新评论

GEF中,同一层次不同节点的重叠顺序的设置

阅读更多
在进行GEF进行图形化设计的时候,经常会有这样的需求,即同一个层次中的不同外观的图形,在图形有重叠的时候,经常需要固定他的重叠的顺序,如 当矩形和椭圆的重叠的时候,椭圆必须是出于矩形节点的下方。如果在默认情况下,GEF中的 处理重叠问题是按照在这个层次中的childModel加入的先后顺序来处理的,先加入节点会被后加入的节点覆盖。从AbstractEditPart中的方法refreshChildren 和 AbstractGraphicalEditpart中的方法addChildVisual其实就可以看出来。一开始考虑问题太简单了,以为只需要重载refreshChildren 这个方法或者直接在视图的FreeeFormLayer中的addFigure方法进行处理,呵呵,确实是个幼稚的想法,没有很好的考虑到GEF其实已经很好的体现的MVC设计模式。原来一个很简单的方式就可以实现了,即在吧节点模型加入到当前的Diagram模型的时候,对加入的类型进行排序就可以了,把加入的椭圆置入diagram中的children模型的前端就行了。
分享到:
评论
1 楼 faithful_czx 2009-10-14  
多谢,正好帮我解决了一个类似的问题。

相关推荐

    GEF中文教程+代码

    在本教程中,我们将深入探讨GEF的基本概念、设计原则以及如何使用它来开发自己的图形编辑器。 **1. GEF简介** GEF的设计目标是将图形编辑器的实现细节抽象化,让开发者能够专注于业务逻辑和模型设计,而不是底层的...

    GEF连接线Node之间连接

    标题"GEF连接线Node之间连接"涉及到的知识点主要集中在`GEF`框架中如何实现图形元素之间的交互,尤其是节点与节点之间的连接线。在`GEF`中,节点通常代表模型中的实体,而连接线则表示这些实体之间的关系或交互。...

    GEF入门必读 GEF入门系列 GEF-whole-upload

    5. **图层管理**:说明如何组织图形元素的层次结构,控制它们的显示顺序和可见性。 6. **命令系统**:介绍GEF的命令架构,允许撤销/重做操作,保持编辑历史的完整性。 7. **自定义编辑策略**:解释如何实现特定的...

    GEF 开发简单示例

    这是我参考了一些其他资料,自己写的一个GEF示例...1. 在你的Eclipse中要有GEF, Draw2d的包 2. 将此压缩包中的eclipse project引入到你的Eclipse环境中 3. 运行这个插件 4. 看到界面后,点击 Tools -- Open GEF Editor

    GEF快速入门教程和EMF教程

    通过此教程,读者能够理解GEF的基本架构以及如何在Eclipse RCP应用中集成GEF。 ### 前提条件 在开始之前,请确保您的开发环境符合以下要求: - **操作系统**: Windows XP (Windows 2000用户可能遇到问题,将在...

    GEF Example Source Code

    标签"GEF Example"进一步确认了这个压缩包的内容是与GEF相关的示例,这通常包括不同类型的图形编辑示例,例如基本的绘图操作、图元管理、连接线处理、缩放和旋转等。 在压缩包子文件的文件名称列表中,我们看到两个...

    GEF入门学习例子

    在GEF中,通过实现`OutlinePage`和`StructuredSelection`可以将模型数据展示在大纲视图中。 6. **鹰眼(Eyeball)**: 鹰眼功能是一种缩略图视图,让用户能快速查看整个图形区域。在GEF中,可以通过自定义小部件并集成...

    gef 转折线的相关方法实现和 GEF的API chm 格式

    在本篇文章中,我们将深入探讨gef转折线的相关方法实现以及GEF的API。 首先,让我们理解一下什么是转折线。在图形编辑中,转折线通常指的是具有多个折点的线条,这些折点可以由用户交互式地调整,以改变线条的形状...

    GEF-SDK-3.6.2 jar

    《GEF-SDK-3.6.2 jar:Eclipse GEF框架详解及在Android ADT中的应用》 GEF(Graphical Editing Framework)是Eclipse项目中的一个重要组成部分,它为开发图形化编辑器提供了强大的支持。在标题“GEF-SDK-3.6.2 jar...

    GEF入门实例代码2《Eclipse插件开发》中实例

    GEF(Graphical Editing Framework)是Eclipse平台中的一个核心组件,主要用于构建图形化编辑工具。这个实例代码2是《Eclipse插件开发》教程中的一部分,旨在帮助初学者理解如何利用GEF来创建自定义的图形编辑器。在...

    GEF中文帮助实例

    这有助于用户在不同层次上查看和编辑图形内容。 **七、大纲视图** 大纲视图提供了图形元素的树状结构,便于用户浏览和选择模型中的元素。开发者需要为模型和图形元素定义适配器,以便在大纲视图中正确地显示和操作...

    GEF 入门版中文教程 源码

    【GEF入门版中文教程 源码】是针对RCP(Rich Client Platform)平台下图形编辑框架(Graphical Editor Framework,简称GEF)的学习资源,特别适合初学者。RCP是Eclipse组织提供的一种用于构建桌面应用的框架,而GEF...

    GEF教程和demo源码

    4. **ZOrder管理**:文档将解释如何管理图形元素的层次顺序,以决定哪个元素在视觉上覆盖另一个。 5. **连接线编辑**:GEF支持创建和编辑连接线,允许对象之间建立关联。 接下来,我们转向"test.gef.hello"源码,...

    GEF中属性页面的实现

    在GEF(Graphical Editing Framework)中,属性视图(Property View)的实现是一个关键功能,它允许用户查看和编辑图形模型的属性。属性视图是数据源与用户界面之间的桥梁,确保图形模型和属性视图之间保持同步更新...

    自己下的GEF资源打包

    标题中的“GEF资源打包”指的是一个集合了关于GEF(Graph Edit Framework)的各种学习资料的压缩文件。这个资源包可能包含了对理解、学习和使用GEF非常有帮助的材料。描述进一步说明了这个包中包含的具体内容,如...

    GEF 开发示例 树形展现(第二版)

    一个GEF的例子,例子中展示了利用GEF往画布上添加节点 删除节点,以及树形展现等得荣

    [翻译]Eclipse图形化编辑框架(GEF)/更新第7章:层和视图

    2. **层的绘制顺序**:探讨了如何控制层的绘制顺序,包括设置前景层和背景层,确保正确显示重叠的元素。 3. **事件处理和交互**:讨论了层如何处理用户的输入事件,如鼠标点击和拖拽操作,并说明如何在不同层之间...

    Eclipse插件gef 3.8.0

    - **多版本兼容性**:此版本的GEF旨在同时支持Eclipse 3.7(Indigo)和4.2(Juno)平台,这意味着开发者可以使用同一插件开发跨版本的图形编辑器。 - **改进的性能和稳定性**:3.8.0版本修复了一些已知问题,提升了...

Global site tag (gtag.js) - Google Analytics