RCP开发之comand(命令)

历史

接触RCP开发的时候,对comand与action区别与相似总会感到困惑,这里做个总结。
两者其实都是完成同样任务的两种不同API:声明与实现表现为菜单项和工具栏按钮的功能。
Action出现于Eclipse 3.0之前, command在eclipse3.3才刚刚成熟,3.4完成改进。


命令(command)

使用command实现菜单项与工具栏项包括:声明一个命令(UI概念,并无牵涉在哪里出现,对应的功能是什么),至少对应一个菜单的命令项(出现在哪里),以及至少一个用于该命令(触发什么事件)的处理器(handler)。

使用命令

  • 扩展org.eclipse. ui.comands 扩展点,声明一个命令
  • 如果要添加至菜单项,则扩展org.eclipse.ui.menus,通过locationURI来确定位置,比如添加到顶级菜单项为locationURI=”menu:org.eclipse.ui.main.menu?after=addtion”
  • 添加对应的事件处理器hander,默认的handler最好继承abstractHandler(实现大部分处理器接口)

LocationURI

对于菜单项,工具栏,上下文菜单中重要的属性,确定其在用户界面中出现的位置。该属性可以被分解成三个部分:模式(schema),标识符(identifier)和参数列表(argument list) 比较常用:
- menu 程序主菜单或者视图下拉菜单(如 menu:org.eclipse.ui.main.menu Eclipse主菜单的标识符)
- popup 视图或编辑器上下文菜单 (如 menu:org.eclipse.ui.popup.any) 任意上下文菜单的标识符
- toolbar 程序主工具栏或视图中的工具栏 (如menu:org.eclipse.main.toolbar Eclip主工具栏的标识符)

plugin.xml 截图

RCP开发之comand(命令)_第1张图片

你可能感兴趣的:(JAVA,RCP开发)