# For information on usage and redistribution, and for a DISCLAIMER OF ALL # WARRANTIES, see the file, "LICENSE.txt," in this distribution. # Copyright (c) 1997-2009 Miller Puckette. package provide dialog_iemgui 0.1 namespace eval ::dialog_iemgui:: { variable define_min_flashhold 50 variable define_min_flashbreak 10 variable define_min_fontsize 4 namespace export pdtk_iemgui_dialog } # TODO convert Init/No Init and Steady on click/Jump on click to checkbuttons proc ::dialog_iemgui::clip_dim {mytoplevel} { set vid [string trimleft $mytoplevel .] 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 if {[eval concat $$var_iemgui_wdt] < [eval concat $$var_iemgui_min_wdt]} { set $var_iemgui_wdt [eval concat $$var_iemgui_min_wdt] $mytoplevel.dim.w_ent configure -textvariable $var_iemgui_wdt } if {[eval concat $$var_iemgui_hgt] < [eval concat $$var_iemgui_min_hgt]} { set $var_iemgui_hgt [eval concat $$var_iemgui_min_hgt] $mytoplevel.dim.h_ent configure -textvariable $var_iemgui_hgt } } proc ::dialog_iemgui::clip_num {mytoplevel} { set vid [string trimleft $mytoplevel .] set var_iemgui_num [concat iemgui_num_$vid] global $var_iemgui_num if {[eval concat $$var_iemgui_num] > 2000} { set $var_iemgui_num 2000 $mytoplevel.para.num_ent configure -textvariable $var_iemgui_num } if {[eval concat $$var_iemgui_num] < 1} { set $var_iemgui_num 1 $mytoplevel.para.num_ent configure -textvariable $var_iemgui_num } } proc ::dialog_iemgui::sched_rng {mytoplevel} { set vid [string trimleft $mytoplevel .] 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 variable define_min_flashhold variable 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 $mytoplevel.rng.max_ent configure -textvariable $var_iemgui_max_rng $mytoplevel.rng.min_ent configure -textvariable $var_iemgui_min_rng } if {[eval concat $$var_iemgui_max_rng] < $define_min_flashhold} { set $var_iemgui_max_rng $iemgui_define_min_flashhold $mytoplevel.rng.max_ent configure -textvariable $var_iemgui_max_rng } if {[eval concat $$var_iemgui_min_rng] < $define_min_flashbreak} { set $var_iemgui_min_rng $define_min_flashbreak $mytoplevel.rng.min_ent configure -textvariable $var_iemgui_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 $mytoplevel.rng.min_ent configure -textvariable $var_iemgui_min_rng } } } proc ::dialog_iemgui::verify_rng {mytoplevel} { set vid [string trimleft $mytoplevel .] 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 $mytoplevel.rng.max_ent configure -textvariable $var_iemgui_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] $mytoplevel.rng.min_ent configure -textvariable $var_iemgui_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] $mytoplevel.rng.max_ent configure -textvariable $var_iemgui_max_rng } } } } proc ::dialog_iemgui::clip_fontsize {mytoplevel} { set vid [string trimleft $mytoplevel .] set var_iemgui_gn_fs [concat iemgui_gn_fs_$vid] global $var_iemgui_gn_fs variable define_min_fontsize if {[eval concat $$var_iemgui_gn_fs] < $define_min_fontsize} { set $var_iemgui_gn_fs $define_min_fontsize $mytoplevel.label.fs_ent configure -textvariable $var_iemgui_gn_fs } } proc ::dialog_iemgui::set_col_example {mytoplevel} { set vid [string trimleft $mytoplevel .] 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 $mytoplevel.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]] if { [eval concat $$var_iemgui_fcol] >= 0 } { $mytoplevel.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]] } else { $mytoplevel.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]]} } proc ::dialog_iemgui::preset_col {mytoplevel presetcol} { set vid [string trimleft $mytoplevel .] 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 } ::dialog_iemgui::set_col_example $mytoplevel } proc ::dialog_iemgui::choose_col_bkfrlb {mytoplevel} { set vid [string trimleft $mytoplevel .] 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 [expr [eval concat $$var_iemgui_bcol] & 0xFCFCFC] set helpstring [tk_chooseColor -title [_ "Background color"] -initialcolor [format "#%6.6x" [eval concat $$var_iemgui_bcol]]] if { $helpstring ne "" } { set $var_iemgui_bcol [string replace $helpstring 0 0 "0x"] set $var_iemgui_bcol [expr [eval concat $$var_iemgui_bcol] & 0xFCFCFC] } } if {[eval concat $$var_iemgui_l2_f1_b0] == 1} { set $var_iemgui_fcol [expr [eval concat $$var_iemgui_fcol] & 0xFCFCFC] set helpstring [tk_chooseColor -title [_ "Foreground color"] -initialcolor [format "#%6.6x" [eval concat $$var_iemgui_fcol]]] if { $helpstring ne "" } { set $var_iemgui_fcol [string replace $helpstring 0 0 "0x"] set $var_iemgui_fcol [expr [eval concat $$var_iemgui_fcol] & 0xFCFCFC] } } if {[eval concat $$var_iemgui_l2_f1_b0] == 2} { set $var_iemgui_lcol [expr [eval concat $$var_iemgui_lcol] & 0xFCFCFC] set helpstring [tk_chooseColor -title [_ "Label color"] -initialcolor [format "#%6.6x" [eval concat $$var_iemgui_lcol]]] if { $helpstring ne "" } { set $var_iemgui_lcol [string replace $helpstring 0 0 "0x"] set $var_iemgui_lcol [expr [eval concat $$var_iemgui_lcol] & 0xFCFCFC] } } ::dialog_iemgui::set_col_example $mytoplevel } proc ::dialog_iemgui::lilo {mytoplevel} { set vid [string trimleft $mytoplevel .] 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 ::dialog_iemgui::sched_rng $mytoplevel if {[eval concat $$var_iemgui_lin0_log1] == 0} { set $var_iemgui_lin0_log1 1 $mytoplevel.para.lilo configure -text [eval concat $$var_iemgui_lilo1] ::dialog_iemgui::verify_rng $mytoplevel ::dialog_iemgui::sched_rng $mytoplevel } else { set $var_iemgui_lin0_log1 0 $mytoplevel.para.lilo configure -text [eval concat $$var_iemgui_lilo0] } } proc ::dialog_iemgui::toggle_font {mytoplevel gn_f} { set vid [string trimleft $mytoplevel .] set var_iemgui_gn_f [concat iemgui_gn_f_$vid] global $var_iemgui_gn_f set $var_iemgui_gn_f $gn_f switch -- $gn_f { 0 { set current_font $::font_family} 1 { set current_font "Helvetica" } 2 { set current_font "Times" } } set current_font_spec "{$current_font} 16 $::font_weight" $mytoplevel.label.fontpopup_label configure -text $current_font \ -font $current_font_spec $mytoplevel.label.name_entry configure -font $current_font_spec $mytoplevel.colors.sections.fr_bk configure -font $current_font_spec $mytoplevel.colors.sections.lb_bk configure -font $current_font_spec } proc ::dialog_iemgui::lb {mytoplevel} { set vid [string trimleft $mytoplevel .] set var_iemgui_loadbang [concat iemgui_loadbang_$vid] global $var_iemgui_loadbang if {[eval concat $$var_iemgui_loadbang] == 0} { set $var_iemgui_loadbang 1 $mytoplevel.para.lb configure -text [_ "Init"] } else { set $var_iemgui_loadbang 0 $mytoplevel.para.lb configure -text [_ "No init"] } } proc ::dialog_iemgui::stdy_jmp {mytoplevel} { set vid [string trimleft $mytoplevel .] set var_iemgui_steady [concat iemgui_steady_$vid] global $var_iemgui_steady if {[eval concat $$var_iemgui_steady]} { set $var_iemgui_steady 0 $mytoplevel.para.stdy_jmp configure -text [_ "Jump on click"] } else { set $var_iemgui_steady 1 $mytoplevel.para.stdy_jmp configure -text [_ "Steady on click"] } } proc ::dialog_iemgui::apply {mytoplevel} { set vid [string trimleft $mytoplevel .] 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_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 ::dialog_iemgui::clip_dim $mytoplevel ::dialog_iemgui::clip_num $mytoplevel ::dialog_iemgui::sched_rng $mytoplevel ::dialog_iemgui::verify_rng $mytoplevel ::dialog_iemgui::sched_rng $mytoplevel ::dialog_iemgui::clip_fontsize $mytoplevel 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" } else { set hhhgui_nam [eval concat $$var_iemgui_gui_nam]} if {[string index $hhhsnd 0] == "$"} { set hhhsnd [string replace $hhhsnd 0 0 #] } if {[string index $hhhrcv 0] == "$"} { set hhhrcv [string replace $hhhrcv 0 0 #] } if {[string index $hhhgui_nam 0] == "$"} { set hhhgui_nam [string replace $hhhgui_nam 0 0 #] } set hhhsnd [unspace_text $hhhsnd] set hhhrcv [unspace_text $hhhrcv] set hhhgui_nam [unspace_text $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} pdsend [concat $mytoplevel 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]] } proc ::dialog_iemgui::cancel {mytoplevel} { pdsend "$mytoplevel cancel" } proc ::dialog_iemgui::ok {mytoplevel} { ::dialog_iemgui::apply $mytoplevel ::dialog_iemgui::cancel $mytoplevel } proc ::dialog_iemgui::pdtk_iemgui_dialog {mytoplevel 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} { set vid [string trimleft $mytoplevel .] 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_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 $var_iemgui_rng_sch $rng_sched 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]} 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 set $var_iemgui_l2_f1_b0 0 toplevel $mytoplevel -class DialogWindow wm title $mytoplevel [format [_ "%s Properties"] $mainheader] wm group $mytoplevel . wm resizable $mytoplevel 0 0 wm transient $mytoplevel $::focused_window $mytoplevel configure -menu $::dialog_menubar $mytoplevel configure -padx 0 -pady 0 ::pd_bindings::dialog_bindings $mytoplevel "iemgui" frame $mytoplevel.dim pack $mytoplevel.dim -side top label $mytoplevel.dim.head -text [_ $dim_header] label $mytoplevel.dim.w_lab -text [_ $wdt_label] -width 6 entry $mytoplevel.dim.w_ent -textvariable $var_iemgui_wdt -width 5 label $mytoplevel.dim.dummy1 -text " " -width 10 label $mytoplevel.dim.h_lab -text [_ $hgt_label] -width 6 entry $mytoplevel.dim.h_ent -textvariable $var_iemgui_hgt -width 5 pack $mytoplevel.dim.head -side top pack $mytoplevel.dim.w_lab $mytoplevel.dim.w_ent $mytoplevel.dim.dummy1 -side left if { $hgt_label ne "empty" } { pack $mytoplevel.dim.h_lab $mytoplevel.dim.h_ent -side left} frame $mytoplevel.rng pack $mytoplevel.rng -side top label $mytoplevel.rng.head -text [_ $rng_header] label $mytoplevel.rng.min_lab -text [_ $min_rng_label] -width 6 entry $mytoplevel.rng.min_ent -textvariable $var_iemgui_min_rng -width 9 label $mytoplevel.rng.dummy1 -text " " -width 1 label $mytoplevel.rng.max_lab -text [_ $max_rng_label] -width 8 entry $mytoplevel.rng.max_ent -textvariable $var_iemgui_max_rng -width 9 if { $rng_header ne "empty" } { pack $mytoplevel.rng.head -side top if { $min_rng_label ne "empty" } { pack $mytoplevel.rng.min_lab $mytoplevel.rng.min_ent -side left} if { $max_rng_label ne "empty" } { pack $mytoplevel.rng.dummy1 \ $mytoplevel.rng.max_lab $mytoplevel.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 } { label $mytoplevel.space1 -text "" pack $mytoplevel.space1 -side top } frame $mytoplevel.para pack $mytoplevel.para -side top label $mytoplevel.para.dummy2 -text "" -width 1 label $mytoplevel.para.dummy3 -text "" -width 1 if {[eval concat $$var_iemgui_lin0_log1] == 0} { button $mytoplevel.para.lilo -text [_ [eval concat $$var_iemgui_lilo0]] -width 5 \ -command "::dialog_iemgui::lilo $mytoplevel" } if {[eval concat $$var_iemgui_lin0_log1] == 1} { button $mytoplevel.para.lilo -text [_ [eval concat $$var_iemgui_lilo1]] -width 5 \ -command "::dialog_iemgui::lilo $mytoplevel" } if {[eval concat $$var_iemgui_loadbang] == 0} { button $mytoplevel.para.lb -text [_ "No init"] \ -command "::dialog_iemgui::lb $mytoplevel" } if {[eval concat $$var_iemgui_loadbang] == 1} { button $mytoplevel.para.lb -text [_ "Save"] \ -command "::dialog_iemgui::lb $mytoplevel" } label $mytoplevel.para.num_lab -text [_ $num_label] -width 9 entry $mytoplevel.para.num_ent -textvariable $var_iemgui_num -width 4 if {[eval concat $$var_iemgui_steady] == 0} { button $mytoplevel.para.stdy_jmp -command "::dialog_iemgui::stdy_jmp $mytoplevel" \ -text [_ "Jump on click"] } if {[eval concat $$var_iemgui_steady] == 1} { button $mytoplevel.para.stdy_jmp -command "::dialog_iemgui::stdy_jmp $mytoplevel" \ -text [_ "Steady on click"] } if {[eval concat $$var_iemgui_lin0_log1] >= 0} { pack $mytoplevel.para.lilo -side left -expand 1} if {[eval concat $$var_iemgui_loadbang] >= 0} { pack $mytoplevel.para.dummy2 $mytoplevel.para.lb -side left -expand 1} if {[eval concat $$var_iemgui_num] > 0} { pack $mytoplevel.para.dummy3 $mytoplevel.para.num_lab $mytoplevel.para.num_ent -side left -expand 1} if {[eval concat $$var_iemgui_steady] >= 0} { pack $mytoplevel.para.dummy3 $mytoplevel.para.stdy_jmp -side left -expand 1} frame $mytoplevel.spacer0 -height 4 pack $mytoplevel.spacer0 -side top labelframe $mytoplevel.s_r -borderwidth 1 -pady 4 -text [_ "Messages"] pack $mytoplevel.s_r -side top -fill x -ipadx 5 frame $mytoplevel.s_r.send pack $mytoplevel.s_r.send -side top -padx 4 -fill x -expand 1 label $mytoplevel.s_r.send.lab -text [_ "Send symbol:"] -justify left entry $mytoplevel.s_r.send.ent -textvariable $var_iemgui_snd -width 22 if { $snd ne "nosndno" } { pack $mytoplevel.s_r.send.lab $mytoplevel.s_r.send.ent -side left \ -fill x -expand 1 } frame $mytoplevel.s_r.receive pack $mytoplevel.s_r.receive -side top -padx 4 -fill x -expand 1 label $mytoplevel.s_r.receive.lab -text [_ "Receive symbol:"] -justify left entry $mytoplevel.s_r.receive.ent -textvariable $var_iemgui_rcv -width 22 if { $rcv ne "norcvno" } { pack $mytoplevel.s_r.receive.lab $mytoplevel.s_r.receive.ent -side left \ -fill x -expand 1 } # get the current font name from the int given from C-space (gn_f) set current_font $::font_family if {[eval concat $$var_iemgui_gn_f] == 1} \ { set current_font "Helvetica" } if {[eval concat $$var_iemgui_gn_f] == 2} \ { set current_font "Times" } frame $mytoplevel.spacer1 -height 7 pack $mytoplevel.spacer1 -side top labelframe $mytoplevel.label -borderwidth 1 -text [_ "Label"] -pady 4 pack $mytoplevel.label -side top -fill x entry $mytoplevel.label.name_entry -textvariable $var_iemgui_gui_nam \ -width 30 -font [list $current_font 12 $::font_weight] pack $mytoplevel.label.name_entry -side top -expand yes -fill both -padx 5 frame $mytoplevel.label.xy -padx 27 -pady 1 pack $mytoplevel.label.xy -side top label $mytoplevel.label.xy.x_lab -text [_ "X offset"] entry $mytoplevel.label.xy.x_entry -textvariable $var_iemgui_gn_dx -width 5 label $mytoplevel.label.xy.dummy1 -text " " -width 2 label $mytoplevel.label.xy.y_lab -text [_ "Y offset"] entry $mytoplevel.label.xy.y_entry -textvariable $var_iemgui_gn_dy -width 5 pack $mytoplevel.label.xy.x_lab $mytoplevel.label.xy.x_entry $mytoplevel.label.xy.dummy1 \ $mytoplevel.label.xy.y_lab $mytoplevel.label.xy.y_entry -side left -anchor e button $mytoplevel.label.fontpopup_label -text $current_font \ -font [list $current_font 16 $::font_weight] pack $mytoplevel.label.fontpopup_label -side left -anchor w \ -expand 1 -fill x -padx 5 label $mytoplevel.label.fontsize_label -text [_ "Size:"] entry $mytoplevel.label.fontsize_entry -textvariable $var_iemgui_gn_fs -width 5 pack $mytoplevel.label.fontsize_entry $mytoplevel.label.fontsize_label \ -side right -anchor e -padx 5 -pady 5 menu $mytoplevel.popup $mytoplevel.popup add command \ -label $::font_family \ -font [format {{%s} 16 %s} $::font_family $::font_weight] \ -command "::dialog_iemgui::toggle_font $mytoplevel 0" $mytoplevel.popup add command \ -label "Helvetica" \ -font [format {Helvetica 16 %s} $::font_weight] \ -command "::dialog_iemgui::toggle_font $mytoplevel 1" $mytoplevel.popup add command \ -label "Times" \ -font [format {Times 16 %s} $::font_weight] \ -command "::dialog_iemgui::toggle_font $mytoplevel 2" bind $mytoplevel.label.fontpopup_label