アクションの拡張ポイントを作成しました
<menu
label="Folding"
path="add"
id="Plugin.Ruler.EditorMenu">
<separator
name="group">
</separator>
</menu>
<action
id="FoldingAction.Enable"
label="FoldingAction"
class="EnableClass"
menubarPath="Plugin.Ruler.EditorMenu/group"
style="toggle">
</action>
右クリックを押すと、メニューが表示されました。
1回目はメニューが[]で、2回目だけ動作するという問題は、プロパティの扱いで発生します。
コード :
protected IMenuListener createContextMenuListener() {
return new IMenuListener() {
public void menuAboutToShow(IMenuManager menu) {
String id= menu.getId();
if (getRulerContextMenuId().equals(id)) {
setFocus();
rulerContextMenuAboutToShow(menu);
} else if (getEditorContextMenuId().equals(id)) {
setFocus();
editorContextMenuAboutToShow(menu);
}
}
};
}
protected final void rulerContextMenuAboutToShow(final IMenuManager menu) {
super.rulerContextMenuAboutToShow(menu);
MenuItem[] menus = ((MenuManager) menu).getMenu().getItems();
}
メニュー項目は最初のクリックでは空ですが、2 回目のクリックでは機能します。