2017-12-19 1 views
0

Ich habe einige Meun Artikel zu entfernen, nur Aktion in meinem Kontextmenü hinzufügen, sollte es nur zeigen „Aktion hinzufügen“ Menüwie aus contextmenu meiner Meinung nach

Aber es zeigt auch ein anderes Menü (vergleichen mit -> Baseline hinzufügen) Ich weiß nicht wo es herkommt und wie man es entfernt oder deaktiviert?

Alle Hinweise sind mehr als willkommen!

private void hookContextMenu() { 
    MenuManager menuMgr = new MenuManager("#PopupMenu"); 
    menuMgr.setRemoveAllWhenShown(true); 
    menuMgr.addMenuListener(new IMenuListener() { 
     public void menuAboutToShow(IMenuManager manager) { 

      IStructuredSelection sSelection = (IStructuredSelection) viewer 
        .getSelection(); 

      Object obj = ((IStructuredSelection) sSelection) 
        .getFirstElement(); 
      if (obj.toString().equals("Repository")) { 
       manager.add(addGitAction); 
      } 

     } 
    }); 
    Menu menu = menuMgr.createContextMenu(viewer.getControl()); 

    viewer.getControl().setMenu(menu); 
    menu.getItems(); 
    getSite().registerContextMenu(menuMgr, viewer); 
} 
+0

Tipp 1: Verwenden Sie eine Rechtschreibprüfung (siehe Titel). Tipp 2: Es gibt [Tutorials] (https://www.eclipse.org/articles/Article-RCP-1/tutorial1.html). Präsentiere, welchen Rat du zu befolgen versucht hast, genau wie das Ergebnis vom gewünschten Effekt abweicht. Gern können Sie Ihre Gedanken zur Sache darlegen. – greybeard

+0

Zeigen Sie uns, wie Sie das Menü erstellen. Nennen Sie 'registerContextMenu'? –

Antwort

1

Aufruf

getSite().registerContextMenu(menuMgr, viewer); 

Eclipse-sagt, dass dies das Kontextmenü für Ihrerseits ist und dass es Beiträge von anderen Plugins hinzufügen, die sich in alle Teile hinzufügen möchten (oder insbesondere Ihrerseits) .

Sie können dies auslassen, wenn Sie keine Beiträge von anderen Plugins wollen.

+0

wenn ich getSite() nicht aufrufen. RegisterContextMenu (menuMgr, viewer); dann wird das Kontextmenü überhaupt nicht angezeigt. Meine Klasse ist ConfigView erweitert ViewPart – stewchicken

+0

Wie versuchen Sie, das Menü anzuzeigen? Es sollte gut funktionieren mit der rechten Maustaste auf den Viewer. Da Sie nur eine Aktion zum Menü hinzufügen, wenn die Auswahl 'Repository' ist, wird das Menü nicht angezeigt, wenn etwas anderes ausgewählt ist, weil es leer ist. –

+0

Wenn der Benutzer mit der rechten Maustaste auf die Schaltfläche, sollte nur Add Action angezeigt werden, aber derzeit zeigt Add Action und auch eine unerwartete namens Compare mit API Base Line, – stewchicken