2011-03-14 69 views
0

我正在開發一個eclipse產品。我向插件添加了導航器視圖,現在我想通過刪除一些默認操作並添加一些自定義操作來自定義其上下文菜單。Eclipse導航器contextMenu

如何從菜單中刪除操作?我該如何添加我的動作?

有沒有辦法創建一個上下文菜單呢?

回答

1

在我以這種方式解決了端:

  • 我創建了一個導航瀏覽器,它 延伸o.e.ui.navigator.viewer,以及i 提供POPUPMENU指定 「allowPlatformContributions =假」。 然後,我創建了許多插入點 ,因爲我需要我的上下文菜單。 我想要eclipse提供的動作 上下文菜單包含在 group.new,group.edit, group.reorganize中。生成的XML是:

    <extension 
        point="org.eclipse.ui.navigator.viewer"> 
    ..... 
        <viewer viewerId="..."> 
        <popupMenu 
          allowsPlatformContributions="false"> 
         <insertionPoint 
           name="group.xvr.management" 
           separator="true"> 
         </insertionPoint> 
         <insertionPoint 
           name="group.new" 
           separator="true"> 
         </insertionPoint> 
         <insertionPoint 
           name="group.edit" 
           separator="true"> 
         </insertionPoint> 
         <insertionPoint 
           name="group.reorganize"> 
         </insertionPoint> 
         <insertionPoint 
           name="group.xvr.launch" 
           separator="true"> 
         </insertionPoint> 
        </popupMenu> 
        </viewer> 
        ... 
        </extension> 
    

    其他兩個組的名稱, group.xvr.launch和 group.xvr.management,是自定義 佔位符爲我的行爲。

  • 然後我伸出 o.e.ui.navigator.navigatorContent 創建我 結合給觀衆我的自定義內容。我添加到 導航器的內容儘可能多的 actionProvider,因爲我需要。在其中的每一個 其中我重寫方法 fillContextMenu提供自定義 行動的上下文菜單。

    @Override 
    public void fillContextMenu(IMenuManager menu) { 
        menu.appendToGroup("group.xvr.launch", new CommandContributionItem(new CommandContributionItemParameter(...))); 
    menu.appendToGroup("group.xvr.launch", new CommandContributionItem(new CommandContributionItemParameter(...))); 
    } 
    
0

您必須擴展導航器視圖,並覆蓋上下文菜單(應該是createPartControl方法)。現在我無法訪問eclipse源代碼。

希望這有助於。

1

您需要擴展o.e.ui.navigator.navigatorContent並提供一個actionProvider。

+0

yes..it是true..but我必須做更多的完全控制上下文菜單。 – hara