`
zhongkem
  • 浏览: 152528 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

GEF入手系列1

阅读更多

现在开始系统的学习GEF,所以想把学习过程中的一些东西记下来,方便以后自己查阅,也方便别人共同学习。很多东西都是从别人那直接拷到这的,在这里先谢谢了。

 

 

 

一、需要依赖的两个包:

      org.eclipse.gef     org.eclipse.ui.views

、创建Editor

创建编辑器的扩展点

 

GraphicalEditor是根类。我们的Editor可以直接实现这个类;如果想带有调色板,则至少需要继承GraphicalEditorWithPalette;如果还想调色板可收缩,则可继承GraphicalEditorWithFlyoutPalette

编辑器一般要设置一个唯一的ID来表示这个编辑器:

public static final String ID = "tutogef.mygraphicaleditor";

 

三、添加EditDomain

  在每个GEF的Editor里,都需要有一个EditDomain的存在

  编辑域是一个起到管理作用的类,它绑定了一个编辑器、若干个查看器和若干个工具。因此它定义了真实的编辑器。编辑域还提供一个命令堆栈,用来保存所有执行过的命令,有两点好处:1.可实现重做和不做的操作2.可查看模型是否被改动。

 一般来说在编辑器的构造方法里设置即可,如下代码:

public MyGraphicEditor(){
		setEditDomain(new DefaultEditDomain(this));
	}

四、实现IEditorInput接口

    每一个编辑器都应该有相应的输入,这个类的作用估计也是这样。。具体是不是以后再修正。

五、默认情况下打开一个编辑器窗口

    想让程序一运行后就打开一个编辑器窗口,应该在类ApplicationWorkbenchAdvisor中重写postStartup()方法,具体如下:

   

	public void postStartup() {

		try {
			IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
			page.openEditor(new MyEditorInput("TutoGEF"), MyGraphicalEditor.ID, false);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

 六、扩展editor扩展点。。

    

   

 

经过以上六部,一个基本的程序就能运行了,以后将慢慢添加各种功能。

下面是目前的运行结果:

 

分享到:
评论

相关推荐

    Eclipse插件开发:GEF入门系列宝典_gef_

    由于工作的需要,最近开始研究GEF(Graphical Editor Framework)这个框架,它可以用来给用户提供图形化编辑模型的功能,从而提升用户体验,典型的应用如图形化的流程设计器、UML类图编辑器等等。

    Eclipse插件开发:GEF入门系列宝典

    在"GEF入门系列宝典"中,我们将深入探讨如何使用GEF进行Eclipse插件开发,以创建自定义的图形编辑器。以下是一些关键知识点: 1. **Eclipse插件体系结构**: - 插件是Eclipse的核心组成部分,它们通过OSGi模块系统...

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

    1. **基本概念**:介绍GEF的关键概念,如Figure、EditPart、Command、Model等,以及它们在图形编辑中的角色。 2. **图形组件**:讲解如何创建和操作图形元素,如矩形、圆形、文本等,以及如何添加连接线和组合图形。...

    GEF入门系列.rar

    GEF入门系列,八进制 的GEF入门系列教程, 由社区经作者授权后整理而成GEF(Graphical Editor Framework)是一个图形化编辑框架,它允许开发人员以图形化的方式展示和编辑模型,从而提升用户体验。这样的应用程序有很...

    GEF入门系列 pdf 格式资料

    **GEF入门系列 PDF 格式资料** GEF(Graphical Editing Framework)是Eclipse开源组织推出的一个图形编辑框架,主要用于构建可视化的图形编辑工具。它为开发人员提供了丰富的API和设计模式,使得创建复杂的图形用户...

    GEF理解系列三

    1. `createMoveCommand(MoveRequest request)`:创建移动图形的命令,根据请求的源点和目标点计算新的位置。 2. `createResizeCommand(ResizeRequest request)`:创建调整大小的命令,根据请求的原始边界和新边界...

    GEF入门系列

    1. **GEF的基本概念** - **模型-视图-控制器(MVC)**:GEF基于经典的MVC设计模式,其中模型负责存储数据,视图负责显示数据,而控制器则处理用户交互。 - **编辑领域(EditPart)**:编辑领域是GEF中的核心组件,...

    EMF_GEF_入门系列

    通过这个入门系列的学习,新手开发者将能够熟练运用EMF和GEF构建高效、直观的图形用户界面和模型驱动的应用程序,提升软件开发的效率和质量。同时,这也为深入研究更高级的MDD(Model Driven Development)技术打下...

    Eclipse插件开发--gef开发指南与入门系列宝典

    "GEF入门系列宝典.doc"可能更侧重于实践,提供逐步的教程和实例,帮助初学者快速上手。它可能包含一些实际的代码示例,教你如何构建一个简单的图形编辑器,例如绘制流程图或网络拓扑图。 通过学习这两份资料,你将...

    GEF理解系列二

    【GEF理解系列二】是深入学习GEF框架的第二部分,主要讲解如何配置和初始化Editor,以及如何创建多层结构以支持添加多个图形。GEF(Graphical Editing Framework)是一个用于构建图形编辑器的开源框架,常用于开发...

    自己下的GEF资源打包

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

    GEF-ALL-3.7+GEF-ALL-3.8+GEF_Draw2d学习资料

    2. "GEF入门系列(一、Draw2D).doc" 可能是一个逐步的教学系列,从基础的Draw2D开始,逐步引入GEF的概念和应用。 3. "如何在Eclipse3.3.1.1中安装VE,emf,GEF插件.doc" 提供了在特定版本的Eclipse中安装相关插件的步骤...

    GEF入门学习例子

    3. **图形绘制**: GEF提供了一系列类来支持图形的绘制,包括`Figure`、`RectangleFigure`、`EdgeFigure`等。用户可以自定义这些图形类,实现特定的绘制逻辑。 4. **移动、删除、撤销/重做**: 这些基本操作通过GEF的...

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

    1. 创建PathFigure实例:这是折线的基础,你可以设置其填充颜色、边框颜色等属性。 2. 创建Segment实例:如LineSegment、BezierSegment等,用于表示转折线的不同部分。每个Segment都有自己的坐标点,可以通过设置...

    GEF-ALL-3.4.2(1).zip

    GEF的核心设计理念是将图形编辑器的实现分解为一系列可重用的组件,这些组件可以组合起来创建各种定制化的图形编辑环境。这个框架的主要组成部分包括: 1. **Model**:模型是编辑器的数据基础,定义了图形元素的...

    GEF Example Source Code

    1. **GEF-zest-sdk-3.8.0.zip**:这很可能是Zest图形库的SDK,Zest是GEF的一部分,专门用于构建图可视化。Zest提供了一组强大的API,用于创建和渲染复杂的图,如树形图、网络图等。这个SDK可能包含了Zest的头文件、...

Global site tag (gtag.js) - Google Analytics