Menus Editor, Barra de Ferramentas e Ações

Identificador: org.eclipse.ui.editorActions

Descrição: esse ponto de extensão é utilizado para incluir ações ao menu e à barra de ferramentas para editores registrados por outros plug-ins.

O conjunto de contribuição inicial para um editor é definido por outro ponto de extensão. (org.eclipse.ui.editors). Um conjunto de ações é criado e compartilhado por todas as ocorrências de um mesmo tipo de editor.  Quando chamado, essas ações agem sobre o editor ativo.  Esse ponto de extensão segue o mesmo padrão.  Casa extensão de ação é criada e dividida por todas as ocorrências do mesmo tipo de editor.   A classe de ação é necessária para implementar org.eclipse.ui.IEditorActionDelegate.  O editor ativo é transmitido para o delegado chamando-se IEditorActionDelegate#setActiveEditor.

Marcação da Configuração:

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

  • id - identificador único que pode ser utilizado para referir-se a essa contribuição.
  • editorID - identificador único de um editor previamente registrado que é destino dessa contribuição.
  •    <!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 o último token no caminho da ação. Assim sendo, os separadores servem como grupos nomeados dentro dos quais as ações podem ser incluídas.
  •    <!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
       > 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. Acelerados opcionais são especificados ao final de uma cadeia nomeada, utilizando @ seguido de uma série de modificadores e o caracter do acelerador final (por exemplo, &amp;Save@Ctrl+S). Os modificadores podem ser colocados em cadeia, utilizando-se o sinal '+' como delimitador (como em @Ctrl+Shift+S).
    Exemplos:

    A seguir um exemplo de um ponto de extensão da ação do editor.

       <extension point="org.eclipse.ui.editorActions">
          <editorContribution
             id="com.xyz.xyzContribution"
             targetID="com.ibm.XMLEditor">
             <menu id="com.xyz.xyzMenu" label="&amp;XYZ Menu">
                <separator name="group1"/>
             </menu>
             <action id="com.xyz.runXYZ"
                  label="&amp;Run XYZ Tool"
                  menubarPath="com.xyz.xyzMenu/group1"
                  toolbarPath="Normal/XYZ"
                  state="true"
                  icon="icons/runXYZ.gif"
                  tooltip="Run XYZ Tool"
                  helpContextId="com.xyz.run_action_context"
                  class="com.xyz.actions.RunXYZ">
             </action>
          </editorContribution>
       </extension>

    No exemplo acima, a ação especificada aparecerá como um item da caixa de entrada no menu, e como um botão de comutação na barra de ferramentas.

    Informações de API: o valor do atributo de classe deve ser um nome completo de uma classe Java que implementa org.eclipse.ui.IEditorActionDelegate. Essa classe é carregada o mais tarde possível para evitar o carregamento de todo o plug-in antes que isso seja realmente necessário.O método setActiveEditor será chamado toda vez que um editor de um tipo especificado for ativado. Somente um conjunto de ações e menus será criado para todas as ocorrências para o tipo de editor especificado, não importando o número das ocorrências do editor atualmente abertas na plataforma.

    Esse ponto de extensão pode ser utilizado para contribuir com ações dentro de menus previamente criados pelo editor de destino. Além disso, os menus e as ações podem contribuir com a janela do workbench.  Os identificadores para ações e grupos maiores dentro da janela do workbench são definidos em org.eclipse.ui.IWorkbenchActionConstants.  Isso deve ser utilizado como ponto de referência para a inclusão de novas ações.  Menus de nível máximo são criados utilizando-se os seguintes valores para o atributopath:

    As ações e os menus incluídos dentro desses caminhos somente serão mostrados enquanto o editor associado estiver ativo. Quando o editor for fechado, os menus e as ações serão removidos.

    Implementação Fornecida: o workbench fornece um "Editor de Texto Padrão" interno. Os Plug-ins podem contribuir dentro desse editor padrão ou editores fornecidos por outros plug-ins.

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