Temaer

org.eclipse.ui.themes

3.0

Dette utvidelsespunktet blir brukt til å tilpasse utseendet til brukergrensesnittet. Det gjør det mulig å definere farge- og fontentiteter i tillegg til temaentiteter. Med temaer kan applikasjoner selektivt overstyre standardspesifikasjonen for farge og font på bestemt bruksområder.

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

En samling font-, farge- og dataoverstyringer. En slik samling kan brukes til å endre utseendet til arbeidsbenken. Det kan finnes mange temaelementer med samme ID. Dette gjør at komponentforfattere kan bidra til eksisterende temaer.



<!ELEMENT themeElementCategory (description)>

<!ATTLIST themeElementCategory

id       CDATA #REQUIRED

parentId CDATA #IMPLIED

class    CDATA #IMPLIED

label    CDATA #IMPLIED>

En logisk gruppering av temaelementdefinisjonene. Denne kategorien kan inkludere farger og fonter.



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



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



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

<!ATTLIST colorOverride

id           CDATA #REQUIRED

value        CDATA #IMPLIED

colorFactory CDATA #IMPLIED>

Tillater overstyring av farger definert i colorDefinition-elementer. Disse fargene blir tatt i bruk når temaet er i bruk.



<!ELEMENT fontOverride (fontValue*)>

<!ATTLIST fontOverride

id    CDATA #REQUIRED

value CDATA #IMPLIED>

Tillater overstyring av fonter definert i fontDefinition-elementer. Disse fontene blir tatt i bruk når temaet er i bruk.



<!ELEMENT description (#PCDATA)>

En kort beskrivelse av elementbruken.



<!ELEMENT colorFactory (parameter*)>

<!ATTLIST colorFactory

class  CDATA #REQUIRED

plugin CDATA #IMPLIED>

Elementversjonen av colorFactory-attributtet. Denne blir brukt når colorFactory implementerer org.eclipse.core.runtime.IExecutableExtension og det finnes parameteriserte data som du vil bruke i initialiseringen.



<!ELEMENT parameter EMPTY>

<!ATTLIST parameter

name  CDATA #REQUIRED

value CDATA #REQUIRED>

Et parameterelement som skal brukes i colorFactory-elementet. Dette skal sendes som initialiseringsdata til colorFactory-klassen.



<!ELEMENT data EMPTY>

<!ATTLIST data

name  CDATA #REQUIRED

value CDATA #REQUIRED>

Et element der tilfeldige data kan knyttes til et tema eller standardtemaet. Disse dataene kan være graderingsretninger eller prosenter, etiketter, informasjon om forfatteren osv.

Dette elementet har omtrent samme virkemåte som definisjoner og overstyringer. Hvis det er en nøkkel både i standardtemaet og i et identifisert tema, blir verdien for det identifiserte temaet brukt når det gis tilgang til det temaet. Hvis det identifiserte temaet ikke oppgir en verdi, blir standardverdien brukt.



<!ELEMENT colorValue (colorFactory?)>

<!ATTLIST colorValue

os           CDATA #IMPLIED

ws           CDATA #IMPLIED

value        CDATA #IMPLIED

colorFactory CDATA #IMPLIED>

Dette elementet tillater spesifisering av en fargeverdi per plattform.



<!ELEMENT fontValue EMPTY>

<!ATTLIST fontValue

os    CDATA #IMPLIED

ws    CDATA #IMPLIED

value CDATA #REQUIRED>

Dette elementet tillater spesifisering av en fontverdi per plattform.



<!ELEMENT categoryPresentationBinding EMPTY>

<!ATTLIST categoryPresentationBinding

categoryId     CDATA #REQUIRED

presentationId CDATA #REQUIRED>

Dette elementet tillater at en kategori blir bundet til en bestemt presentasjon som beskrevet av org.eclipse.ui.presentationFactory-utvidelsespunktet. Hvis en kategori har presentasjonsbindinger, kan den (og de underordnede) bare konfigureres av brukeren hvis den er bundet til den aktive presentasjonen. Dette er nyttig for å fjerne ubrukte elementer, slik at brukeren ikke trenger å ta stilling til dem.



Her er et eksempel på flere farge- og fontdefinisjoner, i tillegg til et tema som overstyrer dem.

   

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

>

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

<colorValue value=

"COLOR_WHITE"

os=

"linux"

ws=

"gtk"

/>

<description>

Denne fargen blir brukt som forgrunnsfarge i redigeringsprogrammet for XYZ-plugin-modulen.

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

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

<colorValue value=

"COLOR_BLACK"

os=

"linux"

ws=

"gtk"

/>

<description>

Denne fargen blir brukt som bakgrunnsfarge i redigeringsprogrammet for XYZ-plugin-modulen.

</description>

</colorDefinition>

<fontDefinition id=

"com.xyz.TextFont"

categoryId=

"com.xyz.ThemeCategory"

label=

"XYZ Editor Font"

defaultsTo=

"org.eclipse.jface.textfont"

>

<description>

Denne fonten blir brukt av redigeringsprogrammet for XYY-plugin-modulen.

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

org.eclipse.ui.IWorkbench.getThemeManager() har en forekomst av org.eclipse.ui.themes.IThemeManager som kan brukes for å hente et navngitt tema (etter ID, inkludert standardtemaet som har IDen IThemeManager.DEFAULT_THEME) eller det gjeldende temaet. Fra en org.eclipse.ui.themes.ITheme kan du hente en org.eclipse.jface.resources.ColorRegistry, en org.eclipse.jface.resources.FontRegistry og de tilfeldige dataene som er knyttet til et tema.

Arbeidsbenken oppgir fontdefinisjoner for tekst, dialogbokser, bannere, topptekster og underoverskrifter. Det har også fargedefinisjoner for hyperlinker, aktive hyperlinker, feil, aktive deler (gradering av bakgrunnsdeler og forgrunn) og interaktive deler (gradering av bakgrunnsdeler og forgrunn). Arbeidsbenken kan også oppgi datakonstanter for tittelgraderingsprosenter (aktive og inaktive) og graderingsretninger (aktive og inaktive). Arbeidsbenken har ingen navngitte temaer.