aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormescalinum <mescalinum@users.sourceforge.net>2009-09-19 20:41:38 +0000
committermescalinum <mescalinum@users.sourceforge.net>2009-09-19 20:41:38 +0000
commit126239a0c6124b3c667857890a5bfcca62680106 (patch)
tree09995a14c8f210885b50aae2b40c560291a895cf
parent185622c1b3152dc53e3659b3d8191216df283b6a (diff)
escape dollar symbol in propertiesfn;
call canvas_fixlinesfor after resize; svn path=/trunk/externals/tclpd/; revision=12406
-rw-r--r--slider2.tcl13
1 files changed, 10 insertions, 3 deletions
diff --git a/slider2.tcl b/slider2.tcl
index a09c9ce..b9d27ad 100644
--- a/slider2.tcl
+++ b/slider2.tcl
@@ -144,11 +144,13 @@ pd::guiclass slider2 {
dict set @state _min [expr {$a>$b?$b:$a}]
dict set @state _max [expr {$a>$b?$a:$b}]
dict set @state _rev [expr {$a>$b}]
- # recompute pix2units conversion
- switch [dict get $@config -orient] {
+ set orient [dict get $@config -orient]
+ switch $orient {
horizontal {set dim [dict get $@config -width]; set mul 1}
vertical {set dim [dict get $@config -height]; set mul -1}
+ default {return -code error "invalid value '$orient' for -orient"}
}
+ # recompute pix2units conversion
set @pix2units [expr {(2.0 * [dict get $@state _rev] - 1.0) *
( [dict get $@state _max] - [dict get $@state _min] ) *
$mul / ( $dim - [dict get $@config -headsz])}]
@@ -159,6 +161,10 @@ pd::guiclass slider2 {
} elseif {$upd && [info exists @c]} {
sys_gui [list slider2_update $self $@c $@x $@y $@config $@state]\n
}
+ if {[dict exists $newconf -width] || [dict exists $newconf -height]} {
+ canvas_fixlinesfor \
+ [tclpd_get_glist $self] [tclpd_get_instance_text $self]
+ }
}
0_set {
@@ -192,8 +198,9 @@ pd::guiclass slider2 {
}
object_properties {
+ set c [string map {$ \\$} $@config]
gfxstub_new [tclpd_get_object_pd $self] [tclpd_get_instance $self] \
- [list propertieswindow %s $@config "\[slider2\] properties"]\n
+ [list propertieswindow %s $c "\[slider2\] properties"]\n
}
widgetbehavior_getrect {