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

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