Configuration des parties d'introduction

org.eclipse.ui.intro.config

3.0

Ce point d'extension sert à enregistrer une configuration de partie d'introduction. Cette configuration fournit des implémentations de présentation et un contenu pour une contribution d'introduction donnée. Une introduction apparaît lorsque le plan de travail est démarré pour la première fois et comme choix dans le menu Aide. Elle sert généralement à présenter à l'utilisateur un produit intégré à Eclipse.

Les introductions sont organisées en pages reflétant généralement une catégorie spéciale du matériel d'introduction. Par exemple, la page Nouveautés présente de nouveaux concepts ou fonctionnalités par rapport aux versions antérieures. Le contenu défini par une configuration d'introduction peut être référencé et étendu à partir d'autres plug-ins à l'aide du point d'extension org.eclipse.ui.intro.configExtension.

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

Un élément de configuration peut être utilisé pour configurer une partie d'introduction personnalisable. Il doit alors préciser un ID, un ID d'introduction et un fichier de contenu. Ce fichier XML décrit les pages, les groupes et les liens dans l'introduction.



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

<!ATTLIST presentation

home-page-id    CDATA #REQUIRED

standby-page-id CDATA #IMPLIED>

Elément de présentation définissant toutes les implémentations possibles pour la présentation d'une partie d'introduction. Il peut inclure une ou plusieurs implémentations. Seule une sera toutefois choisie au démarrage en fonction des attributs du système d'exploitation/système de fenêtrage des implémentations. Sinon, la première sans attributs définis est choisie.



<!ELEMENT implementation (head?)>

<!ATTLIST implementation

kind  (swt|html)

style CDATA #IMPLIED

os    CDATA #IMPLIED

ws    CDATA #IMPLIED>

La présentation de l'expérience de la plateforme inclut deux implémentations. L'une est basée sur le navigateur SWT, l'autre sur des formulaires au sein de l'interface utilisateur. La partie d'introduction personnalisable peut être configurée pour choisir l'une de ces présentations en fonction du système d'exploitation et du système de fenêtrage. Le type d'implémentation est swt ou html.



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

<!ATTLIST launchBar

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

bg       CDATA #IMPLIED

fg       CDATA #IMPLIED>

La barre de lancement fonctionne conjointement avec la commande 'switchToLaunchBar'. Une fois exécutée, la commande ferme l'introduction et crée une barre de lancement dans l'une des zones de rognage de la fenêtre principale. La barre de lancement contient au moins un bouton permettant à l'utilisateur de revenir à la dernière page d'introduction. Elle peut éventuellement contenir des boutons supplémentaires définis à l'aide des éléments shortcut. Ces boutons peuvent servir à accéder rapidement à une page d'introduction depuis la version 3.1.



<!ELEMENT shortcut EMPTY>

<!ATTLIST shortcut

tooltip CDATA #IMPLIED

icon    CDATA #REQUIRED

url     CDATA #REQUIRED>

Pour chaque raccourci, un bouton est créé dans la barre de lancement de l'introduction. On exécute l'adresse URL définie dans le raccourci en cliquant sur le bouton (depuis la version 3.1).



<!ELEMENT handle EMPTY>

<!ATTLIST handle

close (true | false) "true"

image CDATA #IMPLIED>

Elément facultatif contrôlant comment est restitué l'indicateur de la barre de lancement (depuis la version 3.1).



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

L'élément introContent définit le corps du fichier de contenu de l'introduction. Ce fichier de contenu se compose de pages, de groupes partagés qui peuvent être inclus dans plusieurs pages et d'extensions de points d'ancrage définies dans d'autres configurations.



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

