Intro-Komponentenkonfiguration

org.eclipse.ui.intro.config

3.0

Dieser Erweiterungspunkt dient zur Registrierung einer Intro-Konfiguration. Diese Konfiguration stellt Präsentationsimplementierungen und Inhalte für eine bestimmte Intro-Ergänzung zur Verfügung. Eine Einführung wird angezeigt, wenn die Workbench zum ersten Mal gestartet wird oder wenn sie über das Menü 'Hilfe' aufgerufen wird. Die Einführung wird üblicherweise verwendet, um einen Benutzer in ein auf Eclipse aufgebautes Produkt einzuführen.

Die Einführungen sind in Seiten zusammengefasst, die üblicherweise eine bestimmte Kategorie des einführenden Materials widerspiegeln. Sie werden z.B, auf der Seite 'Neue Funktionen' neue Konzepte oder Funktionen seit der vorhergehenden Version vorgestellt. Der Inhalt, der durch eine Intro-Konfiguration definiert wird, kann durch andere Plug-ins unter Verwendung des Erweiterungspunkts org.eclipse.ui.intro.configExtension referenziert oder erweitert werden.

<!ELEMENT extension (handle? , config+)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!ELEMENT config (presentation)>

<!ATTLIST config

introId CDATA #REQUIRED

id      CDATA #REQUIRED

content CDATA #REQUIRED>

Ein Element 'config' kann verwendet werden, um eine anpassungsfähige Intro-Komponente zu konfigurieren. Das Element 'config' muss eine ID, eine introID und eine Inhaltsdatei angeben. Bei der Inhaltsdatei der Einführung handelt es sich um eine XML-Datei, die die Seiten, Gruppen und Links der Einführung beschreibt.



<!ELEMENT presentation (implementation+ , launchBar?)>

<!ATTLIST presentation

home-page-id    CDATA #REQUIRED

standby-page-id CDATA #IMPLIED>

Darstellungselement, das alle möglichen Implementierungen der Darstellung einer Intro-Komponente definiert. Darin können eine oder mehrere Implementierungen definiert sein. Beim Start wird nur eine Implementierung ausgewählt, basierend auf den Attributen für das Betriebssystem/Fenstertechniksystem der Implementierungen. Andernfalls wird die erste ohne Attribute für das Betriebssystem/Fenstertechniksystem ausgewählt.



<!ELEMENT implementation (head?)>

<!ATTLIST implementation

kind  (swt|html)

style   CDATA #IMPLIED

os    CDATA #IMPLIED

ws    CDATA #IMPLIED>

Die Darstellung der sofort einsatzfähigen Plattformfunktion hat zwei Implementierungen. Eine davon basiert auf dem SWT-Browser, die andere auf Benutzerschnittstellenformularen. Die anpassungsfähige Intro-Komponente kann so konfiguriert werden, dass sie eine der beiden Darstellungen, basierend auf dem aktuellen Betriebssystem und Fenstertechniksystem, auswählt. Die Art der Implementierung kann SWT oder HTML sein.



<!ELEMENT launchBar (handle? , shortcut*)>

<!ATTLIST launchBar

location (left|bottom|right|fastview) "fastview"

bg       CDATA #IMPLIED

fg       CDATA #IMPLIED>

Startleisten arbeiten in Verbindung mit dem Befehl 'switchToLaunchBar'. Nach der Ausführung schließt der Befehl das Intro und erstellt eine Startleiste in einem der Ausschnittsbereiche des Hauptfenster. Die Startleiste enthält mindestens eine Schaltfläche, die es den Benutzern ermöglicht, zur letzten Intro-Seite zurückzukehren. Optional kann sie weitere Schaltflächen enthalten, die mit Hilfe von Direktaufruf-Elementen definiert werden. Diese Schaltflächen dienen dazu, schnell zu einer bestimmten Intro-Seite zu wechseln. Ab 3.1



<!ELEMENT shortcut EMPTY>

<!ATTLIST shortcut

tooltip CDATA #IMPLIED

icon    CDATA #REQUIRED

url     CDATA #REQUIRED>

