20.01.2013 Aufrufe

XML » SVG Presenter - Carto:net

XML » SVG Presenter - Carto:net

XML » SVG Presenter - Carto:net

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>XML</strong> <strong>»</strong> <strong>SVG</strong> PRESENTER | STRUKTURIERTE MULTIMEDIA-PRÄSENTATION IM WEB 183<br />

Abb. 6.5.2.1.2: Einblendung des Verlaufsbalkens unter Verwendung von AniObject und AniTracker.<br />

6.5.2.2 Darstellungs-Framework<br />

Da, wie bereits eingangs erwähnt, nahezu sämtliche Ausgabe-Elemente entsprechend der geparsten <strong>XML</strong><br />

Daten erst zur Laufzeit berech<strong>net</strong> und dargestellt werden können, wird zur tatsächlichen Präsentation freilich<br />

noch eine Sammlung grundlegender Funktionen für die korrekte Erzeugung der entsprechenden <strong>SVG</strong>-<br />

Elemente benötigt. Im Rahmen des <strong>XML</strong> <strong>»</strong> <strong>SVG</strong> <strong>Presenter</strong>s wird diese Aufgabe maßgeblich durch die zwei<br />

men, die wiederum auf eine ganze Reihe grafischer<br />

Basic-Funktionen 1 men, die wiederum auf eine ganze Reihe grafischer<br />

Basic-Funktionen zurückgreifen: Da im Normalfall zu Beginn der Bildschirmpräsentation lediglich das so<br />

folder() el<br />

expand()<br />

in<br />

1 Kernfunktionen expand() und collapse()übernom rnom<br />

2<br />

zurückgreifen: Da im Normalfall zu Beginn der Bildschirmpräsentation lediglich das so<br />

genannte root-Item, also die Wurzel des Präsentations-Baumes, via folder() -Funktion direkt dargest dargestel lt<br />

wird [s.Abb.6.5.2.1.2], fällt insbesondere der expand() -Methode die Hauptaufgabe zu, die Daten der bei<br />

Aktivierung jeweils auftretenden Teilbäume (und somit die Kind-Elemente des jeweiligen Knotens) in<br />

Form weiterer Item-Symbole korrekt darzustellen sowie alle unterhalb dargestellten Symbole entsprechend<br />

der y-Koordinate entsprechend „nach unten“ zu verschieben:<br />

Abb. 6.5.2.1.3: „Ausklappen“ eines Items mithilfe der<br />

expand()-Funktion.<br />

Die Beschreibung einzelnen der expand()-Funktion zugrunde liegenden Algorithmen und Methoden<br />

würde an dieser Stelle sicherlich zu weit führen – vereinfachend sei daher lediglich erwähnt, dass wiederum<br />

eine Anzahl „grafischer“ Funktionen die Basis für die Darstellung der verschiedenen sichtbaren Objekte (Icons,<br />

Textfelder, Rahmen etc.) darstellt, welche nun ihrerseits für die Erzeugung entsprechender <strong>SVG</strong>- <strong>SVG</strong>-<br />

Elemente<br />

nen.<br />

3<br />

Die Beschreibung einzelnen der expand()-Funktion zugrunde liegenden Algorithmen und Methoden<br />

würde an dieser Stelle sicherlich zu weit führen – vereinfachend sei daher lediglich erwähnt, dass<br />

eine Anzahl „grafischer“ Funktionen die Basis für die Darstellung der verschiedenen sichtbaren Objekte (Icons,<br />

Textfelder, Rahmen etc.) darstellt, welche nun ihrerseits für die Erzeugung entsprechender<br />

Elemente und deren korrekte Integration in die DOM-Hierarchie des <strong>SVG</strong>-Baumes verantwortlich zeich-<br />

3<br />

und deren korrekte Integration in die DOM-Hierarchie des <strong>SVG</strong>-Baumes verantwortlich zeich-<br />

Die dem gegenüberstehende coll collapse() -Methode, die logischerweise die (rekursive) Funktion des SchlieSchließens 4 apse()<br />

ßens der entsprechenden Teilbäume übernimmt, ist naturgemäß zwar nicht auf die eben angesprochenen<br />

4 der entsprechenden Teilbäume übernimmt, ist naturgemäß zwar nicht auf die eben angesprochenen<br />

1 vgl. hierzu die Skript-Datei des Prototypen: folder, gradient, plus, hLine, vLine… [script.js]<br />

2 Anm: Alternativ hierzu kann bei Fehlen des root-Items auch direkt mit mehreren Items begonnen werden (Direkt-Liste).<br />

3 Hierfür steht im DOM-unterstützten ECMAScript wiederum die createElement-Funktion (bzw. createTextNode bei Textelementen) be-<br />

reit.<br />

4 … oder „zuklappen“ (daher der Name collapse)

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!