Я пытаюсь создать приложение RCP с Eclipse 4.2.
Первая проблема; У меня есть 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>
MPopupMenu
для своегоMPart
и связали его с вашим контекстным меню с помощьюEMenuService
? - person Paul Webster   schedule 01.06.2012Application.e4xmi
. Затем я используюEMenuService.registerContextMenu(...)
для подключения. - person Ethan Reesor   schedule 04.06.2012