`
lggege
  • 浏览: 375577 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

GEF KeyHandler

    博客分类:
  • GEF
阅读更多
第一段代码: 注册action
		this.actionRegistry = this.getActionRegistry();

		IAction action = null;

		action = new UndoAction(this.page.getEditor());
		actionRegistry.registerAction(action);

这段代码的意义是: 往ActionRegistry中注册声明的action,当然只是注册,具体怎么用还要看右键菜单或Editor的actionbar怎么用了.

第二段代码: 给GraphicalViewer区域生成右键菜单
		ContextMenuProvider provider = new GefAreaContextMenuProvider(getGraphicalViewer(), actionRegistry);
		getGraphicalViewer().setContextMenu(provider);

每次在GraphicalViewer上点击右键的时候会生成右键菜单,具体怎么生成的就需要看ContextMenuProvider.buildContextMenu是怎么写的了.


第三段代码: 初始化一个KeyHandler.
private KeyHandler sharedKeyHandler;
	protected KeyHandler getCommonKeyHandler() {
		if (sharedKeyHandler == null) {
			sharedKeyHandler = new KeyHandler();
			sharedKeyHandler.put(KeyStroke.getPressed(SWT.DEL, 127, 0), getActionRegistry().getAction(ActionFactory.DELETE.getId()));
		}
		return sharedKeyHandler;
	}

这段代码是指:创建一个KeyHandler,表示,当用户按下Delete键的时候,调用getActionRegistry().getAction(ActionFactory.DELETE.getId()));这个action. 注:这步和Delete键绑定的action不能为空. 也就是在上面这段代码中,ActionFactory.DELETE必须已经在ActionRegistry中注册过了. 也就是第一段代码必须在这段代码前面.[当然,你也可以绑定自己的action,不一定非要在actionRegistry中注册]


第四段代码: 给GraphicalViewer添加KeyHandler
viewer.setKeyHandler(new GraphicalViewerKeyHandler(viewer).setParent(getCommonKeyHandler()));

这步:就是给GraphicalViewer真正添加上面定义的KeyHandler.
setParent().. 这个的意思就是除了GraphicalViewerKeyHandler中自己截获的按钮事件外,还需要监听额外的keyCode按钮事件. 执行过程会先在GraphicalViewerKeyHandler中查找,当找不到,再在parent中查找是否对当前的key进行了监听.

流水帐,别介意. 哈哈

分享到:
评论

相关推荐

    自己下的GEF资源打包

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

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

    **GEF(Graphical Editing Framework)** 是一个用于构建图形化编辑器的开源框架,它在Eclipse平台上广泛使用,特别是在开发复杂的图形用户界面和工具时。本资料集旨在为初学者提供一个全面的入门指南,帮助理解GEF...

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

    【GEF-ALL-3.7+GEF-ALL-3.8+GEF_Draw2d学习资料】是一份综合性的资源包,包含了GEF(Graphical Editing Framework)的3.7和3.8版本以及与其相关的Draw2D库的学习材料。GEF是Eclipse平台上用于构建图形化编辑器框架的...

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

    Gef,全称Graphical Editing Framework,是Eclipse项目的一部分,是一个用于构建图形编辑框架的开源库,主要用于开发基于Swing或SWT的图形用户界面应用。这个框架支持模型驱动的编辑环境,允许开发者创建复杂的图形...

    GEF-Update-3.7.1.zip

    GEF(Graphical Editing Framework)是Eclipse平台上一个强大的图形编辑框架,主要用于构建可视化的建模和图形编辑工具。更新到3.7.1版本,它提供了许多改进和新功能,以满足开发者在创建图形用户界面时的需求。在这...

    GEF简易教程-学习GEF的入门教程

    ### GEF简易教程知识点详解 #### 一、GEF简介与环境配置 **GEF**,全称为**Graphical Editing Framework**,是Eclipse平台上用于创建复杂图形编辑器的框架。它提供了一套完整的工具集,使开发者能够构建具有图形化...

    GEF-SDK-3.7.0

    **GEF(Graphical Editing Framework)** 是一个用于构建图形化编辑器的开源框架,它在Eclipse平台中被广泛使用。**GEF-SDK-3.7.0** 是这个框架的一个特定版本,提供了开发人员构建图形用户界面(GUI)和可视化编辑...

    GEF_Tutorial.rar(GEF开发指南)

    **GEF(Graphical Editing Framework)开发指南** GEF(Graphical Editing Framework)是Eclipse平台上用于构建图形编辑器的开源框架。它提供了一套全面的API和工具,使得开发者可以方便地创建出复杂的图形用户界面...

    GEF教程及demo源码GEF_RCP_DEMO.zip

    **GEF教程与DEMO源码解析** GEF(Graphical Editing Framework)是Eclipse平台下的一个图形编辑框架,主要用于构建可自定义的图形化编辑器。它为开发者提供了丰富的API和工具,使得开发人员可以方便地创建出复杂的...

    GEF入门实例代码2《Eclipse插件开发》中实例

    GEF(Graphical Editing Framework)是Eclipse平台中的一个核心组件,主要用于构建图形化编辑工具。这个实例代码2是《Eclipse插件开发》教程中的一部分,旨在帮助初学者理解如何利用GEF来创建自定义的图形编辑器。在...

    GEF快速入门教程和EMF教程

    ### GEF快速入门教程与EMF教程概览 #### GEF HelloWorld 示例详解 本文将详细介绍如何使用Graphical Editing Framework (GEF)实现一个简单的“Hello World”示例,并结合Eclipse Modeling Framework (EMF)进行扩展...

    GEF Example Source Code

    **GEF(Graphical Editing Framework)** 是一个用于构建图形编辑工具的开源框架,它为开发人员提供了一套全面的库和工具,用于创建基于Eclipse的富客户端平台(RCP)的应用程序,特别是那些涉及图形用户界面(GUI)...

    gef-step3.zip_3gef_GEF eclipse_GEF-step2_gef_gef-st

    **GEF(Graphical Editing Framework)图形编辑框架**是Eclipse平台中的一个重要组成部分,它为开发者提供了一套全面的工具和API,用于构建强大的图形用户界面(GUI)应用程序,特别是那些涉及图形化编辑和建模的...

    GEF入门学习例子

    **GEF入门学习例子** **概述** `GEF`(Graphical Editing Framework)是Eclipse开源组织提供的一款强大的图形编辑框架,用于构建图形用户界面(GUI)应用,特别是那些需要进行图形绘制、编辑和操作的软件。这个入门...

    GEF-SDK-3.6.2 jar

    《GEF-SDK-3.6.2 jar:Eclipse GEF框架详解及在Android ADT中的应用》 GEF(Graphical Editing Framework)是Eclipse项目中的一个重要组成部分,它为开发图形化编辑器提供了强大的支持。在标题“GEF-SDK-3.6.2 jar...

    Eclipse的GEF学习

    ### Eclipse的GEF框架深入解析 #### 一、GEF框架概述 GEF,全称为Graphical Editor Framework,是Eclipse平台下的一款图形编辑框架,主要用于构建图形化编辑器,如流程设计器、UML类图编辑器等。GEF遵循经典的MVC...

    gef学习文档+学习源码

    Gef,全称“GNU Reverse Engineering Framework”,是一款强大的GDB(GNU Debugger)扩展,旨在简化调试过程,提供更直观、高效的方式来交互式地分析程序。在本文中,我们将深入探讨Gef的学习过程,涵盖其基本概念、...

    GEF-ALL-3.2.2

    GEF: Graphical Editing Framework <br>GEF是一套MVC Framework,它能帮你比较容易的建立图形化的编辑器,V(View)的部分常常是基于SWT的Draw2D,因此Draw2D也看作是GEF的一部分。依赖:org.eclipse.gef***, org...

    GEF教程和demo源码

    **GEF(Graphical Editing Framework)教程与Demo源码详解** GEF,全称为Graphical Editing Framework,是Eclipse平台上用于构建图形化编辑器的一种框架。它为开发人员提供了丰富的工具,可以方便地创建出复杂的...

Global site tag (gtag.js) - Google Analytics