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 . {exec wish $argv0 &; exit} }