home *** CD-ROM | disk | FTP | other *** search
/ Freelog Special Freeware 31 / FreelogHS31.iso / Texte / scribus / scribus-1.3.3.9-win32-install.exe / tcl / tix8.1 / DirDlg.tcl < prev    next >
Text File  |  2001-11-03  |  2KB  |  96 lines

  1. # -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
  2. #
  3. #    $Id: DirDlg.tcl,v 1.2.2.1 2001/11/03 06:37:37 idiscovery Exp $
  4. #
  5. # DirDlg.tcl --
  6. #
  7. #    Implements the Directory Selection Dialog widget.
  8. #
  9. # Copyright (c) 1993-1999 Ioi Kim Lam.
  10. # Copyright (c) 2000-2001 Tix Project Group.
  11. #
  12. # See the file "license.terms" for information on usage and redistribution
  13. # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  14. #
  15.  
  16. tixWidgetClass tixDirSelectDialog {
  17.     -classname TixDirSelectDialog
  18.     -superclass tixDialogShell
  19.     -method {}
  20.     -flag   {
  21.     -command
  22.     }
  23.     -configspec {
  24.     {-command command Command ""}
  25.     {-title title Title "Select A Directory"}
  26.     }
  27.  
  28.     -default {
  29.     {*ok.text        "OK"}
  30.     {*ok.underline        0}
  31.     {*ok.width        6}
  32.     {*cancel.text        "Cancel"}
  33.     {*cancel.underline    0}
  34.     {*cancel.width        6}
  35.     {*dirbox.borderWidth    1}
  36.     {*dirbox.relief        raised}
  37.     }
  38. }
  39.  
  40. proc tixDirSelectDialog:ConstructWidget {w} {
  41.     upvar #0 $w data
  42.  
  43.     tixChainMethod $w ConstructWidget
  44.  
  45.     # the buttons
  46.     frame $w.f -relief raised -bd 1
  47.     set data(w:ok)     [button $w.f.ok -command \
  48.     "tixDirSelectDialog:OK $w"]
  49.     set data(w:cancel) [button $w.f.cancel -command \
  50.     "tixDirSelectDialog:Cancel $w"]
  51.  
  52.     pack $data(w:ok) $data(w:cancel) -side left -expand yes -padx 10 -pady 8
  53.     pack $w.f -side bottom -fill x
  54.     # the dir select box
  55.     set data(w:dirbox) [tixDirSelectBox $w.dirbox \
  56.     -command [list tixDirSelectDialog:DirBoxCmd $w]]
  57.     pack $data(w:dirbox) -expand yes -fill both
  58. }
  59.  
  60. proc tixDirSelectDialog:SetBindings {w} {
  61.     upvar #0 $w data
  62.  
  63.     tixChainMethod $w SetBindings
  64.  
  65.     bind $w <Alt-Key-d> "focus [$data(w:dirbox) subwidget dircbx]"
  66. }
  67.  
  68. proc tixDirSelectDialog:OK {w} {
  69.     upvar #0 $w data
  70.  
  71.     wm withdraw $w
  72.     $data(w:dirbox) subwidget dircbx invoke
  73. }
  74.  
  75. proc tixDirSelectDialog:DirBoxCmd {w args} {
  76.     upvar #0 $w data
  77.  
  78.     set value [tixEvent flag V]
  79.     wm withdraw $w
  80.     tixDirSelectDialog:CallCmd $w $value
  81. }
  82.  
  83. proc tixDirSelectDialog:CallCmd {w value} {
  84.     upvar #0 $w data
  85.  
  86.     if {$data(-command) != ""} {
  87.     set bind(specs) "%V"
  88.     set bind(%V) $value
  89.     tixEvalCmdBinding $w $data(-command) bind $value
  90.     }
  91. }
  92.  
  93. proc tixDirSelectDialog:Cancel {w} {
  94.     wm withdraw $w
  95. }
  96.