`
zhazha1984
  • 浏览: 7311 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

扩展GEF的SelectAllAction功能

 
阅读更多
    目前GEF的SelectAllAction在执行的时候忽略了了Connection Model,有时候需要Select All的时候将连线也选中,通过简单的修改即可实现这个效果

/**
 * @author zhazha
 */
public class CaseSelectAllAction extends SelectAllAction {
	private IWorkbenchPart part;

	public CaseSelectAllAction(IWorkbenchPart part) {
		super(part);
		this.part = part;
	}

	@Override
	public void run() {
		GraphicalViewer viewer = (GraphicalViewer) part.getAdapter(GraphicalViewer.class);
		if (viewer != null) {
			Set<GraphicalEditPart> items = new HashSet<GraphicalEditPart>();
			for (Object object : viewer.getContents().getChildren()) {
				if (object instanceof GraphicalEditPart) {
					GraphicalEditPart editPart = (GraphicalEditPart) object;
					items.add(editPart);
					//添加Connection的editpart
					items.addAll(editPart.getSourceConnections());
					items.addAll(editPart.getTargetConnections());
				}
			}
			viewer.setSelection(new StructuredSelection(new ArrayList<GraphicalEditPart>(items)));
		}
	}
}
分享到:
评论

相关推荐

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

    **插件开发** 在Eclipse中至关重要,因为它是实现功能扩展的主要方式。GEF插件开发涉及创建模型、视图和控制器(MVC)组件,其中模型定义数据结构,视图负责显示,而控制器处理用户的交互。开发者需要理解Eclipse...

    eclipse及gef相关文档

    Eclipse插件系统是其强大功能的核心,允许开发者通过安装各种插件来扩展Eclipse的功能,以满足特定的开发需求。在给定的压缩包中,我们有两个与Eclipse插件和图形编辑框架(GEF)相关的PDF文档,这些文档是学习和...

    GEF-SDK-3.3.1.zip

    6. **自定义操作**:开发者可以通过实现自定义的Command类来扩展GEF的功能,创建独特的编辑操作。 7. **扩展点和插件系统**:Eclipse的插件系统使得GEF可以无缝集成到Eclipse环境中,开发者可以利用Eclipse的扩展点...

    GEF-Update-3.7.1.zip

    这些插件扩展了Eclipse的平台,提供了图形编辑、图元操作、模型转换等功能。 5. **features**:这个目录包含了Eclipse的特性描述文件,每个文件对应一个特性,用于定义一组相关插件的集合。这些特性描述文件帮助...

    gef入门学习项目源码

    3. **适配器(Adapter)与扩展点(Extension Point)**:适配器用于不同组件之间的通信,而扩展点允许你自定义和扩展GEF的功能。 4. **图形布局(Layout)**:布局管理器负责调整图元的位置和大小,以保持图形界面...

    GEF入门学习例子

    这个入门学习例子旨在帮助初学者理解GEF的基本用法和核心概念,通过实例展示如何利用GEF实现工具栏、菜单栏、属性栏以及图形的交互功能,如移动、删除、撤销、连线等,并涵盖了大纲视图和鹰眼功能的实现。...

    GEF教程及demo源码GEF_RCP_DEMO.zip

    在Java环境中,GEF常与SWT(Standard Widget Toolkit)结合使用,提供强大的图形渲染和交互功能。 本教程主要涉及以下几点关键知识点: 1. **GEF基础概念** GEF的核心是其五层架构,包括Model(模型)、View...

    gef学习文档+学习源码

    Gef,全称“GNU Reverse Engineering Framework”,是一款强大的GDB(GNU Debugger)扩展,旨在简化调试过程,提供更直观、高效的方式来交互式地分析程序。在本文中,我们将深入探讨Gef的学习过程,涵盖其基本概念、...

    自己下的GEF资源打包

    用户可以通过阅读这个教程来了解如何在Eclipse环境中搭建GEF项目,并进行基本的图形编辑功能开发。 "GEF教程.pdf"可能更加深入,除了基础内容外,可能会涉及到更高级的主题,如自定义手势识别、动态模型更新、图层...

    GEF-Update-5.3.3.zip

    在这个目录下,你可以找到扩展了Eclipse GEF功能的各个插件。 安装`GEF-Update-5.3.3.zip`时,你需要将这个压缩包解压,并使用Eclipse的“Install New Software”功能,指向解压后的目录,按照向导步骤进行安装。...

    gef all 3.5.2 源码

    Gef All则是对GDB的功能进行扩展,它增加了许多实用功能,如颜色高亮、自动完成、反汇编增强、内存映射视图以及更方便的数据查看和操作。Gef All 3.5.2 版本可能包含了一些新的特性、修复了已知问题,提升了整体性能...

    GEF-SDK-3.7.0

    Eclipse的插件体系结构允许开发者通过安装插件来扩展其功能,GEF就是这样的插件之一,专注于图形编辑领域。 **使用GEF-SDK-3.7.0开发步骤**: 1. **环境准备**:首先需要安装Eclipse IDE,并确保它包含PDE(Plug-in...

    GEF-SDK-3.6.2 jar

    6. **可扩展性**:GEF的插件体系结构允许开发者通过扩展点定制编辑器功能,满足不同项目的特殊需求。 在Android ADT中,GEF的作用主要体现在可视化布局编辑器上,它允许开发者通过拖放的方式设计XML布局文件,实时...

    GEF入门学习资料,简单地介绍了GEF使用过程中用到的基本类和函数的用法

    GEF(Graphical Editor Framework)是一种图形化编辑框架,能够提供图形化编辑模型的功能,提高用户体验。典型的应用包括图形化的流程设计器、UML 类图编辑器等等。GEF 使用过程中涉及到多种基本类和函数,这些类和...

    GEF-ALL-3.10.1.zip

    标签“GEF-ALL”进一步证实了这个压缩包与GEF项目相关,可能包含了完整的GEF框架,包括其核心库、示例、文档以及可能的扩展模块。GEF通常用于构建可定制的图形编辑工具,比如流程图、网络图或者UML模型,因此这个...

    GEF_Demo_Code20170307

    这个项目旨在演示如何利用GEF进行图形界面开发,并且特别关注了通过适配器(Adapter)扩展点来实现属性页配置以及在非Editor的ViewPart中使用GEF。 GEF是Eclipse平台下的一个开源库,专门用于构建可自定义的、图形...

    GEF教程及demo源码

    - **自定义手势和工具**: 可以扩展GEF的交互方式,支持拖放、旋转、缩放等操作。 - **图元工厂**: 创建和管理不同类型的图元,简化图形元素的创建过程。 - **事件监听**: 监听用户操作,实现复杂的逻辑响应。 总结...

    基于gef框架Demo

    6. **适配器和扩展点**:Gef通过适配器机制支持与其他Eclipse组件(如Papyrus或EMF)的集成,同时提供多个扩展点以增强框架功能。 在“基于gef框架Demo”中,你可以期待看到如何使用Gef来创建基本的图形元素,如...

    GEF Example Source Code

    - **扩展与插件开发**:理解如何在Eclipse RCP环境中开发和集成GEF插件。 总的来说,这个压缩包为学习和实践GEF框架提供了一个宝贵的资源,开发者可以通过研究这些示例代码来提升自己的图形编辑工具开发能力。

    GEF 进阶+源码.rar

    4. **图形编辑器(Graphical Editor)**:这是实际用户与图形界面交互的地方,它通过扩展GEF提供的基础类实现,可以包含多个图层和不同的视图。 5. **命令(Commands)**:GEF使用命令模式来处理用户的操作,每个...

Global site tag (gtag.js) - Google Analytics