Teemat

org.eclipse.ui.themes

3.0

Tämän laajennuspisteen avulla voidaan mukauttaa käyttöliittymän ulkoasua. Sen avulla voidaan määrittää värit ja fontit sekä teemat. Teemoja käyttämällä sovellukset voivat valikoivasti ohittaa värin ja fontin oletusmääritykset tietyissä käyttötarkoituksissa.

<!ELEMENT extension (theme* , colorDefinition* , fontDefinition* , themeElementCategory* , data* , categoryPresentationBinding*)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!ELEMENT theme (colorOverride* , fontOverride* , description? , data*)>

<!ATTLIST theme

id   CDATA #REQUIRED

name CDATA #IMPLIED>

Fontti-, väri- ja tieto-ohitusten kokoelma. Tällaisen kokoelman avulla voidaan muuttaa työympäristön ulkoasua. Samalla tunnuksella voi olla olemassa monta teemaelementtiä. Näin komponenttien tekijät voivat tehdä lisäyksiä olemassa oleviin teemoihin.



<!ELEMENT themeElementCategory (description)>

<!ATTLIST themeElementCategory

id       CDATA #REQUIRED

parentId CDATA #IMPLIED

class    CDATA #IMPLIED

label    CDATA #IMPLIED>

Teemaelementtimääritysten looginen ryhmitys. Tähän luokkaan voi sisältyä värejä ja fontteja.



<!ELEMENT colorDefinition (colorFactory? , colorValue* , description?)>

<!ATTLIST colorDefinition

id           CDATA #IMPLIED

label        CDATA #REQUIRED

defaultsTo   CDATA #IMPLIED

value        CDATA #IMPLIED

categoryId   CDATA #IMPLIED

colorFactory CDATA #IMPLIED

isEditable   (true | false) >

Symbolinen värimääritys.



<!ELEMENT fontDefinition (fontValue* , description?)>

<!ATTLIST fontDefinition

id         CDATA #REQUIRED

label      CDATA #REQUIRED

value      CDATA #IMPLIED

categoryId CDATA #IMPLIED

defaultsTo CDATA #IMPLIED

isEditable (true | false) >

Symbolinen fonttimääritys.



<!ELEMENT colorOverride (colorFactory? , colorValue*)>

<!ATTLIST colorOverride

id           CDATA #REQUIRED

value        CDATA #IMPLIED

colorFactory CDATA #IMPLIED>

Tämä mahdollistaa colorDefinition-elementeissä määritettyjen värien ohituksen. Näitä värejä käytetään, kun teema on käytössä.



<!ELEMENT fontOverride (fontValue*)>

<!ATTLIST fontOverride

id    CDATA #REQUIRED

value CDATA #IMPLIED>

Tämä mahdollistaa fontDefinition-elementeissä määritettyjen fonttien ohituksen. Näitä fontteja käytetään, kun teema on käytössä.



