Témák

org.eclipse.ui.themes

3.0

Ez a kiterjesztési pont szolgál a felhasználói felület megjelenésének személyre szabására. Lehetővé teszi szín és betűtípus, valamint téma egyedek megadását. A témák használatával az alkalmazások újradefiniálhatják az alapértelmezett színeket és betűkészleteket az egyedi célok érdekében.

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

Betűtípus, szín és adat újradefiniálások gyűjteménye. Az ilyen gyűjteményekkel megváltoztatható a munkaterület megjelenése. Számos témaelem létezhet ugyanazzal az azonosítóval. Ez lehetővé teszi a komponensszerzők számára a meglévő témák kiegészítését.



<!ELEMENT themeElementCategory (description)>

<!ATTLIST themeElementCategory

id       CDATA #REQUIRED

parentId CDATA #IMPLIED

class    CDATA #IMPLIED

label    CDATA #IMPLIED>

A témaelem-meghatározások logikai csoportja. Ez a kategória színeket és betűtípusokat tartalmazhat.



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

Szimbolikus színmeghatározás.



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

<!ATTLIST fontDefinition

id         CDATA #REQUIRED

label      CDATA #REQUIRED

value      CDATA #IMPLIED

categoryId CDATA #IMPLIED

defaultsTo CDATA #IMPLIED

isEditable (true | false) >

Szimbolikus betűtípus-meghatározás.



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

<!ATTLIST colorOverride

id           CDATA #REQUIRED

value        CDATA #IMPLIED

colorFactory CDATA #IMPLIED>

Lehetővé teszi a colorDefinition elemben megadott színek újradefiniálását. Ezek a színek akkor kerülnek alkalmazásra, ha a témát használják.



<!ELEMENT fontOverride (fontValue*)>

<!ATTLIST fontOverride

id    CDATA #REQUIRED

value CDATA #REQUIRED>

Lehetővé teszi a fontsDefinition elemben megadott betűtípusok újradefiniálását. Ezek a betűtípusok akkor kerülnek alkalmazásra, ha a témát használják.



<!ELEMENT description (#PCDATA)>

Az elemek használatának rövid leírása.



<!ELEMENT colorFactory (parameter*)>

<!ATTLIST colorFactory

class  CDATA #REQUIRED

plugin CDATA #IMPLIED>

A colorFactory attribútum elem változata. Ezt akkor használjuk, ha a colorFactory az org.eclipse.core.runtime.IExecutableExtension osztályt valósítja meg és van olyan paraméteres adat, amelyet használni kíván az inicializálás során.



<!ELEMENT parameter EMPTY>

<!ATTLIST parameter

name  CDATA #REQUIRED

value CDATA #REQUIRED>

A colorFactory elemen belül használandó paraméterelem. Ez inicializálási adatként kerül átadásra a colorFactory osztálynak.



<!ELEMENT data EMPTY>

<!ATTLIST data

name  CDATA #REQUIRED

value CDATA #REQUIRED>

Egy elem, amellyel tetszőleges adatok hozzárendelhetők egy témához vagy az alapértelmezett témához. Ez az adat lehet színátmenetek iránya, százalékok, címkék, szerzői információk stb.

Ez az elem hasonlóan viselkedik, mint a meghatározások és az újradefiniálások. Ha egy kulcs jelen van mind az alapértelmezett, mint az azonosított témában, akkor a téma hozzáférésekor az azonosított téma értéke kerül felhasználásra. Ha az azonosított téma nem biztosít értéket, akkor az alapértelmezés kerül felhasználásra.



<!ELEMENT colorValue (colorFactory?)>

<!ATTLIST colorValue

os           CDATA #IMPLIED

ws           CDATA #IMPLIED

value        CDATA #IMPLIED

colorFactory CDATA #IMPLIED>

Lehetővé teszi a színek megadását platformonként.



<!ELEMENT fontValue EMPTY>

<!ATTLIST fontValue

os    CDATA #IMPLIED

ws    CDATA #IMPLIED

value CDATA #REQUIRED>

Lehetővé teszi a betűtípusok megadását platformonként.



<!ELEMENT categoryPresentationBinding EMPTY>

<!ATTLIST categoryPresentationBinding

categoryId     CDATA #REQUIRED

presentationId CDATA #REQUIRED>

Ez az elem lehetővé teszi, hogy egy kategória egy adott megjelenítéshez legyen kötve, az org.eclipse.ui.presentationFactory kiterjesztési pont által leírt módon. Ha egy kategóriának van megjelenítési kötése, akkor a kategóriát (és leszármazottait) csak akkor konfigurálhatja a felhasználó, ha az az aktív megjelenítéshez van kötve. Ez hasznos a nem használt elemek eltávolítására a felhasználó elől.



Az alábbiakban bemutatunk többféle szín- és betűtípus-meghatározást, valamint egy témát, amelyik felülírja őket.

   

<extension point=

"org.eclipse.ui.themes"

>

<themeElementCategory id=

"com.xyz.ThemeCategory"

class=

"com.xyz.XYZPreview"

label=

"XYZ elemek"

/>

<colorDefinition id=

"com.xyz.Forground"

categoryId=

"com.xyz.ThemeCategory"

label=

"XYZ előtérszín"

value=

"COLOR_BLACK"

>

<!-- GTK-n white -->

<colorValue value=

"COLOR_WHITE"

os=

"linux"

ws=

"gtk"

/>

<description>

Ez a szín az XYZ bedolgozószerkesztő előtérszíne.

</description>

</colorDefinition>

<colorDefinition id=

"com.xyz.Background"

categoryId=

"com.xyz.ThemeCategory"

label=

"XYZ háttérszín"

>

<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-n black -->

<colorValue value=

"COLOR_BLACK"

os=

"linux"

ws=

"gtk"

/>

<description>

Ez a szín az XYZ bedolgozószerkesztő háttérszíne.

</description>

</colorDefinition>

<fontDefinition id=

"com.xyz.TextFont"

categoryId=

"com.xyz.ThemeCategory"

label=

"XYZ szerkesztő betűtípus"

defaultsTo=

"org.eclipse.jface.textfont"

>

<description>

Ezt a betűtípust használja az XYZ bedolgozószerkesztő.

</description>

</fontDefinition>

<data name=

"com.xyz.EditorMarginWidth"

value=

"5"

/>

<theme id=

"com.xyz.HarshTheme"

label=

"Éles színek az XYZ-hez"

>

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

Az org.eclipse.ui.IWorkbench.getThemeManager() megad egy org.eclipse.ui.themes.IThemeManager példányt, amelynek segítségével lekérhető egy megnevezett (azonosító alapján, beleértve az alapértelmezett témát is, amelynek azonosítója IThemeManager.DEFAULT_THEME) vagy az aktuális téma. Egy org.eclipse.ui.themes.ITheme osztályből kiolvasható az org.eclipse.jface.resources.ColorRegistry, egy org.eclipse.jface.resources.FontRegistry és a témához rendelt tetszőleges adatok.

A munkaterület tartalmazza a szöveg, a párbeszédablak, a fejléccsík, a fejléc és a részcím betűtípusok meghatározásait. Tartalmaz továbbá színmeghatározásokat a hiperhivatkozásokhoz, a hibákhoz, az aktív részekhez (háttér színátmenet részek és előtér), valamint az inaktív részekhez (háttér színátmenet részek és előtér). A munkaterület ezenfelül adatkonstansokat is tartalmaz a címsor színátmenet-százalékaihoz (aktív és inaktív) és a színátmenetek irányaihoz (aktív és inaktív). Megnevezett témákat viszont nem tartalmaz a munkaterület.