set text {Richard Suchenwirth 2004-05-08 - I thought of adding a help text to the canvas in Tangram in a minimal way and came up with this idea: A text item on the canvas changes on clicking to the help text, and back again. A single proc does all the work. }
proc canvashelp {w label text x {y ""}} { if {$y ne ""} { #-- "constructor" if called with coordinates set id [$w create text $x $y -text $label -anchor nw] $w bind $id <1> [list canvashelp $w $label $text $id] } else { #-- binding "callback" if called with a canvas id set id $x if {[$w itemcget $id -text] ne $label} {set text $label} $w itemconfigure $id -text $text } }
#-- Testing:
if {[file tail [info script]] eq [file tail $argv0]} { pack [canvas .c] canvashelp .c ? $text 5 5 bind . <Escape> {exec wish $argv0 &; exit} }