eclipse 多级菜单的popupmenus实现

本文详细介绍了如何使用org.eclipse.ui.popupMenus在Eclipse中创建右击时弹出的多级菜单功能。通过配置plugin.xml,设置objectClass以指定菜单触发对象,利用separator分隔菜单项,并通过menubarPath定义菜单层级结构。最终效果展示了一个具有多级结构的右键菜单。

本文主要实现右击时,弹出菜单中加上自己制定的多级菜单的功能。菜单的加法有很多,这里只介绍org.eclipse.ui.popupMenus方式的多级菜单

plugin.xml的配置如下

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
   
	<extension point="org.eclipse.ui.popupMenus">
		<objectContribution id="Clarity.objectContribution"
	 		objectClass="org.eclipse.core.runtime.IAdaptable">
         	<menu 
                label="Quick Start"
                id="QuickStart"> 
            <separator name="conf"> </separator> 
            </menu> 
            
            <menu 
                label="配置文件编辑"
                path="QuickStart/conf"
                id="ConfFileEditor"> 
            <separator 
                name="additions"> 
            </separator> 
            </menu>
            
            <action 
                label="表一览"
                class="com.linkstec.qsp.plugin.menu.TableListGetter"
                menubarPath="QuickStart/additions"
                id="com.linkstec.qsp.plugin.menu.TableListGetter"> 
            </action>
            
            <action 
                label="Bean一览"
                class="com.linkstec.qsp.plugin.menu.BeanListGetter"
                menubarPath="QuickStart/additions"
                id="com.linkstec.qsp.plugin.menu.BeanListGetter"> 
            </action>
     
            
            <action 
                label="db.property文件配置"
                class="com.linkstec.qsp.plugin.menu.ConfFileEditor"
                menubarPath="QuickStart/ConfFileEditor/additions"
                id="com.linkstec.qsp.plugin.menu.dbProperty"> 
            </action>
            <action 
                label="plugin文件配置"
                class="com.linkstec.qsp.plugin.menu.ConfFileEditor"
                menubarPath="QuickStart/ConfFileEditor/additions"
                id="com.linkstec.qsp.plugin.menu.plugin"> 
            </action>
		</objectContribution>
	</extension>

</plugin>

这里重点解释几个节点的配置:

1.objectClass="org.eclipse.core.runtime.IAdaptable" 此节点主要指定此菜单在哪些对象右击时能弹出,通俗一点讲,就是指定在右击工程时弹出,还是在右击java文件时弹出……。

2.<separator name="conf"> </separator>  此节点主要设置两个菜单中分隔的那根线,当2个separator的name属性不同时,显示的时候会有一根横线分隔。

3.menubarPath="QuickStart/ConfFileEditor/additions" 此节点主要指定此菜单是哪个菜单的子菜单。QuickStart和ConfFileEditor都是父菜单的ID。

显示的效果图如下:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值