Defining intro themes
A theme defines the overall appearance of the intro. It is simply a way
of grouping all the presentation files (styles and images) in one place that can
be pointed at or switched as one.
Definition
To define a theme, extend your intro configuration using the
org.eclipse.ui.intro.configExtension
and use the theme
element, as shown in the example below:
<extension
point="org.eclipse.ui.intro.configExtension">
<theme
default="true"
id="org.eclipse.ui.intro.universal.circles"
name="%theme.name.circles"
path="$nl$/themes/circles"
previewImage="themes/circles/preview.png">
<property
name="launchbarBackground"
value="#a1c2cb"/>
<property
name="launchbarOverviewIcon"
value="$theme$graphics/launchbar/overview16.png"/>
<property
name="launchbarFirststepsIcon"
value="$theme$graphics/launchbar/firststeps16.png"/>
<property
name="launchbarTutorialsIcon"
value="$theme$graphics/launchbar/tutorials16.png"/>
<property
name="launchbarSamplesIcon"
value="$theme$graphics/launchbar/samples16.png"/>
<property
name="launchbarWhatsnewIcon"
value="$theme$graphics/launchbar/whatsnew16.png"/>
<property
name="launchbarMigrateIcon"
value="$theme$graphics/launchbar/migrate16.png"/>
<property
name="launchbarWebresourcesIcon"
value="$theme$graphics/launchbar/webresources16.png"/>
</theme>
</extension>
Consult the
schema documentation
for details on all the available attributes relating to themes.
Each theme has a unique identifier, translatable name, preview image, and a path
to the root theme folder. The intro plug-in does not provide any UI for theme
manipulation. The only way to select a theme is via the preference
org.eclipse.ui.intro/INTRO_THEME
in plugin_customization.ini.
Enabling themes
Theme support by itself does not make intro implementations theme-enabled.
Concrete intro implementations can choose to expose themes in a more substantial
way (and in fact Universal Welcome implementation does exactly that with the
General > Welcome
preference page.
Theme-enabled intro implementation must make all the references to style and
presentation resources using the $theme$
substitution variable. Absolute paths
for images, pages, styles, etc. will be computed by resolving the substitution
variable using the path of the currently active theme.