Komennot

org.eclipse.ui.commands

2.1

Org.eclipse.ui.commands-laajennuspisteen avulla voidaan määrittää komentoja ja komentoluokkia käyttämällä command- ja category-elementtejä. Komento on tietyn semanttisen toimintatavan abstrakti kuvaus. Se ei ole toiminnon varsinainen toteutus. Tämän mallin avulla sovelluskehittäjät voivat lisätä yksittäisiin osiin tiettyjä toimintoja. Esimerkiksi määritetyllä liittämiskomennolla voi olla eri toteutus muokkausohjelmassa kuin widget-selausobjektissa. Toteutuksia kutsutaan käsittelytoiminnoiksi. Komentoja voi tarkastella myös esittelevinä funktion osoittimina tai signaalin käsittelytoimintoina.

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

Tämän elementin avulla voidaan määrittää komentoja. Komento vastaa käyttäjän tekemää pyyntöä, jonka jokin toiminto käsittelee. Komentojen nimien pitäisi olla yksilöllisiä. Päällekkäisiä komentoja ei pitäisi määrittää. Jos samalle tunnukselle (id-määrite) on määritetty useita tällaisia elementtejä, käytetään vain viimeisintä määritettyä elementtiä (siinä järjestyksessä kuin ne luetaan lisäosarekisteristä). Lisätietoja siitä, miten toiminnot liittyvät komentoihin, on laajennuspisteiden org.eclipse.ui.actionSets ja org.eclipse.ui.editorActions ohjeissa.



<!ELEMENT category EMPTY>

<!ATTLIST category

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED>

Käyttöliittymässä komennot on usein luokiteltu niiden hallinnan helpottamiseksi. Käytettävät luokat voidaan määrittää tämän elementin avulla. Komento voi kuulua vain yhteen luokkaan. Jos samalle tunnukselle (id-määrite) on määritetty useita tällaisia elementtejä, käytetään vain viimeisintä määritettyä elementtiä (siinä järjestyksessä kuin ne luetaan lisäosarekisteristä).



<!ELEMENT commandParameter (values?)>

<!ATTLIST commandParameter

id       CDATA #REQUIRED

name     CDATA #REQUIRED

values   CDATA #IMPLIED

typeId   CDATA #IMPLIED

optional (true | false) "true">

Tämä elementti määrittää komennon tukeman parametrin. Parametrin avulla voi välittää käsittelytoiminnolla lisätietoja suorituksen aikana. Esimerkiksi komennossa, joka tuo näkyviin näkymän, parametri voisi olla näkymän nimi. Käsittelytoimintojen pitää pystyä tulkitsemaan nämä parametrit, joten niitä tulee käsitellä kuin ohjelmointirajapintoja.

Alkaen versiosta 3.1



<!ELEMENT commandParameterType EMPTY>

<!ATTLIST commandParameterType

id        CDATA #REQUIRED

type      CDATA #IMPLIED

converter CDATA #IMPLIED>

Määrittää kohteen commandParameter objektin lajin ja voi määrittää aliluokanorg.eclipse.core.commands.AbstractParameterValueConverter muuntamaan merkkijonoparametrin arvoja ja objekteja.

Alkaen versiosta 3.2



<!ELEMENT values (parameter*)>

<!ATTLIST values

class CDATA #REQUIRED>

Tämä on commandParameter-elementin values-määritteen laaja versio.

Alkaen versiosta 3.1



<!ELEMENT parameter EMPTY>

<!ATTLIST parameter

name  CDATA #REQUIRED

value CDATA #REQUIRED>

Parametrin mahdollinen arvo.

Alkaen versiosta 3.1



<!ELEMENT defaultHandler (parameter)>

<!ATTLIST defaultHandler

class CDATA #REQUIRED>

Tämän komennon oletuskäsittelytoiminto. Tämä käsittelytoiminto on aktiivinen, jos muita käsittelytoimintoja ei ole aktivoitu. Tämä käsittelytoiminto aiheuttaa ristiriitoja sellaisten muiden käsittelytoimintomääritysten kanssa, joissa ei ole activeWhen-ehtoja. Jos et luo IExecutableExtension-laajennusta, voit käyttää defaultHandler-määritettä tämän elementin sijasta.

Alkaen versiosta 3.1



<!ELEMENT state (class?)>

<!ATTLIST state

class CDATA #IMPLIED

id    CDATA #REQUIRED>

