Mit den sel-Makros kannst du Bereiche einer Wiki-Seite per Mausklick ein- und ausblenden oder durch verschiedene Varianten ersetzen.
Die Anwendung der sel-Makros besteht aus drei Teilen:
Jeder Abschnitt, jede Grafik, jedes Element das ein- und ausblendbar sein soll, muss zwischen den Makros sel ele und sel end stehen und bekommt dadurch einen Namen. Solchermassen definierte Elemente werden mit sel grp zu einer Gruppe zusammen geschlossen. Auch jede Gruppe bekommt einen Namen.
Mit dem Makro sel oder sel link können im Artikel irgendwo Links erzeugt werden, die dann beim Anklicken ein bestimmtes Element einer Gruppe sichtbar machen und alle anderen Elemente dieser Gruppe verbergen.
In diesem Beispiel werden 5 Bilder geladen, jedoch immer nur eines davon angezeigt, abhängig davon, auf welchen der folgenden Links du klickst:
Die Links können auch in Text integriert sein, etwa in der folgenden Art:
«Um das Ventrikel-System 1 gruppiert liegen die beiden Teile des Thalamus 2 und die Basalganglien, bestehend aus Nucleus caudatus 3, Globus pallidus 4 und Putamen 5.»
Zunächst werden die fünf verschiedenen Bilder eingebunden. Damit aber nicht alle gleichzeitig dargestellt werden, musst du jedes zwischen die Makros sel ele und sel end setzen. Um die Buttons über dem Bild zu platzieren und das Bild rechtsbündig mit umfliessenden Text darzustellen, wird das Makro box verwendet:
{{sel grp|Brain|Ventrikel|Thalamus|Caudatus|Pallidus|Putamen|All}} {{sel ele|Ventrikel|false}}{{box|right|310px|$centerP}} {{sel btn|Brain|1|5}} [[Bild:Brain1.jpg|275px|rvframed|Gehirn mit Ventrikel-System]] {{box end}}{{sel end}} {{sel ele|Thalamus|false}}{{box|right|310px|$centerP}} {{sel btn|Brain|2|5}} [[Bild:Brain2.jpg|275px|rvframed|Gehirn mit Thalamus (gelb)]] {{box end}}{{sel end}} : {{sel ele|All|true}}{{box|right|310px|$centerP}} {{sel btn|Brain|0|5}} [[Bild:Brain5.jpg|275px|rvframed|Gehirn mit Thalamus und Basalganglien]] {{box end}}{{sel end}}
Zuerst müssen alle Elemente zu einer Gruppe zusammengefasst werden:
{{sel grp|Brain|Ventrikel|Thalamus|Caudatus|Pallidus|Putamen}}
Das letzte Bild soll zu Beginn angezeigt werden. Deshalb wird dort bei sel ele als zweiter Parameter true angegeben.
Um ein Element aus dieser Gruppe als sichtbar auszuwählen und alle anderen unsichtbar zu machen, kannst du die Makros sel oder sel link verwenden:
# {{sel link|Brain:Ventrikel|Ventrikel}} # {{sel link|Brain:Thalamus|Thalamus}} # {{sel link|Brain:Caudatus|Nucleus caudatus}} # {{sel link|Brain:Pallidus|Globus pallidus}} # {{sel link|Brain:Putamen|Putamen}}
Es ist auch möglich, mehrere Elemente aus mehreren Gruppen gleichzeitig sichtbar zu machen, indem beim Makro sel bzw. sel link mehrere Gruppen und Elemente angegeben werden. Zum Beispiel:
{{sel|Brain:Ventrikel,Thalamus|Zwei Bilder anzeigen}} {{sel|Brain1,Brain2:Pallidus|Pallidus in zwei Gruppen anzeigen}} {{sel|Brain1,Brain2:Ventrikel,Thalamus|Zwei Bilder in zwei Gruppen anzeigen}} {{sel|Brain1:Ventrikel;Brain2:Thalamus|Je ein Bild in zwei Gruppen anzeigen}}
Zudem lassen sich Elemente auch verschachteln und es können beliebig viele Gruppen auf einer Seite definiert werden.
Mit dem Makro sel rb oder noch einfacher mit sel btn lassen sich mehrere Radio-Buttons definieren, wobei du angeben kannst, welcher aktiviert erscheinen soll:
{{sel rb|1|Brain|Ventrikel|Thalamus}}
So siehts aus: Ventrikel Thalamus
{{sel btn|Brain|1}}
So siehts aus: Ventrikel Thalamus Caudatus Pallidus Putamen All
Es kann nützlich sein, die Elemente mittels JavaScript zu steuern, um zum Beispiel durch einen Klick auf ein Bild das nächste Element einer Gruppe zu aktivieren. Die entsprechenden JavaScript Objekte können wiefolgt gesteuert werden:
SEL( SEL_GRP_GroupName, [ ElementName1, ... ] );
Im onclick Event eines Bildes kann dies wiefolgt erfolgen:
[[:Bild:Bild1.jpg|800px|bframed|nozoom| onclick="SEL(SEL_GRP_Brain,\['Ventrikel'\]);return false;"| Bild-Text]]
In diesem Fall ist es wichtig, das Bilder-Flag nozoom zu verwenden, damit der Klick nicht zusätzlich einen Zoom auslöst.
Mit dem sel grp Makro werden Elemente zu einer Gruppe zusammen geschlossen. Das Makro muss vor den Elementen stehen, welche die Gruppe bilden. Das Makro sel btn greift auf die in der Gruppe definierten Button-Texte zu, daher muss sel grp vor diesem Makro stehen.
{{sel grp|GruppenName|ElementName=ButtonText|...}}
Die alternativ anzuzeigenden Elemente (Text oder Bilder) müssen je zwischen die Makros sel ele und sel end zu stehen kommen:
{{sel ele|ElementName|VisiFlag|Styles}} Text und/oder Bilder {{sel end}}
Sind nun mehrere Elemente auf der Seite definiert worden, so muss du dem Leser noch die Möglichkeit geben, eines oder mehrere davon per Mausklick auszuwählen:
{{sel|SelektionsListe|LinkText}} oder {{sel link|SelektionsListe|LinkText}}
Im einfachsten Fall gibt SelektionsListe nur ein Element einer Gruppe an:
{{sel|Gruppe:Element|LinkText}}
Du kannst mehrere Elemente einer Gruppe gleichzeitig anzeigen lassen:
{{sel|Gruppe:Element1,Element2,...|LinkText}}
Auch das Anzeigen von gleichnamigen Elementen aus mehreren verschiedenen Gruppen gleichzeitig ist möglich:
{{sel|Gruppe1,Gruppe2,...:Element|LinkText}}
Auch mehrere verschiedene Elemente aus verschiedenen Gruppen können gleichzeitig angegeben werden:
{{sel|Gruppe1:Element1,Element2;Gruppe2:Element3,...|LinkText}}
Die beiden Varianten sel und sel link unterscheiden sich nur in der Darstellung des Links. Der Link des Makros sel wird wie eine kleine Schaltfläche dargestellt, da ja der Link eigentlich eine Funktion auslöst und nicht zu einer anderen Seite führt. Willst du aber lieber, dass der Link normal aussieht, so kannst du sel link verwenden.
Um verschiedene Elemente auswählen zu können eignen sich Radio-Buttons. Das Makro sel btn erstellt eine Reihe solcher Buttons aufgrund der Definition einer Gruppe (siehe sel grp):
{{sel btn|Gruppe|Auswahl|AnzahlButtons}}
Einfache Beispiele
Die folgenden Beispiele sind gleichwertig. Es ist eine Gruppe Brain definiert welche die Elemente Ventrikel, Thalamus usw. enthält. Es werden fünf Buttons mit diesen Beschriftungen erzeugt wobei der erste als aktiver Button angezeigt wird:
{{sel btn|Brain|1|5}} oder {{sel btn|Brain|Ventrikel|5}}
So sieht es aus: Ventrikel Thalamus Caudatus Pallidus Putamen
Um verschiedene Elemente aus verschiedenen Gruppen (gleichzeitig) auswählen zu können kann das Makro sel rb zum erstellen von Buttons verwendet werden:
{{sel rb|Auswahl|GruppenListe|Button|Button|...}}
SelektionsListe ist eine durch ; getrennte Liste von Selektionen. Jede Selektion hat folgenden Aufbau: GruppenListe:ElementListe. Jede Gruppen- und ElementListe ist eine durch Komma getrennte Liste von Gruppen- bzw. Elementnamen. Wenn keine GruppenListe bei einem Button angegeben wird, so wird das Argument 2 GruppenListe verwendet.
Damit können über einen Button mehrere Elemente aus verschiedenen Gruppen gleichzeitig angezeigt werden.
Einfache Beispiele
Die folgenden Beispiele sind alle gleichwertig. Es ist eine Gruppe Brain definiert welche die Elemente Ventrikel und Thalamus enthält. Es werden zwei Buttons mit diesen Beschriftungen erzeugt wobei der erste als aktiver Button angezeigt wird:
{{sel rb|1|Brain|Ventrikel|Thalamus}} oder {{sel rb|1||Brain:Ventrikel|Brain:Thalamus}} oder {{sel rb|Ventrikel|Brain|Ventrikel|Thalamus}}
So sieht es aus: Ventrikel Thalamus
Die Radio-Buttons müssen in jeder Ansichts-Variante erneut definiert werden, jedoch jedesmal mit einem anderen aktivierten Button. Damit das obige Beispiel nicht X mal repetiert werden muss, wobei nur Selektion geändert ist, kannst du ein Makro definieren:
{{*Buttons|{{sel rb|$1|Brain|Ventrikel|Thalamus}}*}}
Jetzt musst du bei jeder Ansichts-Variante nur noch das Makro Buttons angeben:
{{sel ele|Ventrikel|true}} {{Buttons|Ventrikel}} : {{sel end}} {{sel ele|Thalamus|false}} {{Buttons|Thalamus}} : {{sel end}}