<!ELEMENT introContent ((page | group)+ | (extensionContent | replacementContent))>
The introContent element defines the body of the intro content file. The content file is made up of pages, shared groups that can be included in multiple pages, extensions to anchor points defined in other configurations, or replacements of existing elements.
<!ELEMENT page (group | link | text | head | img | include | html | title | anchor | contentProvider)+>
<!ATTLIST page
id CDATA #REQUIRED
url CDATA #IMPLIED
style CDATA #IMPLIED
alt-style CDATA #IMPLIED
filteredFrom (swt|html)
content CDATA #IMPLIED
style-id CDATA #IMPLIED
shared-style (true | false)
bgImage CDATA #IMPLIED>
This element is used to describe a page to be displayed. The intro can display both dynamic and static pages. Content for dynamic pages is generated from the subelements of the page, described below. The style or alt-style will be applied depending on the presentation. The styles can be further enhanced by referencing the id or class-id.
Static pages allow for the reuse of existing HTML documents within one's introduction, and can be linked to from any static or dynamic page. Static pages are not defined in a page element, they are simply html files that can be linked to by other pages.
The home page, whose id is specified in the presentation element of the intro config extension point, can have a url indicating that it is a static page. If no url is specified then the home page is assumed to be dynamic. All other pages described using the page element are dynamic. Also note that when the SWT presentation is used and a static page is to be displayed, an external brower is launched and the current page remains visible.
The subelements used in a dynamic page are as follows: A group subelement is used to group related content and apply style across the grouped content. A link subelement defines a link which can be used to link to a static or dynamic page and run an intro action/command. A link is normally defined at the page level to navigate between main pages versus links within a page. A text subelement defines textual content at the page level. A head subelement is only applicable for the Web based presentation and allows for additional html to be added to the HTML head section. This is useful for adding java scripts or extra style sheets. An img subelement defines image content for the page level. An include subelement allows for reuse of any element other than a page. An html subelement is only applicable for the Web based presentation and allows for the embedding or inclusion of html into the page's content. Embedding allows for a fully defined html file to be embeded within an HTML object by referencing the html file. Inclusion allows for including an html snippet directly from an html file. A title subelement defines the title of the page. An anchor subelement defines a point where external contributions can be made by an <extensionContent> element.
true
(the default), the shared style is added to this page's styles. If false
, the shared style defined in the Intro configuration will not be injected into the styles of this page.<!ELEMENT group (group | link | text | img | include | html | anchor | contentProvider)*>
<!ATTLIST group
id CDATA #REQUIRED
label CDATA #IMPLIED
style-id CDATA #IMPLIED
filteredFrom (swt|html)
computed (true | false) "false"
bgImage CDATA #IMPLIED
expandable (true | false) "false"
expanded (true | false) "false">
Used to group related content, content that should have similar style applied, or content that will be included together in other pages.
true
, the children of this group will be provided by the intro configurer at run time. It is advised not to define any children statically in this case.<!ELEMENT head EMPTY>
<!ATTLIST head
src CDATA #REQUIRED
encoding CDATA #IMPLIED>
Direct HTML to include in a page's HEAD content area. It allows for additional html to be added to the HTML HEAD section. This is useful for adding java srcipts or extra styles sheets. If the content contains substitution segments of the form $plugin:plugin_id$ then they will be replaced with the absolute path to the plugin with id plugin_id. This markup is only to be used with an HTML based intro part implementation. It is simply ignored in the case of a UI Forms implementation. A page can have more than one head element. An implementation can have one and only one head element (since it is a shared across all pages).
<!ELEMENT title EMPTY>
<!ATTLIST title
id CDATA #IMPLIED
style-id CDATA #IMPLIED
filteredFrom (swt|html) >
a snippet of text that can optionally contain escaped HTML tags. It is only used as a Page Title, and so a given page can have a maximum of one title element.
<!ELEMENT link (text? , img?)>
<!ATTLIST link
url CDATA #REQUIRED
id CDATA #IMPLIED
label CDATA #IMPLIED
style-id CDATA #IMPLIED
filteredFrom (swt|html) >
Can link to a static HTML file, an external web site, or can run an Intro URL action.
action name - descripton of action
action parameter1 - description of parameter
action parameter2 (optional) - description of parameter
action parameter3 (optional) = ("true"
"false") "false" - description of parameter, choice of either true or false and "false" is the default
close - closes the intro part
no parameters required
navigate - navigate through the intro pages in a given direction or return to the home page
direction = ("backward"
"forward"
"home") - specifies the direction to navigate
openBrowser - open the url in an external browser. Since 3.1, this action relies on the workbench Browser support. This means that any user preferences set for the browser will be honored.
url - a valid URL to an external web site or a local HTML file
pluginId (optional) - if the url is relative, then it is relative to a plugin. Specify here the id of the plug-in containing the file.
openURL - open the url embedded in the Welcome page. In the case of SWT presentation, the url is displayed in an external browser (similar to the openBrowser action above). since 3.1
url - a valid URL to an external web site or to a local HTML file
pluginId (optional) - if the url is relative, then this specifies the id of the plug-in containing the file.
runAction - runs the specified action
class - the fully qualified class name of the class that implements one of org.eclipse.ui.intro.config.IIntroAction
,
org.eclipse.jface.actino.IAction
, or org.eclipse.ui.IActionDelegate
pluginId - The id of the plug-in which contains the class.
standby (optional) = ("true"
"false") "false" - indicate whether to set the intro into standby mode after executing the action
additional parameters - any additional parameters are passed to actions that implement org.eclipse.ui.intro.config.IIntroAction
execute - executes the specified command. See the serialize()
method on org.eclipse.core.command.ParameterizedCommand
for details of the command serialization format. Since 3.2.
command - a serialized ParameterizedCommand
standby (optional) = ("true" | "false") "false" - indicate whether to set the intro into standby mode after executing the command
setStandbyMode - sets the state of the intro part
standby = ("true"
"false") - true to put the intro part in its partially visible standy mode, and false to make it fully visible
showHelp - Open the help system.
no parameters required
showHelpTopic - Open a help topic.
id - the URL of the help resource. (See Javadoc for org.eclipse.ui.help.WorkbenchHelp.displayHelpResource)
embed (optional) = ("true"
"false") "true" - indicates that the help resource needs to be displayed embedded as part of the Welcome pages. Default is false. This flag is simply ignored in the case of the SWT presentation. This is equivalent to openURL() command, but for Help System topics. The embedded URL occupies the full real-estate of the current page. since 3.1
embedTarget (optional) - the path to a div in the current Welcome page that will hold the content of the Help topic. If specified, then embed is true by default and the embedded URL is inserted inside the div with the specified path. The path is relative to the page and so it should not start with the page id. The children of the div are replaced by the content of the URL. Only one div per page can be used as an embed target. This flag is simply ignored in the case of the SWT presentation. It is also unsupported when using XHTML as intro content. since 3.1
showMessage - Displays a message to the user using a standard information dialog.
message - the message to show the user
showStandby - Sets the intro part to standby mode and shows the standbyContentPart with the given input
partId - the id of the standbyContentPart to show
input - the input to set on the standbyContentPart
showPage - show the intro page with the given id
id - the id of the intro page to show
standby (optional) = ("true"
"false") "false" - indicate whether to set the intro into standby mode after showing the page
If any of the parameters passed to these actions have special characters (ie: characters that are illegal in a URL), then they should be encoded using UTF-8 url encoding. To receive these parametrs in there decoded state a special parameter, decode = ("true" "false") can be used to force a decode of these parameters when the Intro framework processes them.
For example, the following Intro url:
http://org.eclipse.ui.intro/showMessage?message=This+is+a+message
will process the message parameter as "This+is+a+message"
whereas
http://org.eclipse.ui.intro/showMessage?message=This+is+a+message&decode=true
will process the message parameter as "This is a message".
<!ELEMENT text EMPTY>
<!ATTLIST text
id CDATA #IMPLIED
style-id CDATA #IMPLIED
filteredFrom (swt|html) >
a snippet of text that can optionally contain escaped HTML tags. It can include b and li tags. It can also contain anchors for urls. If multiple paragraphs are needed, then the text can be divided into multiple sections each begining and ending with the p tag.
<!ELEMENT img EMPTY>
<!ATTLIST img
src CDATA #REQUIRED
id CDATA #IMPLIED
alt CDATA #IMPLIED
style-id CDATA #IMPLIED
filteredFrom (swt|html) >
An image that represents intro content and not presentation (as opposed to decoration images defined in styles).
<!ATTLIST html
id CDATA #REQUIRED
src CDATA #REQUIRED
type (inline|embed)
style-id CDATA #IMPLIED
filteredFrom (swt|html)
encoding CDATA #IMPLIED>
direct HTML to include in the page either by embedding the entire document, or inlining a snippet of HTML in-place. A fallback image or text must be defined for alternative swt presentation rendering. If the content contains substitution segments of the form $plugin:plugin_id$ then they will be replaced with the absolute path to the plugin with id plugin_id.
Embedding allows for a fully defined html file to be embedded within the dynamic page's content. An HTML object element is created that references the html file.
Inclusion allows for including an html snippet directly from a file into the dynamic html page.
<!ELEMENT include EMPTY>
<!ATTLIST include
path CDATA #REQUIRED
configId CDATA #IMPLIED
merge-style (true | false) >
expands an element targeted by the given path and optional configId attributes. Path should uniquely address an element within the specified configuration. It could point to a shared group defined at the configuration level, or any element in a page.
true
, style belonging to the page that owns the included element will be added to list of styles of the including page. If false
(the default), the including page is responsible for controlling properties of the included element.<!ELEMENT anchor EMPTY>
<!ATTLIST anchor
id CDATA #REQUIRED>
an anchor is the element used to declare extensibility. It is a location in the configurtaion that allows for external contributions. Only anchors are valid target values for the path attribute in an extensionContent
<!ELEMENT extensionContent (text | group | link | html | include)+>
<!ATTLIST extensionContent
path CDATA #REQUIRED
style CDATA #IMPLIED
alt-style CDATA #IMPLIED
content CDATA #IMPLIED
id CDATA #IMPLIED
name CDATA #IMPLIED>
The content to be added to the target anchor. Only one extensionContent
or replacementContent
is allowed in a given configExtension because if this extension could not be resolved (if the config could not be found, or the target anchor could not be found) then the pages and/or groups in the extension need to be ingnored.
<!ELEMENT replacementContent (text | group | link | html | include)+>
<!ATTLIST replacementContent
path CDATA #REQUIRED
style CDATA #IMPLIED
alt-style CDATA #IMPLIED
content CDATA #IMPLIED>
(since 3.3) The content to replace the target element. Only one extensionContent
or replacementContent
is allowed in a given configExtension because if this extension could not be resolved (if the config could not be found, or the target element could not be found) then the pages and/or groups in the extension need to be ignored.
extensionContent
, you may use a path of the form pageId/@extension_id/path_in_extension
and it will be resolved to the specified extension.<!ELEMENT contentProvider (text?)>
<!ATTLIST contentProvider
id CDATA #REQUIRED
class CDATA #REQUIRED
pluginId CDATA #IMPLIED>
A proxy for an intro content provider, which allows an intro page to dynamically pull data from various sources (e.g., the web, eclipse, etc) and provide content at runtime based on this dynamic data. If the IIntroContentProvider class that is specified in the class attribute can not be loaded, then the contents of the text element will be rendered instead. This is a dynamic version of the html intro tag. While the html tag allows for embedding or inlining a static html content into the generated html intro page, the contentProvider tag allows for dynamic creation of that content at runtime. Another difference between the tags is that the html tag is only supported for the HTML presentation, while this contentProvider tag is supported for both the HTML and SWT presentations. Since 3.0.1
<!ELEMENT hr EMPTY>
<!ATTLIST hr
id CDATA #IMPLIED
style-id CDATA #IMPLIED
filteredFrom (swt|html) >
a horizontal rule.
Copyright (c) 2004, 2006 IBM Corporation and others.
This program and the accompanying materials are made
available under the terms of the Eclipse Public License 2.0 which accompanies
this distribution, and is available at https://www.eclipse.org/legal/epl-2.0/
SPDX-License-Identifier: EPL-2.0