All pastes #709582 Raw Edit

Mine

public text v1 · immutable
#709582 ·published 2007-09-24 19:58 UTC
rendered paste body
proc set_traceMode {} {
    global traceMode prompt
    set w [toplevel .set_TraceMode -borderwidth 10]
    wm geometry $w +500+500
    set prompt(result) ""
    set b [frame $w.buttons]
    set ef1 [frame $w.ef1]
    pack $w.ef1 -side top -pady 10
    pack $w.buttons -side top -pady 10
    label $w.label1 -text "MSC Node Number:" -width 20
    entry $w.entry1 -textvariable prompt(result) -width 4

    pack $w.label1 -side left -in $w.ef1
    pack $w.entry1 -side left -in $w.ef1

    proc Disable1 {} {
      uplevel 1 {$w.entry1 configure -state disabled}
    }

    radiobutton $w.buttons.lab   -text "Lab Mode" -variable traceMode -value LAB
    radiobutton $w.buttons.field -text "Field Mode" -variable traceMode -value FIELD -command { Disable1 }
    $w.buttons.field select
    button $w.buttons.read -text OK -command {set prompt(ok) 1}
    pack $w.buttons.read $w.buttons.lab $w.buttons.field -side bottom -in $w.buttons

    # Now read the user input.

    bind $w <Return> {set prompt(ok) 0}

    raise $w.entry1
    focus $w.entry1

    grab $w
    while {1} {
        tkwait variable prompt(ok)
        if {$prompt(ok) == 1} {
            if { $prompt(result) <= 0 || $prompt(result) == "" } {
                tk_messageBox -icon info -message "MSC Node # Must be >0"
                focus $w.entry1
            } else {
                set retVal $prompt(result)
                break
            }
        } else {
            set retVal {}
            break
        }
    }
    $w.entry1 delete 0 end
    destroy $w
    return $retVal
}