在gef相关的编辑器类中采用快捷键处理器KeyHandler中注册相关类的Action并在
protected KeyHandler getCommonKeyHandler(){
if (sharedKeyHandler == null){
sharedKeyHandler = new KeyHandler();
sharedKeyHandler.put(
KeyStroke.getPressed(SWT.F2, 0),
getActionRegistry().getAction(GEFActionConstants.DIRECT_EDIT));
}
returnsharedKeyHandler;
}
在gef视图编辑器类中的方法protectedvoid configureGraphicalViewer()中添加如下代码:
ScrollingGraphicalViewer viewer =(ScrollingGraphicalViewer)getGraphicalViewer();
ScalableFreeformRootEditPart root = new ScalableFreeformRootEditPart();
viewer.setKeyHandler(new GraphicalViewerKeyHandler(viewer)
.setParent(getCommonKeyHandler()));
在大纲视图中的使用如下:
getViewer().setKeyHandler(getCommonKeyHandler());
相关推荐
总的来说,理解和实现GEF中的拷贝粘贴功能需要对GEF框架有深入的理解,包括其命令模型、EditPolicy和模型-视图交互。通过这种方式,开发者可以为自己的图形编辑器提供与操作系统一致的拷贝粘贴体验。
通过命令,开发者可以解耦UI和实现,使得功能可以独立于其表示进行定义和扩展。 6. **Property and Selection Services**:属性服务和选择服务允许不同组件之间共享信息和协调行为,如传递当前选中的对象。 **GEF...
在gef中,转折线的实现涉及到PathFigure和Segment类的使用。PathFigure用于定义一个图形的轮廓,而Segment则代表了轮廓中的一段线段。通过添加和调整Segment实例,我们可以构建出具有转折点的线条。 实现gef转折线...
本文将深入探讨如何在GEF中实现属性视图,并通过一个处理器(Processor)模型的例子来阐述具体步骤。 1. **属性视图的概述** - 属性视图用于展示图形模型的相关属性,如处理器的温度、IP地址和类型等。 - 当图形...
在GEF开发中,它用于记录调试信息和错误日志。 通过学习GEF,开发者可以构建出强大的图形化工具,例如数据库设计工具、流程图编辑器、网络拓扑图等。PPT文件则可能包含更详尽的理论讲解和案例分析,帮助深入理解GEF...
这些代码实例可以帮助读者更好地理解GEF的工作原理,通过实践来学习和掌握。 **5. "读我.txt"** 这个文件可能包含了关于教程的说明、注意事项或者版本信息,对于理解和使用教程至关重要。 总的来说,这个“GEF中文...
在GEF中,模型是数据结构的抽象,用于存储和管理图形化编辑器所显示的信息。开发者需要定义自己的模型类,这些类通常继承自GEF提供的基础类,如`org.eclipse.gef.mvc.models.Model`。模型类中的属性和方法反映了图形...
源码标签表明内容可能包含了实际的代码示例,这对于学习和理解GEF的工作原理和如何在实际项目中应用非常有帮助。工具标签则暗示了这个例子可能涉及到了使用GEF作为开发工具或者集成到其他工具链中的情况。 文件名...
1. GEF和EMF的基本概念:介绍这两个框架的核心原理和设计理念。 2. 模型和视图的关系:阐述如何使用EMF来定义数据模型,并通过GEF展示为图形界面。 3. 图形编辑器的构建:详细步骤指导如何使用GEF创建可交互的图形...
4. **命令(Command)**:GEF中的命令模式用于封装对模型的修改操作,使得撤销/重做功能得以实现。命令对象记录了更改前后的状态,便于执行回滚或重复操作。 5. **图元(Figure)**和**绘图(Drawing)**:GEF通过SWT...
- 在GEF中,模型通常用于表示图形化编辑器中的数据结构。 **知识点2:模型的创建** 1. **定义模型类**:使用Java定义模型类,这些类将代表图形化编辑器中的各个元素。 2. **建立关系**:定义模型类之间的关系,如...
- **Draw2D**: 版本3.1.0或以上,通常包含在GEF中 - **EMF**: 版本2.1.0或以上 ### 创建RCP项目 1. **初始化项目**: - 打开Eclipse并选择“File” > “New” > “Other” > “Plug-in Project”。 - 为项目命名`...
通过理解这些原理,开发者能够更好地设计和实现符合需求的图形编辑器。 总之,学习GEF需要理解其核心概念,熟悉项目搭建步骤,通过实践示例加深理解,并结合官方文档进行深入研究。此外,掌握经典实现的技巧和经验...
在GEF中,模型通常由`EObject`和`EObjectImpl`实现,可以使用EMF(Eclipse Modeling Framework)来生成。 2. **视图(View)**: 视图是模型的可视化表示,将模型数据呈现给用户。GEF中的视图由`GraphicalViewer`类...
环境菜单的创建指导开发者如何在GEF中添加自定义的上下文菜单,为用户提供更加丰富的交互方式。此外,还有创建自定义操作、属性页和添加新的图形元素等重要知识点。 GEF指南还详细讲解了拖放(Drag and Drop, DnD)...
本资料集旨在为初学者提供一个全面的入门指南,帮助理解GEF的基础概念和实现方法。 GEF的核心功能是提供了一套强大的组件和API,用于创建可交互的、图形式的用户界面。通过使用GEF,开发者可以轻松地创建出具有拖放...
通过这些资源,学习者可以深入理解GEF和Draw2D的工作原理,掌握如何在Eclipse环境中构建图形编辑器,并能够进行自定义图形编辑器的开发。这些文档涵盖了从安装、配置到实际编程的各个环节,对于提升图形界面开发能力...
**GEF(Graphical Editing Framework)深度解析** GEF,全称为Graphical Editing Framework,是Eclipse平台下用于构建图形编辑器的...通过深入理解GEF的原理和实践,开发者可以更高效地构建出功能丰富的图形编辑应用。
GEF中的Figure类负责图形绘制,通过重写paint()方法实现自定义图形的绘制,同时支持事件监听和交互。 5. **编辑操作与命令模式** GEF使用命令模式来处理用户的编辑操作,每个编辑操作对应一个Command对象。当用户...