# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- | |
# | |
# $Id: STList.tcl,v 1.4 2001/12/09 05:04:02 idiscovery Exp $ | |
# | |
# STList.tcl -- | |
# | |
# This file implements Scrolled TList widgets | |
# | |
# Copyright (c) 1993-1999 Ioi Kim Lam. | |
# Copyright (c) 2000-2001 Tix Project Group. | |
# | |
# See the file "license.terms" for information on usage and redistribution | |
# of this file, and for a DISCLAIMER OF ALL WARRANTIES. | |
# | |
tixWidgetClass tixScrolledTList { | |
-classname TixScrolledTList | |
-superclass tixScrolledWidget | |
-method { | |
} | |
-flag { | |
} | |
-configspec { | |
} | |
-default { | |
{.scrollbar auto} | |
{*borderWidth 1} | |
{*tlist.background #c3c3c3} | |
{*tlist.highlightBackground #d9d9d9} | |
{*tlist.relief sunken} | |
{*tlist.takeFocus 1} | |
{*Scrollbar.takeFocus 0} | |
} | |
} | |
proc tixScrolledTList:ConstructWidget {w} { | |
upvar #0 $w data | |
tixChainMethod $w ConstructWidget | |
set data(w:tlist) \ | |
[tixTList $w.tlist] | |
set data(w:hsb) \ | |
[scrollbar $w.hsb -orient horizontal] | |
set data(w:vsb) \ | |
[scrollbar $w.vsb -orient vertical ] | |
set data(pw:client) $data(w:tlist) | |
} | |
proc tixScrolledTList:SetBindings {w} { | |
upvar #0 $w data | |
tixChainMethod $w SetBindings | |
$data(w:tlist) config \ | |
-xscrollcommand "$data(w:hsb) set"\ | |
-yscrollcommand "$data(w:vsb) set"\ | |
-sizecmd [list tixScrolledWidget:Configure $w] | |
$data(w:hsb) config -command "$data(w:tlist) xview" | |
$data(w:vsb) config -command "$data(w:tlist) yview" | |
} | |
#---------------------------------------------------------------------- | |
# | |
# option configs | |
#---------------------------------------------------------------------- | |
proc tixScrolledTList:config-takefocus {w value} { | |
upvar #0 $w data | |
$data(w:tlist) config -takefocus $value | |
} | |
#---------------------------------------------------------------------- | |
# | |
# Widget commands | |
#---------------------------------------------------------------------- | |
#---------------------------------------------------------------------- | |
# | |
# Private Methods | |
#---------------------------------------------------------------------- | |
#---------------------------------------------------------------------- | |
# virtual functions to query the client window's scroll requirement | |
#---------------------------------------------------------------------- | |
proc tixScrolledTList:GeometryInfo {w mW mH} { | |
upvar #0 $w data | |
return [$data(w:tlist) geometryinfo $mW $mH] | |
} | |