Eclipse简介和插件开发:
添加菜单(menubar)项与添加工具条(toolbar)按钮的过程几乎相同。首先声明一个扩展(相同的扩展org.eclipse.ui.actionSets)、用特定的标记(相同或不同的标记都可以)来扩充它,并编写操作类(相同的类)。特定的标记是指添加菜单项或工具条的位置,建议让工具条和菜单条ID标志位置保持一致性。下面是菜单项的扩展XML代码(没有相应的工具条按钮):
point="org.eclipse.ui.actionSets">
label="Sample Action Set"
visible="true"
id="cn.guoyibj.sample.extendmenu.actionSet">
label="&Sample Action"
icon="icons/sample.gif"
class="cn.guoyibj.sample.extendmenu.actions.SampleAction"
tooltip="Hello, Eclipse world"
menubarPath="file/new.ext"
id="cn.guoyibj.sample.extendmenu.actions.SampleAction">
代码1
运行效果如下图所示:
menubar.gif (10.63 KB, 下载次数: 52)
2009-10-16 21:30 上传
图1下面是一个组合了菜单项和工具条按钮的例子:
point="org.eclipse.ui.actionSets">
label="Sample Action Set"
visible="true"
id="cn.guoyibj.sample.extendmenu.actionSet">
label="&Sample Action"
icon="icons/sample.gif"
class="cn.guoyibj.sample.extendmenu.actions.SampleAction"
tooltip="Hello, Eclipse world"
menubarPath="file/new.ext"toolbarPath="org.eclipse.ui.workbench.file/new.ext" id="cn.guoyibj.sample.extendmenu.actions.SampleAction">
代码2我们可以看到代码2比代码1只多了一行,我用粗体标识出来了。运行效果除了添加了图1中的菜单,还添加了如下图所示的工具条按钮:toolbar.gif (7.77 KB, 下载次数: 18)
2009-10-16 21:30 上传
图2
上面例子中的菜单和工具条的操作类继承IWorkbenchWindowActionDelegate,如果要实现分层工具条,操作类需要实现IWorkbenchWindowPulldownDelegate2接口。
下面是一个带子菜单和分层工具条的例子:
point="org.eclipse.ui.actionSets">
label="Copy File Action"
visible="true"
id="com.ibm.designer.extensibility.copyfile.actionSet">
label="Copy File"
id="copyFileMenu">
name="copyFileGroup">
label="My Import Action"
icon="icons/import.gif"
class="cn.guoyibj.sample.extendmenu.actions.SubClassA"
tooltip="My Import..."
menubarPath="copyFileMenu/copyFileGroup"
toolbarPath="copyFileGroup"
id="cn.guoyibj.sample.extendmenu.actions.SubClassA">
label="My Export Action"
icon="icons/export.gif"
class="cn.guoyibj.sample.extendmenu.actions.SubClassB"
tooltip="My Export..."
menubarPath="copyFileMenu/copyFileGroup"
toolbarPath="copyFileGroup"
retarget="false"
style="pulldown"
id="cn.guoyibj.sample.extendmenu.actions.SubClassB">
代码3
运行效果图如下:
toolbar2.gif (3.22 KB, 下载次数: 22)
2009-10-16 21:55 上传
图3
menubar2.gif (5.91 KB, 下载次数: 19)
2009-10-16 21:55 上传
图4
我们修改一下菜单条的位置:
point="org.eclipse.ui.actionSets">
label="Copy File Action"
visible="true"
id="com.ibm.designer.extensibility.copyfile.actionSet">
label="My Import Action"
icon="icons/import.gif"
class="cn.guoyibj.sample.extendmenu.actions.SubClassA"
tooltip="My Import..."
menubarPath="file/import.ext"
id="cn.guoyibj.sample.extendmenu.actions.SubClassA">
label="My Export Action"
icon="icons/export.gif"
class="cn.guoyibj.sample.extendmenu.actions.SubClassB"
tooltip="My Export..."
menubarPath="file/import.ext"
retarget="false"
style="pulldown"
id="cn.guoyibj.sample.extendmenu.actions.SubClassB">
代码4
效果图如下所示:
menubar3.gif (17.52 KB, 下载次数: 27)
2009-10-16 21:55 上传
图5
[本帖最后由 guoyibj 于 2009-10-16 22:45 编辑]