Conjuntos de Ação

Identificador: org.eclipse.ui.actionSets

Descrição: esse ponto de extensão é utilizado para incluir menus, itens de menu e botões da barra de ferramentas para áreas comuns na janela workbench. Essas contribuições são conhecidas coletivamente como conjunto de ação e aparecem dentro da janela do workbench de acordo com a preferência do usuário.

Marcação da Configuração:

   <!ELEMENT actionSet (menu)* (action)* (description?)>
   <!ATTLIST actionSet
      id        CDATA #REQUIRED
      label     CDATA #REQUIRED
      visible   (true | false) #IMPLIED
    >
    <!ELEMENT description (#PCDATA)>

   <!ELEMENT menu (separator)+>
   <!ATTLIST menu
      id         CDATA #REQUIRED
      label      CDATA #REQUIRED
      path       CDATA #IMPLIED
   >    <!ELEMENT separator EMPTY>
   <!ATTLIST separator
      name       CDATA #REQUIRED
   >
  • name - nome do separador que pode mais tarde ser referido como último token no caminho da ação. Desse modo, os separadores servem como grupos nomeados dentro dos quais as ações e os sub-menus podem ser incluídos.
  •    <!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
          pulldown          (true | false) #IMPLIED
          class             CDATA #REQUIRED
          enablesFor        CDATA #IMPLIED
       >    <!ELEMENT selection EMPTY>
       <!ATTLIST selection
          class             CDATA #REQUIRED
          name              CDATA #IMPLIED
       > É importante notar que o workbench não gera menus em favor do plug-in: os caminhos do menu referem-se a menus que já existem.

    Os critérios de ativação para a extensão de uma ação são inicialmente definidos por enablesFor e seleção.  Entretanto, uma vez que a ação delegada tenha sido instanciada, ela pode controlar o estado de ativação da ação diretamente dentro do seu método selectionChanged..

    A ação e as etiquetas de menu podem conter caracteres especiais que codificam mnemônicos e aceleradores utilizando as seguintes regras:

    1. Mnemônicos são especificados utilizando o caracter e comercial ('&') antes de um caracter no texto traduzido. Uma vez que o e comercial não é permitido em cadeias XML, utilize a entidade de caracter &amp;.
    2. Os aceleradores opcionais são especificados ao final da cadeia de nome, utilizando @ seguido por uma série de modificadores e caracter de acelerador final (por exemplo) &amp;Save@Ctrl+S). O modificador pode ser colocado em cadeia, utilizando-se o sinal '+' como delimitador (como em @Ctrl+Shift+S).
    Exemplos:

    A seguir um exemplo de um conjunto de ações (note que os subelementos e os atributos de modo são utilizados):

        <extension point = "org.eclipse.ui.actionSets">
            <actionSet id="com.xyz.actionSet"
                label="My Actions"
                visibel="true">
                <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>
            </actionSet>
        </extension>

    No exemplo acima, a ação especificada, nomeada "Minhas Ações", está inicialmente visível dentro de cada perspectiva.   Ela somente será ativada para uma única seleção (atributo enablesFor). Além disso, os objetos dentro da seleção devem implementar a interface especificada (IFile) e devem ser um arquivo Java.

    Informações de API: o valor do atributo de classe deve ser o nome completo de uma classe que implementa org.eclipse.ui.IWorkbenchWindowActionDelegate ou org.eclipse.ui.IWorkbenchWindowPulldownDelegate.  A última deve ser implementada em casos onde pulldown é verdadeiro.  Essa classe é carregada o mais tarde possível para evitar o carregamento de todo o plug-in antes que isso seja realmente necessário.

    Implementação Fornecida: os Plug-ins podem utilizar esse ponto de extensão para incluir novos menus de nível superior (por exemplo, Depurar). Os Plug-ins também podem definir grupos nomeados que permitam a outros plug-ins contribuir com suas ações dentro deles.

    Menus de nível superior são criados utilizando-se os seguintes valores para o atributo caminho:

    A omissão do atributo path resultará na inclusão de um novo menu dentro do grupo de barra de menus additions.

    Os grupos padrão em uma janela do workbench são definidos na interface IWorkbenchActionConstants.  Essas constantes podem ser utilizadas em código para contribuição dinâmica.  Os valores também podem ser copiados para um arquivo XML para uma melhor integração com os menus do workbench e barra de ferramentas existentes.

    Diversos itens do menu e da barra de ferramentas dentro da janela do workbench são definidos em forma de algorítmico.  Nesses casos, um mecanismo separado precisa ser utilizado para estender a janela.   Por exemplo, a inclusão de uma nova exibição do workbench resulta em um novo item de menu aparecendo no menu Perspectiva. As extensões Importar, Exportar e Novos Assistentes também são incluídas automaticamente à janela.
     

    Copyright IBM Corp. 2000, 2001.  Todos os Direitos Reservados.