Associações

org.eclipse.ui.bindings

3.1

O ponto de extensão org.eclipse.ui.bindings é utilizado para declarar associações e esquemas. Os esquemas são conjuntos de uma ou mais associações. Uma associação é uma correlação entre um determinado grupo de condições, entre a entrada de um utilizador e um comando activado.

Todas as associações requerem um activador de algum tipo, um contexto no qual estarão activas e um esquema onde existirão. Caso o utilizador não saiba qual o contexto a escolher deixe em branco. O contexto predefinido é "org.eclipse.ui.contexts.window". Este contexto significa que a associação será aplicada a qualquer janela principal de Eclipse. Quando o contexto fica activo, a associação também fica activa. As associações de contextos descendentes irão sobrepor associações de contextos ascendentes. Para obter mais informações relativas a contextos, consulte o ponto de extensão org.eclipse.ui.contexts.

Caso uma associação não defina um identificador de comando, então trata-se de um marcador de eliminação. Isto significa que, se todas as condições forem cumpridas, irá cancelar quaisquer associações ao mesmo activador no mesmo contexto. Este mecanismo pode ser utilizado, por exemplo, para alterar uma associação numa determinada plataforma.

Um tipo de associação é uma associação key (de teclas) (i.e., uma tecla de atalho). Por exemplo, associar Ctrl+C a Copy é considerada uma associação key (de teclas). O activador de uma associação de teclas é uma sequência de batimentos de tecla.

Um esquema é um grupo destas associações englobadas num conjunto, que o utilizador pode seleccionar. Por exemplo, um utilizador poderá querer utilizar o esquema predefinido, mas também pretende mudar um esquema Emacs-style ou um esquema Brief-style.

<!ELEMENT extension (scheme* , key*)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!ELEMENT scheme EMPTY>

<!ATTLIST scheme

id          CDATA #REQUIRED

name        CDATA #REQUIRED

description CDATA #IMPLIED

parentId    CDATA #IMPLIED>

Um esquema é um grupo de associações de entre as quais o utilizador final pode escolher.

Os esquemas podem herdar associações de um esquema ascendente. Esta capacidade pretende facilitar o trabalho dos programadores de plug-ins ao criar conjuntos de associações personalizados. Uma associação activa definida num esquema descendente irá sempre sobrepor uma associação activa num esquema ascendente, caso possuam o mesmo activador. Esta técnica é utilizada para facultar o esquema Emacs na área de trabalho.



<!ELEMENT key (parameter*)>

<!ATTLIST key

sequence  CDATA #REQUIRED

schemeId  CDATA #REQUIRED

contextId CDATA "org.eclipse.ui.contexts.window"

commandId CDATA #IMPLIED

platform  CDATA #IMPLIED

locale    CDATA #IMPLIED>

Uma associação entre uma entrada do teclado e a activação de um comando.



<!ELEMENT parameter EMPTY>

<!ATTLIST parameter

id    CDATA #IMPLIED

value CDATA #IMPLIED>

Um nome e valor de um parâmetro que deve ser transmitido ao comando quando este é executado. Isto permite que o comando seja qualificado de alguma forma. Por exemplo, um comando"Show View" (Mostrar Vista) poderá aceitar o id de vista como parâmetro.



<extension point=

"org.eclipse.ui.bindings"

>

<key sequence=

"M2+F5"

commandId=

"commandId"

schemeId=

"default"

contextId=

"windows"

/>

<scheme name=

"Default"

description=

"Atalhos Predefinidos para Eclipse"

id=

"default"

/>

</extension>

Não existe qualquer API pública para definir associações. Para tentar conseguir estabilidade para o utilizador, as associações só são definidas através de pontos de extensão. Caso utilize uma aplicação RCP, deverá poder sobrepor este comportamento em WorkbenchAdvisor.

Para que as associações funcionem, o utilizador tem de ter definido um comando. Para que a associação funcione, o comando tem de ter um operador activo. Os operadores podem ser registados programaticamente; consulte o ponto de extensão org.eclipse.ui.handlers.