2012-07-12 57 views

回答

6

您可以添加一個處理程序,該程序使用activeWhen並將其與該菜單的命令ID相關聯。

這裏是一個處理程序,使一個命令活性僅在當前選擇的不爲空,並且該選擇的是,可以適用於類型的對象的widget一個項目:

<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

什麼呢插件在這裏呢?是我想要在選擇其對象時激活菜單的類嗎? – becks 2012-07-15 08:18:49

+1

這是正確的。你可以有一個** TableViewer **完整的** Widgets **;當其中一個被選中時,你的菜單將被激活。你也可以爲你的插件註冊一個** TableViewer **完整的** WidgetAndDongle **對象和一個** WidgetAndDongleToWidgetAdapter **類,該類可以通過拉出並返回** Widget *來適應** WidgetAndDongle **對象。 *部分。在這種情況下,菜單也會被激活,因爲所選擇的項目(a ** WidgetAndDongle **)可以適用於** Widget **。 – stracka 2012-07-15 15:19:21