Kaikkien käsittelytoimintojen yhdessä käyttämät tilatiedot, jotka voivat säilyä istunnosta toiseen. Tämä tarkoittaa yleensä valintaruudun tilaa tai käsittelytoiminnon nimiötä. Tila on luokka, joka ladataan huolehtimaan tilasta. Lisätietoja on kohdassa API-tiedot.

Alkaen versiosta 3.2



<!ELEMENT class (parameter*)>

<!ATTLIST class

class CDATA #REQUIRED>

Luokka, jonka voi ladata tallentamaan tämän komennon tilan. Tätä elementtiä käytetään, jos haluat välittää useita parametreja kohteelle org.eclipse.core.runtime.IExecutableExtension.

Alkaen versiosta 3.2



Elementti keyConfiguration on vanhentunut

<!ELEMENT keyConfiguration EMPTY>

<!ATTLIST keyConfiguration

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED

parent      CDATA #IMPLIED

parentId    CDATA #IMPLIED>

Tämän elementin avulla voidaan tehdä näppäinmääritykset. Jos samalle tunnukselle (id-määrite) on määritetty useita tällaisia elementtejä, käytetään vain viimeisintä määritettyä elementtiä (siinä järjestyksessä kuin ne luetaan lisäosarekisteristä). Käytä tämän elementin sijasta org.eclipse.ui.bindings-laajennuspistettä.



Elementti context on vanhentunut

<!ELEMENT context EMPTY>

<!ATTLIST context

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED

parent      CDATA #IMPLIED

parentId    CDATA #IMPLIED>

Tämän elementin avulla määritetään käyttöyhteydet (kontekstit). Jos samalle tunnukselle (id-määrite) on määritetty useita tällaisia elementtejä, käytetään vain viimeisintä määritettyä elementtiä (siinä järjestyksessä kuin ne luetaan lisäosarekisteristä). Käytä tämän elementin sijasta org.eclipse.ui.contexts-laajennuspistettä.



Elementti scope on vanhentunut

<!ELEMENT scope EMPTY>

<!ATTLIST scope

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED

parent      CDATA #IMPLIED>

Tämän elementin avulla määritetään vaikutusalueet. Jos samalle tunnukselle (id-määrite) on määritetty useita tällaisia elementtejä, käytetään vain viimeisintä määritettyä elementtiä (siinä järjestyksessä kuin ne luetaan lisäosarekisteristä). @deprecated - käytä org.eclipse.ui.contexts-laajennuspistettä tämän sijasta.



Elementti activeKeyConfiguration on vanhentunut

<!ELEMENT activeKeyConfiguration EMPTY>

<!ATTLIST activeKeyConfiguration

value              CDATA #IMPLIED

keyConfigurationId CDATA #IMPLIED>

Tämän elementin avulla määritetään, mikä objekti Eclipse-ympäristössä on aktiivinen aloitettaessa. Jos näitä elementtejä on useita, käytetään vain viimeisintä määritettyä elementtiä (siinä järjestyksessä kuin ne luetaan lisäosarekisteristä).

Tämä elementti on korvattu oletusasetuksella. Jos sovellusta varten on määritettävä jokin muu kuin oletusarvo, tee seuraava määritys plugin_customization.ini-tiedostoon: org.eclipse.ui/KEY_CONFIGURATION_ID=your.default.key.configuration.id.



Elementti keyBinding on vanhentunut

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

Tämän elementin avulla komento voidaan yhdistää näppäinyhdistelmään. Käytä tämän elementin sijasta org.eclipse.ui.bindings-laajennuspisteen key-elementtiä.



Org.eclipse.ui-lisäosan plugin.xml-tiedostossa hyödynnetään org.eclipse.ui.commands-laajennuspistettä laajasti.

Käsittelijät voi rekisteröidä komennoilla käyttäen kohdetta org.eclipse.ui.handlers.IHandlerService. Sen voi noutaa työympäristön eri komponenteista (esimerkiksi työympäristö, työympäristön ikkuna, osasivusto) kutsumalla kohdetta getService(IHandlerService.class).

Yleensä on suositeltavaa esitellä kaikki komennot staattisesti (tiedostossa plugin.xml). Näin käyttäjät voivat liittää näppäinsidonnat komentoihin. Komennot voi kuitenkin esitellä ajonaikaisesti. Voit tehdä sen noutamalla kohteen org.eclipse.ui.commands.ICommandService työympäristön komponentista, kutsumalla kohdetta getCommand(yourCommandID) ja kutsumalla sitten kohdetta Command.define(...).

Järjestelmässä on muutamia käsittelijätilojen oletustoteutuksia, jotka voivat olla hyödyllisiä tämän laajennuspisteen käyttäjille: