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 / LabEntry.tcl < prev    next >
Text File  |  2001-12-08  |  2KB  |  87 lines

  1. # -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
  2. #
  3. #    $Id: LabEntry.tcl,v 1.1.1.1.2.2 2001/12/09 02:54:02 idiscovery Exp $
  4. #
  5. # LabEntry.tcl --
  6. #
  7. #     TixLabelEntry Widget: an entry box with a label
  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.  
  17. tixWidgetClass tixLabelEntry {
  18.     -classname TixLabelEntry
  19.     -superclass tixLabelWidget
  20.     -method {
  21.     }
  22.     -flag {
  23.     -disabledforeground -state
  24.     }
  25.     -forcecall {
  26.     -state
  27.     }
  28.     -static {
  29.     }
  30.     -configspec {
  31.     {-disabledforeground disabledForeground DisabledForeground #303030}
  32.     {-state state State normal}
  33.     }
  34.     -default {
  35.     {.borderWidth             0}
  36.     {*entry.relief            sunken}
  37.     {*entry.width            7}
  38.     {*label.anchor            e}
  39.     {*label.borderWidth        0}
  40.     }
  41. }
  42.  
  43. proc tixLabelEntry:ConstructFramedWidget {w frame} {
  44.     upvar #0 $w data
  45.  
  46.     tixChainMethod $w ConstructFramedWidget $frame
  47.  
  48.     set data(w:entry)  [entry $frame.entry]
  49.     pack $data(w:entry) -side left -expand yes -fill both
  50.  
  51.     # This value is used to configure the disable/normal fg of the ebtry
  52.     #
  53.     set data(entryfg) [$data(w:entry) cget -fg]
  54.     set data(labelfg) [$data(w:label) cget -fg]
  55. }
  56.  
  57. proc tixLabelEntryBind {} {
  58.   tixBind TixLabelEntry <FocusIn>  {
  59.     if {![tixStrEq [focus -displayof [set %W(w:entry)]] [set %W(w:entry)]]} {
  60.     focus [%W subwidget entry]
  61.     [set %W(w:entry)] selection from 0
  62.     [set %W(w:entry)] selection to end
  63.     [set %W(w:entry)] icursor end
  64.     }
  65.   }
  66. }
  67.  
  68.  
  69. #----------------------------------------------------------------------
  70. #                           CONFIG OPTIONS
  71. #----------------------------------------------------------------------
  72. proc tixLabelEntry:config-state {w value} {
  73.     upvar #0 $w data
  74.  
  75.     if {$value == "normal"} {
  76.     catch {
  77.         $data(w:label) config -fg $data(labelfg)
  78.     }
  79.     $data(w:entry) config -state $value -fg $data(entryfg)
  80.     } else {
  81.     catch {
  82.         $data(w:label) config -fg $data(-disabledforeground)
  83.     }
  84.     $data(w:entry) config -state $value -fg $data(-disabledforeground)
  85.     }
  86. }
  87.