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扩展点。。

    

   

 

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

下面是目前的运行结果:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值