home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 December / PCWorld_2000-12_cd.bin / Komunikace / Comanche / gui / guiStringFile.tcl < prev    next >
Text File  |  2000-11-02  |  1KB  |  46 lines

  1.  
  2. class guiStringFile  {
  3.     inherit guiString
  4.     variable button
  5.     constructor {frame xuiString} {
  6.         guiString::constructor $frame $xuiString
  7.     } {
  8.         set button [Button $frame.b -image openFolder]
  9.     $button configure -command [code $this askFile]
  10.     pack $button -side left -padx 3 -anchor w
  11.     }
  12.    method enable    
  13.    method disable
  14.    method askFile
  15. }
  16.  
  17. body guiStringFile::askFile {} {
  18.     set title [$labelEntry cget -label]
  19.     set initialdir [file dirname $value]
  20.     if ![file exists $initialdir] {
  21.         set initaldir /
  22.     }                      
  23.     if [catch {set file [tk_getOpenFile \
  24.         -initialdir $initialdir -title $title]}] {   
  25.     
  26.     # If we do not have access to the directory (wrong permissions) just open default /
  27.     set file [tk_getOpenFile \
  28.         -initialdir /  -title $title]    
  29.     }
  30.     if [string length $file] {
  31.             set value $file
  32.         sync
  33.     }
  34. }
  35.  
  36. body guiStringFile::enable {} {
  37.     $button configure -state normal
  38.     guiString::enable
  39. }
  40.  
  41. body guiStringFile::disable {} {
  42.     $button configure -state disabled
  43.     guiString::disable
  44. }
  45.  
  46.