Cet élément permet de décrire la page à afficher. L'introduction peut afficher des pages dynamiques et statiques.
Le contenu des pages dynamiques est généré à partir des sous-éléments de la page, comme indiqué ci-après. Le style ou le style de remplacement (alt-style) est appliqué en fonction de la présentation. Les styles peuvent être optimisés en référençant l'attribut id ou class-id.
Les pages statiques permettent de réutiliser des documents HTML existants au sein d'une introduction et peuvent être liées à partir de n'importe quelle page statique ou dynamique. Les pages statiques ne sont pas définies dans un élément de type page. Il s'agit simplement de fichiers HTML qui peuvent liées par d'autres pages.
La page d'accueil, dont l'ID est défini dans l'élément "presentation" du point d'extension de configuration de l'introduction, peut posséder une adresse URL indiquant qu'il s'agit d'une page statique. Si vous n'indiquez pas d'adresse URL, le programme suppose que la page d'accueil est une page dynamique. Toutes les autres pages décrites à l'aide de l'élément "page" sont des pages dynamiques.
Lorsque la présentation SWT est utilisée et qu'une page statique doit s'afficher, un navigateur externe est lancé et la page en cours reste visible.
Les sous-éléments utilisés dans une page dynamique sont les suivants : Un sous-élément group est utilisé pour regrouper les contenus connexes et appliquer un style à l'ensemble du contenu regroupé. Un sous-élément link définit un lien qui peut être utilisé pour accéder à une page statique ou dynamique et exécuter une action/commande d'introduction. Un lien est généralement défini au niveau de la page pour accéder aux pages principales au lieu de créer plusieurs liens au sein d'une même page. Un sous-élément text définit le contenu textuel au niveau de la page. Un sous-élément head est applicable uniquement à la présentation Web et permet d'ajouter des données HTML à la section HTML head. Cet élément est utile pour ajouter des scripts Java ou des feuilles de style supplémentaires. Un sous-élément img définit le contenu de l'image au niveau de la page. Un sous-élément include permet de réutiliser n'importe quel élément autre qu'une page. Un sous-élément html est applicable uniquement à la présentation Web et permet l'intégration ou l'ajout de données HTML dans le contenu de la page. L'intégration permet d'intégrer un fichier HTML clairement défini au sein d'un élément HTML object en référençant le fichier HTML. L'inclusion permet d'inclure un fragment HTML directement à partir d'un fichier HTML. Un sous-élément title définit le titre de la page. Un sous-élément anchor définit un point dans lequel des contributions externes peuvent être insérées à l'aide d'un élément <extensionContent>.



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

Permet de regrouper des contenus connexes, des contenus auxquels un style commun doit être appliqué ou des contenus qui doivent être inclus dans d'autres pages.



<!ELEMENT head EMPTY>

<!ATTLIST head

src      CDATA #REQUIRED

encoding CDATA #IMPLIED>

Données HTML à inclure directement dans la zone de contenu HEAD d'une page. Il permet d'ajouter des données HTML à la section HTML head. Cet élément est utile pour ajouter des scripts Java ou des feuilles de style supplémentaires. Ce marquage est utilisé uniquement avec l'implémentation d'une introduction reposant sur les données HTML. Il est simplement ignoré lors d'une implémentation de formulaires au sein de l'interface graphique. Une page peut comporter plusieurs éléments head. Une implémentation ne peut comporter qu'un seul élément head (qui est partagé dans toutes les pages).



<!ELEMENT title EMPTY>

<!ATTLIST title

id           CDATA #IMPLIED

style-id     CDATA #IMPLIED

filteredFrom (swt|html) >

Fragment de texte qui peut éventuellement contenir des balises d'échappement HTML. Il est uniquement utilisé sous forme de titre de page et une page doit donc comporter un seul élément title.



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

<!ATTLIST link

id           CDATA #IMPLIED

label        CDATA #IMPLIED

url          CDATA #REQUIRED

style-id     CDATA #IMPLIED

filteredFrom (swt|html) >

Permet de créer un lien vers un fichier HTML statique, un site Web externe ou peut exécuter une action URL d'introduction.



<!ELEMENT text EMPTY>

<!ATTLIST text

