#!/usr/bin/wish ############################################################################# # Visual Tcl v1.07 Project # ################################# # GLOBAL VARIABLES # global widget; ################################# proc TkW:GetFileName {message opt1 opt2 searchtype} { global OK MSG_title WAITfilename TKW GetFileName BROWSE WAITbrowse global SearchType set SearchType $searchtype set base .getfilename if {[winfo exists .getfilename]} { wm deiconify .getfilename; return } ################### # CREATING WIDGETS ################### toplevel .getfilename -class Toplevel \ -background #ffffff wm focusmodel .getfilename passive wm maxsize .getfilename 1265 994 wm minsize .getfilename 1 1 wm overrideredirect .getfilename 0 wm resizable .getfilename 1 1 wm deiconify .getfilename wm geometry .getfilename +100+100 wm title .getfilename $MSG_title #wm iconbitmap .getfilename @$TKW/shared/images/setup2.xbm #wm iconmask .getfilename @$TKW/shared/images/setupmask2.xbm #creates the message widget: message .getfilename.msg -justify center -text $message \ -background #dddddd -aspect 300 # Creates the entry box: global GetFileName entry .getfilename.ent -textvar GetFileName -relief sunken -width 50 button .getfilename.but1 \ -background #dddddd \ -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-*-* -padx 9 \ -pady 3 -text $opt1 -width 8 -state disabled \ -command { destroy .getfilename set WAITfilename opt1 return } button .getfilename.but2 \ -background #dddddd \ -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-*-* -padx 9 \ -pady 3 -text $opt2 -width 8\ -command {destroy .getfilename; set WAITfilename opt2; return} button .getfilename.but3 \ -background #dddddd \ -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-*-* -padx 9 \ -pady 3 -text $BROWSE -width 8\ -command {TkW:dirbrowse * * $SearchType set WAITbrowse 1 while {$WAITbrowse == 1} {update} if {$WAITbrowse == 0} { if {$SearchType == "File"} { set GetFileName $SelectFile } else { set GetFileName $SelectFolder } } update } ################### ################### # SETTING GEOMETRY ################### #set H2 [expr $H +10] pack .getfilename.msg -padx 5 -pady 5 #-anchor nw -bordermode ignore pack .getfilename.ent -padx 5 -pady 5 pack .getfilename.but1 -padx 30 -pady 10 -side left pack .getfilename.but3 -padx 0 -pady 10 -side left pack .getfilename.but2 -padx 30 -pady 10 -side left #-x 110 -y $H2 -width 100 -height 28 -anchor nw -bordermode ignore #bind .getfilename.ent {.getfilename.but1 invoke} while {[winfo exists .getfilename]} { if {[file exists $GetFileName]} { .getfilename.but1 configure -state normal } else { .getfilename.but1 configure -state disabled } update } }