From 8d9a3ecc38bcbfe3594613f238a5c0cd88579a36 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 20 Dec 2012 03:30:39 +0000 Subject: simple version of editmode_look svn path=/trunk/scripts/guiplugins/simple_examples/; revision=16714 --- editmode_background_color-plugin.tcl | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 editmode_background_color-plugin.tcl diff --git a/editmode_background_color-plugin.tcl b/editmode_background_color-plugin.tcl new file mode 100644 index 0000000..59b4970 --- /dev/null +++ b/editmode_background_color-plugin.tcl @@ -0,0 +1,28 @@ +# this script makes it so that the cords are hidden when not in edit mode + +namespace eval ::editmode_look { + # array of the original background colors for each window + array set original_color {} +} + +proc ::editmode_look::set_cords_by_editmode {mytoplevel eventname} { + variable original_color + if {$mytoplevel eq ".pdwindow"} {return} + set tkcanvas [tkcanvas_name $mytoplevel] + # if the mytoplevel sent to us doesn't currently have a window, silently quit + if { ! [winfo exists $mytoplevel] } {return} + # if the array doesn't have this instance, get the current color + if {[array get original_color $mytoplevel] eq ""} { + set original_color($mytoplevel) [$tkcanvas cget -background] + } + if {$::editmode($mytoplevel) == 1} { + # store the background color, in case its been changed + set original_color($mytoplevel) [$tkcanvas cget -background] + $tkcanvas configure -background "lightblue" + } else { + $tkcanvas configure -background $original_color($mytoplevel) + } +} + +bind PatchWindow <> {+::editmode_look::set_cords_by_editmode %W editmode} +bind PatchWindow <> {+::editmode_look::set_cords_by_editmode %W loaded} -- cgit v1.2.1