檢視畫面功能表、工具列和動作

識別碼:org.eclipse.ui.viewActions

說明:這個延伸點用來新增動作到其他外掛程式所登錄的檢視畫面的功能表和工具列中。 每個檢視畫面都有一個本端下拉功能表,通常按一下檢視畫面的右上角區域可以啟動它。 其他外掛程式可以提供子功能表和動作到這個功能表中。 外掛程式也提供動作到檢視畫面工具列中。 檢視擁有者最先有機會移入這些區域。 其他外掛程式的選用新增內容會附加在後面。

配置標記:

   <!ELEMENT viewContribution (menu | action)*>
   <!ATTLIST viewContribution
      id         CDATA #REQUIRED
      targetID   CDATA #REQUIRED
   >

  • id - 可用來參照這項構成要素的唯一識別碼
  • targetID - 取得所構成要素之檢視畫面(如登錄所指定)的唯一識別碼
  •    <!ELEMENT menu (separator)+>
       <!ATTLIST menu
          id         CDATA #REQUIRED
          label      CDATA #REQUIRED
          path       CDATA #IMPLIED
       >    <!ELEMENT separator EMPTY>
       <!ATTLIST separator
          name       CDATA #REQUIRED
       >
  • name - 之後可作為動作路徑中最後一個記號來參照的分隔字元名稱。因此,分隔字元可作為動作可新增其中的具名群組。
  •    <!ELEMENT action (selection)*>
       <!ATTLIST action
          id                NMTOKEN #REQUIRED
          label             CDATA #REQUIRED
          menubarPath       CDATA #IMPLIED
          toolbarPath       CDATA #IMPLIED
          icon              CDATA #IMPLIED
          tooltip           CDATA #IMPLIED
          helpContextId     CDATA #IMPLIED
          state             (true | false) #IMPLIED
          class             CDATA #REQUIRED
          enablesFor        CDATA #IMPLIED
       >    <!ELEMENT selection EMPTY>
       <!ATTLIST selection
          class             CDATA #REQUIRED
          name              CDATA #IMPLIED
       > 開始時,動作延伸項目的啟用準則是由 enablesForselection 來定義的。不過,在建立好動作委派的實例之後,它會直接在其 selectionChanged 方法中控制動作啟用狀態。

    動作和功能表標籤可含有利用下列規則來編碼助記鍵和加速器的特殊字元:

    1. 助記鍵是利用轉換的文字其中的助記字元前面加上 '&' 字元來指定的。 由於 XML 字串中不能使用&符號,請使用 &amp; 字元實體。
    2. 選用的加速器是利用 @ ,後面接著修飾元系列及最終的加速字元(如 &amp;Save@Ctrl+S),在名稱字串的結尾指定的。 利用 '+' 作為定界符號可以將修飾元連結起來(如在 @Ctrl+Shift+S 中)。
    範例:

    以下是檢視畫面動作延伸點的範例(請注意子元素和屬性的使用方式):

       <extension point="org.eclipse.ui.viewActions">
          <viewContribution
             id="com.xyz.xyzViewC1"
             targetID="org.eclipse.ui.views.navigator.ResourceNavigator">
             <menu id="com.xyz.xyzMenu"
                label="XYZ Menu"
                path="additions">
                <separator name="group1"/>
             </menu>
             <action id="com.xyz.runXYZ"
                  label="&amp;Run XYZ Tool"
                  menubarPath="com.xyz.xyzMenu/group1"
                  toolbarPath="Normal/XYZ"
                  icon="icons/runXYZ.gif"
                  tooltip="Run XYZ Tool"
                  helpContextId="com.xyz.run_action_context"
                  class="com.xyz.actions.RunXYZ"
                  enablesFor="1"/>
                  <selection class="org.eclipse.core.resources.IFile" name="*.java">
             </action>
         </viewContribution>
       </extension>

    在上述範例中,只有單一選項能夠啟用指定的動作(enablesFor 屬性)。 另外,這個選項中的每個物件都必須實作指定的介面 (IFile),且必須是 Java 檔。 您可以指定多個 selection 元素,表示 'one of'。

    API 資訊:class 屬性值必須是實作 org.eclipse.ui.IViewActionDelegate 之 Java 類別的完整名稱。 這個介面的載入要儘可能晚,以避免在真正需要它之前載入整個外掛程式。 它延伸 org.eclipse.ui.IActionDelegate 並新增一個額外方法容許提供所至的檢視畫面實例來起始設定委派。

    提供的實作:每個檢視畫面通常都會檢附下拉功能表和本端工具列中的標準項目數。 其他外掛程式所提供的新增內容會附加到標準補充之中。在公開介面內公佈檢視畫面的動作識別碼非常有用。 例如,工作台視窗的動作和主要群組都定義在 org.eclipse.ui.IWorkbenchActionConstants 中。

    Copyright IBM Corp. 2000, 2001.  All Rights Reserved.