30.12.2012 Aufrufe

Skript Tcl/Tk - Praktische Informatik / Datenbanken - Universität Kassel

Skript Tcl/Tk - Praktische Informatik / Datenbanken - Universität Kassel

Skript Tcl/Tk - Praktische Informatik / Datenbanken - Universität Kassel

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.

188<br />

Programmierung graphischer Benutzerschnittstellen mit <strong>Tcl</strong>/<strong>Tk</strong><br />

Jetzt wechseln der Warntext und das Strahlensymbol, die unter der Marke<br />

hilite angesprochen werden können, beim Betreten des Fensters ihre<br />

Farbe von schwarz in rot.<br />

Man kann aber noch weiter gehen, und Bindings direkt an Items knüpfen,<br />

so daß etwa nur beim Überstreichen der Items die Farbe wechselt.<br />

.c bind hilite {<br />

.c itemconfigure hilite -fill red<br />

}<br />

.c bind hilite {<br />

.c itemconfigure hilite -fill black<br />

}<br />

Wir binden das Ereignis und die Reaktion an das canvas-Widget, das<br />

wiederum Ereignis und Reaktion an die in bind angegebenen Items bindet.<br />

H+McL betonen, daß diese Ereignisbehandlung separat von der übrigen<br />

abläuft, d. h. sie wird nicht von den Bindemarkenordnung, wie oben<br />

diskutiert, berührt und auch ein break hat keinen Einfluß auf die Weitergabe<br />

innerhalb der Widget-Hierarchie.<br />

.c bind message {<br />

if {[.c itemcget message -text] == "Warning"} {<br />

.c itemconfigure message -text "RED ALERT"<br />

} else {<br />

.c itemconfigure message -text "Warning"<br />

}<br />

}<br />

Ganz analog haben wir oben an das Textitem einen Mausklick gebunden,<br />

der das Hin- und Herschalten zwischen den zwei Warntexten ermöglicht<br />

(rad5.tcl).<br />

Eine weitere raffinierte Möglichkeit besteht darin, eine Reaktion in<br />

Abhängigkeit vom aktuellen überstrichenen Item hervorzurufen. Dazu<br />

erhält das Item, das gerade von der Maus berührt wird, temporär die<br />

Marke current. Ändert es etwa daraufhin seine Farbe, Kontur oder<br />

Linienform, erhält der Anwender eine sofortige Rückmeldung über die<br />

Position. H+McL nennen diese Technik brushing (Anmerkung: in der<br />

Computergraphik bezeichnet man mit der brush-Technik das Malen gan-

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!