Eine Schaltfläche wird in der Intro-Startleiste für jedes Direktaufrufelement erstellt. Die in dem Direktaufruf definierte URL wird ausgeführt, wenn die Schaltfläche betätigt wird. Ab 3.1



<!ELEMENT handle EMPTY>

<!ATTLIST handle

close (true | false) "true"

image CDATA #IMPLIED>

Ein optionales Element, das steuert, wie die Startleistenkennung übergeben wird. Ab 3.1



<!ELEMENT introContent (page+ , group* , extensionContent*)>

Das Element introContent definiert den Hauptteil der Einführungsinhaltsdatei. Die Inhaltsdatei besteht aus Seiten, gemeinsam benutzten Gruppen, die in mehrere Seiten aufgenommen werden können, und Erweiterungen für Ankerpunkte, die in anderen Konfigurationen definiert sind.



<!ELEMENT page (group* | link* | text* | head* | img* | include* | html* | title? | anchor* | contentProvider*)>

<!ATTLIST page

url           CDATA #IMPLIED

id           CDATA #REQUIRED

style        CDATA #IMPLIED

alt-style     CDATA #IMPLIED

filteredFrom (swt|html)

content      CDATA #IMPLIED

style-id     CDATA #IMPLIED

shared-style (true | false) >

Dieses Element beschreibt eine Seite, die angezeigt werden soll. Die Einführung kann sowohl dynamische als auch statische Seiten anzeigen.
Der Inhalt für dynamische Seiten wird aus den Unterelementen der Seite generiert, die im Folgenden beschrieben sind. Abhängig von der Darstellung kommt entweder das Attribut style oder das Attribut alt-style zu Anwendung. Die Darstellungen können weiter erweitert werden, indem auf das Attribut id oder class-id verwiesen wird.
In statischen Seiten können vorhandene HTML-Dokumente innerhalb einer Einführung wiederverwendet werden. Außerdem kann jede beliebige statische oder dynamische Seite Links zu statischen Seiten enthalten. Statische Seiten werden nicht in einem Element page definiert. Es handelt sich um einfache HTML-Dateien, zu denen andere Seiten Links enthalten können.
Die Homepage, deren id im Darstellungselement des Erweiterungspunktes für die Einführungskonfiguration angegeben ist, kann über eine URL verfügen, mit der angegeben wird, dass es sich um eine statische Seite handelt. Falls keine URL angegeben ist, wird davon ausgegangen, dass die Homepage eine dynamische Seite ist. Alle anderen Seiten, die mit dem Element page beschrieben werden, sind dynamische Seiten.
Außerdem ist bei Verwendung der SWT-Darstellung und dem Anzeigen einer statischen Seite zu beachten, dass ein externer Browser gestartet wird und die aktuelle Seite sichtbar bleibt.
In einer dynamischen Seite werden die folgenden Unterelemente verwendet: Mit einem Unterelement group wird zusammengehörender Inhalt gruppiert und eine bestimmte Darstellung auf den gruppierten Inhalt angewendet. Das Unterelement link definiert einen Link, mit dem ein Link zu einer statischen oder zu einer dynamischen Seite hergestellt und eine Aktion oder ein Befehl für die Einführung ausgeführt wird. Normalerweise wird ein Link auf der Seitenebene definiert, damit zwischen den Hauptseiten (gegenüber den Links auf einer Seite) navigiert werden kann. Ein Unterelement text definiert Textinhalt auf Seitenebene. Ein Unterelement head kann nur bei der webbasierten Darstellung angewendet werden und ermöglicht das Hinzufügen weiterer html-Daten zum HTML-Abschnitt head. Dies ist für das Hinzufügen von Java-Scripts oder zusätzlicher Style-Sheets nützlich. Ein Unterelement img definiert Imageinhalt für die Seitenebene. Mit einem Unterelement include kann ein beliebiges anderes Element (mit Ausnahme einer Seite) wiederverwendet werden. Ein Unterelement html kann nur bei der webbasierten Darstellung angewendet werden und ermöglicht das Einbetten oder Aufnehmen von html-Daten in den Inhalt der Seite. Beim Einbetten kann eine vollständig definierte HTML-Datei in ein HTML-Element object eingebettet werden, indem auf die HTML-Datei verwiesen wird. Mit einem Einschluss kann ein HTML-Ausschnitt direkt aus einer HTML-Datei integriert werden. Ein Unterelement title definiert den Titel der Seite. Ein Unterelementanchor definiert einen Punkt, an dem externe Ergänzungen durch ein Element <extensionContent> bereitgestellt werden können.



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

