gif gif gif gif Index Literaturverzeichnis Mail
Nächstes: Nutzung eigener Funktionen über die Shell Nach oben: Exemplarische Fallstudien anhand des Prototyps Vorheriges: Dynamische Visualisierung eingebettet in Objektgraphik

Nutzung einer Shell zur Handhabung von Objektgraphik

Neben der Steuerung über die erweiterbare graphische Oberfläche ist auch eine vollständige Steuerung mittels einer Shell, z.B. aus einem Terminal möglich. Diese Flexibilität ergibt sich aus dem Interpreter, der durch das Verfahren integriert ist.

Abbildung 10.16 zeigt einen Auszug aus einer Sitzung mit der integrierten Shell mit einigen Befehlen. Manuell oder aus Skripten  in der Shell ausgeführte Befehle können zur Steuerung aller Teile der Daten und der Oberfläche verwendet werden.

actmap shell: (10) % deleteShape 4
actmap shell: (11) % $w move germany 120 60
actmap shell: (12) % $w raise germany
actmap shell: (13) % $w lower eire
actmap shell: (14) % $w delete gb
actmap shell: (15) % drawGrid raise 5
actmap shell: (16) % removeGrid
actmap shell: (17) % drawGrid lower 20
actmap shell: (18) % moveUp 20
actmap shell: (19) % showName testname
actmap shell: (20) % $w configure -background green
actmap shell: (21) % $w coords eire
91.012 145.236 82.368 131.592 57.96 138.772 48.62 129.668 59.88 116.74
48.62 111.228 42.156 117.98 40.876 124.392 33.18 130.804 38.548 137.088
30.616 138.496 25.488 142.344 18.436 141.06 10.1 140.42 4.54 146.188
11.024 151.32 11.024 164.632 21.0 166.708 30.416 168.224 13.944 182.096
12.928 188.584 19.076 188.584 34.008 184.992 19.716 191.076 8.176 191.716
0.0 198.64 0.0 204.54 12.664 203.256 14.616 207.98 6.464 209.668 6.464
215.412 18.436 212.876 28.052 213.516 62.676 205.18 78.704 203.896 84.532
198.64 90.248 171.196 87.684 159.656 91.012 145.236
actmap shell: (22) % listItemTags [getItemsEnclosed 0 0 200 200]
itemshape country hebrides
itemshape country nireland
actmap shell: (23) % exec xterm &
4721
actmap shell: (24) % o
ambiguous command name "o": open openPict openPictBind openPictSet
openPictSource openSource option overlayPict overlayPictSource
actmap shell: (25) % s
ambiguous command name "s": savePS savePSOverallSize savePSgray
savePSmono savePict scale scaleAllCanvas scaleNamedRaster scaleObjectCC
scalePhoto scaleRaster scan scrollButton scrollEnter scrollLeave
scrollbar seek selection send set setBorderWidthfromentry setCmsg
setCmsgWarning setColorfromentry setItemColor setObjectfromentry
setScaleFactorSignx setScaleFactorSigny setTagAttributefromentry setWidth
sfileBrowserImportCanvas sfileBrowserOpenPictBind sfileBrowserOpenPictSet
sfileBrowserOpenPictSource sfileBrowserOpenSource
sfileBrowserOverlayPictSource showCoord showName showUsage
simpleSystemCall simpleSystemCallBG socket solid sopenPictBind
sopenPictSet sopenPictSource sopenSource source soverlayPictSource split
startupFlash string subst switch
actmap shell: (26) % savePS noname.eps
actmap shell: (27) % exec myscript.pl
actmap shell: (28) % source myfuncs.tcl
actmap shell: (29) % history
     1  listItemTags [getItemsAll]
     2  clearCanvas $w
     3  history

 
 

Abbildung 10.16: Fallbeispiel: Nutzung einer Shell in Verbindung mit Objektgraphik

Neben Befehlen zur Manipulation von Objekten und zur Darstellung werden auch Koordinaten eines Objekts abgefragt, Objekte in einem Ausschnitt zur Feststellung ihrer Attribute ermittelt, ein externes Programm im Hintergrund gestartet, alle aktiven Funktionsnamen beginnend mit o und s aufgelistet, eine PostScript Graphik der aktuellen Darstellung weggeschrieben, ein externes Skript ausgeführt, Tcl Makrofunktionen geladen und ein Befehlsprotokoll der Sitzung aufgelistet (nur der Anfang dieses Protokolls ist dargestellt).

Eine Beschreibung aller derzeit in den Prototyp implementierten Funktionen kann aufgrund des erreichten Umfangs an dieser Stelle nicht erfolgen. Die Erarbeitung einer eigenen Programmierschnittstelle ( API ) und der dafür notwendigen Dokumentation für Entwickler und Anwender war nicht Bestandteil dieser Dissertation. Es können aber zum weiteren Studium alle enthaltenen Funktionen in der Shell  abgefragt und für eigene Tests beliebig eingesetzt werden. Funktionsnamen, die für eine Anwendung durch Benutzer gedacht sind, beginnen prinzipiell mit einem Kleinbuchstaben.

Aufgrund des Verfahrens kann Zugriff auf alle vorhandenen Funktionen der laufenden Komponente ermöglicht werden, egal ob diese z.B. in einer Skript-Sammlung von Tcl Prozeduren oder z.B. als C-Routine in einem eigenen Interpreter integriert sind. Ein grundlegendes Verständnis der Verwendung von Tcl/Tk  ist bei dieser Implementierung minimale Voraussetzung.

Einzelne Komponenten sind damit auch auf diesem Wege beliebig erweiterbar und konfigurierbar, z.B. für die Handhabung spezieller Datensätze bzw. für benutzerdefinierte Anwendungen und eigene Funktionen.

Durch das Verfahren, je nach Anforderung mehr oder weniger Anteil an Skript oder Maschinensprache dynamisch zu nutzen, bieten sich für die Visualisierung vielfältige dynamische und interaktive Einsatzmöglichkeiten, die bei konventioneller Darstellung nur schwer genutzt werden könnten.


gif gif gif gif Index Literaturverzeichnis Mail
Nächstes: Nutzung eigener Funktionen über die Shell Nach oben: Exemplarische Fallstudien anhand des Prototyps Vorheriges: Dynamische Visualisierung eingebettet in Objektgraphik


Claus-Peter Rückemann / ruckema@uni-muenster.de / Tel. --
Sun Jan 20 19:17:16 MET 2002