<!ELEMENT description (#PCDATA)>

Lyhyt kuvaus elementtien käytöstä.



<!ELEMENT colorFactory (parameter*)>

<!ATTLIST colorFactory

class  CDATA #REQUIRED

plugin CDATA #IMPLIED>

Elementtiversio colorFactory-määritteestä. Tätä käytetään, kun colorFactory toteuttaa rajapinnan org.eclipse.core.runtime.IExecutableExtension ja on olemassa parametrisoitua tietoa, jota halutaan käyttää sen alustuksessa.



<!ELEMENT parameter EMPTY>

<!ATTLIST parameter

name  CDATA #REQUIRED

value CDATA #REQUIRED>

Parametrielementti, jota käytetään colorFactory-elementin sisällä. Tämä siirretään alustustietona colorFactory-luokkaan.



<!ELEMENT data EMPTY>

<!ATTLIST data

name  CDATA #REQUIRED

value CDATA #REQUIRED>

Elementti, jonka avulla teemaan tai oletusteemaan voidaan liittää satunnaisia tietoja. Nämä tiedot voivat olla liukuvärjäyksen suuntia tai prosenttiosuuksia, nimiöitä, tekijätietoja jne.

Tämä elementti toimii samoin kuin määritykset ja ohitukset. Jos avain esiintyy sekä oletusteemassa että yksilöidyssä teemassa, kyseistä teemaa käytettäessä käytetään yksilöidyn teeman arvoa. Jos yksilöidyllä teemalla ei ole arvoa, käytetään oletusarvoa.



<!ELEMENT colorValue (colorFactory?)>

<!ATTLIST colorValue

os           CDATA #IMPLIED

ws           CDATA #IMPLIED

value        CDATA #IMPLIED

colorFactory CDATA #IMPLIED>

Tämän elementin avulla voidaan määrittää värin arvo järjestelmäkohtaisesti.



<!ELEMENT fontValue EMPTY>

<!ATTLIST fontValue

os    CDATA #IMPLIED

ws    CDATA #IMPLIED

value CDATA #REQUIRED>

Tämän elementin avulla voidaan määrittää fontin arvo järjestelmäkohtaisesti.



<!ELEMENT categoryPresentationBinding EMPTY>

<!ATTLIST categoryPresentationBinding

categoryId     CDATA #REQUIRED

presentationId CDATA #REQUIRED>

Tämän elementin avulla luokka voidaan sitoa tiettyyn esitykseen org.eclipse.ui.presentationFactory-laajennuspisteessä kuvatulla tavalla. Jos luokalla on esityssidontoja, käyttäjä voi määrittää sen (ja sen aliluokat) vain, jos se on sidottu aktiiviseen esitykseen. Tämä on kätevää, kun käyttäjältä halutaan poistaa käyttämättömiä objekteja.



Seuraavassa on esimerkki useista väri- ja fonttimäärityksistä sekä teemasta, joka ohittaa ne.

   

<extension point=

"org.eclipse.ui.themes"

>

<themeElementCategory id=

"com.xyz.ThemeCategory"

class=

"com.xyz.XYZPreview"

label=

"XYZ Elements"

/>

<colorDefinition id=

"com.xyz.Forground"

categoryId=

"com.xyz.ThemeCategory"

label=

"XYZ Foreground Color"

value=

"COLOR_BLACK"

>

<!-- GTK:ssa olisi käytettävä valkoista -->

<colorValue value=

"COLOR_WHITE"

os=

"linux"

ws=

"gtk"

/>

<kuvaus>

Tätä väriä käytetään XYZ-lisäosan muokkausohjelman edustavärinä.

</description>

</colorDefinition>

<colorDefinition id=

"com.xyz.Background"

categoryId=

"com.xyz.ThemeCategory"

label=

"XYZ Background Color"

>

<colorFactory class=

"org.eclipse.ui.themes.RGBBlendColorFactory"

plugin=

"org.eclipse.ui"

>

<parameter name=

"color1"

value=

"COLOR_WHITE"

/>

<parameter name=

"color2"

value=

"COLOR_BLUE"

/>

</colorFactory>

<!-- GTK:ssa olisi käytettävä mustaa -->

<colorValue value=

"COLOR_BLACK"

os=

"linux"

ws=

"gtk"

/>

<kuvaus>

Tätä väriä käytetään XYZ-lisäosan muokkausohjelman taustavärinä.

</description>

</colorDefinition>

<fontDefinition id=

"com.xyz.TextFont"

categoryId=

"com.xyz.ThemeCategory"

label=

"XYZ Editor Font"

defaultsTo=

"org.eclipse.jface.textfont"

>

<kuvaus>

Tätä fonttia käytetään XYY-lisäosan muokkausohjelmassa.

</description>

</fontDefinition>

<data name=

"com.xyz.EditorMarginWidth"

value=

"5"

/>

<theme id=

"com.xyz.HarshTheme"

label=

"Harsh Colors for XYZ"

>

<colorOverride id=

"com.xyz.Forground"

value=

"COLOR_CYAN"

/>

<colorOverride id=

"com.xyz.Background"

value=

"COLOR_MAGENTA"

/>

<data name=

"com.xyz.EditorMarginWidth"

value=

"1"

/>

</theme>

</extension>

Metodi org.eclipse.ui.IWorkbench.getThemeManager() on rajapinnan org.eclipse.ui.themes.IThemeManager ilmentymä, ja sen avulla voidaan noutaa nimetty teema (tunnuksen mukaan, myös se oletusteema, jolla on arvon IThemeManager.DEFAULT_THEME tunnus) tai nykyinen teema. Rajapinnasta org.eclipse.ui.themes.ITheme voidaan noutaa org.eclipse.jface.resources.ColorRegistry, org.eclipse.jface.resources.FontRegistry ja teemaan liitetyt satunnaiset tiedot.

Työympäristössä on fonttimääritykset tekstin, valintaikkunan, mainospalkin, ylätunnisteen ja osan otsikon fonttia varten. Siinä on myös värimääritykset hyperlinkkiä, aktiivista hyperlinkkiä, virhettä, aktiivista osaa (taustan liukuvärjätyt osat ja edusta) ja passiivista osaa (taustan liukuvärjätyt osat ja edusta) varten. Työympäristössä on lisäksi vakiotietoja otsikon liukuvärjäyksen prosenttiosuuksia (aktiivinen ja passiivinen) ja liukuvärjäyksen suuntia (aktiivinen ja passiivinen) varten. Työympäristössä ei ole nimettyjä teemoja.