Mit diesem Element wird zusammengehörender Inhalt gruppiert sowie Inhalt, auf den eine ähnliche Darstellung angewendet werden soll, oder Inhalt, der zusammen in andere Seiten integriert werden soll.



<!ELEMENT head EMPTY>

<!ATTLIST head

src      CDATA #REQUIRED

encoding CDATA #IMPLIED>

Dieses Element weist HTML an, Daten in den Inhaltsbereich HEAD einer Seite aufzunehmen. Auf diese Weise kann zusätzliches HTML zum HTML-Abschnitt HEAD hinzugefügt werden. Dies ist für das Hinzufügen von Java-Scripts oder zusätzlicher Style-Sheets nützlich. Diese Angabe kann nur bei einer HTML-basierten Implementierung der Einführungskomponente verwendet werden. Bei einer Implementierung mit Benutzerschnittstellenformularen wird sie einfach ignoriert. Eine Seite kann mehrere Elemente 'head' enthalten. Eine Implementierung kann lediglich ein Element 'head' enthalten (weil sie von allen Seiten gemeinsam benutzt wird).



<!ELEMENT title EMPTY>

<!ATTLIST title

id           CDATA #IMPLIED

style-id     CDATA #IMPLIED

filteredFrom (swt|html) >

Dieses Element ist ein Textausschnitt, der optional verlassene HTML-Tags enthalten kann. Es wird als Titel der Seite verwendet. Daher kann jede Seite maximal nur ein Element 'title' enthalten.



<!ELEMENT link (text? , img?)>

<!ATTLIST link

id           CDATA #IMPLIED

label        CDATA #IMPLIED

url          CDATA #REQUIRED

style-id     CDATA #IMPLIED

filteredFrom (swt|html) >

Dieses Element kann einen Link zu einer statischen HTML-Datei oder einer externen Website herstellen oder aber eine Aktion für die Einführungs-URL ausführen.



<!ELEMENT text EMPTY>

<!ATTLIST text

id           CDATA #IMPLIED

style-id     CDATA #IMPLIED

filteredFrom (swt|html) >

Dieses Element ist ein Textausschnitt, der optional verlassene HTML-Tags enthalten kann. Es kann die Tags "b" und "li" enthalten. Außerdem kann es Anker für URLs enthalten. Falls mehrere Absätze benötigt werden, kann der Text in mehrere Abschnitte unterteil werden, die jeweils mit dem Tag "p" beginnen und enden.



<!ELEMENT img EMPTY>

<!ATTLIST img

id           CDATA #REQUIRED

src          CDATA #REQUIRED

alt          CDATA #IMPLIED

style-id     CDATA #IMPLIED

filteredFrom (swt|html) >

Dieses Element gibt ein Image an, das Einführungsinhalt und (im Gegensatz zu den in Darstellungen definierten Dekorationsimages) keine Darstellung angibt.



<!ELEMENT html (img | text)>

<!ATTLIST html

id           CDATA #REQUIRED

src          CDATA #REQUIRED

type         (inline|embed)

style-id     CDATA #IMPLIED

filteredFrom (swt|html)

encoding     CDATA #IMPLIED>

Dieses Element weist HTML an, die Seite entweder durch Einbettung des gesamten Dokuments oder durch die Integration eines vorhandenen HTML-Ausschnitts aufzunehmen. Es muss ein Image oder Text für das Zurücksetzen definiert werden, damit eine alternative SWT-Darstellung wiedergegeben werden kann.
Beim Einbetten kann eine vollständig definierte HTML-Datei in den Inhalt einer dynamischen Seite eingebettet werden. Es wird ein HTML-Element object erstellt, das auf die HTML-Datei verweist.
Mit einem Einschluss kann ein HTML-Ausschnitt direkt aus einer Datei in die dynamische HTML-Seite integriert werden.



