Temaer

org.eclipse.ui.themes

3.0

Dette udvidelsespunkt bruges til at tilpasse udseendet af brugergrænsefladen. Det giver mulighed for at definere farve- og fontentiteter samt temaentiteter. Temaer tillader programmer selektivt at tilsidesætte farve- og fontspecifikationer til bestemte anvendelser.

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

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

navn  CDATA #IMPLIED>


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

<!ATTLIST theme

id   CDATA #REQUIRED

name CDATA #IMPLIED>

En samling af font-, farve- og datatilsidesættelser. Sådan en samling kan bruges til at ændre udseendet af arbejdsbænken. Der kan være mange temaelementer med samme id. Herved kan komponentforfattere bidrage til eksisterende temaer.



<!ELEMENT themeElementCategory (description)>

<!ATTLIST themeElementCategory

id       CDATA #REQUIRED

parentId CDATA #IMPLIED

class    CDATA #IMPLIED

label    CDATA #IMPLIED>

En logisk gruppering af temaelementdefinitioner. Denne kategori kan inkludere farver og fonte.



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

En symbolsk farvedefinition.



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

<!ATTLIST fontDefinition

id         CDATA #REQUIRED

label      CDATA #REQUIRED

value      CDATA #IMPLIED

categoryId CDATA #IMPLIED

defaultsTo CDATA #IMPLIED

isEditable (true | false) >

En symbolsk fontdefinition.



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

<!ATTLIST colorOverride

id           CDATA #REQUIRED

value        CDATA #IMPLIED

colorFactory CDATA #IMPLIED>

Giver mulighed for at tilsidesætte farver, der er defineret i colorDefinition-elementer. Disse farver anvendes, når temaet er i brug.



<!ELEMENT fontOverride (fontValue*)>

<!ATTLIST fontOverride

id    CDATA #REQUIRED

value CDATA #IMPLIED>

Giver mulighed for at tilsidesætte fonte, der er defineret i fontDefinition-elementer. Disse fonte anvendes, når temaet er i brug.



<!ELEMENT description (#PCDATA)>

En kort beskrivelse af elementets anvendelse.



<!ELEMENT colorFactory (parameter*)>

<!ATTLIST colorFactory

class  CDATA #REQUIRED

plugin CDATA #IMPLIED>

Elementversionen af attributten colorFactory. Den bruges, når colorFactory implementerer org.eclipse.core.runtime.IExecutableExtension, og der er data med parametre, du vil bruge ved initialiseringen.



<!ELEMENT parameter EMPTY>

<!ATTLIST parameter

name  CDATA #REQUIRED

value CDATA #REQUIRED>

Et parameterelement, der skal anvendes i colorFactory-elementet. Dette overføres som initialiseringsdata til klassen colorFactory.



<!ELEMENT data EMPTY>

<!ATTLIST data

name  CDATA #REQUIRED

value CDATA #REQUIRED>

Et element, der giver mulighed for at knytte vilkårlige data til et tema eller til standardtemaet. Disse data kan være gradueringsretninger eller -procenter, etiketter, forfatteroplysninger osv.

Dette element har samme funktionsmåde som definitioner og tilsidesættelser. Hvis der både findes en nøgle i standardtemaet og et identificeret tema, vil den identificerede temaværdi blive brugt, når dette tema åbnes. Hvis det identificerede tema ikke leverer en værdi, anvendes standardværdien.



<!ELEMENT colorValue (colorFactory?)>

<!ATTLIST colorValue

os           CDATA #IMPLIED

ws           CDATA #IMPLIED

value        CDATA #IMPLIED

colorFactory CDATA #IMPLIED>

Dette element giver mulighed for at angive en farveværdi pr. platform.



<!ELEMENT fontValue EMPTY>

<!ATTLIST fontValue

os    CDATA #IMPLIED

ws    CDATA #IMPLIED

value CDATA #REQUIRED>

Dette element giver mulighed for at angive en fontværdi pr. platform.



<!ELEMENT categoryPresentationBinding EMPTY>

<!ATTLIST categoryPresentationBinding

categoryId     CDATA #REQUIRED

presentationId CDATA #REQUIRED>

Dette element giver mulighed for at binde en kategori til en bestemt præsentation som beskrevet af udvidelsespunktet org.eclipse.ui.presentationFactory. Hvis en kategori har præsentationsbindinger, kan den (og dens underordnede) kun konfigureres af brugeren, hvis den er bundet til den aktive præsentation. Dette er nyttigt, hvis du vil fjerne ubenyttede elementer fra brugerens opmærksomhed.



Her er et eksempel på flere farve- og fontdefinitioner samt et tema, der tilsidesætter dem.

   

<udvidelsespunkt=

"org.eclipse.ui.themes"

>

<themeElementCategory id=

"com.xyz.ThemeCategory"

class=

"com.xyz.XYZPreview"

label=

"XYZ-elementer"

/>

<colorDefinition id=

"com.xyz.Forground"

categoryId=

"com.xyz.ThemeCategory"

label=

"XYZ-forgrundsfarve"

value=

"COLOR_BLACK"

>

<!-- white should be used on GTK -->

<colorValue value=

"COLOR_WHITE"

os=

"linux"

ws=

"gtk"

/>

<beskrivelse>

Denne farve bruges som forgrundsfarve for XYZ-plugineditoren.

</description>

</colorDefinition>

<colorDefinition id=

"com.xyz.Background"

categoryId=

"com.xyz.ThemeCategory"

label=

"XYZ-baggrundsfarve"

>

<colorFactory class=

"org.eclipse.ui.themes.RGBBlendColorFactory"

plugin=

"org.eclipse.ui"

>

<parameter name=

"color1"

value=

"COLOR_WHITE"

/>

<parameter name=

"color2"

value=

"COLOR_BLUE"

/>

</colorFactory>

<!-- black should be used on GTK -->

<colorValue value=

"COLOR_BLACK"

os=

"linux"

ws=

"gtk"

/>

<beskrivelse>

Denne farve bruges som baggrundsfarve for XYZ-plugineditoren.

</description>

</colorDefinition>

<fontDefinition id=

"com.xyz.TextFont"

categoryId=

"com.xyz.ThemeCategory"

label=

"XYZ-editorfont"

defaultsTo=

"org.eclipse.jface.textfont"

>

<beskrivelse>

Denne font bruges af XYY-plugineditoren.

</description>

</fontDefinition>

<data name=

"com.xyz.EditorMarginWidth"

value=

"5"

/>

<theme id=

"com.xyz.HarshTheme"

label=

"Barske farver til 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>

org.eclipse.ui.IWorkbench.getThemeManager() leverer en forekomst af org.eclipse.ui.themes.IThemeManager, der kan bruges til at hente et navngivet tema (efter id, herunder standardtemaet, som har id'en IThemeManager.DEFAULT_THEME) eller det aktuelle tema. Fra en org.eclipse.ui.themes.ITheme kan du hente en org.eclipse.jface.resources.ColorRegistry, en org.eclipse.jface.resources.FontRegistry og de vilkårlige data, der er knyttet til et tema.

Arbejdsbænken leverer fontdefinitionerne til tekst-, dialogboks-, banner-, toptekst- og deltitelfonte. Den leverer også farvedefinitioner til hyperlinks, aktive hyperlinks, fejl, aktive dele (baggrundsgradueringsdele og forgrund) og den inaktive del (baggrundsgradueringsdele og forgrund). Desuden leverer arbejdsbænken datakonstanter til titelgradueringsprocenter (aktive og inaktive) samt gradueringsretninger (aktive og inaktive). Arbejdsbænken leverer ikke navngivne temaer.