Comandos

org.eclipse.ui.commands

2.1

O ponto de extensão org.eclipse.ui.commands é utilizado para declarar comandos e categorias de comandos, recorrendo aos elementos command e category. Um comando é uma representação abstracta de um comportamento semântico, mas não é uma implementação na verdadeira acepção da palavra. Isto permite a diferentes programadores contribuir com comportamentos específicos para as suas partes individuais. Por exemplo, poderá haver um comando de "colar" com uma implementação num editor e uma implementação diferente num widget de explorador. Estas implementações são denominadas operadores. Os comandos podem também ser vistos como apontador para função declarativa ou rotinas de tratamento de sinais.

<!ELEMENT extension (category* , command* , commandParameterType* , keyBinding* , keyConfiguration* , context* , scope* , activeKeyConfiguration?)>

<!ATTLIST extension

id    CDATA #IMPLIED

name  CDATA #IMPLIED

point CDATA #REQUIRED>


<!ELEMENT command (defaultHandler? , state* , commandParameter*)>

<!ATTLIST command

category       CDATA #IMPLIED

description    CDATA #IMPLIED

id             CDATA #REQUIRED

name           CDATA #REQUIRED

categoryId     CDATA #IMPLIED

defaultHandler CDATA #IMPLIED

returnTypeId   CDATA #IMPLIED

helpContextId  CDATA #IMPLIED>

Este elemento é utilizado para definir comandos. Um comando representa um pedido do utilizador que pode ser processado por uma acção e deve ser exclusivo em termos semânticos, em relação a outros comandos. Não defina um comando caso já exista outro definido com o mesmo significado.Caso exista mais do que um destes elementos com o mesmo atributo id, apenas o último elemento declarado (por ordem de leitura do registo de plugin) é considerado válido. Consulte os pontos de extensão org.eclipse.ui.actionSets e org.eclipse.ui.editorActions para compreender a ligação entre acções e comandos.



<!ELEMENT category EMPTY>

<!ATTLIST category

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED>

Na UI, os comandos estão frequentemente organizados por categorias, para facilitar a sua gestão. Este elemento é utilizado para definir estas categorias. Os comandos podem adicionar-se a apenas uma categoria. Caso exista mais do que um destes elementos com o mesmo atributo id, apenas o último elemento declarado (por ordem de leitura do registo de plugin) é considerado válido.



<!ELEMENT commandParameter (values?)>

<!ATTLIST commandParameter

id       CDATA #REQUIRED

name     CDATA #REQUIRED

values   CDATA #IMPLIED

typeId   CDATA #IMPLIED

optional (true | false) "true">

Define um parâmetro que deverá ser compreensível para um comando.Um parâmetro consiste numa forma de facultar mais informações a um operador no tempo de execução. Por exemplo, um comando "show view" (mostrar vista) poderá tomar uma vista por um parâmetro. Os operadores deverão compreender estes parâmetros para que possam ser tratados como APIs.

A partir de: 3.1



<!ELEMENT commandParameterType EMPTY>

<!ATTLIST commandParameterType

id        CDATA #REQUIRED

type      CDATA #IMPLIED

converter CDATA #IMPLIED>

Define o tipo de objecto de um commandParameter e pode especificar uma subclasse org.eclipse.core.commands.AbstractParameterValueConverter para converter entre valores e objectos dos parâmetros de uma cadeia.

A partir de: 3.2



<!ELEMENT values (parameter*)>

<!ATTLIST values

class CDATA #REQUIRED>

A versão mas detalhada do atributo values em commandParameter.

A partir de: 3.1



<!ELEMENT parameter EMPTY>

<!ATTLIST parameter

name  CDATA #REQUIRED

value CDATA #REQUIRED>

Um valor possível para um parâmetro.

A partir de: 3.1



<!ELEMENT defaultHandler (parameter)>

<!ATTLIST defaultHandler

class CDATA #REQUIRED>

O operador predefinido deste comando. Caso não haja outro operador activo, este operador estará activo. Este operador entrará em conflito com outras definições de operador que não especifiquem quaisquer condições activeWhen. Caso não esteja a criar um IExecutableExtension, pode utilizar o atributo defaultHandler em seu lugar.

A partir de: 3.1



<!ELEMENT state (class?)>

<!ATTLIST state

class CDATA #IMPLIED

id    CDATA #REQUIRED>