id           CDATA #IMPLIED

style-id     CDATA #IMPLIED

filteredFrom (swt|html) >

Fragment de texte qui peut éventuellement contenir des balises d'échappement HTML. Il peut comporter les balises b et li. Il peut également inclure des ancres pour les adresses URL. Si plusieurs paragraphes sont nécessaires, le texte peut être divisé en plusieurs parties commençant et finissant chacune par la balise p.



<!ELEMENT img EMPTY>

<!ATTLIST img

id           CDATA #REQUIRED

src          CDATA #REQUIRED

alt          CDATA #IMPLIED

style-id     CDATA #IMPLIED

filteredFrom (swt|html) >

Image représentant le contenu d'une introduction et non la présentation (par opposition aux images de décoration définies dans les styles).



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

Données HTML à inclure directement dans la page en imbriquant l'ensemble du document ou en intégrant un fragment de données HTML à l'emplacement défini. Une image ou un texte de remplacement doit être défini pour l'affichage d'une présentation SWT de substitution.
L'imbrication permet d'intégrer un fichier HTML clairement défini au sein du contenu de la page dynamique. Un objet HTML est créé pour référencer le fichier HTML.
L'inclusion permet d'inclure directement un fragment HTML dans une page HTML dynamique à partir d'un fichier.



<!ELEMENT include EMPTY>

<!ATTLIST include

configId    CDATA #IMPLIED

path        CDATA #REQUIRED

merge-style (true | false) >

développe un élément défini par le chemin indiqué et des attributs configId facultatifs. Le chemin doit définir de manière unique un élément au sein de la configuration indiquée. Il peut pointer vers un groupe partagé défini au niveau de la configuration ou vers n'importe quel élément d'une page.



<!ELEMENT anchor EMPTY>

<!ATTLIST anchor

id CDATA #REQUIRED>

Une ancre est un élément utilisé pour déclarer l'extensibilité. Elle représente un emplacement défini dans la configuration pour permettre l'ajout de contributions externes. Seules les ancres sont les valeurs cibles autorisées pour l'attribut path d'un contenu extensionContent.



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

<!ATTLIST extensionContent

style       CDATA #IMPLIED

alt-style  CDATA #IMPLIED

path      CDATA #REQUIRED

content   CDATA #IMPLIED>

Contenu à ajouter à l'ancre cible. Un seul contenu extensionContent est autorisé dans une extension configExtension car si cette extension ne peut pas être résolue (si la configuration ou l'élément cible est introuvable), les pages et/ou les groupes de l'extension doivent être ignorés.



<!ELEMENT contentProvider (text?)>

<!ATTLIST contentProvider

id       CDATA #REQUIRED

pluginId CDATA #IMPLIED

class    CDATA #REQUIRED>

Un proxy pour un fournisseur de données d'introduction, qui permet à une page d'introduction d'extraire dynamiquement des données de différentes sources (par exemple, le Web, Eclipse, etc.) et d'en fournir au moment de l'exécution en fonction de ces données dynamiques. Si la classe IIntroContentProvider qui est définie dans l'attribut classe ne peut pas être chargée, alors le contenu de l'élément textuel sera restitué. Ceci est une version dynamique de la balise d'introduction HTML. La balise HTML permet l'incorporation et la mise en ligne du contenu HTML statique dans la page d'introduction HTML générée tandis que la balise contentProvider permet la création dynamique de ce contenu au moment de l'exécution. Ce qui différencie également ces balises est que la balise HTML est uniquement prise en charge pour des présentations HTML, tandis que la balise contentProvider est prise en charge pour des présentations HTML et mais aussi SWT. Depuis la version 3.0.1



L'exemple ci-dessous illustre l'utilisation du point d'extension config.

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

Pour en savoir plus, voir la spécification pour le package d'API org.eclipse.ui.intro.config.

L'introduction contribuée par le plug-in org.eclipse.platform est la seule implémentation dans Eclipse.