GEF视图通常利用Draw2d图形(IFigure)作为表现方式,用户可以通过Draw2d的功能实现图形的展示、布局及图形的编辑。
1.视图的功能
GEF的视图可以有很多种,GEF目前提供了图形(GraphicalViewer)和树状(TreeViewer)这两种,前者利用Draw2D图形 (IFigure)作为表现方式,多用于编辑区域,后者则多用于实现大纲展示。视图的任务同样繁重,除了模型的显示功能以外,还要提供编辑功能、回显 (Feedback)、工具提示(ToolTip)等等。
视图是模型图形方式的表现,它以图形的方式展示模型。视图的作用和JFace中的Viewer十分类似,而控制器(EditPart)就相当于是它的 ContentProvider和LableProvider,通过setContents()方法来指定视图的输入。
GEF经常使用的Editor是一个GraphicalEditorWithPalette(GEF提供的Editor,是EditorPart的子类, 具有图形化编辑区域和一个工具条)的实例,这个Editor使用GraphicalEditViewer和PaletteViewer这两个视图类, PaletteViewer也是GraphicalEditViewer的子类,表示选项板视图。开发人员要在 configureGraphicalViewer()和initializeGraphicalViewer()这两个方法里对 EditPartViewer进行定制,包括指定它的contents和EditPartFactory等。
EditPartViewer同时也是ISelectionProvider,这样当用户在编辑区域做选择操作是,注册的 SelectionChangeListener就可以收到选择事件。EditPartViewer会维护各个EditPart的选中状态,如果没有被选 中的EditPart,则默认选中的是作为contents的EditPart。
2.视图的实现
视图的实现相对模型来说较为复杂,出来模型的显示功能外,还要提供编辑功能、回显(Feedback)、工具提示(ToolTip)等。
在GEF中,通常视图是利用Draw2d图形(IFigure)作为表现方式,用户可以通过Draw2d的功能实现图形的展示、布局及图形的编辑。
分享到:
相关推荐
- **模型-视图-控制器(MVC)**:GEF基于MVC设计模式,将图形元素的逻辑(模型)、显示(视图)和交互(控制器)分离,实现了高度可定制化和可扩展性。 - **Part和EditPart**:Part代表工作台上的一个独立组件,...
为了实现视图与数据模型之间的动态更新,GEF 引入了观察者模式。当数据模型发生变化时,所有依赖于该模型的视图都会自动更新,反之亦然。这样就确保了数据的一致性和准确性。 #### 四、GEF 的核心组件 GEF 包含多...
2. "GEF入门系列(一、Draw2D).doc" 可能是一个逐步的教学系列,从基础的Draw2D开始,逐步引入GEF的概念和应用。 3. "如何在Eclipse3.3.1.1中安装VE,emf,GEF插件.doc" 提供了在特定版本的Eclipse中安装相关插件的步骤...
"gefpractice"这个项目很可能是一个包含了一系列示例代码和教程的压缩包,用于帮助初学者理解并实践GEF的使用。通常,这样的项目会包括以下几个部分: - **基础示例**: 如创建基本图形,添加连接线,实现拖放功能...
### GEF及GMF入门学习知识点详解 #### 一、GEF与GMF概述 - **GEF**(Graphical Editing Framework)是Eclipse提供的一个用于构建图形编辑器的框架,它提供了一套完整的API来支持图形化界面的创建、编辑和管理。GEF...
标题中的"GEF.rar"可能是指“Graph Editor Framework”的压缩包文件,这通常与软件开发,尤其是图形用户界面(GUI)的设计和实现有关。GEF(Graph Editor Framework)是Eclipse项目的一部分,它提供了一个用于构建...
【描述】中的"六个小例子"是指通过一系列逐步进阶的教程,帮助开发者从基础到高级理解并掌握GEF的使用。这些例子旨在帮助初学者逐步理解GEF的工作原理,以及如何利用其功能构建复杂的图形用户界面。每个例子都增加了...
在“基于gef框架Demo”中,我们很可能会发现一系列用于展示Gef功能的示例程序。 Java是Gef框架的基础语言,它是一种广泛使用的面向对象编程语言,以其跨平台兼容性和丰富的库而闻名。Eclipse则是一个强大的集成开发...
通过分析和运行这些代码,学习者可以更直观地理解GEF的工作原理,并动手实践各种图形编辑功能的实现。 在学习和使用GEF时,开发者需要掌握以下几个关键概念: 1. **Model(模型)**: 数据模型定义了图形化的数据...
因此,要深入理解和使用GEF,了解Draw2D的基本原理和技术是非常必要的。 #### 三、GEF框架架构解析 GEF遵循经典的MVC(Model-View-Control)架构模式,各部分的作用如下: - **Model(模型)**:这部分是由开发者...
《Eclipse开发使用GEF和EMF》是IBM红皮书系列中的一部经典著作,主要探讨了如何在Eclipse环境中利用GEF(图形编辑框架)和EMF( Eclipse模型框架)进行图形化应用程序的开发。这两项技术是Eclipse平台上的核心组件,...
GEF 为开发者提供了模型-视图-控制器(MVC)的设计模式,使得开发者可以专注于图形编辑功能的实现,而不需要关心底层渲染和交互细节。它包括了基础的图形绘制、事件处理、工具条和菜单集成等核心功能,同时也支持...
7. **书籍资源**:可能还包含了介绍GEF/Draw2D的书籍或文档,这些资源可以帮助你深入理解这两个库的工作原理和最佳实践。 ### 学习路径 学习GEF/Draw2D,你需要先掌握Java基础知识和Eclipse RCP开发环境。然后,...
### GEF开发实践知识点解析 ...综上所述,GEF开发实践不仅需要掌握基本的工程创建和配置步骤,还需要深入理解GEF的核心概念和原理。此外,合理的代码结构和设计模式的应用对于项目的成功至关重要。
总之,Eclipse 3.2 可视化开发组件是构建图形化应用和工具的关键组件,VE SDK 1.2.1 提供了可视化编辑器的框架和开发资源,而GEF-runtime-3.2 则是实现图形界面和编辑功能的基础。通过这两个组件,开发者可以充分...