2.1
Utökningspunkten org.eclipse.ui.commands
används för att deklarera kommandon och kommandokategorier med hjälp av elementen command
och category
. Ett kommando är en abstrakt representation av en viss semantisk funktion men det är inte den verkliga implementationen. Med hjälp av kommandot kan utvecklare bidra med specifika funktioner för deras enskilda delar. Det kan t.ex. finnas ett "klistra in"-kommando med en implementation i en redigerare och en annan implementation i en gränssnittskontroll för utforskning. Dessa implementationer kallas för hanterare. Kommandon kan även visas som deklarativa funktionspekare eller signalhanterare.
<!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>
Det här elementet används för att definiera kommandon. Ett kommando representerar en begäran från användaren som kan hanteras med en åtgärd och som ska vara semantiskt unikt bland andra kommandon. Definiera inte ett kommando om det redan finns ett kommando som betyder samma sak.
Om det finns fler av dessa element med samma id
-attribut är det bara det senast deklarerade elementet (i läsordning av insticksprogrammets register) som betraktas som giltigt. Se utökningspunkterna org.eclipse.ui.actionSets och org.eclipse.ui.editorActions om du vill veta mer om hur åtgärder kopplas till kommandon.
categoryId
i stället. Ett unikt ID för det här kommandots kategori. Om kommandot inte anger någon kategori visas det ändå i användargränssnittet, tillsammans med andra specifikt kategoriserade kommandon.
Sedan: 3.0
Standardhanteraren för kommandot (se utökningspunkten org.eclipse.ui.bindings). Om det inte finns någon annan aktiv hanterare aktiveras den här hanteraren. Hanteraren får konflikt med andra hanterardefinitioner som inte anger några activeWhen
-villkor. Om du skapar en IExecutableExtension
kan du i stället använda elementet defaultHandler
.
Sedan: 3.1
ID:t för en commandParameterType
som anger den typ av värde som returneras av det här kommandot. När returnTypeId
anges kan klienter köra kommandot för att associera värdet med en Java-typ och konvertera värdet till ett strängformat som kan lagras och/eller överföras till ett annat kommando som accepterar parametrar av samma typ.
Sedan: 3.2
ID:t för det hjälpinnehåll som handlar om det här kommandot. Hanterare kan åsidosätta det här ID:t och tillhandahålla mer specifik hjälp för de specifika funktionerna.
Sedan: 3.2
<!ELEMENT category EMPTY>
<!ATTLIST category
description CDATA #IMPLIED
id CDATA #REQUIRED
name CDATA #REQUIRED>
I användargränssnittet ordnas kommandon ofta efter kategori, i syfte att göra dem lättare att hantera. Det här elementet används för att definiera dessa kategorier. Kommandon kan lägga till sig själva i maximalt en kategori.
Om det finns fler av dessa element med samma id
-attribut är det bara det senast deklarerade elementet (i läsordning av insticksprogrammets register) som betraktas som giltigt.
<!ELEMENT commandParameter (values?)>
<!ATTLIST commandParameter
id CDATA #REQUIRED
name CDATA #REQUIRED
values CDATA #IMPLIED
typeId CDATA #IMPLIED
optional (true | false) "true">
Definierar en parameter som kan förstås av ett kommando. En parameter är ett sätt att ange mer information till en hanterare vid körningstillfället. Kommandot "visa vy" kan t.ex. ta emot ett vynamn som parameter. Hanterare ska kunna förstå dessa parametrar, så de ska behandlas som APIer.
Sedan: 3.1
org.eclipse.core.commands.IParameterValues
. Om klassen inte anges måste du ange det mer detaljerade values
-elementet. Se mer i org.eclipse.core.runtime.IExecutableExtension
.<!ELEMENT commandParameterType EMPTY>
<!ATTLIST commandParameterType
id CDATA #REQUIRED
type CDATA #IMPLIED
converter CDATA #IMPLIED>
Definierar objekttypen för en commandParameter och kan ange en org.eclipse.core.commands.AbstractParameterValueConverter
-underklass för konvertering mellan strängparametervärden och objekt.
Sedan: 3.2
java.lang.Object
som parametertyp.org.eclipse.core.commands.AbstractParameterValueConverter
. Konverteraren ska skapa och använda objekt av den typ som anges i attributet type
. Om den här klassen inte anges kommer funktionen för att konvertera mellan sträng- och objektvärden för den här parametertypen inte att vara tillgänglig (getValueConverter()
för klassen ParameterType
returnerar null
).<!ELEMENT values (parameter*)>
<!ATTLIST values
class CDATA #REQUIRED>
Den mer detaljerade versionen av values
-attributet i commandParameter
.
Sedan: 3.1
org.eclipse.core.commands.IParameterValues
. Om klassen inte anges måste du ange det mer detaljerade values
-elementet. Se mer i org.eclipse.core.runtime.IExecutableExtension
.<!ELEMENT parameter EMPTY>
<!ATTLIST parameter
name CDATA #REQUIRED
value CDATA #REQUIRED>
Ett möjligt värde för en parameter.
Sedan: 3.1
IExecutableExtension
.IExecutableExtension
.<!ELEMENT defaultHandler (parameter)>
<!ATTLIST defaultHandler
class CDATA #REQUIRED>
Standardhanteraren för det här kommandot. Om det inte finns någon annan aktiv hanterare aktiveras den här hanteraren. Hanteraren får konflikt med andra hanterardefinitioner som inte anger några activeWhen
-villkor. Om du inte skapar en IExecutableExtension
kan du i stället använda attributet defaultHandler
.
Sedan: 3.1
org.eclipse.core.commands.IHandler
<!ATTLIST state
class CDATA #IMPLIED
id CDATA #REQUIRED>
Lägesinformation som delas av alla hanterare och som även kan behållas mellan sessioner. Det är vanligen till exempel en kryssruta eller etiketten för en hanterare. Läget är helt enkelt en klass som läses in för att kontrollera läget. Mer information finns i avsnittet om API-information.
Sedan: 3.2
org.eclipse.core.commands.State
. Mer information finns i avsnittet om API-information.
Ett unikt ID för det här läget. Det används när läget ska behållas mellan sessioner (om läget är en förekomst av org.eclipse.jface.commands.PersistentState
). Vissa vanliga ID:n (mer information finns i avsnittet om org.eclipse.jface.menus.IMenuStateIds
) blir uppenbara när kommandot återges i menyer eller verktygsfält. ID:t måste vara unikt endast i det kommando som definierar läget.
<!ATTLIST class
class CDATA #REQUIRED>
En klass som kan läsas in för att lagra läget för det här kommandot. Det elementet används om du vill överföra flera parametrar till en org.eclipse.core.runtime.IExecutableExtension
.
Sedan: 3.2
org.eclipse.core.commands.State
. Mer information finns i avsnittet om API-information.<!ELEMENT keyConfiguration EMPTY>
<!ATTLIST keyConfiguration
description CDATA #IMPLIED
id CDATA #REQUIRED
name CDATA #REQUIRED
parent CDATA #IMPLIED
parentId CDATA #IMPLIED>
Det här elementet används för att definiera tangentkonfigurationer.
Om det finns fler av dessa element med samma id
-attribut är det bara det senast deklarerade elementet (i läsordning av insticksprogrammets register) som betraktas som giltigt. Använd i stället utökningspunkten "org.eclipse.ui.bindings".
<!ELEMENT context EMPTY>
<!ATTLIST context
description CDATA #IMPLIED
id CDATA #REQUIRED
name CDATA #REQUIRED
parent CDATA #IMPLIED
parentId CDATA #IMPLIED>
Det här elementet används för att definiera kontexter.
Om det finns fler av dessa element med samma id
-attribut är det bara det senast deklarerade elementet (i läsordning av insticksprogrammets register) som betraktas som giltigt. Använd i stället utökningspunktenorg.eclipse.ui.contexts.
<!ELEMENT scope EMPTY>
<!ATTLIST scope
description CDATA #IMPLIED
id CDATA #REQUIRED
name CDATA #REQUIRED
parent CDATA #IMPLIED>
Det här elementet används för att definiera omfång.
Om det finns fler av dessa element med samma id
-attribut är det bara det senast deklarerade elementet (i läsordning av insticksprogrammets register) som betraktas som giltigt. @deprecated Använd i stället utökningspunkten "org.eclipse.ui.contexts".
<!ELEMENT activeKeyConfiguration EMPTY>
<!ATTLIST activeKeyConfiguration
value CDATA #IMPLIED
keyConfigurationId CDATA #IMPLIED>
Elementet används för att definiera den initiala konfigurationen av aktiv tangent för Eclipse. Om det finns flera av dessa element anses bara det senast deklarerade elementet (i läsordning av insticksprogrammets register) vara giltigt.
Elementet har ersatts av en inställning. Om tillämpningen behöver ändra standardtangentkonfigurationen anger du följande i filen plugin_customization.ini
: org.eclipse.ui/KEY_CONFIGURATION_ID=your.default.key.configuration.id
.
id
-attribut) för det keyConfiguration-element du vill aktivera initialt. id
-attribut) för det keyConfiguration-element du vill aktivera initialt. <!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>
Med det här elementet kan du tilldela tangentsekvenser till kommandon. Använd i stället key
-elementet i utökningspunkten "org.eclipse.ui.bindings".
java.util.Locale
.platform
är den uppsättning möjliga värden som returnerats av org.eclipse.swt.SWT.getPlatform()
.schemeId
för elementet key
i den nya utökningspunkten "org.eclipse.ui.bindings".Tangentsekvensen som tilldelas kommandot. Tangentsekvenser består av en eller flera tangenttryckningar där en tangenttryckning består av en tangent på tangentbordet, som eventuellt trycks ned i kombination med en eller flera av följande modifierare: Ctrl, Alt, Skift och Kommando. Tangenttryckningar avgränsas med mellanrum och modifierare avgränsas med '+'-tecken.
Modifieringstangenterna kan också uttryckas på ett sätt som är oberoende av plattform. På MacOS X används t.ex nästan alltid "Command" i stället för "Ctrl". Vi anger därför "M1", vilket avbildas till antingen "Ctrl" eller "Command", det som är mest lämpligt. På motsvarande sätt är "M2" detsamma som "Skift"; "M3" är "Alt" och "M4" är "Ctrl" (MacOS X). Om flera plattformar läggs till kan du vara säker på att dessa alias avbildas till bra plattformsstandard.
Syntaxen för den här strängen definieras i org.eclipse.ui.internal.keys
. I korthet, strängen är inte skiftberoende, även om vi rent stilistiskt föredrar att hela strängen skrivs med versaler. Om tangenten är en bokstav, lägger du bara till bokstaven. Om det är en specialtangent (dvs. icke-ASCII) använder du något av följande: 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 eller SCROLL_LOCK. Om tangenten är en icke-utskrivningsbar ASCII-tangent använder du något av följande: BS, CR, DEL, ESC, FF, LF, NUL, SPACE, TAB eller VT. Observera att ENTER/RETUR-tangenten på huvudtangentbordet är CR.
Filen plugin.xml
i insticksprogrammet org.eclipse.ui
använder utökningspunkten org.eclipse.ui.commands
i hög grad.
Hanterare kan registreras med kommandon där org.eclipse.ui.handlers.IHandlerService
används. Du kan hämta den från olika arbetsmiljökomponenter (till exempel arbetsmiljö, arbetsmiljöfönster, delplats) genom att anropa getService(IHandlerService.class)
.
I allmänhet är det bättre att deklarera alla kommandon statistiskt (i plugin.xml
). Det är för att användare ska kunna skapa tangentbidningar till kommandona. Det är dock möjligt att deklarera kommendon under körning. Om du vill göra det hämtar du org.eclipse.ui.commands.ICommandService
från en arbetsmiljökomponent, anropar getCommand(yourCommandID)
och anropar sedan Command.define(...)
.
Det finns några standardimplementeringar för hanterarlägen som kan vara praktiskt att känna till för de som använder den här utökningspunkten:
Copyright (c) 2000, 2005 IBM Corporation and others.
All Rights Reserved. Detta program och medföljande material tillhandahålls under villkoren för Eclipse Public License v1.0 som medföljer denna distribution och finns tillgänglig på http://www.eclipse.org/legal/epl-v10.html