Comandos

org.eclipse.ui.commands

2.1

O ponto de extensão org.eclipse.ui.commands é utilizado para declarar comandos e categorias de comandos usando os elementos command e category. Um comando é uma representação abstrata de algum comportamento semântico, mas não sua implementação real. Isso permite que desenvolvedores diferentes contribuam com comportamento específico para suas partes individuais. Por exemplo, deve existir um comando "paste" com uma implementação em um editor e uma implementação diferente em um widget de explorador. Essas implementações são chamadas de rotinas de tratamento.

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

<!ATTLIST extension

id    CDATA #IMPLIED

name  CDATA #IMPLIED

point CDATA #REQUIRED>


<!ELEMENT activeKeyConfiguration EMPTY>

<!ATTLIST activeKeyConfiguration

value              CDATA #IMPLIED

keyConfigurationId CDATA #IMPLIED>

Este elemento é utilizado para definir a configuração de teclas inicialmente ativa para Eclipse. Se houver mais de um desses elementos, apenas o último elemento declarado (na ordem de leitura do registro de plug-in) será considerado válido.

Esse elemento foi substituído por uma preferência. Se o aplicativo precisar alterar a configuração padrão de teclas, especifique o seguinte em seu arquivo plugin_customization.ini: org.eclipse.ui/KEY_CONFIGURATION_ID=your.default.key.configuration.id.



<!ELEMENT category EMPTY>

<!ATTLIST category

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED>

Na UI, os comandos são normalmente organizados por categoria para facilitar o gerenciamento. Este elemento é utilizado para definir essas categorias. Os comandos podem se auto-incluir em, no máximo, uma categoria. Se houver mais de um desses elementos com o mesmo atributo id, apenas o último elemento declarado (na ordem de leitura do registro de plug-in) será considerado válido.



<!ELEMENT command (commandParameter | defaultHandler?)>

<!ATTLIST command

category       CDATA #IMPLIED

description    CDATA #IMPLIED

id             CDATA #REQUIRED

name           CDATA #REQUIRED

categoryId     CDATA #IMPLIED

defaultHandler CDATA #IMPLIED>

Esse elemento é utilizado para definir os comandos. Um comando representa um pedido do usuário que pode ser identificado por uma ação e que deve ser semanticamente exclusivo dentre outros comandos. Não defina um comando se já houver outro definido com o mesmo significado. Se houver mais de um desses elementos com o mesmo atributo id, apenas o último elemento declarado (na ordem de leitura do registro de plug-in) será considerado válido. Consulte os pontos de extensão org.eclipse.ui.actionSets e org.eclipse.ui.editorActions para compreender como as ações estão conectadas aos comandos.



<!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>

Esse elemento permite designar seqüências de teclas para comandos. Em vez disso, utilize o elemento key no ponto de extensão "org.eclipse.ui.bindings".



<!ELEMENT keyConfiguration EMPTY>

<!ATTLIST keyConfiguration

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED

parent      CDATA #IMPLIED

parentId    CDATA #IMPLIED>

Esse elemento é utilizado para definir configurações de teclas. Se houver mais de um desses elementos com o mesmo atributo id, apenas o último elemento declarado (na ordem de leitura do registro de plug-in) será considerado válido. Em vez disso, utilize o ponto de extensão "org.eclipse.ui.bindings".



<!ELEMENT context EMPTY>

<!ATTLIST context

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED

parent      CDATA #IMPLIED

parentId    CDATA #IMPLIED>

Esse elemento é utilizado para definir os contextos. Se houver mais de um desses elementos com o mesmo atributo id, apenas o último elemento declarado (na ordem de leitura do registro de plug-in) será considerado válido. Em vez disso, utilize o ponto de extensão org.eclipse.ui.contexts.



<!ELEMENT scope EMPTY>

<!ATTLIST scope

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED

parent      CDATA #IMPLIED>

Esse elemento é utilizado para definir os escopos. Se houver mais de um desses elementos com o mesmo atributo id, apenas o último elemento declarado (na ordem de leitura do registro de plug-in) será considerado válido. @deprecated Utilize o ponto de extensão "org.eclipse.ui.contexts" em substituição.



<!ELEMENT commandParameter (values)>

<!ATTLIST commandParameter

id       CDATA #REQUIRED

name     CDATA #REQUIRED

values   CDATA #IMPLIED

optional (true | false) "true">

Define um parâmetro que um comando deve entender. Uma parâmetro é uma maneira de fornecer mais informações a uma rotina de tratamento no tempo de execução. Por exemplo, um comando "show view" pode utilizar uma visualização como um parâmetro. As rotinas de tratamento devem poder entender esses parâmetros, portanto eles devem ser tratados como APIs.



<!ELEMENT values (parameter)>

<!ATTLIST values

class CDATA #REQUIRED>

A versão mais detalhada do atributo values no commandParameter.



<!ELEMENT parameter EMPTY>

<!ATTLIST parameter

name  CDATA #REQUIRED

value CDATA #REQUIRED>

Um valor possível para um parâmetro.



<!ELEMENT defaultHandler (parameter)>

<!ATTLIST defaultHandler

class CDATA #REQUIRED>

A rotina de tratamento padrão para esse comando. Se nenhuma outra rotina de tratamento estiver ativa, essa rotina de tratamento estará ativa. Essa rotina de tratamento entrará em conflito com outras definições de rotina de tratamento que não especifiquem nenhuma condição activeWhen. Se você não estiver criando uma IExecutableExtension, poderá utilizar o elemento defaultHandler em vez disso.



O arquivo plugin.xml no plug-in org.eclipse.ui torna extensivo o uso do ponto de extensão org.eclipse.ui.commands.

Essa não é nenhuma API pública para a declaração de comandos, categorias, ligações de teclas, configurações de teclas ou contextos diferentes deste ponto de extensão. A API pública para consultas e para a definição de contextos, bem como para o registro de ações para manipular comandos específicos, pode ser encontrada em org.eclipse.ui.IKeyBindingService.