Temas

org.eclipse.ui.themes

3.0

Este ponto de extensão é utilizado para personalizar a aparência da UI. Permite a definição de entidades de cor e tipo de letra, bem como entidades de tema. Os temas permite às aplicações substituir de modo selectivo as especificações de cor e tipo de letra para fins específicos.

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

Uma recolha de substituições de tipo de letra, cor e dados. Essa recolha pode ser utilizada para alterar a aparência da área de trabalho. Podem existir muitos elementos dos temas com o mesmo ID. Isto permite aos autores do componente fazerem contribuições para os temas existentes.



<!ELEMENT themeElementCategory (description)>

<!ATTLIST themeElementCategory

id       CDATA #REQUIRED

parentId CDATA #IMPLIED

class    CDATA #IMPLIED

label    CDATA #IMPLIED>

Um agrupamento lógico das definições do elemento theme. Esta categoria poderá incluir cores e tipos de letras.



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

Uma definição de cor simbólica.



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

<!ATTLIST fontDefinition

id         CDATA #REQUIRED

label      CDATA #REQUIRED

value      CDATA #IMPLIED

categoryId CDATA #IMPLIED

defaultsTo CDATA #IMPLIED

isEditable (true | false) >

Uma definição de tipo de letra simbólica.



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

<!ATTLIST colorOverride

id           CDATA #REQUIRED

value        CDATA #IMPLIED

colorFactory CDATA #IMPLIED>

Permite a substituição das cores definida nos elementos colorDefinition. Estas cores serão aplicadas quando o tema estiver a ser utilizado.



<!ELEMENT fontOverride (fontValue*)>

<!ATTLIST fontOverride

id    CDATA #REQUIRED

value CDATA #IMPLIED>

Permite a substituição dos tipos de letra definidos nos elementos fontDefinition. Estes tipos de letra serão aplicados quando o tema estiver a ser utilizado.



<!ELEMENT description (#PCDATA)>

Uma breve descrição sobre a utilização dos elementos.



<!ELEMENT colorFactory (parameter*)>

<!ATTLIST colorFactory

class  CDATA #REQUIRED

plugin CDATA #IMPLIED>

A versão do elemento do atributo colorFactory. Utiliza-se quando colorFactory implementa org.eclipse.core.runtime.IExecutableExtension e existirem dados com parâmetros que pretende utilizar na respectiva inicialização.



<!ELEMENT parameter EMPTY>

<!ATTLIST parameter

name  CDATA #REQUIRED

value CDATA #REQUIRED>

Um elemento parameter a utilizar no elemento colorFactory. Este será transferido como dados de inicialização para a classe colorFactory.



<!ELEMENT data EMPTY>

<!ATTLIST data

name  CDATA #REQUIRED

value CDATA #REQUIRED>

Um elemento que permite que dados arbitrários sejam associados a um tema ou tema predefinido. Estes dados podem ser direcções ou percentagens de gradiente, etiquetas, informação do utilizador, etc.

Este elemento tem um comportamento semelhante às definições e substituições. Se estiver presente uma chave no tema predefinido e no tema identificado, então o valor dos temas identificados será utilizado quando se aceder ao tema. Se o tema identificador não fornecer um valor, será utilizado o valor predefinido.



<!ELEMENT colorValue (colorFactory?)>

<!ATTLIST colorValue

os           CDATA #IMPLIED

ws           CDATA #IMPLIED

value        CDATA #IMPLIED

colorFactory CDATA #IMPLIED>

Este elemento permite a especificação de um valor de cor numa base por plataforma.



<!ELEMENT fontValue EMPTY>

<!ATTLIST fontValue

os    CDATA #IMPLIED

ws    CDATA #IMPLIED

value CDATA #REQUIRED>

Este elemento permite a especificação de um valor de tipo de letra numa base por plataforma.



<!ELEMENT categoryPresentationBinding EMPTY>

<!ATTLIST categoryPresentationBinding

categoryId     CDATA #REQUIRED

presentationId CDATA #REQUIRED>

Este elemento permite que uma categoria seja associada a uma apresentação específica, como a descrita pelo ponto de extensão org.eclipse.ui.presentationFactory. Se uma categoria tiver associações de apresentação, então a categoria (e as categorias descendentes) será apenas passível de configuração pelo utilizador se estiver associada à apresentação activa. Isto é útil para remover artigos não utilizados.



A seguir encontra-se um exemplo de várias definições de cor e de tipo de letra, bem como um tema que as substitui.

   

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

This color is used for the foreground color of the XYZ plugin editor.

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

This color is used for the background color of the XYZ plugin editor.

</description>

</colorDefinition>

<fontDefinition id=

"com.xyz.TextFont"

categoryId=

"com.xyz.ThemeCategory"

label=

"XYZ Editor Font"

defaultsTo=

"org.eclipse.jface.textfont"

>

<description>

This font is used by the XYY plugin editor.

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

O org.eclipse.ui.IWorkbench.getThemeManager() fornece uma instância de org.eclipse.ui.themes.IThemeManager que pode ser utilizada para obter um tema designado (por id, incluindo o tema predefinido que tem um id de IThemeManager.DEFAULT_THEME) ou o tema actual. Em org.eclipse.ui.themes.ITheme poderá obter um org.eclipse.jface.resources.ColorRegistry, um org.eclipse.jface.resources.FontRegistry e os dados arbitrários a um tema.

A área de trabalho fornece as definições de tipo de letra para os tipos de letra de texto, diálogo, mensagem de cabeçalho, cabeçalho e título do componente. Fornece igualmente as definições de cor para a hiperligação, hiperligação activa, erro, componente activo (componentes de gradiente de segundo e primeiro plano) e o componente inactivo (componentes de gradiente de segundo e primeiro plano). A área de trabalho também fornece as constantes de dados para as percentagens de gradiente de título (activo e inactivo) e as direcções de gradiente (activo e inactivo). A área de trabalho não fornece quaisquer temas designados.