Next: Weitere Tcl-Befehle
Up: CDE - Entwicklungsumgebung
Previous: Canvas-Widget
Tags dienen ähnlich wie die ID's, welche von der create-Methode
zurückgeliefert werden, dazu Objekte später wieder zu referenzieren. Im
Gegensatz zu den ID's ist es bei Tag's aber möglich, eine Gruppe von
Objekten unter einem Tag zusammenzufassen. Wird nun ein Event für diese
Gruppe generiert so kann im Event-Handler (Tcl-Script) durch das
Sprachelement current für die ObjectID, das Objekt referenziert
werden, welches das Event generiert hat. Dies spart Code, da für gleichartige
Objekte ein gemeinsamer Eventhandler genutzt werden kann.
So könnte obiges Beispiel mit Hilfe von Tags folgendermaßen
vereinfacht werden:
#!/usr/bin/wish -f
canvas .c -width 7c -height 6c
pack .c
set rec [ .c create rectangle 1c 1c 3c 3c -fill darkgreen -tags graphic ]
set pol [ .c create polygon 3.5c 1c 7c 5c 6c 2c -fill darkgreen -tags graphic ]
set cir [ .c create oval 5c 5c 1c 3.5c -fill darkgreen -tags graphic ]
.c bind graphic <Any-Enter> { .c itemconfigure current -fill red }
.c bind graphic <Any-Leave> { .c itemconfigure current -fill darkgreen }
Sascha Scherer
Fri Dec 6 09:58:01 MET 1996