假如我们有两个模型:RouteMap和Homuncule,其中Homuncule是包含在RouteMap中。RouteMap上安装有用于Homuncule拖动和定大小的Policy:HomunculeLayoutPolicy.
要修改Homuncule默认的FeedBack,我们需要重写HomunculeLayoutPolicy的createChildEditPolicy(EditPart child)方法。例如:
protected EditPolicy createChildEditPolicy(EditPart child) {
if (child instanceof HomunculeEditPart) {
return new HomunculeFeedBackPolicy();
} else {
return super.createChildEditPolicy(child);
}
}
然后实现HomunculeFeedBackPolicy,这里HomunculeFeedBackPolicy需要继承:ResizableEditPolicy。最后HomunculeFeedBackPolicy重写方法:createDragSourceFeedbackFigure(),例如:
public class HomunculeFeedBackPolicy extends ResizableEditPolicy {
@Override
protected IFigure createDragSourceFeedbackFigure() {
HomunculeFigure r = new HomunculeFigure(ColorConstants.lightGray);
r.setBounds(getInitialFeedbackBounds());
addFeedback(r);
return r;
}
}
最后结果如下图:
- 描述: feedback
- 大小: 4.4 KB
分享到:
相关推荐
在本教程中,我们将深入探讨GEF的基本概念、设计原则以及如何使用它来开发自己的图形编辑器。 **1. GEF简介** GEF的设计目标是将图形编辑器的实现细节抽象化,让开发者能够专注于业务逻辑和模型设计,而不是底层的...
4. **命令(Command)**:GEF中的命令模式用于封装对模型的修改操作,使得撤销/重做功能得以实现。命令对象记录了更改前后的状态,便于执行回滚或重复操作。 5. **图元(Figure)**和**绘图(Drawing)**:GEF通过SWT...
在GEF中,通过实现`OutlinePage`和`StructuredSelection`可以将模型数据展示在大纲视图中。 6. **鹰眼(Eyeball)**: 鹰眼功能是一种缩略图视图,让用户能快速查看整个图形区域。在GEF中,可以通过自定义小部件并集成...
"gefpractice31.zip"则可能是包含了一个或多个实际的GEF项目实例,用户可以解压后运行,通过观察和修改代码来实践和学习GEF的实际运用技巧。这种实践性的学习方式有助于提升开发者对GEF的理解和应用能力。 "GEF-...
- `org.eclipse.gef.commands.Command`:命令模式在GEF中用于执行可撤销/重做的操作,如添加、删除或修改图形元素。 - `org.eclipse.gef.requests.Request`:表示用户或系统对编辑域的某种请求,如创建新对象或选择...
GEF(Graphical Editing Framework)是Eclipse平台中的一个核心组件,主要用于构建图形化编辑工具。这个实例代码2是《Eclipse插件开发》教程中的一部分,旨在帮助初学者理解如何利用GEF来创建自定义的图形编辑器。在...
在GEF(Graphical Editing Framework)中,属性视图(Property View)的实现是一个关键功能,它允许用户查看和编辑图形模型的属性。属性视图是数据源与用户界面之间的桥梁,确保图形模型和属性视图之间保持同步更新...
GEF(Graphical Editing Framework)是Eclipse平台中的一个组件,主要用于创建图形化的编辑器。它提供了一套完整的框架,用于构建可扩展的、交互式的图形编辑应用程序,特别是针对那些需要可视表示的数据模型。GEF为...
**GEF(Graphical Editing Framework)** 是一个用于构建图形化编辑器的...对于希望在Java和Eclipse环境中提升图形界面开发技能的程序员来说,"GEF入门必读 GEF入门系列 GEF-whole-upload"是一个不可多得的学习资源。
在图形编辑框架(GEF,Graphical Editing Framework)中,锚点(Anchor)是一个关键概念,它是连接模型元素之间的连接线在元素上的固定点。在GEF中,锚点的定位直接影响到连接线的形状和行为,特别是当用户通过鼠标...
在实际项目中,GEF被广泛应用于各种图形化编辑工具的开发中。无论是创建复杂的数据流图、UML图还是其他类型的图形编辑器,GEF都能提供坚实的基础框架。其丰富的API和高度可定制性,使开发者能够快速构建出既美观又...
这是我自己在学习GEF的时候做的一些总结。 1、GEF中的概念比如Command,Tool,Request等等。 2、GEF中使用到的几种设计模式。 3、GEF中对鼠标键盘事件处理的机制、流程。
《Eclipse开发使用GEF和EMF》是IBM红皮书系列中的一部经典著作,主要探讨了如何在Eclipse环境中利用GEF(图形编辑框架)和EMF( Eclipse模型框架)进行图形化应用程序的开发。这两项技术是Eclipse平台上的核心组件,...
在RCP项目中,**Editor**是最常见的GEF承载对象,它继承自`EditorPart`,提供了图形修改后的自动保存机制,这是View不具备的功能。 为了构建GEF编辑器,需要创建以下三个核心组件: 1. **模型(Model)**:定义数据...
GEF的引入主要是为了支持ADT中的图形化界面设计,使得开发者可以更直观地构建和修改Android应用的用户界面。 Eclipse GEF框架的核心特性包括: 1. **模型-视图-控制器(MVC)架构**:GEF遵循MVC设计模式,将数据...
在本示例中,适配器用于扩展属性页配置,这意味着它可以将特定的视图或编辑器的属性展示在属性视图中,允许用户在运行时修改这些属性。适配器通过监听和响应对象的变化,实现了数据与视图的同步更新。 2. **在...
通过此教程,读者能够理解GEF的基本架构以及如何在Eclipse RCP应用中集成GEF。 ### 前提条件 在开始之前,请确保您的开发环境符合以下要求: - **操作系统**: Windows XP (Windows 2000用户可能遇到问题,将在...
在本教程中,GEF_RCP_DEMO展示了如何在RCP应用中集成GEF图形编辑功能。 8. **DEMO源码分析** GEF_RCP_DEMO的源码包含了各种GEF特性的实例,如图元创建、连接线绘制、拖放操作等。通过分析这些示例代码,开发者可以...