주제

org.eclipse.ui.themes

3.0

이 확장점은 UI 모양을 사용자 정의하는 데 사용됩니다. 색상 및 글꼴 엔티티뿐만 아니라 주제 엔티티도 정의할 수 있습니다. 주제를 사용하면 응용프로그램에서 특정 사용에 맞는 기본 색상 및 글꼴 스펙을 선택적으로 대체할 수 있습니다.

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

글꼴, 색상 및 데이터 대체 콜렉션. 이러한 콜렉션을 사용하여 Workbench의 모양을 변경할 수 있습니다. 많은 주제 요소가 동일한 ID를 갖고 존재할 수 있습니다. 이를 사용하여 컴포넌트 작성자가 기존 주제에 제공할 수 있습니다.



<!ELEMENT themeElementCategory (description)>

<!ATTLIST themeElementCategory

id       CDATA #REQUIRED

parentId CDATA #IMPLIED

class    CDATA #IMPLIED

label    CDATA #IMPLIED>

주제 요소 정의의 논리 그룹. 이 카테고리는 색상 및 글꼴을 포함할 수 있습니다.



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

기호 색상 정의



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

<!ATTLIST fontDefinition

id         CDATA #REQUIRED

label      CDATA #REQUIRED

value      CDATA #IMPLIED

categoryId CDATA #IMPLIED

defaultsTo CDATA #IMPLIED

isEditable (true | false) >

기호 글꼴 정의



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

<!ATTLIST colorOverride

id           CDATA #REQUIRED

value        CDATA #IMPLIED

colorFactory CDATA #IMPLIED>

colorDefinition 요소에 정의된 색상 대체를 허용합니다. 이러한 색상은 주제가 사용 중일 때 적용됩니다.



<!ELEMENT fontOverride (fontValue*)>

<!ATTLIST fontOverride

id    CDATA #REQUIRED

value CDATA #REQUIRED>

fontsDefinition 요소에 정의된 글꼴 대체를 허용합니다. 이러한 글꼴은 주제가 사용 중일 때 적용됩니다.



<!ELEMENT description (#PCDATA)>

요소 사용에 대한 간단한 설명



<!ELEMENT colorFactory (parameter*)>

<!ATTLIST colorFactory

class  CDATA #REQUIRED

plugin CDATA #IMPLIED>

colorFactory 속성의 요소 버전. colorFactory가 org.eclipse.core.runtime.IExecutableExtension을 구현하고 초기화에 사용하려는 매개변수 데이터가 있을 때 사용됩니다.



<!ELEMENT parameter EMPTY>

<!ATTLIST parameter

name  CDATA #REQUIRED

value CDATA #REQUIRED>

colorFactory 요소에서 사용할 매개변수 요소. 이 요소는 colorFactory 클래스에 초기화 데이터로 전달됩니다.



<!ELEMENT data EMPTY>

<!ATTLIST data

name  CDATA #REQUIRED

value CDATA #REQUIRED>

임의 데이터를 주제 또는 기본 주제와 연관시킬 수 있게 하는 요소. 이 데이터는 증감 방향 또는 백분율, 레이블, 작성자 정보 등일 수 있습니다.

이 요소는 정의 및 대체와 유사하게 작동합니다. 기본 주제와 식별된 주제 모두에서 키가 나타나면 해당 주제에 액세스할 때 식별된 주제 값을 사용합니다. 식별된 주제가 값을 제공하지 않으면 기본값이 사용됩니다.



<!ELEMENT colorValue (colorFactory?)>

<!ATTLIST colorValue

os           CDATA #IMPLIED

ws           CDATA #IMPLIED

value        CDATA #IMPLIED

colorFactory CDATA #IMPLIED>

이 요소는 플랫폼 기준으로 색상 값의 스펙을 허용합니다.



<!ELEMENT fontValue EMPTY>

<!ATTLIST fontValue

os    CDATA #IMPLIED

ws    CDATA #IMPLIED

value CDATA #REQUIRED>

이 요소는 플랫폼에 기초하여 글꼴 값의 스펙을 허용합니다.



<!ELEMENT categoryPresentationBinding EMPTY>

<!ATTLIST categoryPresentationBinding

categoryId     CDATA #REQUIRED

presentationId CDATA #REQUIRED>

이 요소를 사용하면 org.eclipse.ui.presentationFactory 확장점에서 설명한 대로 카테고리를 특정 프리젠테이션에 바인드할 수 있습니다. 카테고리에 프리젠테이션 바인딩이 있으면 카테고리 및 하위가 활성 프리젠테이션으로 바인드된 경우에 사용자만 이 카테고리 및 하위를 구성할 수 있습니다. 이는 사용자 고려사항에서 사용하지 않는 항목을 제거할 경우에 유용합니다.



다음은 여러 색상 및 글꼴 정의 뿐 아니라 이를 대체하는 주제의 예제입니다.

   

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

org.eclipse.ui.IWorkbench.getThemeManager()는 이름 지정된 주제(ID가 IThemeManager.DEFAULT_THEME인 기본 주제를 포함하여 ID순으로) 또는 현재 주제를 확보하는 데 사용될 수 있는 org.eclipse.ui.themes.IThemeManager의 인스턴스를 제공합니다. org.eclipse.ui.themes.ITheme에서 org.eclipse.jface.resources.ColorRegistry, org.eclipse.jface.resources.FontRegistry 및 주제와 연관된 임의 데이터를 얻을 수 있습니다.

Workbench는 텍스트, 대화 상자, 배너, 헤더 및 부분 제목 글꼴에 대한 글꼴 정의를 제공합니다. 또한 하이퍼링크, 활성 하이퍼링크, 오류, 활성 부분(배경 증감 부분 및 전경) 및 비활성 부분(배경 증감 부분 및 전경)에 대한 색상 정의를 제공합니다. 또한 Workbench는 제목 증감 백분율(활성 및 비활성) 및 증감 방향(활성 및 비활성)에 대한 데이터 상수를 제공합니다. Workbench는 모든 명명된 주제를 제공하지 않습니다.