diff --git a/pd/src/pd.tk b/pd/src/pd.tk index 02aaad2502e8cffbf6e299b0390046ac14c41da2..854ba6e668be428a858f645d9a6f27f49fb02caa 100644 --- a/pd/src/pd.tk +++ b/pd/src/pd.tk @@ -17,12 +17,12 @@ #GUI improvements and dynamic runtime 8.5 widget upgrade for Linux by Ivica Ico Bukvic #http://ico.bukvic.net <ico@vt.edu> -rename proc proque -proque proc {name args body} { - puts "proc $name" - uplevel 1 [list proque $name $args $body] -} - +# Mathieu's way of listing all defined procs +#rename proc proque +#proque proc {name args body} { +# puts "proc $name" +# uplevel 1 [list proque $name $args $body] +#} #puts stderr [info tclversion] ##--moo: force default system and stdio encoding to UTF-8 @@ -5152,15 +5152,6 @@ proc pdtk_canvas_dofont {name canvas initsize} { ############ pdtk_gatom_dialog -- run a gatom dialog ######### -# dialogs like this one can come up in many copies; but in TK the easiest -# way to get data from an "entry", etc., is to set an associated variable -# name. This is especially true for grouped "radio buttons". So we have -# to synthesize variable names for each instance of the dialog. The dialog -# gets a TK pathname $id, from which it strips the leading "." to make a -# variable suffix $vid. Then you can get the actual value out by asking for -# [eval concat $$variablename]. There should be an easier way but I don't see -# it yet. - proc gatom_escape {sym} { if {[string length $sym] == 0} { set ret "-" @@ -5191,32 +5182,11 @@ proc gatom_unescape {sym} { proc dogatom_apply {id} { set vid [string trimleft $id .] - set var_gatomwidth [concat gatomwidth_$vid] - global $var_gatomwidth - set var_gatomlo [concat gatomlo_$vid] - global $var_gatomlo - set var_gatomhi [concat gatomhi_$vid] - global $var_gatomhi - set var_gatomwherelabel [concat gatomwherelabel_$vid] - global $var_gatomwherelabel - set var_gatomlabel [concat gatomlabel_$vid] - global $var_gatomlabel - set var_gatomsymfrom [concat gatomsymfrom_$vid] - global $var_gatomsymfrom - set var_gatomsymto [concat gatomsymto_$vid] - global $var_gatomsymto - - # set cmd [concat $id param $gatomwidth $gatomlo $gatomhi \;] - set cmd [concat $id param \ - [eval concat $$var_gatomwidth] \ - [eval concat $$var_gatomlo] \ - [eval concat $$var_gatomhi] \ - [eval gatom_escape $$var_gatomlabel] \ - [eval concat $$var_gatomwherelabel] \ - [eval gatom_escape $$var_gatomsymfrom] \ - [eval gatom_escape $$var_gatomsymto] \ - \;] + $::dialog($vid:width) $::dialog($vid:lo) $::dialog($vid:hi) \ + [gatom_escape $::dialog($vid:label)] $::dialog($vid:wherelabel) \ + [gatom_escape $::dialog($vid:symfrom)] \ + [gatom_escape $::dialog($vid:symto)] \;] # puts stderr $cmd pd $cmd @@ -5235,33 +5205,14 @@ proc dogatom_ok {name} { proc pdtk_gatom_dialog {id initwidth initlo inithi \ wherelabel label symfrom symto} { - set vid [string trimleft $id .] - - global pd_nt - - set var_gatomwidth [concat gatomwidth_$vid] - global $var_gatomwidth - set var_gatomlo [concat gatomlo_$vid] - global $var_gatomlo - set var_gatomhi [concat gatomhi_$vid] - global $var_gatomhi - set var_gatomwherelabel [concat gatomwherelabel_$vid] - global $var_gatomwherelabel - set var_gatomlabel [concat gatomlabel_$vid] - global $var_gatomlabel - set var_gatomsymfrom [concat gatomsymfrom_$vid] - global $var_gatomsymfrom - set var_gatomsymto [concat gatomsymto_$vid] - global $var_gatomsymto - - set $var_gatomwidth $initwidth - set $var_gatomlo $initlo - set $var_gatomhi $inithi - set $var_gatomwherelabel $wherelabel - set $var_gatomlabel [gatom_unescape $label] - set $var_gatomsymfrom [gatom_unescape $symfrom] - set $var_gatomsymto [gatom_unescape $symto] + set ::dialog($vid:width) $initwidth + set ::dialog($vid:lo) $initlo + set ::dialog($vid:hi) $inithi + set ::dialog($vid:wherelabel) $wherelabel + set ::dialog($vid:label) [gatom_unescape $label] + set ::dialog($vid:symfrom) [gatom_unescape $symfrom] + set ::dialog($vid:symto) [gatom_unescape $symto] toplevel $id -class [winfo class .] wm title $id "Atom Box Properties" @@ -5277,7 +5228,7 @@ proc pdtk_gatom_dialog {id initwidth initlo inithi \ pack $id.params -side top match_linux_wm [list label $id.params.entryname -text "width"] match_linux_wm [list entry $id.params.entry \ - -textvariable $var_gatomwidth -width 4] + -textvariable ::dialog($vid:width) -width 4] pack $id.params.entryname $id.params.entry -side left -pady 3 match_linux_wm [list labelframe $id.limits -text "limits" \ @@ -5288,14 +5239,14 @@ proc pdtk_gatom_dialog {id initwidth initlo inithi \ pack $id.limits.lower -side left match_linux_wm [list label $id.limits.lower.entryname -text "lower"] match_linux_wm [list entry $id.limits.lower.entry \ - -textvariable $var_gatomlo -width 8] + -textvariable ::dialog($vid:lo) -width 8] pack $id.limits.lower.entryname $id.limits.lower.entry -side left -padx 3 -pady 3 match_linux_wm [list frame $id.limits.upper] pack $id.limits.upper -side left match_linux_wm [list frame $id.limits.upper.spacer -width 20] match_linux_wm [list label $id.limits.upper.entryname -text "upper"] match_linux_wm [list entry $id.limits.upper.entry \ - -textvariable $var_gatomhi -width 8] + -textvariable ::dialog($vid:hi) -width 8] pack $id.limits.upper.spacer $id.limits.upper.entryname \ $id.limits.upper.entry -side left -padx 3 -pady 3 @@ -5309,21 +5260,21 @@ proc pdtk_gatom_dialog {id initwidth initlo inithi \ match_linux_wm [list frame $id.label.name] pack $id.label.name -side top match_linux_wm [list entry $id.label.name.entry \ - -textvariable $var_gatomlabel -width 35] + -textvariable ::dialog($vid:label) -width 35] pack $id.label.name.entry -side left match_linux_wm [list frame $id.label.radio] pack $id.label.radio -side top match_linux_wm [list radiobutton $id.label.radio.left -value 0 \ - -variable $var_gatomwherelabel \ + -variable ::dialog($vid:wherelabel) \ -text "left "] match_linux_wm [list radiobutton $id.label.radio.right -value 1 \ - -variable $var_gatomwherelabel \ + -variable ::dialog($vid:wherelabel) \ -text "right"] match_linux_wm [list radiobutton $id.label.radio.top -value 2 \ - -variable $var_gatomwherelabel \ + -variable ::dialog($vid:wherelabel) \ -text "top"] match_linux_wm [list radiobutton $id.label.radio.bottom -value 3 \ - -variable $var_gatomwherelabel \ + -variable ::dialog($vid:wherelabel) \ -text "bottom"] pack $id.label.radio.left -side left -anchor w pack $id.label.radio.right -side right -anchor w @@ -5341,14 +5292,14 @@ proc pdtk_gatom_dialog {id initwidth initlo inithi \ pack $id.s_r.paramsymto -side top -anchor e match_linux_wm [list label $id.s_r.paramsymto.entryname -text "send symbol"] match_linux_wm [list entry $id.s_r.paramsymto.entry \ - -textvariable $var_gatomsymto -width 21] + -textvariable ::dialog($vid:symto) -width 21] pack $id.s_r.paramsymto.entry $id.s_r.paramsymto.entryname -side right -pady 3 match_linux_wm [list frame $id.s_r.paramsymfrom] pack $id.s_r.paramsymfrom -side top -anchor e match_linux_wm [list label $id.s_r.paramsymfrom.entryname -text "receive symbol"] match_linux_wm [list entry $id.s_r.paramsymfrom.entry \ - -textvariable $var_gatomsymfrom -width 21] + -textvariable ::dialog($vid:symfrom) -width 21] pack $id.s_r.paramsymfrom.entry $id.s_r.paramsymfrom.entryname -side right -pady 3 match_linux_wm [list frame $id.buttonframe -pady 5] @@ -5422,105 +5373,73 @@ set iemgui_define_min_fontsize 4 proc iemgui_clip_dim {id} { set vid [string trimleft $id .] - - set var_iemgui_wdt [concat iemgui_wdt_$vid] - global $var_iemgui_wdt - set var_iemgui_min_wdt [concat iemgui_min_wdt_$vid] - global $var_iemgui_min_wdt - set var_iemgui_hgt [concat iemgui_hgt_$vid] - global $var_iemgui_hgt - set var_iemgui_min_hgt [concat iemgui_min_hgt_$vid] - global $var_iemgui_min_hgt - - #pdtk_post "iemdim: [eval concat $$var_iemgui_wdt] [eval concat $$var_iemgui_min_wdt] [eval concat $$var_iemgui_hgt] [eval concat $$var_iemgui_min_hgt]\n" - - if {[eval concat $$var_iemgui_wdt] < [eval concat $$var_iemgui_min_wdt]} { - set $var_iemgui_wdt [eval concat $$var_iemgui_min_wdt] - $id.dim.w_ent configure -textvariable $var_iemgui_wdt + if {$::dialog($vid:wdt) < $::dialog($vid:min_wdt)} { + set ::dialog($vid:wdt) $::dialog($vid:min_wdt) + $id.dim.w_ent configure -textvariable ::dialog($vid:wdt) } - if {[eval concat $$var_iemgui_hgt] < [eval concat $$var_iemgui_min_hgt]} { - set $var_iemgui_hgt [eval concat $$var_iemgui_min_hgt] - $id.dim.h_ent configure -textvariable $var_iemgui_hgt + if {$::dialog($vid:hgt) < $::dialog($vid:min_hgt)} { + set ::dialog($vid:hgt) $::dialog($vid:min_hgt) + $id.dim.h_ent configure -textvariable ::dialog($vid:hgt) } } proc iemgui_clip_num {id} { set vid [string trimleft $id .] - - set var_iemgui_num [concat iemgui_num_$vid] - global $var_iemgui_num - - if {[eval concat $$var_iemgui_num] > 2000} { - set $var_iemgui_num 2000 - $id.para.num_ent configure -textvariable $var_iemgui_num + if {$::dialog($vid:num) > 2000} { + set ::dialog($vid:num) 2000 + $id.para.num_ent configure -textvariable ::dialog($vid:num) } - if {[eval concat $$var_iemgui_num] < 1} { - set $var_iemgui_num 1 - $id.para.num_ent configure -textvariable $var_iemgui_num + if {$::dialog($vid:num) < 1} { + set ::dialog($vid:num) 1 + $id.para.num_ent configure -textvariable ::dialog($vid:num) } } proc iemgui_sched_rng {id} { set vid [string trimleft $id .] - - set var_iemgui_min_rng [concat iemgui_min_rng_$vid] - global $var_iemgui_min_rng - set var_iemgui_max_rng [concat iemgui_max_rng_$vid] - global $var_iemgui_max_rng - set var_iemgui_rng_sch [concat iemgui_rng_sch_$vid] - global $var_iemgui_rng_sch - global iemgui_define_min_flashhold global iemgui_define_min_flashbreak - if {[eval concat $$var_iemgui_rng_sch] == 2} { - if {[eval concat $$var_iemgui_max_rng] < [eval concat $$var_iemgui_min_rng]} { - set hhh [eval concat $$var_iemgui_min_rng] - set $var_iemgui_min_rng [eval concat $$var_iemgui_max_rng] - set $var_iemgui_max_rng $hhh - $id.rng.max_ent configure -textvariable $var_iemgui_max_rng - $id.rng.min_ent configure -textvariable $var_iemgui_min_rng } - if {[eval concat $$var_iemgui_max_rng] < $iemgui_define_min_flashhold} { - set $var_iemgui_max_rng $iemgui_define_min_flashhold - $id.rng.max_ent configure -textvariable $var_iemgui_max_rng + if {$::dialog($vid:rng_sch) == 2} { + if {$::dialog($vid:max_rng) < $::dialog($vid:min_rng)} { + set hhh $::dialog($vid:min_rng) + set ::dialog($vid:min_rng) $::dialog($vid:max_rng) + set ::dialog($vid:max_rng) $hhh + $id.rng.max_ent configure -textvariable ::dialog($vid:max_rng) + $id.rng.min_ent configure -textvariable ::dialog($vid:min_rng) } + if {$::dialog($vid:max_rng) < $iemgui_define_min_flashhold} { + set ::dialog($vid:max_rng) $iemgui_define_min_flashhold + $id.rng.max_ent configure -textvariable ::dialog($vid:max_rng) } - if {[eval concat $$var_iemgui_min_rng] < $iemgui_define_min_flashbreak} { - set $var_iemgui_min_rng $iemgui_define_min_flashbreak - $id.rng.min_ent configure -textvariable $var_iemgui_min_rng + if {$::dialog($vid:min_rng) < $iemgui_define_min_flashbreak} { + set ::dialog($vid:min_rng) $iemgui_define_min_flashbreak + $id.rng.min_ent configure -textvariable ::dialog($vid:min_rng) } } - if {[eval concat $$var_iemgui_rng_sch] == 1} { - if {[eval concat $$var_iemgui_min_rng] == 0.0} { - set $var_iemgui_min_rng 1.0 - $id.rng.min_ent configure -textvariable $var_iemgui_min_rng + if {$::dialog($vid:rng_sch) == 1} { + if {$::dialog($vid:min_rng) == 0.0} { + set ::dialog($vid:min_rng) 1.0 + $id.rng.min_ent configure -textvariable ::dialog($vid:min_rng) } } } proc iemgui_verify_rng {id} { set vid [string trimleft $id .] - - set var_iemgui_min_rng [concat iemgui_min_rng_$vid] - global $var_iemgui_min_rng - set var_iemgui_max_rng [concat iemgui_max_rng_$vid] - global $var_iemgui_max_rng - set var_iemgui_lin0_log1 [concat iemgui_lin0_log1_$vid] - global $var_iemgui_lin0_log1 - - if {[eval concat $$var_iemgui_lin0_log1] == 1} { - if {[eval concat $$var_iemgui_max_rng] == 0.0 && [eval concat $$var_iemgui_min_rng] == 0.0} { - set $var_iemgui_max_rng 1.0 - $id.rng.max_ent configure -textvariable $var_iemgui_max_rng + if {$::dialog($vid:lin0_log1) == 1} { + if {$::dialog($vid:max_rng) == 0.0 && $::dialog($vid:min_rng) == 0.0} { + set ::dialog($vid:max_rng) 1.0 + $id.rng.max_ent configure -textvariable ::dialog($vid:max_rng) } - if {[eval concat $$var_iemgui_max_rng] > 0} { - if {[eval concat $$var_iemgui_min_rng] <= 0} { - set $var_iemgui_min_rng [expr [eval concat $$var_iemgui_max_rng] * 0.01] - $id.rng.min_ent configure -textvariable $var_iemgui_min_rng + if {$::dialog($vid:max_rng) > 0} { + if {$::dialog($vid:min_rng) <= 0} { + set ::dialog($vid:min_rng) [expr $::dialog($vid:max_rng) * 0.01] + $id.rng.min_ent configure -textvariable ::dialog($vid:min_rng) } } else { - if {[eval concat $$var_iemgui_min_rng] > 0} { - set $var_iemgui_max_rng [expr [eval concat $$var_iemgui_min_rng] * 0.01] - $id.rng.max_ent configure -textvariable $var_iemgui_max_rng + if {$::dialog($vid:min_rng) > 0} { + set ::dialog($vid:max_rng) [expr $::dialog($vid:min_rng) * 0.01] + $id.rng.max_ent configure -textvariable ::dialog($vid:max_rng) } } } @@ -5528,142 +5447,109 @@ proc iemgui_verify_rng {id} { proc iemgui_clip_fontsize {id} { set vid [string trimleft $id .] - - set var_iemgui_gn_fs [concat iemgui_gn_fs_$vid] - global $var_iemgui_gn_fs - global iemgui_define_min_fontsize - - if {[eval concat $$var_iemgui_gn_fs] < $iemgui_define_min_fontsize} { - set $var_iemgui_gn_fs $iemgui_define_min_fontsize - $id.label.fontsize_entry configure -textvariable $var_iemgui_gn_fs + if {$::dialog($vid:gn_fs) < $iemgui_define_min_fontsize} { + set ::dialog($vid:gn_fs) $iemgui_define_min_fontsize + $id.label.fontsize_entry configure -textvariable ::dialog($vid:gn_fs) } } proc iemgui_set_col_example {id} { set vid [string trimleft $id .] - set var_iemgui_bcol [concat iemgui_bcol_$vid] - global $var_iemgui_bcol - set var_iemgui_fcol [concat iemgui_fcol_$vid] - global $var_iemgui_fcol - set var_iemgui_lcol [concat iemgui_lcol_$vid] - global $var_iemgui_lcol - $id.colors.sections.lb_bk configure \ - -background [format "#%6.6x" [eval concat $$var_iemgui_bcol]] \ - -activebackground [format "#%6.6x" [eval concat $$var_iemgui_bcol]] \ - -foreground [format "#%6.6x" [eval concat $$var_iemgui_lcol]] \ - -activeforeground [format "#%6.6x" [eval concat $$var_iemgui_lcol]] + -background [format "#%6.6x" $::dialog($vid:bcol)] \ + -activebackground [format "#%6.6x" $::dialog($vid:bcol)] \ + -foreground [format "#%6.6x" $::dialog($vid:lcol)] \ + -activeforeground [format "#%6.6x" $::dialog($vid:lcol)] - if { [eval concat $$var_iemgui_fcol] >= 0 } { + if { $::dialog($vid:fcol) >= 0 } { $id.colors.sections.fr_bk configure \ - -background [format "#%6.6x" [eval concat $$var_iemgui_bcol]] \ - -activebackground [format "#%6.6x" [eval concat $$var_iemgui_bcol]] \ - -foreground [format "#%6.6x" [eval concat $$var_iemgui_fcol]] \ - -activeforeground [format "#%6.6x" [eval concat $$var_iemgui_fcol]] + -background [format "#%6.6x" $::dialog($vid:bcol)] \ + -activebackground [format "#%6.6x" $::dialog($vid:bcol)] \ + -foreground [format "#%6.6x" $::dialog($vid:fcol)] \ + -activeforeground [format "#%6.6x" $::dialog($vid:fcol)] } else { $id.colors.sections.fr_bk configure \ - -background [format "#%6.6x" [eval concat $$var_iemgui_bcol]] \ - -activebackground [format "#%6.6x" [eval concat $$var_iemgui_bcol]] \ - -foreground [format "#%6.6x" [eval concat $$var_iemgui_bcol]] \ - -activeforeground [format "#%6.6x" [eval concat $$var_iemgui_bcol]]} + -background [format "#%6.6x" $::dialog($vid:bcol)] \ + -activebackground [format "#%6.6x" $::dialog($vid:bcol)] \ + -foreground [format "#%6.6x" $::dialog($vid:bcol)] \ + -activeforeground [format "#%6.6x" $::dialog($vid:bcol)]} } proc iemgui_preset_col {id presetcol} { set vid [string trimleft $id .] - - set var_iemgui_l2_f1_b0 [concat iemgui_l2_f1_b0_$vid] - global $var_iemgui_l2_f1_b0 - set var_iemgui_bcol [concat iemgui_bcol_$vid] - global $var_iemgui_bcol - set var_iemgui_fcol [concat iemgui_fcol_$vid] - global $var_iemgui_fcol - set var_iemgui_lcol [concat iemgui_lcol_$vid] - global $var_iemgui_lcol - - if { [eval concat $$var_iemgui_l2_f1_b0] == 0 } { set $var_iemgui_bcol $presetcol } - if { [eval concat $$var_iemgui_l2_f1_b0] == 1 } { set $var_iemgui_fcol $presetcol } - if { [eval concat $$var_iemgui_l2_f1_b0] == 2 } { set $var_iemgui_lcol $presetcol } + if { $::dialog($vid:l2_f1_b0) == 0 } { set ::dialog($vid:bcol) $presetcol } + if { $::dialog($vid:l2_f1_b0) == 1 } { set ::dialog($vid:fcol) $presetcol } + if { $::dialog($vid:l2_f1_b0) == 2 } { set ::dialog($vid:lcol) $presetcol } catch { iemgui_set_col_example $id } } proc iemgui_choose_col_bkfrlb {id} { global hex_color color_applied pd_nt - set vid [string trimleft $id .] - - set var_iemgui_l2_f1_b0 [concat iemgui_l2_f1_b0_$vid] - global $var_iemgui_l2_f1_b0 - set var_iemgui_bcol [concat iemgui_bcol_$vid] - global $var_iemgui_bcol - set var_iemgui_fcol [concat iemgui_fcol_$vid] - global $var_iemgui_fcol - set var_iemgui_lcol [concat iemgui_lcol_$vid] - global $var_iemgui_lcol - if {[info tclversion] >= 8.5 && $pd_nt == 0} { - if {[eval concat $$var_iemgui_l2_f1_b0] == 0} { - set $var_iemgui_bcol [expr [eval concat $$var_iemgui_bcol] & 0xFFFFFF] + if {$::dialog($vid:l2_f1_b0) == 0} { + set ::dialog($vid:bcol) [expr $::dialog($vid:bcol) & 0xFFFFFF] set loop [pdtk_pd_color_dlg [format "#%6.6x" \ - [eval concat $$var_iemgui_bcol]]] + $::dialog($vid:bcol)]] vwait color_applied set color_applied -1 - set $var_iemgui_bcol [string replace $hex_color 0 0 "0x"] - set $var_iemgui_bcol [expr [eval concat $$var_iemgui_bcol] & 0xFFFFFF] + set ::dialog($vid:bcol) [string replace $hex_color 0 0 "0x"] + set ::dialog($vid:bcol) [expr $::dialog($vid:bcol) & 0xFFFFFF] } } else { - if {[eval concat $$var_iemgui_l2_f1_b0] == 0} { - set $var_iemgui_bcol [expr [eval concat $$var_iemgui_bcol] & 0xFCFCFC] + if {$::dialog($vid:l2_f1_b0) == 0} { + set ::dialog($vid:bcol) [expr $::dialog($vid:bcol) & 0xFCFCFC] set helpstring [tk_chooseColor -title "Custom Background Color" \ - -initialcolor [format "#%6.6x" [eval concat $$var_iemgui_bcol]]] + -initialcolor [format "#%6.6x" $::dialog($vid:bcol)]] if { $helpstring != "" } { - set $var_iemgui_bcol [string replace $helpstring 0 0 "0x"] - set $var_iemgui_bcol [expr [eval concat $$var_iemgui_bcol] & 0xFCFCFC] + set ::dialog($vid:bcol) [string replace $helpstring 0 0 "0x"] + set ::dialog($vid:bcol) [expr $::dialog($vid:bcol) & 0xFCFCFC] } } } if {[info tclversion] >= 8.5 && $pd_nt == 0} { - if {[eval concat $$var_iemgui_l2_f1_b0] == 1} { - set $var_iemgui_fcol [expr [eval concat $$var_iemgui_fcol] & 0xFFFFFF] + if {$::dialog($vid:l2_f1_b0) == 1} { + set ::dialog($vid:fcol) [expr $::dialog($vid:fcol) & 0xFFFFFF] set loop [pdtk_pd_color_dlg [format "#%6.6x" \ - [eval concat $$var_iemgui_fcol]]] + $::dialog($vid:fcol)]] vwait color_applied set color_applied -1 - set $var_iemgui_fcol [string replace $hex_color 0 0 "0x"] - set $var_iemgui_fcol [expr [eval concat $$var_iemgui_fcol] & 0xFFFFFF] + set ::dialog($vid:fcol) [string replace $hex_color 0 0 "0x"] + set ::dialog($vid:fcol) [expr $::dialog($vid:fcol) & 0xFFFFFF] } } else { - if {[eval concat $$var_iemgui_l2_f1_b0] == 1} { - set $var_iemgui_fcol [expr [eval concat $$var_iemgui_fcol] & 0xFCFCFC] + if {$::dialog($vid:l2_f1_b0) == 1} { + set ::dialog($vid:fcol) [expr $::dialog($vid:fcol) & 0xFCFCFC] set helpstring [tk_chooseColor -title "Custom Foreground Color" \ - -initialcolor [format "#%6.6x" [eval concat $$var_iemgui_fcol]]] + -initialcolor [format "#%6.6x" $::dialog($vid:fcol)]] if { $helpstring != "" } { - set $var_iemgui_fcol [string replace $helpstring 0 0 "0x"] - set $var_iemgui_fcol [expr [eval concat $$var_iemgui_fcol] & 0xFCFCFC] + set ::dialog($vid:fcol) [string replace $helpstring 0 0 "0x"] + set ::dialog($vid:fcol) [expr $::dialog($vid:fcol) & 0xFCFCFC] } } } if {[info tclversion] >= 8.5 && $pd_nt == 0} { - if {[eval concat $$var_iemgui_l2_f1_b0] == 2} { - set $var_iemgui_lcol [expr [eval concat $$var_iemgui_lcol] & 0xFFFFFF] + if {$::dialog($vid:l2_f1_b0) == 2} { + set ::dialog($vid:lcol) [expr $::dialog($vid:lcol) & 0xFFFFFF] set loop [pdtk_pd_color_dlg [format "#%6.6x" \ - [eval concat $$var_iemgui_lcol]]] + $::dialog($vid:lcol)]] vwait color_applied set color_applied -1 - set $var_iemgui_lcol [string replace $hex_color 0 0 "0x"] - set $var_iemgui_lcol [expr [eval concat $$var_iemgui_lcol] & 0xFFFFFF] + set ::dialog($vid:lcol) [string replace $hex_color 0 0 "0x"] + set ::dialog($vid:lcol) [expr $::dialog($vid:lcol) & 0xFFFFFF] } } else { - if {[eval concat $$var_iemgui_l2_f1_b0] == 2} { - set $var_iemgui_lcol [expr [eval concat $$var_iemgui_lcol] & 0xFCFCFC] + if {$::dialog($vid:l2_f1_b0) == 2} { + set ::dialog($vid:lcol) [expr $::dialog($vid:lcol) & 0xFCFCFC] set helpstring [tk_chooseColor -title "Label-Color" \ - -initialcolor [format "#%6.6x" [eval concat $$var_iemgui_lcol]]] + -initialcolor [format "#%6.6x" $::dialog($vid:lcol)]] if { $helpstring != "" } { - set $var_iemgui_lcol [string replace $helpstring 0 0 "0x"] - set $var_iemgui_lcol [expr [eval concat $$var_iemgui_lcol] & 0xFCFCFC] + set ::dialog($vid:lcol) [string replace $helpstring 0 0 "0x"] + set ::dialog($vid:lcol) [expr $::dialog($vid:lcol) & 0xFCFCFC] } } } @@ -5673,61 +5559,28 @@ proc iemgui_choose_col_bkfrlb {id} { proc iemgui_lilo {id} { set vid [string trimleft $id .] - - set var_iemgui_lin0_log1 [concat iemgui_lin0_log1_$vid] - global $var_iemgui_lin0_log1 - set var_iemgui_lilo0 [concat iemgui_lilo0_$vid] - global $var_iemgui_lilo0 - set var_iemgui_lilo1 [concat iemgui_lilo1_$vid] - global $var_iemgui_lilo1 - iemgui_sched_rng $id - - if {[eval concat $$var_iemgui_lin0_log1] == 0} { - set $var_iemgui_lin0_log1 1 - $id.para.lilo configure -text [eval concat $$var_iemgui_lilo1] + if {$::dialog($vid:lin0_log1) == 0} { + set ::dialog($vid:lin0_log1) 1 + $id.para.lilo configure -text $::dialog($vid:lilo1) iemgui_verify_rng $id iemgui_sched_rng $id } else { - set $var_iemgui_lin0_log1 0 - $id.para.lilo configure -text [eval concat $$var_iemgui_lilo0] + set ::dialog($vid:lin0_log1) 0 + $id.para.lilo configure -text $::dialog($vid:lilo0) } } proc iemgui_hide_frame {id} { set vid [string trimleft $id .] - - set var_iemgui_hide [concat iemgui_hide_$vid] - global $var_iemgui_hide - - switch -- [eval concat $$var_iemgui_hide] { - 3 { - set $var_iemgui_hide 0 - $id.dim.h configure -text "normal" - } - 0 { - set $var_iemgui_hide 1 - $id.dim.h configure -text "frame" - } - 1 { - set $var_iemgui_hide 2 - $id.dim.h configure -text "arrow" - } - 2 { - set $var_iemgui_hide 3 - $id.dim.h configure -text "none" - } - } + set ::dialog($vid:hide) [expr ($::dialog($vid:hide) + 1) % 4] + $id.dim.h configure -text [lindex {normal frame arrow none} $::dialog($vid:hide)] } proc iemgui_toggle_font {id gn_f} { set vid [string trimleft $id .] - - set var_iemgui_gn_f [concat iemgui_gn_f_$vid] - global $var_iemgui_gn_f global fontname fontweight - - set $var_iemgui_gn_f $gn_f + set ::dialog($vid:gn_f) $gn_f switch -- $gn_f { 0 { set current_font $fontname} @@ -5745,30 +5598,22 @@ proc iemgui_toggle_font {id gn_f} { proc iemgui_lb {id} { set vid [string trimleft $id .] - - set var_iemgui_loadbang [concat iemgui_loadbang_$vid] - global $var_iemgui_loadbang - - if {[eval concat $$var_iemgui_loadbang] == 0} { - set $var_iemgui_loadbang 1 + if {$::dialog($vid:loadbang) == 0} { + set ::dialog($vid:loadbang) 1 $id.para.lb configure -text "init" } else { - set $var_iemgui_loadbang 0 + set ::dialog($vid:loadbang) 0 $id.para.lb configure -text "no init" } } proc iemgui_stdy_jmp {id} { set vid [string trimleft $id .] - - set var_iemgui_steady [concat iemgui_steady_$vid] - global $var_iemgui_steady - - if {[eval concat $$var_iemgui_steady]} { - set $var_iemgui_steady 0 + if {$::dialog($vid:steady)} { + set ::dialog($vid:steady) 0 $id.para.stdy_jmp configure -text "jump on click" } else { - set $var_iemgui_steady 1 + set ::dialog($vid:steady) 1 $id.para.stdy_jmp configure -text "steady on click" } } @@ -5779,58 +5624,8 @@ proc iemgui_apply {id} { destroy .color_dlg set color_applied -1 } - set vid [string trimleft $id .] - set var_iemgui_wdt [concat iemgui_wdt_$vid] - global $var_iemgui_wdt - set var_iemgui_min_wdt [concat iemgui_min_wdt_$vid] - global $var_iemgui_min_wdt - set var_iemgui_hgt [concat iemgui_hgt_$vid] - global $var_iemgui_hgt - set var_iemgui_min_hgt [concat iemgui_min_hgt_$vid] - global $var_iemgui_min_hgt - set var_iemgui_min_rng [concat iemgui_min_rng_$vid] - global $var_iemgui_min_rng - set var_iemgui_max_rng [concat iemgui_max_rng_$vid] - global $var_iemgui_max_rng - set var_iemgui_rng_sch [concat iemgui_rng_sch_$vid] - global $var_iemgui_rng_sch - set var_iemgui_lin0_log1 [concat iemgui_lin0_log1_$vid] - global $var_iemgui_lin0_log1 - set var_iemgui_lilo0 [concat iemgui_lilo0_$vid] - global $var_iemgui_lilo0 - set var_iemgui_lilo1 [concat iemgui_lilo1_$vid] - global $var_iemgui_lilo1 - set var_iemgui_loadbang [concat iemgui_loadbang_$vid] - global $var_iemgui_loadbang - set var_iemgui_num [concat iemgui_num_$vid] - global $var_iemgui_num - set var_iemgui_steady [concat iemgui_steady_$vid] - global $var_iemgui_steady - set var_iemgui_snd [concat iemgui_snd_$vid] - global $var_iemgui_snd - set var_iemgui_rcv [concat iemgui_rcv_$vid] - global $var_iemgui_rcv - set var_iemgui_gui_nam [concat iemgui_gui_nam_$vid] - global $var_iemgui_gui_nam - set var_iemgui_gn_dx [concat iemgui_gn_dx_$vid] - global $var_iemgui_gn_dx - set var_iemgui_gn_dy [concat iemgui_gn_dy_$vid] - global $var_iemgui_gn_dy - set var_iemgui_gn_f [concat iemgui_gn_f_$vid] - global $var_iemgui_gn_f - set var_iemgui_gn_fs [concat iemgui_gn_fs_$vid] - global $var_iemgui_gn_fs - set var_iemgui_bcol [concat iemgui_bcol_$vid] - global $var_iemgui_bcol - set var_iemgui_fcol [concat iemgui_fcol_$vid] - global $var_iemgui_fcol - set var_iemgui_lcol [concat iemgui_lcol_$vid] - global $var_iemgui_lcol - set var_iemgui_hide [concat iemgui_hide_$vid] - global $var_iemgui_hide - iemgui_clip_dim $id iemgui_clip_num $id iemgui_sched_rng $id @@ -5838,11 +5633,11 @@ proc iemgui_apply {id} { iemgui_sched_rng $id iemgui_clip_fontsize $id - if {[eval concat $$var_iemgui_snd] == ""} {set hhhsnd "empty"} else {set hhhsnd [eval concat $$var_iemgui_snd]} - if {[eval concat $$var_iemgui_rcv] == ""} {set hhhrcv "empty"} else {set hhhrcv [eval concat $$var_iemgui_rcv]} - if {[eval concat $$var_iemgui_gui_nam] == ""} {set hhhgui_nam "empty" + if {$::dialog($vid:snd) == ""} {set hhhsnd "empty"} else {set hhhsnd $::dialog($vid:snd)} + if {$::dialog($vid:rcv) == ""} {set hhhrcv "empty"} else {set hhhrcv $::dialog($vid:rcv)} + if {$::dialog($vid:gui_nam) == ""} {set hhhgui_nam "empty" } else { - set hhhgui_nam [eval concat $$var_iemgui_gui_nam]} + set hhhgui_nam $::dialog($vid:gui_nam)} if {[string index $hhhsnd 0] == "$"} { set hhhsnd [string replace $hhhsnd 0 0 #] } @@ -5856,30 +5651,20 @@ proc iemgui_apply {id} { set hhhgui_nam [pdtk_unspace $hhhgui_nam] # make sure the offset boxes have a value - if {[eval concat $$var_iemgui_gn_dx] eq ""} {set $var_iemgui_gn_dx 0} - if {[eval concat $$var_iemgui_gn_dy] eq ""} {set $var_iemgui_gn_dy 0} + if {$::dialog($vid:gn_dx) eq ""} {set ::dialog($vid:gn_dx) 0} + if {$::dialog($vid:gn_dy) eq ""} {set ::dialog($vid:gn_dy) 0} pd [concat $id dialog \ - [eval concat $$var_iemgui_wdt] \ - [eval concat $$var_iemgui_hgt] \ - [eval concat $$var_iemgui_min_rng] \ - [eval concat $$var_iemgui_max_rng] \ - [eval concat $$var_iemgui_lin0_log1] \ - [eval concat $$var_iemgui_loadbang] \ - [eval concat $$var_iemgui_num] \ - $hhhsnd \ - $hhhrcv \ - $hhhgui_nam \ - [eval concat $$var_iemgui_gn_dx] \ - [eval concat $$var_iemgui_gn_dy] \ - [eval concat $$var_iemgui_gn_f] \ - [eval concat $$var_iemgui_gn_fs] \ - [eval concat $$var_iemgui_bcol] \ - [eval concat $$var_iemgui_fcol] \ - [eval concat $$var_iemgui_lcol] \ - [eval concat $$var_iemgui_steady] \ - [eval concat $$var_iemgui_hide] \ - \;] + $::dialog($vid:wdt) $::dialog($vid:hgt) \ + $::dialog($vid:min_rng) $::dialog($vid:max_rng) \ + $::dialog($vid:lin0_log1) $::dialog($vid:loadbang) \ + $::dialog($vid:num) \ + $hhhsnd $hhhrcv $hhhgui_nam \ + $::dialog($vid:gn_dx) $::dialog($vid:gn_dy) \ + $::dialog($vid:gn_f) $::dialog($vid:gn_fs) \ + $::dialog($vid:bcol) $::dialog($vid:fcol) \ + $::dialog($vid:lcol) \ + $::dialog($vid:steady) $::dialog($vid:hide) \;] } proc iemgui_cancel {id} { @@ -5897,113 +5682,56 @@ proc iemgui_ok {id} { } proc pdtk_iemgui_dialog {id mainheader \ - dim_header wdt min_wdt wdt_label hgt min_hgt hgt_label \ - rng_header min_rng min_rng_label max_rng max_rng_label rng_sched \ - lin0_log1 lilo0_label lilo1_label loadbang steady num_label num \ - snd rcv \ - gui_name \ - gn_dx gn_dy \ - gn_f gn_fs \ - bcol fcol lcol} { - + dim_header wdt min_wdt wdt_label hgt min_hgt hgt_label \ + rng_header min_rng min_rng_label max_rng max_rng_label rng_sched \ + lin0_log1 lilo0_label lilo1_label loadbang steady num_label num \ + snd rcv gui_name gn_dx gn_dy gn_f gn_fs bcol fcol lcol} { set vid [string trimleft $id .] - global pd_nt global fontname fontweight - set var_iemgui_wdt [concat iemgui_wdt_$vid] - global $var_iemgui_wdt - set var_iemgui_min_wdt [concat iemgui_min_wdt_$vid] - global $var_iemgui_min_wdt - set var_iemgui_hgt [concat iemgui_hgt_$vid] - global $var_iemgui_hgt - set var_iemgui_min_hgt [concat iemgui_min_hgt_$vid] - global $var_iemgui_min_hgt - set var_iemgui_min_rng [concat iemgui_min_rng_$vid] - global $var_iemgui_min_rng - set var_iemgui_max_rng [concat iemgui_max_rng_$vid] - global $var_iemgui_max_rng - set var_iemgui_rng_sch [concat iemgui_rng_sch_$vid] - global $var_iemgui_rng_sch - set var_iemgui_lin0_log1 [concat iemgui_lin0_log1_$vid] - global $var_iemgui_lin0_log1 - set var_iemgui_lilo0 [concat iemgui_lilo0_$vid] - global $var_iemgui_lilo0 - set var_iemgui_lilo1 [concat iemgui_lilo1_$vid] - global $var_iemgui_lilo1 - set var_iemgui_loadbang [concat iemgui_loadbang_$vid] - global $var_iemgui_loadbang - set var_iemgui_num [concat iemgui_num_$vid] - global $var_iemgui_num - set var_iemgui_steady [concat iemgui_steady_$vid] - global $var_iemgui_steady - set var_iemgui_snd [concat iemgui_snd_$vid] - global $var_iemgui_snd - set var_iemgui_rcv [concat iemgui_rcv_$vid] - global $var_iemgui_rcv - set var_iemgui_gui_nam [concat iemgui_gui_nam_$vid] - global $var_iemgui_gui_nam - set var_iemgui_gn_dx [concat iemgui_gn_dx_$vid] - global $var_iemgui_gn_dx - set var_iemgui_gn_dy [concat iemgui_gn_dy_$vid] - global $var_iemgui_gn_dy - set var_iemgui_gn_f [concat iemgui_gn_f_$vid] - global $var_iemgui_gn_f - set var_iemgui_gn_fs [concat iemgui_gn_fs_$vid] - global $var_iemgui_gn_fs - set var_iemgui_l2_f1_b0 [concat iemgui_l2_f1_b0_$vid] - global $var_iemgui_l2_f1_b0 - set var_iemgui_bcol [concat iemgui_bcol_$vid] - global $var_iemgui_bcol - set var_iemgui_fcol [concat iemgui_fcol_$vid] - global $var_iemgui_fcol - set var_iemgui_lcol [concat iemgui_lcol_$vid] - global $var_iemgui_lcol - set var_iemgui_hide [concat iemgui_hide_$vid] - global $var_iemgui_hide - - set $var_iemgui_wdt $wdt - set $var_iemgui_min_wdt $min_wdt - set $var_iemgui_hgt $hgt - set $var_iemgui_min_hgt $min_hgt - set $var_iemgui_min_rng $min_rng - set $var_iemgui_max_rng $max_rng + set ::dialog($vid:wdt) $wdt + set ::dialog($vid:min_wdt) $min_wdt + set ::dialog($vid:hgt) $hgt + set ::dialog($vid:min_hgt) $min_hgt + set ::dialog($vid:min_rng) $min_rng + set ::dialog($vid:max_rng) $max_rng if ([string compare "|nbx|" $mainheader]) { - set $var_iemgui_hide 0 - set $var_iemgui_rng_sch $rng_sched + set ::dialog($vid:hide) 0 + set ::dialog($vid:rng_sch) $rng_sched } else { - set $var_iemgui_hide $rng_sched - set $var_iemgui_rng_sch 0 - } - set $var_iemgui_lin0_log1 $lin0_log1 - set $var_iemgui_lilo0 $lilo0_label - set $var_iemgui_lilo1 $lilo1_label - set $var_iemgui_loadbang $loadbang - set $var_iemgui_num $num - set $var_iemgui_steady $steady - if {$snd == "empty"} {set $var_iemgui_snd [format ""] - } else {set $var_iemgui_snd [format "%s" $snd]} - if {$rcv == "empty"} {set $var_iemgui_rcv [format ""] - } else {set $var_iemgui_rcv [format "%s" $rcv]} - if {$gui_name == "empty"} {set $var_iemgui_gui_nam [format ""] - } else {set $var_iemgui_gui_nam [format "%s" $gui_name]} + set ::dialog($vid:hide) $rng_sched + set ::dialog($vid:rng_sch) 0 + } + set ::dialog($vid:lin0_log1) $lin0_log1 + set ::dialog($vid:lilo0) $lilo0_label + set ::dialog($vid:lilo1) $lilo1_label + set ::dialog($vid:loadbang) $loadbang + set ::dialog($vid:num) $num + set ::dialog($vid:steady) $steady + if {$snd == "empty"} {set ::dialog($vid:snd) [format ""] + } else {set ::dialog($vid:snd) [format "%s" $snd]} + if {$rcv == "empty"} {set ::dialog($vid:rcv) [format ""] + } else {set ::dialog($vid:rcv) [format "%s" $rcv]} + if {$gui_name == "empty"} {set ::dialog($vid:gui_nam) [format ""] + } else {set ::dialog($vid:gui_nam) [format "%s" $gui_name]} - if {[string index [eval concat $$var_iemgui_snd] 0] == "#"} { - set $var_iemgui_snd [string replace [eval concat $$var_iemgui_snd] 0 0 $] } - if {[string index [eval concat $$var_iemgui_rcv] 0] == "#"} { - set $var_iemgui_rcv [string replace [eval concat $$var_iemgui_rcv] 0 0 $] } - if {[string index [eval concat $$var_iemgui_gui_nam] 0] == "#"} { - set $var_iemgui_gui_nam [string replace [eval concat $$var_iemgui_gui_nam] 0 0 $] } - set $var_iemgui_gn_dx $gn_dx - set $var_iemgui_gn_dy $gn_dy - set $var_iemgui_gn_f $gn_f - set $var_iemgui_gn_fs $gn_fs - - set $var_iemgui_bcol $bcol - set $var_iemgui_fcol $fcol - set $var_iemgui_lcol $lcol + if {[string index $::dialog($vid:snd) 0] == "#"} { + set ::dialog($vid:snd) [string replace $::dialog($vid:snd) 0 0 $] } + if {[string index $::dialog($vid:rcv) 0] == "#"} { + set ::dialog($vid:rcv) [string replace $::dialog($vid:rcv) 0 0 $] } + if {[string index $::dialog($vid:gui_nam) 0] == "#"} { + set ::dialog($vid:gui_nam) [string replace $::dialog($vid:gui_nam) 0 0 $] } + set ::dialog($vid:gn_dx) $gn_dx + set ::dialog($vid:gn_dy) $gn_dy + set ::dialog($vid:gn_f) $gn_f + set ::dialog($vid:gn_fs) $gn_fs + + set ::dialog($vid:bcol) $bcol + set ::dialog($vid:fcol) $fcol + set ::dialog($vid:lcol) $lcol - set $var_iemgui_l2_f1_b0 0 + set ::dialog($vid:l2_f1_b0) 0 toplevel $id -class [winfo class .] wm title $id [format "%s Properties" $mainheader] @@ -6019,21 +5747,21 @@ proc pdtk_iemgui_dialog {id mainheader \ pack $id.dim -side top match_linux_wm [list label $id.dim.head -text $dim_header] match_linux_wm [list label $id.dim.w_lab -text $wdt_label -width 6] - match_linux_wm [list entry $id.dim.w_ent -textvariable $var_iemgui_wdt -width 5] + match_linux_wm [list entry $id.dim.w_ent -textvariable ::dialog($vid:wdt) -width 5] match_linux_wm [list label $id.dim.h_lab -text $hgt_label -width 6] - match_linux_wm [list entry $id.dim.h_ent -textvariable $var_iemgui_hgt -width 5] + match_linux_wm [list entry $id.dim.h_ent -textvariable ::dialog($vid:hgt) -width 5] pack $id.dim.head -side top if (![string compare "|nbx|" $mainheader]) { - if {[eval concat $$var_iemgui_hide] == 0} { + if {$::dialog($vid:hide) == 0} { match_linux_wm [list button $id.dim.h -text {normal} -width 7 -command "iemgui_hide_frame $id"] } - if {[eval concat $$var_iemgui_hide] == 1} { + if {$::dialog($vid:hide) == 1} { match_linux_wm [list button $id.dim.h -text {frame} -width 7 -command "iemgui_hide_frame $id"] } - if {[eval concat $$var_iemgui_hide] == 2} { + if {$::dialog($vid:hide) == 2} { match_linux_wm [list button $id.dim.h -text {arrow} -width 7 -command "iemgui_hide_frame $id"] } - if {[eval concat $$var_iemgui_hide] == 3} { + if {$::dialog($vid:hide) == 3} { match_linux_wm [list button $id.dim.h -text {none} -width 7 -command "iemgui_hide_frame $id"] } match_linux_wm [list label $id.dim.dummy1 -text " " -width 1] @@ -6051,11 +5779,11 @@ proc pdtk_iemgui_dialog {id mainheader \ match_linux_wm [list label $id.rng.head -text $rng_header] match_linux_wm [list label $id.rng.min_lab -text $min_rng_label -width 6] match_linux_wm [list entry $id.rng.min_ent \ - -textvariable $var_iemgui_min_rng -width 9] + -textvariable ::dialog($vid:min_rng) -width 9] match_linux_wm [list label $id.rng.dummy1 -text " " -width 1] match_linux_wm [list label $id.rng.max_lab -text $max_rng_label -width 8] match_linux_wm [list entry $id.rng.max_ent \ - -textvariable $var_iemgui_max_rng -width 9] + -textvariable ::dialog($vid:max_rng) -width 9] if { $rng_header != "empty" } { pack $id.rng.head -side top if { $min_rng_label != "empty" } { @@ -6064,7 +5792,7 @@ proc pdtk_iemgui_dialog {id mainheader \ pack $id.rng.dummy1 \ $id.rng.max_lab $id.rng.max_ent -side left} } - if { [eval concat $$var_iemgui_lin0_log1] >= 0 || [eval concat $$var_iemgui_loadbang] >= 0 || [eval concat $$var_iemgui_num] > 0 || [eval concat $$var_iemgui_steady] >= 0 } { + if { $::dialog($vid:lin0_log1) >= 0 || $::dialog($vid:loadbang) >= 0 || $::dialog($vid:num) > 0 || $::dialog($vid:steady) >= 0 } { match_linux_wm [list label $id.space1 -text ""] pack $id.space1 -side top } @@ -6072,40 +5800,40 @@ proc pdtk_iemgui_dialog {id mainheader \ pack $id.para -side top match_linux_wm [list label $id.para.dummy2 -text "" -width 1] match_linux_wm [list label $id.para.dummy3 -text "" -width 1] - if {[eval concat $$var_iemgui_lin0_log1] == 0} { - match_linux_wm [list button $id.para.lilo -text [eval concat \ - $$var_iemgui_lilo0] -width 7 -command "iemgui_lilo $id"] + if {$::dialog($vid:lin0_log1) == 0} { + match_linux_wm [list button $id.para.lilo -text \ + $::dialog($vid:lilo0) -width 7 -command "iemgui_lilo $id"] } - if {[eval concat $$var_iemgui_lin0_log1] == 1} { - match_linux_wm [list button $id.para.lilo -text [eval concat \ - $$var_iemgui_lilo1] -width 7 -command "iemgui_lilo $id"] + if {$::dialog($vid:lin0_log1) == 1} { + match_linux_wm [list button $id.para.lilo -text \ + $::dialog($vid:lilo1) -width 7 -command "iemgui_lilo $id"] } - if {[eval concat $$var_iemgui_loadbang] == 0} { + if {$::dialog($vid:loadbang) == 0} { match_linux_wm [list button $id.para.lb -text "no init" \ -width 6 -command "iemgui_lb $id"] } - if {[eval concat $$var_iemgui_loadbang] == 1} { + if {$::dialog($vid:loadbang) == 1} { match_linux_wm [list button $id.para.lb -text "init" \ -width 6 -command "iemgui_lb $id"] } match_linux_wm [list label $id.para.num_lab -text $num_label -width 9] match_linux_wm [list entry $id.para.num_ent \ - -textvariable $var_iemgui_num -width 4] - if {[eval concat $$var_iemgui_steady] == 0} { + -textvariable ::dialog($vid:num) -width 4] + if {$::dialog($vid:steady) == 0} { match_linux_wm [list button $id.para.stdy_jmp \ -text "jump on click" -width 12 -command "iemgui_stdy_jmp $id"] } - if {[eval concat $$var_iemgui_steady] == 1} { + if {$::dialog($vid:steady) == 1} { match_linux_wm [list button $id.para.stdy_jmp \ -text "steady on click" -width 12 -command "iemgui_stdy_jmp $id"] } - if {[eval concat $$var_iemgui_lin0_log1] >= 0} { + if {$::dialog($vid:lin0_log1) >= 0} { pack $id.para.lilo -side left -expand 1} - if {[eval concat $$var_iemgui_loadbang] >= 0} { + if {$::dialog($vid:loadbang) >= 0} { pack $id.para.dummy2 $id.para.lb -side left -expand 1} - if {[eval concat $$var_iemgui_num] > 0} { + if {$::dialog($vid:num) > 0} { pack $id.para.dummy3 $id.para.num_lab $id.para.num_ent -side left -expand 1} - if {[eval concat $$var_iemgui_steady] >= 0} { + if {$::dialog($vid:steady) >= 0} { pack $id.para.dummy3 $id.para.stdy_jmp -side left -expand 1} match_linux_wm [list frame $id.spacer0 -height 4] @@ -6120,7 +5848,7 @@ proc pdtk_iemgui_dialog {id mainheader \ match_linux_wm [list label $id.s_r.send.lab \ -text " send-symbol:" -width 12 -justify right] match_linux_wm [list entry $id.s_r.send.ent \ - -textvariable $var_iemgui_snd -width 22] + -textvariable ::dialog($vid:snd) -width 22] if { $snd != "nosndno" } { pack $id.s_r.send.lab $id.s_r.send.ent -side left -pady 3 } @@ -6129,15 +5857,15 @@ proc pdtk_iemgui_dialog {id mainheader \ match_linux_wm [list label $id.s_r.receive.lab \ -text "receive-symbol:" -width 12 -justify right] match_linux_wm [list entry $id.s_r.receive.ent \ - -textvariable $var_iemgui_rcv -width 22] + -textvariable ::dialog($vid:rcv) -width 22] if { $rcv != "norcvno" } { pack $id.s_r.receive.lab $id.s_r.receive.ent -side left } # get the current font name from the int given from C-space (gn_f) set current_font $fontname - if {[eval concat $$var_iemgui_gn_f] == 1} \ + if {$::dialog($vid:gn_f) == 1} \ { set current_font "Helvetica" } - if {[eval concat $$var_iemgui_gn_f] == 2} \ + if {$::dialog($vid:gn_f) == 2} \ { set current_font "Times" } match_linux_wm [list frame $id.spacer1 -height 7] @@ -6148,7 +5876,7 @@ proc pdtk_iemgui_dialog {id mainheader \ -font highlight_font] pack $id.label -side top -fill x -padx 3 -ipadx 3 -ipady 3 match_linux_wm [list entry $id.label.name_entry \ - -textvariable $var_iemgui_gui_nam -width 30 \ + -textvariable ::dialog($vid:gui_nam) -width 30 \ -font [list $current_font 9 $fontweight]] pack $id.label.name_entry -side top -expand yes -fill both -padx 5 -pady 3 @@ -6156,11 +5884,11 @@ proc pdtk_iemgui_dialog {id mainheader \ pack $id.label.xy -side top match_linux_wm [list label $id.label.xy.x_lab -text "x offset" -width 6] match_linux_wm [list entry $id.label.xy.x_entry \ - -textvariable $var_iemgui_gn_dx -width 5] + -textvariable ::dialog($vid:gn_dx) -width 5] match_linux_wm [list label $id.label.xy.dummy1 -text " " -width 2] match_linux_wm [list label $id.label.xy.y_lab -text "y offset" -width 6] match_linux_wm [list entry $id.label.xy.y_entry \ - -textvariable $var_iemgui_gn_dy -width 5] + -textvariable ::dialog($vid:gn_dy) -width 5] pack $id.label.xy.x_lab $id.label.xy.x_entry $id.label.xy.dummy1 \ $id.label.xy.y_lab $id.label.xy.y_entry -side left -anchor e match_linux_wm [list label $id.label.fontpopup_label -text $current_font \ @@ -6168,7 +5896,7 @@ proc pdtk_iemgui_dialog {id mainheader \ pack $id.label.fontpopup_label -side left -anchor w -expand yes -fill x -padx 3 match_linux_wm [list label $id.label.fontsize_label -text "size" -width 4] match_linux_wm [list entry $id.label.fontsize_entry \ - -textvariable $var_iemgui_gn_fs -width 5] + -textvariable ::dialog($vid:gn_fs) -width 5] pack $id.label.fontsize_entry $id.label.fontsize_label \ -side right -anchor e -padx 5 -pady 3 match_linux_wm [list menu $id.popup -tearoff 0] @@ -6197,12 +5925,12 @@ proc pdtk_iemgui_dialog {id mainheader \ match_linux_wm [list frame $id.colors.select] pack $id.colors.select -side top match_linux_wm [list radiobutton $id.colors.select.radio0 -value 0 -variable \ - $var_iemgui_l2_f1_b0 -text "background" -width 10] + ::dialog($vid:l2_f1_b0) -text "background" -width 10] match_linux_wm [list radiobutton $id.colors.select.radio1 -value 1 -variable \ - $var_iemgui_l2_f1_b0 -text "front" -width 5] + ::dialog($vid:l2_f1_b0) -text "front" -width 5] match_linux_wm [list radiobutton $id.colors.select.radio2 -value 2 -variable \ - $var_iemgui_l2_f1_b0 -text "label" -width 5] - if { [eval concat $$var_iemgui_fcol] >= 0 } { + ::dialog($vid:l2_f1_b0) -text "label" -width 5] + if { $::dialog($vid:fcol) >= 0 } { pack $id.colors.select.radio0 $id.colors.select.radio1 \ $id.colors.select.radio2 -side left } else { @@ -6217,26 +5945,26 @@ proc pdtk_iemgui_dialog {id mainheader \ pack $id.colors.sections.but -side left -anchor w -padx 3 -pady 5 \ -expand yes -fill x bind $id <Alt-KeyPress-s> [format "iemgui_choose_col_bkfrlb %s" $id] - if { [eval concat $$var_iemgui_fcol] >= 0 } { + if { $::dialog($vid:fcol) >= 0 } { match_linux_wm [list label $id.colors.sections.fr_bk -text "o=||=o" -width 6 \ - -background [format "#%6.6x" [eval concat $$var_iemgui_bcol]] \ - -activebackground [format "#%6.6x" [eval concat $$var_iemgui_bcol]] \ - -foreground [format "#%6.6x" [eval concat $$var_iemgui_fcol]] \ - -activeforeground [format "#%6.6x" [eval concat $$var_iemgui_fcol]] \ + -background [format "#%6.6x" $::dialog($vid:bcol)] \ + -activebackground [format "#%6.6x" $::dialog($vid:bcol)] \ + -foreground [format "#%6.6x" $::dialog($vid:fcol)] \ + -activeforeground [format "#%6.6x" $::dialog($vid:fcol)] \ -font [list $current_font 9 $fontweight] -padx 2 -pady 2 -relief ridge] } else { match_linux_wm [list label $id.colors.sections.fr_bk -text "o=||=o" -width 6 \ - -background [format "#%6.6x" [eval concat $$var_iemgui_bcol]] \ - -activebackground [format "#%6.6x" [eval concat $$var_iemgui_bcol]] \ - -foreground [format "#%6.6x" [eval concat $$var_iemgui_bcol]] \ - -activeforeground [format "#%6.6x" [eval concat $$var_iemgui_bcol]] \ + -background [format "#%6.6x" $::dialog($vid:bcol)] \ + -activebackground [format "#%6.6x" $::dialog($vid:bcol)] \ + -foreground [format "#%6.6x" $::dialog($vid:bcol)] \ + -activeforeground [format "#%6.6x" $::dialog($vid:bcol)] \ -font [list $current_font 9 $fontweight] -padx 2 -pady 2 -relief ridge] } match_linux_wm [list label $id.colors.sections.lb_bk -text "testlabel" -width 9 \ - -background [format "#%6.6x" [eval concat $$var_iemgui_bcol]] \ - -activebackground [format "#%6.6x" [eval concat $$var_iemgui_bcol]] \ - -foreground [format "#%6.6x" [eval concat $$var_iemgui_lcol]] \ - -activeforeground [format "#%6.6x" [eval concat $$var_iemgui_lcol]] \ + -background [format "#%6.6x" $::dialog($vid:bcol)] \ + -activebackground [format "#%6.6x" $::dialog($vid:bcol)] \ + -foreground [format "#%6.6x" $::dialog($vid:lcol)] \ + -activeforeground [format "#%6.6x" $::dialog($vid:lcol)] \ -font [list $current_font 9 $fontweight] -padx 2 -pady 2 -relief ridge] pack $id.colors.sections.lb_bk $id.colors.sections.fr_bk \ -side right -anchor e -expand yes -fill both -pady 7 -padx 3 @@ -6329,33 +6057,15 @@ proc pdtk_iemgui_dialog {id mainheader \ proc array_apply {id canvas} { # strip "." from the TK id to make a variable name suffix set vid [string trimleft $id .] - # for each variable, make a local variable to hold its name... - set var_array_name [concat array_name_$vid] - global $var_array_name - set var_array_n [concat array_n_$vid] - global $var_array_n - set var_array_saveit [concat array_saveit_$vid] - global $var_array_saveit - set var_array_drawasrects [concat array_drawasrects_$vid] - global $var_array_drawasrects - set var_array_joc [concat array_joc_$vid] - global $var_array_joc - set var_array_otherflag [concat array_otherflag_$vid] - global $var_array_otherflag - set var_array_fill [concat array_fill_$vid] - global $var_array_fill - set var_array_outline [concat array_outline_$vid] - global $var_array_outline - - set mofo [eval concat $$var_array_name] + set mofo $::dialog($vid:name) if {[string index $mofo 0] == "$"} { set mofo [string replace $mofo 0 0 #] } - set saveit [eval concat $$var_array_saveit] - set drawasrects [eval concat $$var_array_drawasrects] - set joc [eval concat $$var_array_joc] - set fill [eval concat $$var_array_fill] - set outline [eval concat $$var_array_outline] + set saveit $::dialog($vid:saveit) + set drawasrects $::dialog($vid:drawasrects) + set joc $::dialog($vid:joc) + set fill $::dialog($vid:fill) + set outline $::dialog($vid:outline) # puts stderr "...[expr $saveit + 2 * $drawasrects + 16 * $joc]" @@ -6363,9 +6073,9 @@ proc array_apply {id canvas} { set ydraw [expr int([$canvas.c canvasy 0])] pd [concat $id arraydialog $mofo \ - [eval concat $$var_array_n] \ + $::dialog($vid:n) \ [expr $saveit + 2 * $drawasrects + 16 * $joc] \ - [eval concat $$var_array_otherflag] \ + $::dialog($vid:otherflag) \ $xdraw \ $ydraw \ $fill $outline \ @@ -6452,36 +6162,16 @@ proc pdtk_array_dialog {gfxstub name n flags newone canvas fill outline} { if {[catch { - set vid [string trimleft $gfxstub .] - set var_array_canvas [concat array_canvas_$vid] - global $var_array_canvas - set var_array_name [concat array_name_$vid] - global $var_array_name - set var_array_n [concat array_n_$vid] - global $var_array_n - set var_array_saveit [concat array_saveit_$vid] - global $var_array_saveit - set var_array_drawasrects [concat array_drawasrects_$vid] - global $var_array_drawasrects - set var_array_joc [concat array_joc_$vid] - global $var_array_joc - set var_array_otherflag [concat array_otherflag_$vid] - global $var_array_otherflag - set var_array_fill [concat array_fill_$vid] - global $var_array_fill - set var_array_outline [concat array_outline_$vid] - global $var_array_outline - - set $var_array_canvas $canvas - set $var_array_name $name - set $var_array_n $n - set $var_array_saveit [expr ( $flags & 1 ) != 0] - set $var_array_drawasrects [expr ( $flags & 6 ) >> 1] - set $var_array_joc [expr ( $flags & 16 ) != 0] - set $var_array_otherflag 0 - set $var_array_fill $fill - set $var_array_outline $outline + set ::dialog($vid:canvas) $canvas + set ::dialog($vid:name) $name + set ::dialog($vid:n) $n + set ::dialog($vid:saveit) [expr ( $flags & 1 ) != 0] + set ::dialog($vid:drawasrects) [expr ( $flags & 6 ) >> 1] + set ::dialog($vid:joc) [expr ( $flags & 16 ) != 0] + set ::dialog($vid:otherflag) 0 + set ::dialog($vid:fill) $fill + set ::dialog($vid:outline) $outline set multiarray_graph 0 @@ -6553,13 +6243,13 @@ if {[catch { match_linux_wm [list frame $id.name] pack $id.name -side top -pady 3 match_linux_wm [list label $id.name.label -text "name"] - match_linux_wm [list entry $id.name.entry -textvariable $var_array_name] + match_linux_wm [list entry $id.name.entry -textvariable ::dialog($vid:name)] pack $id.name.label $id.name.entry -side left -padx 3 -pady 3 match_linux_wm [list frame $id.n] pack $id.n -side top match_linux_wm [list label $id.n.label -text " size"] - match_linux_wm [list entry $id.n.entry -textvariable $var_array_n] + match_linux_wm [list entry $id.n.entry -textvariable ::dialog($vid:n)] pack $id.n.label $id.n.entry -side left -padx 3 -pady 6 # hack so I don't have to rename everything @@ -6568,10 +6258,10 @@ if {[catch { pack $id match_linux_wm [list checkbutton $id.saveme -text {save contents} \ - -variable $var_array_saveit] + -variable ::dialog($vid:saveit)] pack $id.saveme -side top -pady 1 -anchor w match_linux_wm [list checkbutton $id.joc -text {jump on click} \ - -variable $var_array_joc] + -variable ::dialog($vid:joc)] pack $id.joc -side top -pady 1 -anchor w set ffr $id.fillframe @@ -6583,19 +6273,19 @@ if {[catch { match_linux_wm [list label $id.drawasrects.l -text "draw as:"] pack $id.drawasrects.l -side top -pady 3 -anchor w match_linux_wm [list radiobutton $id.drawasrects.drawasrects0 -value 0 \ - -variable $var_array_drawasrects \ + -variable ::dialog($vid:drawasrects) \ -text "points" \ -command "array_update_drawas 0 $ffr $ofr $olabel"] match_linux_wm [list radiobutton $id.drawasrects.drawasrects1 -value 1 \ - -variable $var_array_drawasrects \ + -variable ::dialog($vid:drawasrects) \ -text "polygon" \ -command "array_update_drawas 1 $ffr $ofr $olabel"] #match_linux_wm [list radiobutton $id.drawasrects.drawasrects2 -value 2 \ - # -variable $var_array_drawasrects \ + # -variable ::dialog($vid:drawasrects) \ # -text "bezier curve" \ # -command "array_update_drawas 2 $ffr $ofr $olabel"] match_linux_wm [list radiobutton $id.drawasrects.drawasrects3 -value 3 \ - -variable $var_array_drawasrects \ + -variable ::dialog($vid:drawasrects) \ -text "bar graph" \ -command "array_update_drawas 3 $ffr $ofr $olabel"] pack $id.drawasrects.drawasrects0 -side top -anchor w @@ -6609,7 +6299,7 @@ if {[catch { button $f.b -relief raised -padx 7 -pady 0 \ -background [set $attr] -activebackground [set $attr] \ -command \ - "array_choosecolor $f.b $mytoplevel [set var_array_$attr]" + "array_choosecolor $f.b $mytoplevel $::dialog($vid:$attr)" pack $f.b -side left -anchor w match_linux_wm [list label $f.l -text "$attr color"] pack $f.l -side left -anchor w @@ -6617,16 +6307,16 @@ if {[catch { bind $f.l <Leave> "$f.l configure -foreground black" bind $f.l <1> "$f.b invoke" } - array_update_drawas [set $var_array_drawasrects] $ffr $ofr $olabel + array_update_drawas [set ::dialog($vid:drawasrects)] $ffr $ofr $olabel if {$newone != 0} { match_linux_wm [list frame $id.radio] pack $id.radio -side top -pady 3 -anchor w match_linux_wm [list radiobutton $id.radio.radio0 -value 0 \ - -variable $var_array_otherflag \ + -variable ::dialog($vid:otherflag) \ -text "in new graph"] match_linux_wm [list radiobutton $id.radio.radio1 -value 1 \ - -variable $var_array_otherflag \ + -variable ::dialog($vid:otherflag) \ -text "in last graph"] pack $id.radio.radio0 -side top -anchor w pack $id.radio.radio1 -side top -anchor w @@ -6640,7 +6330,7 @@ if {[catch { -command "array_viewlist $gfxstub $mytoplevel"] pack $id.listview -side right -padx 3 -pady 3 match_linux_wm [list checkbutton $id.deleteme -text {delete me} \ - -variable $var_array_otherflag] + -variable ::dialog($vid:otherflag)] if {$multiarray_graph} { pack $id.deleteme -side left } @@ -6669,7 +6359,7 @@ if {[catch { $id.name.entry select adjust end } focus $id.name.entry -} fid]} {pdtk_post "array dialog error: $fid\n"} +}]} {pdtk_post "array dialog error: $::errorInfo\n"} } ############ pdtk_canvas_dialog -- dialog window for canvass ######### @@ -6682,51 +6372,22 @@ proc canvas_apply {id} { foreach tab [$id.n tabs] { set arraytab "" if {[regexp [list $id\.n(\.gfxstub.+)] $tab - arrayid]} { - set arrayvid [string trimleft $arrayid .] - set var_array_canvas [concat array_canvas_$arrayvid] - global $var_array_canvas - array_apply $arrayid [set $var_array_canvas] + set arrayvid [string trimleft $arrayid .] + array_apply $arrayid [set ::dialog($arrayvid:canvas)] + } } - - -} - set var_canvas_xscale [concat canvas_xscale_$vid] - global $var_canvas_xscale - set var_canvas_yscale [concat canvas_yscale_$vid] - global $var_canvas_yscale - set var_canvas_graphme [concat canvas_graphme_$vid] - global $var_canvas_graphme - set var_canvas_hidetext [concat canvas_hidetext_$vid] - global $var_canvas_hidetext - set var_canvas_x1 [concat canvas_x1_$vid] - global $var_canvas_x1 - set var_canvas_x2 [concat canvas_x2_$vid] - global $var_canvas_x2 - set var_canvas_xpix [concat canvas_xpix_$vid] - global $var_canvas_xpix - set var_canvas_xmargin [concat canvas_xmargin_$vid] - global $var_canvas_xmargin - set var_canvas_y1 [concat canvas_y1_$vid] - global $var_canvas_y1 - set var_canvas_y2 [concat canvas_y2_$vid] - global $var_canvas_y2 - set var_canvas_ypix [concat canvas_ypix_$vid] - global $var_canvas_ypix - set var_canvas_ymargin [concat canvas_ymargin_$vid] - global $var_canvas_ymargin - pd [concat $id donecanvasdialog \ - [eval concat $$var_canvas_xscale] \ - [eval concat $$var_canvas_yscale] \ - [expr [eval concat $$var_canvas_graphme]+2*[eval concat $$var_canvas_hidetext]] \ - [eval concat $$var_canvas_x1] \ - [eval concat $$var_canvas_y1] \ - [eval concat $$var_canvas_x2] \ - [eval concat $$var_canvas_y2] \ - [eval concat $$var_canvas_xpix] \ - [eval concat $$var_canvas_ypix] \ - [eval concat $$var_canvas_xmargin] \ - [eval concat $$var_canvas_ymargin] \ + $::dialog($vid:xscale) \ + $::dialog($vid:yscale) \ + [expr $::dialog($vid:graphme)+2*$::dialog($vid:hidetext)] \ + $::dialog($vid:x1) \ + $::dialog($vid:y1) \ + $::dialog($vid:x2) \ + $::dialog($vid:y2) \ + $::dialog($vid:xpix) \ + $::dialog($vid:ypix) \ + $::dialog($vid:xmargin) \ + $::dialog($vid:ymargin) \ \;] } @@ -6742,37 +6403,8 @@ proc canvas_ok {id} { proc canvas_checkcommand {id} { set vid [string trimleft $id .] - # puts stderr [concat canvas_checkcommand $id $vid] - - set var_canvas_xscale [concat canvas_xscale_$vid] - global $var_canvas_xscale - set var_canvas_yscale [concat canvas_yscale_$vid] - global $var_canvas_yscale - set var_canvas_graphme [concat canvas_graphme_$vid] - global $var_canvas_graphme - set var_canvas_hidetext [concat canvas_hidetext_$vid] - global $var_canvas_hidetext - set var_canvas_x1 [concat canvas_x1_$vid] - global $var_canvas_x1 - set var_canvas_x2 [concat canvas_x2_$vid] - global $var_canvas_x2 - set var_canvas_xpix [concat canvas_xpix_$vid] - global $var_canvas_xpix - set var_canvas_xmargin [concat canvas_xmargin_$vid] - global $var_canvas_xmargin - set var_canvas_y1 [concat canvas_y1_$vid] - global $var_canvas_y1 - set var_canvas_y2 [concat canvas_y2_$vid] - global $var_canvas_y2 - set var_canvas_ypix [concat canvas_ypix_$vid] - global $var_canvas_ypix - set var_canvas_ymargin [concat canvas_ymargin_$vid] - global $var_canvas_ymargin - - set id $id.n.canvasdialog - - if { [eval concat $$var_canvas_graphme] != 0 } { + if { $::dialog($vid:graphme) != 0 } { $id.hidetext configure -state normal $id.x.f1.entry1 configure -state normal $id.x.f1.entry2 configure -state normal @@ -6784,24 +6416,24 @@ proc canvas_checkcommand {id} { $id.y.f2.entry4 configure -state normal $id.xscale.entry configure -state disabled $id.yscale.entry configure -state disabled - set x1 [eval concat $$var_canvas_x1] - set y1 [eval concat $$var_canvas_y1] - set x2 [eval concat $$var_canvas_x2] - set y2 [eval concat $$var_canvas_y2] - if { [eval concat $$var_canvas_x1] == 0 && \ - [eval concat $$var_canvas_y1] == 0 && \ - [eval concat $$var_canvas_x2] == 0 && \ - [eval concat $$var_canvas_y2] == 0 } { - set $var_canvas_x2 1 - set $var_canvas_y2 1 + set x1 $::dialog($vid:x1) + set y1 $::dialog($vid:y1) + set x2 $::dialog($vid:x2) + set y2 $::dialog($vid:y2) + if { $::dialog($vid:x1) == 0 && \ + $::dialog($vid:y1) == 0 && \ + $::dialog($vid:x2) == 0 && \ + $::dialog($vid:y2) == 0 } { + set ::dialog($vid:x2) 1 + set ::dialog($vid:y2) 1 } - if { [eval concat $$var_canvas_xpix] == 0 } { - set $var_canvas_xpix 85 - set $var_canvas_xmargin 100 + if { $::dialog($vid:xpix) == 0 } { + set ::dialog($vid:xpix) 85 + set ::dialog($vid:xmargin) 100 } - if { [eval concat $$var_canvas_ypix] == 0 } { - set $var_canvas_ypix 60 - set $var_canvas_ymargin 100 + if { $::dialog($vid:ypix) == 0 } { + set ::dialog($vid:ypix) 60 + set ::dialog($vid:ymargin) 100 } } else { $id.hidetext configure -state disabled @@ -6815,14 +6447,14 @@ proc canvas_checkcommand {id} { $id.y.f2.entry4 configure -state disabled $id.xscale.entry configure -state normal $id.yscale.entry configure -state normal - if { [eval concat $$var_canvas_xscale] == 0 } { - set $var_canvas_xscale 1 + if { $::dialog($vid:xscale) == 0 } { + set ::dialog($vid:xscale) 1 } - if { [eval concat $$var_canvas_yscale] == 0 } { - set $var_canvas_yscale -1 + if { $::dialog($vid:yscale) == 0 } { + set ::dialog($vid:yscale) -1 } - if { [eval concat $$var_canvas_hidetext] == 1 } { - set $var_canvas_hidetext 0 + if { $::dialog($vid:hidetext) == 1 } { + set ::dialog($vid:hidetext) 0 } } } @@ -6852,44 +6484,18 @@ proc pdtk_canvas_dialog_undo_update {name x y} { proc pdtk_canvas_dialog {id xscale yscale graphme x1 y1 x2 y2 \ xpix ypix xmargin ymargin} { set vid [string trimleft $id .] - #puts stderr $id - set var_canvas_xscale [concat canvas_xscale_$vid] - global $var_canvas_xscale - set var_canvas_yscale [concat canvas_yscale_$vid] - global $var_canvas_yscale - set var_canvas_graphme [concat canvas_graphme_$vid] - global $var_canvas_graphme - set var_canvas_hidetext [concat canvas_hidetext_$vid] - global $var_canvas_hidetext - set var_canvas_x1 [concat canvas_x1_$vid] - global $var_canvas_x1 - set var_canvas_x2 [concat canvas_x2_$vid] - global $var_canvas_x2 - set var_canvas_xpix [concat canvas_xpix_$vid] - global $var_canvas_xpix - set var_canvas_xmargin [concat canvas_xmargin_$vid] - global $var_canvas_xmargin - set var_canvas_y1 [concat canvas_y1_$vid] - global $var_canvas_y1 - set var_canvas_y2 [concat canvas_y2_$vid] - global $var_canvas_y2 - set var_canvas_ypix [concat canvas_ypix_$vid] - global $var_canvas_ypix - set var_canvas_ymargin [concat canvas_ymargin_$vid] - global $var_canvas_ymargin - - set $var_canvas_xscale $xscale - set $var_canvas_yscale $yscale - set $var_canvas_graphme [expr ($graphme!=0)?1:0] - set $var_canvas_hidetext [expr ($graphme&2)?1:0] - set $var_canvas_x1 $x1 - set $var_canvas_y1 $y1 - set $var_canvas_x2 $x2 - set $var_canvas_y2 $y2 - set $var_canvas_xpix $xpix - set $var_canvas_ypix $ypix - set $var_canvas_xmargin $xmargin - set $var_canvas_ymargin $ymargin + set ::dialog($vid:xscale) $xscale + set ::dialog($vid:yscale) $yscale + set ::dialog($vid:graphme) [expr ($graphme!=0)?1:0] + set ::dialog($vid:hidetext) [expr ($graphme&2)?1:0] + set ::dialog($vid:x1) $x1 + set ::dialog($vid:y1) $y1 + set ::dialog($vid:x2) $x2 + set ::dialog($vid:y2) $y2 + set ::dialog($vid:xpix) $xpix + set ::dialog($vid:ypix) $ypix + set ::dialog($vid:xmargin) $xmargin + set ::dialog($vid:ymargin) $ymargin toplevel $id -class [winfo class .] wm title $id {Canvas Properties} @@ -6929,24 +6535,24 @@ proc pdtk_canvas_dialog {id xscale yscale graphme x1 y1 x2 y2 \ pack $id.xscale -side top -pady 3 match_linux_wm [list label $id.xscale.label -text "X units per pixel"] match_linux_wm [list entry $id.xscale.entry \ - -textvariable $var_canvas_xscale -width 10] + -textvariable ::dialog($vid:xscale) -width 10] pack $id.xscale.label $id.xscale.entry -side left -pady 3 -padx 3 match_linux_wm [list frame $id.yscale] pack $id.yscale -side top match_linux_wm [list label $id.yscale.label -text "Y units per pixel"] match_linux_wm [list entry $id.yscale.entry \ - -textvariable $var_canvas_yscale -width 10] + -textvariable ::dialog($vid:yscale) -width 10] pack $id.yscale.label $id.yscale.entry -side left -padx 3 match_linux_wm [list checkbutton $id.graphme -text {graph on parent} \ - -variable $var_canvas_graphme \ + -variable ::dialog($vid:graphme) \ -command [concat canvas_checkcommand $wid]] pack $id.graphme -side top match_linux_wm [list checkbutton $id.hidetext \ -text {hide object name and arguments} \ - -variable $var_canvas_hidetext \ + -variable ::dialog($vid:hidetext) \ -command [concat canvas_checkcommand $wid]] pack $id.hidetext -side top @@ -6958,16 +6564,16 @@ proc pdtk_canvas_dialog {id xscale yscale graphme x1 y1 x2 y2 \ pack $id.x.f2 -side top -fill x match_linux_wm [list label $id.x.f1.label1 -text "from"] match_linux_wm [list entry $id.x.f1.entry1 \ - -textvariable $var_canvas_x1 -width 6] + -textvariable ::dialog($vid:x1) -width 6] match_linux_wm [list label $id.x.f1.label2 -text "to"] match_linux_wm [list entry $id.x.f1.entry2 \ - -textvariable $var_canvas_x2 -width 6] + -textvariable ::dialog($vid:x2) -width 6] match_linux_wm [list label $id.x.f2.label3 -text "size"] match_linux_wm [list entry $id.x.f2.entry3 \ - -textvariable $var_canvas_xpix -width 4] + -textvariable ::dialog($vid:xpix) -width 4] match_linux_wm [list label $id.x.f2.label4 -text "margin"] match_linux_wm [list entry $id.x.f2.entry4 \ - -textvariable $var_canvas_xmargin -width 4] + -textvariable ::dialog($vid:xmargin) -width 4] pack $id.x.f1.label1 $id.x.f1.entry1 \ $id.x.f1.label2 $id.x.f1.entry2 \ -side left -pady 3 -padx 3 -expand 1 @@ -6987,16 +6593,16 @@ proc pdtk_canvas_dialog {id xscale yscale graphme x1 y1 x2 y2 \ pack $id.y -side top match_linux_wm [list label $id.y.f1.label1 -text "from"] match_linux_wm [list entry $id.y.f1.entry1 \ - -textvariable $var_canvas_y1 -width 6] + -textvariable ::dialog($vid:y1) -width 6] match_linux_wm [list label $id.y.f1.label2 -text "to"] match_linux_wm [list entry $id.y.f1.entry2 \ - -textvariable $var_canvas_y2 -width 6] + -textvariable ::dialog($vid:y2) -width 6] match_linux_wm [list label $id.y.f2.label3 -text "size"] match_linux_wm [list entry $id.y.f2.entry3 \ - -textvariable $var_canvas_ypix -width 4] + -textvariable ::dialog($vid:ypix) -width 4] match_linux_wm [list label $id.y.f2.label4 -text "margin"] match_linux_wm [list entry $id.y.f2.entry4 \ - -textvariable $var_canvas_ymargin -width 4] + -textvariable ::dialog($vid:ymargin) -width 4] pack $id.y.f1.label1 $id.y.f1.entry1 \ $id.y.f1.label2 $id.y.f1.entry2 \ -side left -pady 3 -padx 3 -expand 1