2012-07-12 9 views

Antwort

6

Sie können einen Handler hinzufügen, der activeWhen verwendet und ihn der Befehls-ID dieses Menüs zuordnen.

Hier ist eine Prozedur, die nur ein Befehl aktiv macht, wenn die aktuelle Auswahl nicht leer ist, und die Auswahl ist ein Element, das Widget auf ein Objekt vom Typ angepasst werden kann:

<extension point="org.eclipse.ui.handlers"> 
    <handler class="com.myproject.handlers.ExportWidgetHandler" 
      commandId="com.myproject.commands.exportWidget"> 
    <activeWhen> 
     <with variable="selection"> 
      <iterate ifEmpty="false" operator="and"> 
       <adapt type="com.myproject.objects.Widget"/> 
      </iterate> 
     </with> 
    </activeWhen> 
    </handler> 
</extension> 
+0

was Widget tut meine hier? Ist es die Klasse, die ich das Menü auf der Auswahl seines Gegenstandes aktivieren will? – becks

+1

Das ist richtig. Du könntest einen ** TableViewer ** voller ** Widgets ** haben; Wenn eine davon ausgewählt ist, wäre Ihr Menü aktiv. Sie könnten auch einen ** TableViewer ** voller ** WidgetAndDongle ** -Objekte und eine ** WidgetAndDongleToWidgetAdapter ** Klasse für Ihr Plugin registriert haben, die ** WidgetAndDongle ** -Objekte anpasst, indem Sie nur das ** Widget * herausziehen und zurückgeben. * Teil. In diesem Fall wäre das Menü auch aktiv, da das ausgewählte Element (ein ** WidgetAndDongle **) an ein ** Widget ** angepasst werden könnte. – stracka