Plug-in 菜单
来源:互联网 发布:用友政务软件 编辑:程序博客网 时间:2024/06/06 09:20
Plug-in 菜单
首先申明下,本文为笔者学习《Eclipse插件开发学习笔记》的笔记,并加入笔者自己的理解和归纳总结。
1、工具栏菜单
(1) 扩展点【org.eclipse.ui.actionSets】在【Extensions】中添加【org.eclipse.ui.actionSets】。
在【org.eclipse.ui.actionSets】中添加【Menu】和【seperator】,并创建【action】。
<extensionpoint="org.eclipse.ui.actionSets"><actionSetid="com.plugin.blog.demo.actionSet"label="DemoActionSet"visible="true"><menuid="com.plugin.blog.demo.actionSet.menu"label="DemoMenu"path="additions"><separatorname="actionSet.menu.seperator"></separator></menu><actionclass="com.plugin.blog.demo.actions.OpenViewAction"icon="icons/icon_choice.png"id="com.plugin.blog.demo.actions.OpenViewAction"label="OpenViewAction"menubarPath="com.plugin.blog.demo.actionSet.menu/actionSet.menu.seperator"style="push"toolbarPath="additions"></action></actionSet></extension>(2) 【action】配置
在"menubarPath"中定义菜单位置,添加到自定义的DemoMenu菜单下。
在"toolbarPath"中定义工具栏位置。
在"class"中定义操作,该类必须继承IWorkbenchWindowActionDelegate接口。
OpenViewAction类
public class OpenViewAction implements IWorkbenchWindowActionDelegate {private IWorkbenchWindow mWindow;@Overridepublic void run(IAction action) {MessageBox mb = new MessageBox(mWindow.getShell());mb.setText("消息");mb.setMessage("打开视图");mb.open();}@Overridepublic void selectionChanged(IAction action, ISelection selection) {}@Overridepublic void dispose() {}@Overridepublic void init(IWorkbenchWindow window) {this.mWindow = window;}}(3) 添加【action】到原有菜单中
在"menubarPath"中定义"file/new/additions"可以添加到原有菜单中,"definitionId"指定快捷方式。
<actionSetid="com.plugin.blog.demo.actionSet"label="DemoActionSet"><actionclass="com.plugin.blog.demo.actions.NewDemoAction"definitionId="com.plugin.blog.demo.command.newDemo"icon="icons/icon_sample.gif"id="com.plugin.blog.demo.actions.NewDemoAction"label="NewDemoAction"menubarPath="file/new/additions"style="push"toolbarPath="additions"></action></actionSet>NewDemoAction类
public class NewDemoAction implements IWorkbenchWindowActionDelegate {private IWorkbenchWindow mWindow;@Overridepublic void run(IAction action) {MessageBox mb = new MessageBox(mWindow.getShell());mb.setText("消息");mb.setMessage("新建Demo操作");mb.open();}@Overridepublic void selectionChanged(IAction action, ISelection selection) {}@Overridepublic void dispose() {}@Overridepublic void init(IWorkbenchWindow window) {this.mWindow = window;}}显示如下
(4) 工具栏中也添加了两个新的菜单。
2、绑定命令
(1) 在【Extensions】中添加【org.eclipse.ui.commands】。在【org.eclipse.ui.commands】中创建【command】。
<extensionpoint="org.eclipse.ui.commands"><commandid="com.plugin.blog.demo.command.newDemo"name="NewDemoCommand"></command></extension>(2) 在【Extensions】中添加【org.eclipse.ui.bindings】。
在【org.eclipse.ui.bindings】中创建【key】。在【key】中,"commandId"对应上面创建的【command】。
<extensionpoint="org.eclipse.ui.bindings"><keycommandId="com.plugin.blog.demo.command.newDemo"contextId="org.eclipse.ui.contexts.window"schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"sequence="CTRL+SHIFT+D"></key></extension>(3) 在NewDemoAction的配置中添加"definitionId"
运行CTRL+SHIFT+D命令,直接调用NewDemoAction。
阅读全文
0 0
- Plug-in 菜单
- Plug-in 视图菜单
- Plug-in 编辑器菜单
- Eclipse Plug-in 通过PropertTest设置菜单权限
- plug-in
- plug-in网址
- C# Plug-in resources
- Eclipse plug-in
- plug in, Basic idea
- ZDA plug-in,删无赦!
- datawindow plug-in
- powerbuilder window plug-in
- Nagios plug-in开发
- 瞎扯plug-in
- PI Achive Plug-In
- Plug-in插件技术
- Plug-In 1.1
- 关于jquery plug-in
- Linux下的暴力密码在线破解工具Hydra
- kotlin 构造方法
- vue2.0和vue1.0路由对比以及脚手架初始路由分析
- cookie工具类
- HDU 1050 POJ 1083 Moving Tables
- Plug-in 菜单
- wordpress更改URL
- jenkins ssh 自动杀掉衍生进程 linux centos
- jQuery Validate验证框架详解
- Objective C之数组排序
- Mysq 函数简介
- Jersey 写restful接口时QueryParam ,FormParam 等的区别
- Intent传递数据及类型
- RabbitMQ (二)工作队列