Temi

org.eclipse.ui.themes

3.0

Questo punto di estensione viene utilizzato per personalizzare l'aspetto dell'interfaccia utente. Consente la definizione delle entità colore e tipo di carattere e delle entità tema. I temi consentono alle applicazioni di sostituire selettivamente le specifiche del colore e del tipo di carattere predefinito a scopi particolari.

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

Una raccolta di sostituzioni per tipo di carattere, colore e dati. Questa raccolta può essere utilizzata per modificare l'aspetto del workbench. Possono esistere molti elementi tema con lo stesso id. Questo consente agli autori dei componenti di contribuire a temi esistenti.



<!ELEMENT themeElementCategory (description)>

<!ATTLIST themeElementCategory

id       CDATA #REQUIRED

parentId CDATA #IMPLIED

class    CDATA #IMPLIED

label    CDATA #IMPLIED>

Un raggruppamento logico di definizioni di elementi tema. Questa categoria può includere colori e tipi di carattere.



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

Una definizione di colore simbolica.



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

<!ATTLIST fontDefinition

id         CDATA #REQUIRED

label      CDATA #REQUIRED

value      CDATA #IMPLIED

categoryId CDATA #IMPLIED

defaultsTo CDATA #IMPLIED

isEditable (true | false) >

Una definizione di tipo di carattere simbolica.



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

<!ATTLIST colorOverride

id           CDATA #REQUIRED

value        CDATA #IMPLIED

colorFactory CDATA #IMPLIED>

Consente la sostituzione dei colori definiti negli elementi colorDefinition. Questi colori saranno applicati quando si utilizza il tema.



<!ELEMENT fontOverride (fontValue*)>

<!ATTLIST fontOverride

id    CDATA #REQUIRED

value CDATA #REQUIRED>

Consente la sostituzione dei tipi di carattere definiti negli elementi fontsDefinition. Questi tipi di carattere saranno applicati quando si utilizza il tema.



<!ELEMENT description (#PCDATA)>

Una breve descrizione dell'uso degli elementi.



<!ELEMENT colorFactory (parameter*)>

<!ATTLIST colorFactory

class  CDATA #REQUIRED

plugin CDATA #IMPLIED>

La versione dell'elemento dell'attributo colorFactory. Viene utilizzata quando colorFactory implementa org.eclipse.core.runtime.IExecutableExtension e sono presenti dati parametrizzati da utilizzare nell'inizializzazione.



<!ELEMENT parameter EMPTY>

<!ATTLIST parameter

name  CDATA #REQUIRED

value CDATA #REQUIRED>

Un elemento di parametro da utilizzare all'interno dell'elemento colorFactory, Questa sarà trasmesso come dato di inizializzazione alla classe colorFactory.



<!ELEMENT data EMPTY>

<!ATTLIST data

name  CDATA #REQUIRED

value CDATA #REQUIRED>

Un elemento che consente di associare dati arbitrari con un tema o il tema predefinito. Questi dati possono essere direzioni o percentuali di gradiente, etichette, informazioni sull'autore, ecc.

Questo elemento ha un comportamento simile alle definizioni e sostituzioni. Se una chiave è presente sia nel tema predefinito che nel tema identificato, il valore dei temi sarà utilizzato quando si accede al tema. Se il tema identificato non fornisce un valore, viene utilizzato il valore predefinito.



<!ELEMENT colorValue (colorFactory?)>

<!ATTLIST colorValue

os           CDATA #IMPLIED

ws           CDATA #IMPLIED

value        CDATA #IMPLIED

colorFactory CDATA #IMPLIED>

Questo elemento consente la specifica di un valore di colore in base alla piattaforma.



<!ELEMENT fontValue EMPTY>

<!ATTLIST fontValue

os    CDATA #IMPLIED

ws    CDATA #IMPLIED

value CDATA #REQUIRED>

Questo elemento consente la specifica di un valore di tipo di carattere in base alla piattaforma.



<!ELEMENT categoryPresentationBinding EMPTY>

<!ATTLIST categoryPresentationBinding

categoryId     CDATA #REQUIRED

presentationId CDATA #REQUIRED>

Questo elemento consente ad una categoria di essere collegata ad una presentazione specifica come descritto dal punto di estensione org.eclipse.ui.presentationFactory. Se una categoria presenta binding di presentazione, allora questa ed i suoi elementi secondari possono essere configurati solo dall'utente, se è collegato alla presentazione attiva. Questo risulta utile per rimuovere voci non utilizzate dall'utente.



Di seguito è riportato un esempio di definizione di colori e tipi di carattere oltre ad un tema che li sostituisce.

   

<extension point=

"org.eclipse.ui.themes"

>

<themeElementCategory id=

"com.xyz.ThemeCategory"

class=

"com.xyz.XYZPreview"

label=

"Elementio XYZ"

/>

<colorDefinition id=

"com.xyz.Forground"

categoryId=

"com.xyz.ThemeCategory"

label=

"Colore di primo piano XYZ"

value=

"COLOR_BLACK"

>

<!-- utilizzare bianco per GTK -->

<colorValue value=

"COLOR_WHITE"

os=

"linux"

ws=

"gtk"

/>

<descrizione>

Questo colore è utilizzato come colore di primo piano dell'editor di plugin XYZ.

</description>

</colorDefinition>

<colorDefinition id=

"com.xyz.Background"

categoryId=

"com.xyz.ThemeCategory"

label=

"Colore di sfondo XYZ"

>

<colorFactory class=

"org.eclipse.ui.themes.RGBBlendColorFactory"

plugin=

"org.eclipse.ui"

>

<parameter name=

"color1"

value=

"COLOR_WHITE"

/>

<parameter name=

"color2"

value=

"COLOR_BLUE"

/>

</colorFactory>

<!-- utilizzare nero su GTK -->

<colorValue value=

"COLOR_BLACK"

os=

"linux"

ws=

"gtk"

/>

<descrizione>

Questo colore è utilizzato come colore di sfondo dell'editor di plugin XYZ.

</description>

</colorDefinition>

<fontDefinition id=

"com.xyz.TextFont"

categoryId=

"com.xyz.ThemeCategory"

label=

"Tipo di carattere editor XYZ"

defaultsTo=

"org.eclipse.jface.textfont"

>

<descrizione>

Questo tipo di carattere è utilizzato per l'editor di plugin XYY.

</description>

</fontDefinition>

<data name=

"com.xyz.EditorMarginWidth"

value=

"5"

/>

<theme id=

"com.xyz.HarshTheme"

label=

"Colori vivi per 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() fornisce un'istanza di org.eclipse.ui.themes.IThemeManager che può essere utilizzata per ottenere un tema denominato (per id, incluso il tema predefinito che ha un id di IThemeManager.DEFAULT_THEME) oppure il tema corrente. Da un org.eclipse.ui.themes.ITheme è possibile ottenere un org.eclipse.jface.resources.ColorRegistry, un org.eclipse.jface.resources.FontRegistry e i dati arbitrari associati al tema.

Il workbench fornisce le definizioni dei tipi di carattere per testo, finestre di dialogo, banner, intestazioni e titoli di parti. Fornisce anche le definizioni di colore per i collegamenti ipertestuali, collegamenti ipertestuali attivi, errori, parti attive (parti di gradienti di sfondo e di primo piano) e parti inattive (parti di gradienti di sfondo e di primo piano). Il workbench fornisce anche costanti di dati per le percentuali di gradiente del titolo (attivo o non attivo) e le direzioni di gradiente (attivo o non attivo). Il workbench non fornisce temi denominati.