/
usr
/
lib64
/
tcl8.5
/
Tix8.4.3
/
/usr/lib64/tcl8.5/Tix8.4.3
mkdir
upload
Name
Size
Mode
Actions
bitmaps/
-
0755
rm
html/
-
0755
rm
pref/
-
0755
rm
Balloon.tcl
13285
0644
edit
dl
rm
BtnBox.tcl
2671
0644
edit
dl
rm
ChkList.tcl
5087
0644
edit
dl
rm
CObjView.tcl
7738
0644
edit
dl
rm
ComboBox.tcl
36271
0644
edit
dl
rm
Compat.tcl
870
0644
edit
dl
rm
Console.tcl
15311
0644
edit
dl
rm
Control.tcl
12402
0644
edit
dl
rm
DefSchm.tcl
3013
0644
edit
dl
rm
DialogS.tcl
4296
0644
edit
dl
rm
DirBox.tcl
5425
0644
edit
dl
rm
DirDlg.tcl
2206
0644
edit
dl
rm
DirList.tcl
7064
0644
edit
dl
rm
DirTree.tcl
8972
0644
edit
dl
rm
DragDrop.tcl
4025
0644
edit
dl
rm
DtlList.tcl
1002
0644
edit
dl
rm
EFileBox.tcl
11390
0644
edit
dl
rm
EFileDlg.tcl
1718
0644
edit
dl
rm
Event.tcl
5231
0644
edit
dl
rm
FileBox.tcl
14336
0644
edit
dl
rm
FileCbx.tcl
2483
0644
edit
dl
rm
FileDlg.tcl
2185
0644
edit
dl
rm
FileEnt.tcl
7319
0644
edit
dl
rm
FloatEnt.tcl
3176
0644
edit
dl
rm
fs.tcl
3995
0644
edit
dl
rm
Grid.tcl
21665
0644
edit
dl
rm
HList.tcl
18148
0644
edit
dl
rm
HListDD.tcl
4500
0644
edit
dl
rm
IconView.tcl
6110
0644
edit
dl
rm
Init.tcl
6199
0644
edit
dl
rm
LabEntry.tcl
2143
0644
edit
dl
rm
LabFrame.tcl
1181
0644
edit
dl
rm
LabWidg.tcl
3951
0644
edit
dl
rm
libTix.so
318272
0755
edit
dl
rm
license.terms
2828
0644
edit
dl
rm
ListNBk.tcl
3581
0644
edit
dl
rm
Meter.tcl
3114
0644
edit
dl
rm
MultView.tcl
3704
0644
edit
dl
rm
NoteBook.tcl
6160
0644
edit
dl
rm
OldUtil.tcl
3056
0644
edit
dl
rm
OptMenu.tcl
9392
0644
edit
dl
rm
PanedWin.tcl
28347
0644
edit
dl
rm
pkgIndex.tcl
122
0644
edit
dl
rm
PopMenu.tcl
5500
0644
edit
dl
rm
Primitiv.tcl
10527
0644
edit
dl
rm
README.txt
987
0644
edit
dl
rm
ResizeH.tcl
13247
0644
edit
dl
rm
Select.tcl
7204
0644
edit
dl
rm
SGrid.tcl
5935
0644
edit
dl
rm
Shell.tcl
1082
0644
edit
dl
rm
SHList.tcl
3793
0644
edit
dl
rm
SimpDlg.tcl
1157
0644
edit
dl
rm
SListBox.tcl
7138
0644
edit
dl
rm
StackWin.tcl
1992
0644
edit
dl
rm
StatBar.tcl
1339
0644
edit
dl
rm
StdBBox.tcl
1656
0644
edit
dl
rm
StdShell.tcl
1173
0644
edit
dl
rm
SText.tcl
3163
0644
edit
dl
rm
STList.tcl
2428
0644
edit
dl
rm
SWidget.tcl
9748
0644
edit
dl
rm
SWindow.tcl
6908
0644
edit
dl
rm
Tix.tcl
9737
0644
edit
dl
rm
TList.tcl
18009
0644
edit
dl
rm
Tree.tcl
4679
0644
edit
dl
rm
Utils.tcl
10788
0644
edit
dl
rm
Variable.tcl
2563
0644
edit
dl
rm
VResize.tcl
5069
0644
edit
dl
rm
VStack.tcl
9651
0644
edit
dl
rm
VTree.tcl
4410
0644
edit
dl
rm
WInfo.tcl
965
0644
edit
dl
rm
Edit:
/usr/lib64/tcl8.5/Tix8.4.3/SWindow.tcl
(6908B)
# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- # # $Id: SWindow.tcl,v 1.4 2001/12/09 05:04:02 idiscovery Exp $ # # SWindow.tcl -- # # This file implements Scrolled Window 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. # # # # Example: # # tixScrolledWindow .w # set window [.w subwidget window] # # Now you can put a whole widget hierachy inside $window. # # # button $window.b # pack $window.b # # Author's note # # Note, the current implementation does not allow the child window # to be outside of the parent window when the parent's size is larger # than the child's size. This is fine for normal operations. However, # it is not suitable for an MDI master window. Therefore, you will notice # that the MDI master window is not a subclass of ScrolledWidget at all. # # tixWidgetClass tixScrolledWindow { -classname TixScrolledWindow -superclass tixScrolledWidget -method { } -flag { -expandmode -shrink -xscrollincrement -yscrollincrement } -static { } -configspec { {-expandmode expandMode ExpandMode expand} {-shrink shrink Shrink ""} {-xscrollincrement xScrollIncrement ScrollIncrement ""} {-yscrollincrement yScrollIncrement ScrollIncrement ""} {-scrollbarspace scrollbarSpace ScrollbarSpace {both}} } -default { {.scrollbar auto} {*window.borderWidth 1} {*f1.borderWidth 1} {*Scrollbar.borderWidth 1} {*Scrollbar.takeFocus 0} } } proc tixScrolledWindow:InitWidgetRec {w} { upvar #0 $w data tixChainMethod $w InitWidgetRec set data(dx) 0 set data(dy) 0 } proc tixScrolledWindow:ConstructWidget {w} { upvar #0 $w data global tcl_platform tixChainMethod $w ConstructWidget set data(pw:f1) \ [frame $w.f1 -relief sunken] set data(pw:f2) \ [frame $w.f2 -bd 0] set data(w:window) \ [frame $w.f2.window -bd 0] pack $data(pw:f2) -in $data(pw:f1) -expand yes -fill both set data(w:hsb) \ [scrollbar $w.hsb -orient horizontal -takefocus 0] set data(w:vsb) \ [scrollbar $w.vsb -orient vertical -takefocus 0] # set data(w:pann) \ # [frame $w.pann -bd 2 -relief groove] $data(pw:f1) config -highlightthickness \ [$data(w:hsb) cget -highlightthickness] set data(pw:client) $data(pw:f1) } proc tixScrolledWindow:SetBindings {w} { upvar #0 $w data tixChainMethod $w SetBindings $data(w:hsb) config -command "tixScrolledWindow:ScrollBarCB $w x" $data(w:vsb) config -command "tixScrolledWindow:ScrollBarCB $w y" tixManageGeometry $data(w:window) "tixScrolledWindow:WindowGeomProc $w" } # This guy just keeps asking for a same size as the w:window # proc tixScrolledWindow:WindowGeomProc {w args} { upvar #0 $w data set rw [winfo reqwidth $data(w:window)] set rh [winfo reqheight $data(w:window)] if {$rw != [winfo reqwidth $data(pw:f2)] || $rh != [winfo reqheight $data(pw:f2)]} { tixGeometryRequest $data(pw:f2) $rw $rh } } proc tixScrolledWindow:Scroll {w axis total window first args} { upvar #0 $w data case [lindex $args 0] { "scroll" { set amt [lindex $args 1] set unit [lindex $args 2] case $unit { "units" { set incr $axis\scrollincrement if {$data(-$incr) != ""} { set by $data(-$incr) } else { set by [expr $window / 16] } set first [expr $first + $amt * $by] } "pages" { set first [expr $first + $amt * $window] } } } "moveto" { set to [lindex $args 1] set first [expr int($to * $total)] } } if {[expr $first + $window] > $total} { set first [expr $total - $window] } if {$first < 0} { set first 0 } return $first } proc tixScrolledWindow:ScrollBarCB {w axis args} { upvar #0 $w data set bd \ [expr [$data(pw:f1) cget -bd] + [$data(pw:f1) cget -highlightthickness]] set fw [expr [winfo width $data(pw:f1)] - 2*$bd] set fh [expr [winfo height $data(pw:f1)] - 2*$bd] set ww [winfo reqwidth $data(w:window)] set wh [winfo reqheight $data(w:window)] if {$axis == "x"} { set data(dx) \ [eval tixScrolledWindow:Scroll $w $axis $ww $fw $data(dx) $args] } else { set data(dy) \ [eval tixScrolledWindow:Scroll $w $axis $wh $fh $data(dy) $args] } tixWidgetDoWhenIdle tixScrolledWindow:PlaceWindow $w } proc tixScrolledWindow:PlaceWindow {w} { upvar #0 $w data set bd \ [expr [$data(pw:f1) cget -bd] + [$data(pw:f1) cget -highlightthickness]] set fw [expr [winfo width $data(pw:f1)] - 2*$bd] set fh [expr [winfo height $data(pw:f1)] - 2*$bd] set ww [winfo reqwidth $data(w:window)] set wh [winfo reqheight $data(w:window)] tixMapWindow $data(w:window) if {$data(-expandmode) == "expand"} { if {$ww < $fw} { set ww $fw } if {$wh < $fh} { set wh $fh } } if {$data(-shrink) == "x"} { if {$fw < $ww} { set ww $fw } } tixMoveResizeWindow $data(w:window) -$data(dx) -$data(dy) $ww $wh set first [expr $data(dx).0 / $ww.0] set last [expr $first + ($fw.0 / $ww.0)] $data(w:hsb) set $first $last set first [expr $data(dy).0 / $wh.0] set last [expr $first + ($fh.0 / $wh.0)] $data(w:vsb) set $first $last } #---------------------------------------------------------------------- # virtual functions to query the client window's scroll requirement # # When this function is called, the scrolled window is going to be # mapped, if it is still unmapped. Also, it is going to change its # size. Therefore, it is a good time to check whether the w:window needs # to be re-positioned due to the new parent window size. #---------------------------------------------------------------------- proc tixScrolledWindow:GeometryInfo {w mW mH} { upvar #0 $w data set bd \ [expr [$data(pw:f1) cget -bd] + [$data(pw:f1) cget -highlightthickness]] set fw [expr $mW -2*$bd] set fh [expr $mH -2*$bd] set ww [winfo reqwidth $data(w:window)] set wh [winfo reqheight $data(w:window)] # Calculate the X info # if {$fw >= $ww} { if {$data(dx) > 0} { set data(dx) 0 } set xinfo [list 0.0 1.0] } else { set maxdx [expr $ww - $fw] if {$data(dx) > $maxdx} { set data(dx) $maxdx } set first [expr $data(dx).0 / $ww.0] set last [expr $first + ($fw.0 / $ww.0)] set xinfo [list $first $last] } # Calculate the Y info # if {$fh >= $wh} { if {$data(dy) > 0} { set data(dy) 0 } set yinfo [list 0.0 1.0] } else { set maxdy [expr $wh - $fh] if {$data(dy) > $maxdy} { set data(dy) $maxdy } set first [expr $data(dy).0 / $wh.0] set last [expr $first + ($fh.0 / $wh.0)] set yinfo [list $first $last] } return [list $xinfo $yinfo] }
Save
cmd:
run