我正在尝试使用Eclipse 4.2构建RCP应用程序。Eclipse e4上下文菜单
第一个问题;我有一个TreeViewer
。当在树状浏览器中选择一个项目时,我需要显示两个堆叠的MParts
中的一个。如何在e4中激活零件堆栈中的零件?
秒;我有一个与我的一个部件相关的上下文菜单。我只需要在某些复合材料被右键单击时显示菜单。我有一个鼠标放下处理程序,它将一个对象与我需要的所有数据添加到当前上下文中(IEclipseContext
),但我不知道如何从CoreExpression
(这似乎是控制菜单的可见性)。鼠标上移时,该对象将从上下文中移除。说我的班级是RightClickData
。如何编写核心表达式来测试当前上下文中是否存在RightClickData
的实例?
编辑,我Application.e4xmi
部分:
<children xsi:type="basic:InputPart" xmi:id="_6nSEEJuhEeGpoZf9DvK6pQ" elementId="com.example.MyEditor" contributionURI="bundleclass://MyPlugin/com.example.MyEditor" label="The Editor" tooltip="My Editor">
<menus xsi:type="menu:PopupMenu" xmi:id="_UdHPEJ4SEeGi0uxvOaa4gw" elementId="MyPlugin.rsmenu" label="Asdf" tooltip="asdf">
<children xsi:type="menu:HandledMenuItem" xmi:id="_jwOz0J4SEeGi0uxvOaa4gw" label="Add Column" command="_fhTxwJ4REeGi0uxvOaa4gw"/>
<children xsi:type="menu:HandledMenuItem" xmi:id="_trlpsJ4SEeGi0uxvOaa4gw" label="Delete Column" command="_iAIkoJ4REeGi0uxvOaa4gw"/>
<children xsi:type="menu:MenuSeparator" xmi:id="_v8f8YJ4SEeGi0uxvOaa4gw"/>
<children xsi:type="menu:HandledMenuItem" xmi:id="_wR7Z0J4SEeGi0uxvOaa4gw" label="Add Row" command="_bXrp8J4REeGi0uxvOaa4gw"/>
<children xsi:type="menu:HandledMenuItem" xmi:id="_yf5GMJ4SEeGi0uxvOaa4gw" label="Delete Row" command="_l58HwJ4REeGi0uxvOaa4gw"/>
</menus>
</children>
这应该被标记为E4,Eclipse的JUNO,日食-E4,日食4.2,或这种性质的东西。 –
对于第二个问题,你是否为你的'MPart'创建了一个'MPopupMenu',并使用'EMenuService'将它与你的上下文菜单相连接? –
我在'Application.e4xmi'中设置了一个弹出式菜单作为我的部件的一个子部件。然后我使用'EMenuService.registerContextMenu(...)'连接它。 –