A informação do estado partilhada entre todas as rotinas de tratamento e potencialmente mantidas entre sessões. Geralmente, é algo como um estado de caixa de verificação ou como a etiqueta de uma rotina de tratamento. O estado é apenas uma classe carregada para cuidar do estado. Para mais detalhes, consulte a Informações sobre a API.

A partir de: 3.2



<!ELEMENT class (parameter*)>

<!ATTLIST class

class CDATA #REQUIRED>

A classe que pode ser carregada para armazenar o estado deste comando. Este elemento é utilizado se desejar passar vários parâmetros para um org.eclipse.core.runtime.IExecutableExtension.

A partir de: 3.2



O elemento keyConfiguration é obsoleto

<!ELEMENT keyConfiguration EMPTY>

<!ATTLIST keyConfiguration

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED

parent      CDATA #IMPLIED

parentId    CDATA #IMPLIED>

Este elemento é utilizado para definir configurações de teclas. Caso exista mais do que um destes elementos com o mesmo atributo id, apenas o último elemento declarado (por ordem de leitura do registo de plugin) é considerado válido. Utilize o ponto de extensão "org.eclipse.ui.bindings" em seu lugar.



O elemento context é obsoleto

<!ELEMENT context EMPTY>

<!ATTLIST context

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED

parent      CDATA #IMPLIED

parentId    CDATA #IMPLIED>

Este elemento é utilizado para definir contextos. Caso exista mais do que um destes elementos com o mesmo atributo id, apenas o último elemento declarado (por ordem de leitura do registo de plugin) é considerado válido. Utilize o ponto de extensão org.eclipse.ui.contexts em seu lugar.



O elemento scope é obsoleto

<!ELEMENT scope EMPTY>

<!ATTLIST scope

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED

parent      CDATA #IMPLIED>

Este elemento é utilizado para definir âmbitos. Caso exista mais do que um destes elementos com o mesmo atributo id, apenas o último elemento declarado (por ordem de leitura do registo de plugin) é considerado válido. @deprecated Utilize o ponto de extensão "org.eclipse.ui.contexts" em seu lugar.



O elemento activeKeyConfiguration é obsoleto

<!ELEMENT activeKeyConfiguration EMPTY>

<!ATTLIST activeKeyConfiguration

value              CDATA #IMPLIED

keyConfigurationId CDATA #IMPLIED>

Este elemento é utilizado para definir a configuração de teclas activa inicial de Eclipse. Caso exista mais do que um destes elementos, apenas o último elemento declarado (por ordem de leitura do registo de plugin) é considerado válido.

Este elemento foi substituído por uma preferência.Caso a aplicação do utilizador necessite de alterar a configuração de teclas predefinida, especifique o seguinte no ficheiro plugin_customization.ini: org.eclipse.ui/KEY_CONFIGURATION_ID=your.default.key.configuration.id.



O elemento keyBinding é obsoleto

<!ELEMENT keyBinding EMPTY>

<!ATTLIST keyBinding

configuration      CDATA #IMPLIED

command            CDATA #IMPLIED

locale             CDATA #IMPLIED

platform           CDATA #IMPLIED

contextId          CDATA #IMPLIED

string             CDATA #IMPLIED

scope              CDATA #IMPLIED

keyConfigurationId CDATA #IMPLIED

commandId          CDATA #IMPLIED

keySequence        CDATA #IMPLIED>

Este elemento permite atribuir sequências de teclas a comandos. Utilize o elemento key no ponto de extensão "org.eclipse.ui.bindings" em seu lugar.



O ficheiro plugin.xml no plugin org.eclipse.ui utiliza amplamente o ponto de extensão org.eclipse.ui.commands.

Uma rotina de tratamento pode ser registada com os comandos através da utilização de org.eclipse.ui.handlers.IHandlerService. Este registo pode ser obtido a partir de vários componentes da área de trabalho (como por exemplo, área de trabalho, janela da área de trabalho, componentes de sítios, etc.) ao chamar getService(IHandlerService.class).

Geralmente, é preferível declarar todos os comandos estaticamente (em plugin.xml). Esta acção permite aos utilizadores anexar associações de teclas aos comandos. Contudo, é possível declarar comandos em tempo de execução. Para o fazer, obtenha o org.eclipse.ui.commands.ICommandService a partir de uma componente da área de trabalho, chame o getCommand(yourCommandID) e depois o Command.define(...).

Existem algumas implementações predefinidas dos estados de rotina de tratamento que podem ser úteis para os utilizadores deste ponto de extensão: