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 / STList.tcl < prev    next >
Text File  |  2001-12-08  |  3KB  |  94 lines

  1. # -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
  2. #
  3. #    $Id: STList.tcl,v 1.2.2.2 2001/12/09 02:54:02 idiscovery Exp $
  4. #
  5. # STList.tcl --
  6. #
  7. #    This file implements Scrolled TList widgets
  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 tixScrolledTList {
  17.     -classname TixScrolledTList
  18.     -superclass tixScrolledWidget
  19.     -method {
  20.     }
  21.     -flag {
  22.     }
  23.     -configspec {
  24.     }
  25.     -default {
  26.     {.scrollbar            auto}
  27.     {*borderWidth            1}
  28.     {*tlist.background        #c3c3c3}
  29.     {*tlist.highlightBackground    #d9d9d9}
  30.     {*tlist.relief            sunken}
  31.     {*tlist.takeFocus        1}
  32.     {*Scrollbar.takeFocus        0}
  33.     }
  34. }
  35.  
  36. proc tixScrolledTList:ConstructWidget {w} {
  37.     upvar #0 $w data
  38.  
  39.     tixChainMethod $w ConstructWidget
  40.  
  41.     set data(w:tlist) \
  42.     [tixTList $w.tlist]
  43.     set data(w:hsb) \
  44.     [scrollbar $w.hsb -orient horizontal]
  45.     set data(w:vsb) \
  46.     [scrollbar $w.vsb -orient vertical ]
  47.  
  48.     set data(pw:client) $data(w:tlist)
  49. }
  50.  
  51. proc tixScrolledTList:SetBindings {w} {
  52.     upvar #0 $w data
  53.  
  54.     tixChainMethod $w SetBindings
  55.  
  56.     $data(w:tlist) config \
  57.     -xscrollcommand "$data(w:hsb) set"\
  58.     -yscrollcommand "$data(w:vsb) set"\
  59.     -sizecmd [list tixScrolledWidget:Configure $w]
  60.  
  61.     $data(w:hsb) config -command "$data(w:tlist) xview"
  62.     $data(w:vsb) config -command "$data(w:tlist) yview"
  63. }
  64.  
  65. #----------------------------------------------------------------------
  66. #
  67. #        option configs
  68. #----------------------------------------------------------------------
  69. proc tixScrolledTList:config-takefocus {w value} {
  70.     upvar #0 $w data
  71.   
  72.     $data(w:tlist) config -takefocus $value
  73. }    
  74.  
  75. #----------------------------------------------------------------------
  76. #
  77. #        Widget commands
  78. #----------------------------------------------------------------------
  79.  
  80.  
  81. #----------------------------------------------------------------------
  82. #
  83. #        Private Methods
  84. #----------------------------------------------------------------------
  85.  
  86. #----------------------------------------------------------------------
  87. # virtual functions to query the client window's scroll requirement
  88. #----------------------------------------------------------------------
  89. proc tixScrolledTList:GeometryInfo {w mW mH} {
  90.     upvar #0 $w data
  91.  
  92.     return [$data(w:tlist) geometryinfo $mW $mH]
  93. }
  94.