Themen

org.eclipse.ui.themes

3.0

Mit diesem Erweiterungspunkt kann die Darstellung der Benutzerschnittstelle angepasst werden. Er ermöglicht die Definition von Farb- und Schriftartelementen sowie von Themenelementen. Themen ermöglichen es Anwendungen, Standardfarb- und -schriftartspezifikationen in bestimmten Fällen selektiv zu überschreiben.

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

Eine Gruppe von Schriftart-, Farb- und Datenüberschreibungen. Eine solche Gruppe kann zum Verändern der Darstellung der Workbench verwendet werden. Viele Themenelemente können mit derselben ID vorhanden sein. Dadurch können Komponentenautoren Beiträge zu vorhandenen Themen leisten.



<!ELEMENT themeElementCategory (description)>

<!ATTLIST themeElementCategory

id       CDATA #REQUIRED

parentId CDATA #IMPLIED

class    CDATA #IMPLIED

label    CDATA #IMPLIED>

Eine logische Gruppierung von Definitionen von Themenelementen. Diese Kategorie kann Farben und Schriftarten umfassen.



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

Eine symbolische Farbdefinition.



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

<!ATTLIST fontDefinition

id         CDATA #REQUIRED

label      CDATA #REQUIRED

value      CDATA #IMPLIED

categoryId CDATA #IMPLIED

defaultsTo CDATA #IMPLIED

isEditable (true | false) >

Eine symbolische Schriftartdefinition.



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

<!ATTLIST colorOverride

id           CDATA #REQUIRED

value        CDATA #IMPLIED

colorFactory CDATA #IMPLIED>

Ermöglicht das Überschreiben von Farben, die in colorDefinition-Elementen definiert sind. Diese Schriftarten werden angewandt, wenn das Thema verwendet wird.



<!ELEMENT fontOverride (fontValue*)>

<!ATTLIST fontOverride

id    CDATA #REQUIRED

value CDATA #REQUIRED>

Ermöglicht das Überschreiben von Schriftarten, die in fontsDefinition-Elementen definiert sind. Diese Schriftarten werden angewandt, wenn das Thema verwendet wird.



<!ELEMENT description (#PCDATA)>

Eine kurze Beschreibung der Verwendung der Elemente.



<!ELEMENT colorFactory (parameter*)>

<!ATTLIST colorFactory

class  CDATA #REQUIRED

plugin CDATA #IMPLIED>

Die Elementversion des Attributs colorFactory. Diese wird verwendet, wenn colorFactory org.eclipse.core.runtime.IExecutableExtension implementiert und Daten mit Parameterangaben vorhanden sind, die Sie bei der Initialisierung verwenden möchten.



<!ELEMENT parameter EMPTY>

<!ATTLIST parameter

name  CDATA #REQUIRED

value CDATA #REQUIRED>

Ein Parameterelement, das innerhalb des Elements colorFactory verwendet wird. Dieses wird als Initialisierungsinformation an die Klasse colorFactory weitergegeben.



<!ELEMENT data EMPTY>

<!ATTLIST data

name  CDATA #REQUIRED

value CDATA #REQUIRED>

Ein Element, mit dem beliebige Daten einem Thema oder dem Standardthema zugeordnet werden können. Bei diesen Daten kann es sich um gradierte Richtungen oder Prozentsätze, Bezeichnungen, Informationen zum Autor, etc. handeln.

Das Verhalten dieses Elements ist dem von Definitionen und Überschreibungen ähnlich. Wenn ein Schlüssel sowohl im Standardthema als auch in einem angegebenen Thema vorhanden ist, wird der Wert des angegebenen Themas beim Zugriff auf das Thema verwendet. Falls das angegebene Thema keinen Wert bereitstellt, wird der Standardwert verwendet.



<!ELEMENT colorValue (colorFactory?)>

<!ATTLIST colorValue

os           CDATA #IMPLIED

ws           CDATA #IMPLIED

value        CDATA #IMPLIED

colorFactory CDATA #IMPLIED>

Dieses Element ermöglicht die Angabe eines Farbwerts auf der Basis je Plattform.



<!ELEMENT fontValue EMPTY>

<!ATTLIST fontValue

os    CDATA #IMPLIED

ws    CDATA #IMPLIED

value CDATA #REQUIRED>

Dieses Element ermöglicht die Angabe eines Schriftartwerts auf der Basis je Plattform.



<!ELEMENT categoryPresentationBinding EMPTY>

<!ATTLIST categoryPresentationBinding

categoryId     CDATA #REQUIRED

presentationId CDATA #REQUIRED>

Dieses Element ermöglicht, eine Kategorie an eine bestimmte Darstellung anzubinden, wie durch den Erweiterungspunkt org.eclipse.ui.presentationFactory beschrieben. Falls eine Kategorie Darstellungsbindungen hat, ist sie (und ihre untergeordneten Elemente) nur vom Benutzer konfigurierbar, wenn sie an die aktive Darstellung gebunden ist. Dies ist für das Entfernen nicht verwendeteter Elemente von der Benutzerberücksichtigung hilfreich.



Im Folgenden ist ein Beispiel mit mehreren Farb- und Schriftartdefinitionen sowie ein diese überschreibendes Thema dargestellt.

   

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

Diese Farbe wird als Vordergrundfarbe für den XYZ-Plug-in-Editor verwendet.

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

Diese Farbe wird als Hintergrundfarbe für den XYZ-Plug-in-Editor verwendet.

</description>

</colorDefinition>

<fontDefinition id=

"com.xyz.TextFont"

categoryId=

"com.xyz.ThemeCategory"

label=

"XYZ Editor Font"

defaultsTo=

"org.eclipse.jface.textfont"

>

<description>

Diese Schriftart wird vom XYY-Plug-in-Editor verwendet.

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

Die Klasse org.eclipse.ui.IWorkbench.getThemeManager() stellt ein Exemplar von org.eclipse.ui.themes.IThemeManager bereit, die verwendet werden kann, um ein angegebenes Thema (durch ID, einschließlich dem Standardthema, das eine ID von IThemeManager.DEFAULT_THEME hat) oder das aktuelle Thema zu erhalten. Von einem org.eclipse.ui.themes.ITheme können Sie ein org.eclipse.jface.resources.ColorRegistry, ein org.eclipse.jface.resources.FontRegistry und beliebige Daten, die dem Thema zugeordnet sind, erhalten.

Die Workbench stellt Schriftartdefinitionen für die Text-, Dialog-, Banner-, Header- und Komponententitelschriftarten bereit. Außerdem liefert sie Farbdefinitionen für den Hyperlink, aktiven Hyperlink, Fehler, aktiven Teil (Verlaufseffekte von Hintergrund- und Vordergrundkomponenten) und den inaktiven Teil (Verlaufseffekte von Hintergrund- und Vordergrundkomponenten). Die Workbench enthält ferner Datenkonstanten für die Prozentsätze der Verlaufseffekte im Titel (aktiv und inaktiv) und die Verlaufseffekte von Richtungen (aktiv und passiv). Die Workbench stellt keine benannten Themen zur Verfügung.