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
.
id
) do elemento keyConfiguration que será ativado inicialmente.id
) do elemento
keyConfiguration que será ativado inicialmente.
<!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.
activeWhen
. Se você estiver criando uma IExecutableExtension
, poderá utilizar o elemento defaultHandler
em vez disso.<!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".
java.util.Locale
.platform
são o conjunto de valores possíveis retornados por org.eclipse.swt.SWT.getPlatform()
.schemeId
no elemento key
no novo ponto de extensão "org.eclipse.ui.bindings".A seqüência de teclas a ser atribuída ao comando. As seqüências de teclas consistem em um ou mais pressionamentos de tecla, em que um pressionamento de tecla consiste em uma tecla do teclado, opcionalmente pressionada em conjunto com um ou mais dos seguintes modificadores: Ctrl, Alt, Shift e Command. Os pressionamentos de tecla são separados por espaços e os modificadores são separados pelos caracteres '+'.
As teclas modificadoras também podem ser expressas de uma maneira independente da plataforma. Por exemplo, no MacOS X, "Command" é quase sempre utilizado no lugar de "Ctrl". Portanto, fornecemos "M1" que será mapeado como "Ctrl" ou "Command", conforme apropriado. De modo semelhante, "M2" é "Shift"; "M3" é "Alt"; e "M4" é "Ctrl" (MacOS X). Se mais plataformas forem incluídas, você poderá contar com esses aliases mapeados para bons padrões da plataforma.
A sintaxe dessa cadeia está definida em org.eclipse.ui.internal.keys
. Resumidamente, a cadeia não faz distinção entre maiúsculas e minúsculas - embora, estilisticamente, tudo em maiúsculas seja preferencial. Se a tecla for uma letra, bastará incorporar a letra. Se a tecla for uma tecla especial (isto é, não ASCII), utilize uma das seguintes: ARROW_DOWN, ARROW_LEFT, ARROW_RIGHT, ARROW_UP, BREAK, CAPS_LOCK, END, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15, HOME, INSERT, NUM_LOCK, NUMPAD_0, NUMPAD_1, NUMPAD_2, NUMPAD_3, NUMPAD_4, NUMPAD_5, NUMPAD_6, NUMPAD_7, NUMPAD_8, NUMPAD_9, NUMPAD_ADD, NUMPAD_DECIMAL, NUMPAD_DIVIDE, NUMPAD_ENTER, NUMPAD_EQUAL, NUMPAD_MULTIPLY, NUMPAD_SUBTRACT, PAGE_UP, PAGE_DOWN, PAUSE, PRINT_SCREEN ou SCROLL_LOCK. Se a tecla for uma tecla ASCII que não pode ser impressa, utilize uma das seguintes: BS, CR, DEL, ESC, FF, LF, NUL, SPACE, TAB ou VT. Observe que a tecla enter/return do teclado principal é CR.
<!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.
org.eclipse.core.commands.IParameterValues
. Se essa classe não for especificada, você deverá especificar o elemento values
mais detalhado. Consulte o org.eclipse.core.runtime.IExecutableExtension
.<!ATTLIST values
class CDATA #REQUIRED>
A versão mais detalhada do atributo values
no commandParameter
.
org.eclipse.core.commands.IParameterValues
. Se essa classe não for especificada, você deverá especificar o elemento values
mais detalhado. Consulte o org.eclipse.core.runtime.IExecutableExtension
.<!ELEMENT parameter EMPTY>
<!ATTLIST parameter
name CDATA #REQUIRED
value CDATA #REQUIRED>
Um valor possível para um parâmetro.
IExecutableExtension
.IExecutableExtension
.<!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.
org.eclipse.core.commands.IHandler
.
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
.
Direitos Autorais (c) 2000, 2005 IBM Corporation e outros.
Todos os direitos reservados.
Este programa e os materiais que o acompanham são disponibilizados
sob os termos da Eclipse Public License v1.0 que acompanha esta
distribuição e estão disponíveis no endereço http://www.eclipse.org/legal/epl-v10.html