1

アクションの拡張ポイントを作成しました

 <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 回目のクリックでは機能します。

4

0 に答える 0