- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在E参考clipse平台增加多级菜单
在Eclipse平台增加多级菜单在Eclipse工作台上增加一个菜单是很简单的事情,插件可以使用 org.eclipse.ui.actionSets 扩展点来向工作台菜单和工具栏添加菜单、菜单项和工具栏项。同时,Eclipse工作台的插件开发环境还为实现org.eclipse.ui.actionSets 扩展点提供了Hello World模板,用于向Eclipse工作台的菜单中添加一个“样本操作”菜单和向工具栏增加一个“样本操作”按钮。但这个模板提供的菜单项只有一级,如何实现如下图所示的像Eclipse工作台已经具有的菜单项中多级结构呢?
其实不难,问题的关键在于正确设置菜单和工具栏的属性。下面,我们实现上图中的多级菜单项。
?
在Eclipse工作台创建一个插件项目,采用Hello World模板,项目名可定为简单的“menuplugin”,此外,我们不对模板生成的代码做任何的修改而只对配置文件plugin.xml做修改。??我们把模板对org.eclipse.ui.actionSets的扩展修改成如下的结构:
?
?现在在同一个操作集下,有一个id为menu的目录项,标签为“目录”,另外有一个id为submenu的目录项,标签为“子目录”,用于当作“目录”这个目录项的子目录项。在“目录”和“子目录”这两个目录项下,我们定义了几个seperator,在名称为“目录”的目录项下,定义了两个seperator,名称分别是“slot1”和“slot2”;在名称为“子目录”的目录项下,定义了一个seperator,名称为“slot3”。此处,我们定义了四个action:“样本操作1”、“样本操作2”、“样本操作3”、“样本操作4”,分别用来放在“目录”目录项和“子目录”目录项下面。“样本操作1”和“样本操作2”这两个action直接放在“目录”目录项下,所以,对于它们的menubarpath,我们只需要类似于模板原来的设置把它设置为menu/slot1。我们来看一下“子目录”这个目录项如何成为“目录”这个目录项的子目录项:???像上图一样,我们设置“子目录”这个目录项的path属性值为menu/slot1。其中,menu是“目录”这个目录项的id,slot1是它所包含的一个seperator。这样就把“子目录”这个目录项当放到了“目录”这个目录项的slot1这个seperator下面了。当然,如果你不在“子目录”这个目录项中放入任何的action,这个目录项并不会显示出来。下面我们在“子目录”这个目录项中放入两个action,“样本操作3”和“样本操作4”。?
?如上图我们看到,“样本操作3”这个action的menubarpath属性被设置为:menu/submenu/slot3。其中menu是“目录”这个目录项的id,submenu是“子目录”这个目录项的id,而slot3是“子目录”这个目录项下面包含的一个seperator。这样,“样本操作3”就被放到了“目录”这个目录项下面“子目录”这个子目录项下面的slot3这个seperator中了。
?
?下面给出plugin.xml文件的内容,你可能需要注意一下标有“---”的地方。?xml version=1.0 encoding=UTF-8??eclipse version=3.0?plugin
?? extension???????? point=org.eclipse.ui.actionSets????? actionSet??????????? label=样本操作集??????????? visible=true??????????? id=menuplugin.actionSet??????????? ???????? menu?????????????? id=menu?????????????????????????? ---?????????????? label=目录?????????????? ??????????? separator????????????????? name=slot1??????????????????? ---??????????? /separator??????????? separator???????????? ?? name=slot2?????????????????? ---??????????? /separator???????? /menu???????? action?????????????? class=menuplugin.actions.SampleAction?????????????? icon=icons/sample.gif
文档评论(0)