<!ELEMENT include EMPTY>

<!ATTLIST include

configId    CDATA #IMPLIED

path        CDATA #REQUIRED

merge-style (true | false) >

Ein Element include erweitert ein Element, das ein Ziel des angegebenen Pfades und einem optionalen Attribut configID ist. Der Pfad sollte ein Element in der angegebenen Konfiguration eindeutig adressieren. Er könnte auf eine gemeinsam benutzte Gruppe zeigen, die auf der Konfigurationsebene definiert ist, oder auf ein beliebiges Element in einer Seite.



<!ELEMENT anchor EMPTY>

<!ATTLIST anchor

id CDATA #REQUIRED>

Mit dem Element anchor wird die Erweiterungsfähigkeit deklariert. Es handelt sich um eine Position in der Konfiguration, an der externe Ergänzungen zulässig sind. Nur Elemente 'anchor' sind gültige Zielwerte für das Attribut 'path' in einem Objekt 'extensionContent'.



<!ELEMENT extensionContent (text | group | link | html | include)>

<!ATTLIST extensionContent

style     CDATA #IMPLIED

alt-style  CDATA #IMPLIED

path      CDATA #REQUIRED

content   CDATA #IMPLIED>

Dieses Element gibt den Inhalt an, der zum Zielanker hinzugefügt werden soll. In einem gegebenen Objekt 'configExtension' ist jeweils nur ein Element 'extensionContent' zulässig. Dies liegt daran, dass bei einer nicht erfolgreichen Auflösung der Erweiterung (falls die Konfiguration oder aber das Zielelement nicht gefunden werden kann) die Seiten und/oder Gruppen in der Erweiterung ignoriert werden müssen.



<!ELEMENT contentProvider (text?)>

<!ATTLIST contentProvider

id       CDATA #REQUIRED

pluginId CDATA #IMPLIED

class    CDATA #REQUIRED>

Ein Proxy für einen Einführungsinhalt-Provider, der ermöglicht, dass Einführungsseiten dynamisch Daten von verschiedenen Quellen (z.B. dem Web, Eclipse, usw.) extrahieren und, basierend auf diesen dynamischen Daten zur Laufzeit Inhalt zur Verfügung stellen. Wenn die Klasse 'IIntroContentProvider', die in dem Klassenattribut angegeben worden ist, nicht geladen werden kann, wird statt dessen der Inhalt des Texteleme nts übergeben. Dies ist eine dynamische Version des HTML-Einführungstags. Während das HTML-Tag ermöglicht, dass ein statischer HTML-Inhalt in die generierte HTML-Einführungsseite eingebettet oder integriert wird, ermöglicht das Tag 'contentProvider' die dynamische Erstellung dieses Inhalts zur Laufzeit. Ein weiterer Unterschied zwischen den Tags ist, dass das HTML-Tag nur für die HTML-Darstellung unterstützt wird, während das Tag 'contentProvider' sowohl für HTML- als auch für SWT-Darstellung unterstützt wird. Ab 3.0.1



Das folgende Beispiel zeigt die Verwendung des 'config'-Erweiterungspunkts.

<extension id=

"intro"

point=

"org.eclipse.ui.intro.config"

>

<config introId=

"com.org.xyz.intro"

id=

"com.org.xyz.introConfig"

content=

"introContent.xml"

>

<presentation home-page-id=

"root"

title=

"%intro.title"

>

<implementation ws=

"win32"

style=

"css/shared.css"

kind=

"html"

os=

"win32"

>

</implementation>

<implementation style=

"css/shared_swt.properties"

kind=

"swt"

>

</implementation>

</presentation>

</config>

</extension>

Weitere Details finden Sie in der Spezifikation für das API-Paket 'org.eclipse.ui.intro.config'.

Die durch das Plug-in 'org.eclipse.platform' ergänzte Intro ist die einzige Implementierung innerhalb von Eclipse.