/usr/lib64/tcl8.6/Tix8.4.3
NameSizeModeActions
bitmaps/-0755rm
html/-0755rm
pref/-0755rm
Balloon.tcl132850644editdlrm
BtnBox.tcl26710644editdlrm
ChkList.tcl50870644editdlrm
CObjView.tcl77380644editdlrm
ComboBox.tcl362710644editdlrm
Compat.tcl8700644editdlrm
Console.tcl153110644editdlrm
Control.tcl124020644editdlrm
DefSchm.tcl30130644editdlrm
DialogS.tcl42960644editdlrm
DirBox.tcl54250644editdlrm
DirDlg.tcl22060644editdlrm
DirList.tcl70640644editdlrm
DirTree.tcl89720644editdlrm
DragDrop.tcl40250644editdlrm
DtlList.tcl10020644editdlrm
EFileBox.tcl113900644editdlrm
EFileDlg.tcl17180644editdlrm
Event.tcl52310644editdlrm
FileBox.tcl143360644editdlrm
FileCbx.tcl24830644editdlrm
FileDlg.tcl21850644editdlrm
FileEnt.tcl73190644editdlrm
FloatEnt.tcl31760644editdlrm
fs.tcl39950644editdlrm
Grid.tcl216650644editdlrm
HList.tcl181480644editdlrm
HListDD.tcl45000644editdlrm
IconView.tcl61100644editdlrm
Init.tcl61990644editdlrm
LabEntry.tcl21430644editdlrm
LabFrame.tcl11810644editdlrm
LabWidg.tcl39510644editdlrm
libTix.so3494880755editdlrm
license.terms28280644editdlrm
ListNBk.tcl35810644editdlrm
Meter.tcl31140644editdlrm
MultView.tcl37040644editdlrm
NoteBook.tcl61600644editdlrm
OldUtil.tcl30560644editdlrm
OptMenu.tcl93920644editdlrm
PanedWin.tcl283470644editdlrm
pkgIndex.tcl1220644editdlrm
PopMenu.tcl55000644editdlrm
Primitiv.tcl105270644editdlrm
README.txt9870644editdlrm
ResizeH.tcl132470644editdlrm
Select.tcl72040644editdlrm
SGrid.tcl59350644editdlrm
Shell.tcl10820644editdlrm
SHList.tcl37930644editdlrm
SimpDlg.tcl11570644editdlrm
SListBox.tcl71380644editdlrm
StackWin.tcl19920644editdlrm
StatBar.tcl13390644editdlrm
StdBBox.tcl16560644editdlrm
StdShell.tcl11730644editdlrm
SText.tcl31630644editdlrm
STList.tcl24280644editdlrm
SWidget.tcl97480644editdlrm
SWindow.tcl69080644editdlrm
Tix.tcl97370644editdlrm
TList.tcl180090644editdlrm
Tree.tcl46790644editdlrm
Utils.tcl107880644editdlrm
Variable.tcl25630644editdlrm
VResize.tcl50690644editdlrm
VStack.tcl96510644editdlrm
VTree.tcl44100644editdlrm
WInfo.tcl9650644editdlrm
Edit: /usr/lib64/tcl8.6/Tix8.4.3/TList.tcl (18009B)
# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- # # $Id: TList.tcl,v 1.6 2002/01/24 09:13:58 idiscovery Exp $ # # TList.tcl -- # # This file defines the default bindings for Tix Tabular Listbox # 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. # global tkPriv if {![llength [info globals tkPriv]]} { tk::unsupported::ExposePrivateVariable tkPriv } #-------------------------------------------------------------------------- # tkPriv elements used in this file: # # afterId - Token returned by "after" for autoscanning. # fakeRelease - Cancel the ButtonRelease-1 after the user double click #-------------------------------------------------------------------------- # proc tixTListBind {} { tixBind TixTList { tixTList:Button-1 %W %x %y } tixBind TixTList { tixTList:Shift-Button-1 %W %x %y } tixBind TixTList { tixTList:Control-Button-1 %W %x %y } tixBind TixTList { tixTList:ButtonRelease-1 %W %x %y } tixBind TixTList { tixTList:Double-1 %W %x %y } tixBind TixTList { set tkPriv(x) %x set tkPriv(y) %y set tkPriv(X) %X set tkPriv(Y) %Y tixTList:B1-Motion %W %x %y } tixBind TixTList { set tkPriv(x) %x set tkPriv(y) %y set tkPriv(X) %X set tkPriv(Y) %Y tixTList:Control-B1-Motion %W %x %y } tixBind TixTList { set tkPriv(x) %x set tkPriv(y) %y set tkPriv(X) %X set tkPriv(Y) %Y tixTList:B1-Leave %W } tixBind TixTList { tixTList:B1-Enter %W %x %y } tixBind TixTList { set tkPriv(x) %x set tkPriv(y) %y set tkPriv(X) %X set tkPriv(Y) %Y tixTList:Control-B1-Leave %W } tixBind TixTList { tixTList:Control-B1-Enter %W %x %y } # Keyboard bindings # tixBind TixTList { tixTList:DirKey %W up } tixBind TixTList { tixTList:DirKey %W down } tixBind TixTList { tixTList:DirKey %W left } tixBind TixTList { tixTList:DirKey %W right } tixBind TixTList { %W yview scroll -1 pages } tixBind TixTList { %W yview scroll 1 pages } tixBind TixTList { tixTList:Return %W } tixBind TixTList { tixTList:Space %W } # # Don't use tixBind because %A causes Tk 8.3.2 to crash # bind TixTList { if {"[%W cget -orient]" == "vertical"} { %W xview scroll [expr {- (%D / 120) * 4}] units } else { %W yview scroll [expr {- (%D / 120) * 2}] units } } } #---------------------------------------------------------------------- # # # Mouse bindings # # #---------------------------------------------------------------------- proc tixTList:Button-1 {w x y} { if {[$w cget -state] == "disabled"} { return } if {[$w cget -takefocus]} { focus $w } case [tixTList:GetState $w] { {s0} { tixTList:GoState s1 $w $x $y } {b0} { tixTList:GoState b1 $w $x $y } {m0} { tixTList:GoState m1 $w $x $y } {e0} { tixTList:GoState e1 $w $x $y } } } proc tixTList:Shift-Button-1 {w x y} { if {[$w cget -state] == "disabled"} { return } if {[$w cget -takefocus]} { focus $w } case [tixTList:GetState $w] { {s0} { tixTList:GoState s1 $w $x $y } {b0} { tixTList:GoState b1 $w $x $y } {m0} { tixTList:GoState m7 $w $x $y } {e0} { tixTList:GoState e7 $w $x $y } } } proc tixTList:Control-Button-1 {w x y} { if {[$w cget -state] == "disabled"} { return } if {[$w cget -takefocus]} { focus $w } case [tixTList:GetState $w] { {s0} { tixTList:GoState s1 $w $x $y } {b0} { tixTList:GoState b1 $w $x $y } {m0} { tixTList:GoState m1 $w $x $y } {e0} { tixTList:GoState e10 $w $x $y } } } proc tixTList:ButtonRelease-1 {w x y} { case [tixTList:GetState $w] { {s2 s4 s5 s6} { tixTList:GoState s3 $w } {b2 b4 b5 b6} { tixTList:GoState b3 $w } {m2} { tixTList:GoState m3 $w } {m5} { tixTList:GoState m6 $w $x $y } {m9} { tixTList:GoState m0 $w } {e2} { tixTList:GoState e3 $w } {e5} { tixTList:GoState e6 $w $x $y } {e9} { tixTList:GoState e0 $w } } } proc tixTList:B1-Motion {w x y} { case [tixTList:GetState $w] { {s2 s4} { tixTList:GoState s4 $w $x $y } {b2 b4} { tixTList:GoState b4 $w $x $y } {m2 m5} { tixTList:GoState m4 $w $x $y } {e2 e5} { tixTList:GoState e4 $w $x $y } } } proc tixTList:Control-B1-Motion {w x y} { case [tixTList:GetState $w] { {s2 s4} { tixTList:GoState s4 $w $x $y } {b2 b4} { tixTList:GoState b4 $w $x $y } {m2 m5} { tixTList:GoState m4 $w $x $y } } } proc tixTList:Double-1 {w x y} { case [tixTList:GetState $w] { {s0} { tixTList:GoState s7 $w $x $y } {b0} { tixTList:GoState b7 $w $x $y } } } proc tixTList:B1-Leave {w} { case [tixTList:GetState $w] { {s2 s4} { tixTList:GoState s5 $w } {b2 b4} { tixTList:GoState b5 $w } {m2 m5} { tixTList:GoState m8 $w } {e2 e5} { tixTList:GoState e8 $w } } } proc tixTList:B1-Enter {w x y} { case [tixTList:GetState $w] { {s5 s6} { tixTList:GoState s4 $w $x $y } {b5 b6} { tixTList:GoState b4 $w $x $y } {m8 m9} { tixTList:GoState m4 $w $x $y } {e8 e9} { tixTList:GoState e4 $w $x $y } } } proc tixTList:Control-B1-Leave {w} { case [tixTList:GetState $w] { {s2 s4} { tixTList:GoState s5 $w } {b2 b4} { tixTList:GoState b5 $w } {m2 m5} { tixTList:GoState m8 $w } } } proc tixTList:Control-B1-Enter {w x y} { case [tixTList:GetState $w] { {s5 s6} { tixTList:GoState s4 $w $x $y } {b5 b6} { tixTList:GoState b4 $w $x $y } {m8 m9} { tixTList:GoState m4 $w $x $y } } } proc tixTList:AutoScan {w} { case [tixTList:GetState $w] { {s5 s6} { tixTList:GoState s6 $w } {b5 b6} { tixTList:GoState b6 $w } {m8 m9} { tixTList:GoState m9 $w } {e8 e9} { tixTList:GoState e9 $w } } } #---------------------------------------------------------------------- # # # Key bindings # # #---------------------------------------------------------------------- proc tixTList:DirKey {w key} { if {[$w cget -state] == "disabled"} { return } case [tixTList:GetState $w] { {s0} { tixTList:GoState s8 $w $key } {b0} { tixTList:GoState b8 $w $key } } } proc tixTList:Return {w} { if {[$w cget -state] == "disabled"} { return } case [tixTList:GetState $w] { {s0} { tixTList:GoState s9 $w } {b0} { tixTList:GoState b9 $w } } } proc tixTList:Space {w} { if {[$w cget -state] == "disabled"} { return } case [tixTList:GetState $w] { {s0} { tixTList:GoState s10 $w } {b0} { tixTList:GoState b10 $w } } } #---------------------------------------------------------------------- # # STATE MANIPULATION # # #---------------------------------------------------------------------- proc tixTList:GetState {w} { global $w:priv:state if {[info exists $w:priv:state]} { # # If the app has changed the selectmode, reset the state to the # original state. # set type [string index [$w cget -selectmode] 0] if {"[string index [set $w:priv:state] 0]" != "$type"} { unset $w:priv:state } } if {![info exists $w:priv:state]} { case [$w cget -selectmode] { single { set $w:priv:state s0 } browse { set $w:priv:state b0 } multiple { set $w:priv:state m0 } extended { set $w:priv:state e0 } default { set $w:priv:state unknown } } } return [set $w:priv:state] } proc tixTList:SetState {w n} { global $w:priv:state set $w:priv:state $n } proc tixTList:GoState {n w args} { # puts "going from [tixTList:GetState $w] --> $n" tixTList:SetState $w $n eval tixTList:GoState-$n $w $args } #---------------------------------------------------------------------- # States #---------------------------------------------------------------------- #---------------------------------------------------------------------- # SINGLE SELECTION #---------------------------------------------------------------------- proc tixTList:GoState-s0 {w} { } proc tixTList:GoState-s1 {w x y} { set ent [$w nearest $x $y] if {$ent != ""} { $w anchor set $ent $w see $ent } tixTList:GoState s2 $w } proc tixTList:GoState-s2 {w} { } proc tixTList:GoState-s3 {w} { set ent [$w info anchor] if {$ent != ""} { $w selection clear $w selection set $ent tixTList:CallBrowseCmd $w $ent } tixTList:GoState s0 $w } proc tixTList:GoState-s4 {w x y} { set ent [$w nearest $x $y] if {$ent != ""} { $w anchor set $ent $w see $ent } } proc tixTList:GoState-s5 {w} { tixTList:StartScan $w } proc tixTList:GoState-s6 {w} { global tkPriv tixTList:DoScan $w } proc tixTList:GoState-s7 {w x y} { set ent [$w nearest $x $y] if {$ent != ""} { $w selection clear $w selection set $ent tixTList:CallCommand $w $ent } tixTList:GoState s0 $w } proc tixTList:GoState-s8 {w key} { set anchor [$w info anchor] if {$anchor == ""} { set anchor 0 } else { set anchor [$w info $key $anchor] } $w anchor set $anchor $w see $anchor tixTList:GoState s0 $w } proc tixTList:GoState-s9 {w} { set anchor [$w info anchor] if {$anchor == ""} { set anchor 0 $w anchor set $anchor $w see $anchor } if {[$w info anchor] != ""} { # ! may not have any elements # tixTList:CallCommand $w [$w info anchor] $w selection clear $w selection set $anchor } tixTList:GoState s0 $w } proc tixTList:GoState-s10 {w} { set anchor [$w info anchor] if {$anchor == ""} { set anchor 0 $w anchor set $anchor $w see $anchor } if {[$w info anchor] != ""} { # ! may not have any elements # tixTList:CallBrowseCmd $w [$w info anchor] $w selection clear $w selection set $anchor } tixTList:GoState s0 $w } #---------------------------------------------------------------------- # BROWSE SELECTION #---------------------------------------------------------------------- proc tixTList:GoState-b0 {w} { } proc tixTList:GoState-b1 {w x y} { set ent [$w nearest $x $y] if {$ent != ""} { $w anchor set $ent $w see $ent $w selection clear $w selection set $ent tixTList:CallBrowseCmd $w $ent } tixTList:GoState b2 $w } proc tixTList:GoState-b2 {w} { } proc tixTList:GoState-b3 {w} { set ent [$w info anchor] if {$ent != ""} { $w selection clear $w selection set $ent tixTList:CallBrowseCmd $w $ent } tixTList:GoState b0 $w } proc tixTList:GoState-b4 {w x y} { set ent [$w nearest $x $y] if {$ent != ""} { $w anchor set $ent $w see $ent $w selection clear $w selection set $ent tixTList:CallBrowseCmd $w $ent } } proc tixTList:GoState-b5 {w} { tixTList:StartScan $w } proc tixTList:GoState-b6 {w} { global tkPriv tixTList:DoScan $w } proc tixTList:GoState-b7 {w x y} { set ent [$w nearest $x $y] if {$ent != ""} { $w selection clear $w selection set $ent tixTList:CallCommand $w $ent } tixTList:GoState b0 $w } proc tixTList:GoState-b8 {w key} { set anchor [$w info anchor] if {$anchor == ""} { set anchor 0 } else { set anchor [$w info $key $anchor] } $w anchor set $anchor $w selection clear $w selection set $anchor $w see $anchor tixTList:CallBrowseCmd $w $anchor tixTList:GoState b0 $w } proc tixTList:GoState-b9 {w} { set anchor [$w info anchor] if {$anchor == ""} { set anchor 0 $w anchor set $anchor $w see $anchor } if {[$w info anchor] != ""} { # ! may not have any elements # tixTList:CallCommand $w [$w info anchor] $w selection clear $w selection set $anchor } tixTList:GoState b0 $w } proc tixTList:GoState-b10 {w} { set anchor [$w info anchor] if {$anchor == ""} { set anchor 0 $w anchor set $anchor $w see $anchor } if {[$w info anchor] != ""} { # ! may not have any elements # tixTList:CallBrowseCmd $w [$w info anchor] $w selection clear $w selection set $anchor } tixTList:GoState b0 $w } #---------------------------------------------------------------------- # MULTIPLE SELECTION #---------------------------------------------------------------------- proc tixTList:GoState-m0 {w} { } proc tixTList:GoState-m1 {w x y} { set ent [$w nearest $x $y] if {$ent != ""} { $w anchor set $ent $w see $ent $w selection clear $w selection set $ent tixTList:CallBrowseCmd $w $ent } tixTList:GoState m2 $w } proc tixTList:GoState-m2 {w} { } proc tixTList:GoState-m3 {w} { set ent [$w info anchor] if {$ent != ""} { tixTList:CallBrowseCmd $w $ent } tixTList:GoState m0 $w } proc tixTList:GoState-m4 {w x y} { set from [$w info anchor] set to [$w nearest $x $y] if {$to != ""} { $w selection clear $w selection set $from $to tixTList:CallBrowseCmd $w $to } tixTList:GoState m5 $w } proc tixTList:GoState-m5 {w} { } proc tixTList:GoState-m6 {w x y} { set ent [$w nearest $x $y] if {$ent != ""} { tixTList:CallBrowseCmd $w $ent } tixTList:GoState m0 $w } proc tixTList:GoState-m7 {w x y} { set from [$w info anchor] set to [$w nearest $x $y] if {$from == ""} { set from $to $w anchor set $from $w see $from } if {$to != ""} { $w selection clear $w selection set $from $to tixTList:CallBrowseCmd $w $to } tixTList:GoState m5 $w } proc tixTList:GoState-m8 {w} { tixTList:StartScan $w } proc tixTList:GoState-m9 {w} { tixTList:DoScan $w } proc tixTList:GoState-xm7 {w x y} { set ent [$w nearest $x $y] if {$ent != ""} { $w selection clear $w selection set $ent tixTList:CallCommand $w $ent } tixTList:GoState m0 $w } #---------------------------------------------------------------------- # EXTENDED SELECTION #---------------------------------------------------------------------- proc tixTList:GoState-e0 {w} { } proc tixTList:GoState-e1 {w x y} { set ent [$w nearest $x $y] if {$ent != ""} { $w anchor set $ent $w see $ent $w selection clear $w selection set $ent tixTList:CallBrowseCmd $w $ent } tixTList:GoState e2 $w } proc tixTList:GoState-e2 {w} { } proc tixTList:GoState-e3 {w} { set ent [$w info anchor] if {$ent != ""} { tixTList:CallBrowseCmd $w $ent } tixTList:GoState e0 $w } proc tixTList:GoState-e4 {w x y} { set from [$w info anchor] set to [$w nearest $x $y] if {$to != ""} { $w selection clear $w selection set $from $to tixTList:CallBrowseCmd $w $to } tixTList:GoState e5 $w } proc tixTList:GoState-e5 {w} { } proc tixTList:GoState-e6 {w x y} { set ent [$w nearest $x $y] if {$ent != ""} { tixTList:CallBrowseCmd $w $ent } tixTList:GoState e0 $w } proc tixTList:GoState-e7 {w x y} { set from [$w info anchor] set to [$w nearest $x $y] if {$from == ""} { set from $to $w anchor set $from $w see $from } if {$to != ""} { $w selection clear $w selection set $from $to tixTList:CallBrowseCmd $w $to } tixTList:GoState e5 $w } proc tixTList:GoState-e8 {w} { tixTList:StartScan $w } proc tixTList:GoState-e9 {w} { tixTList:DoScan $w } proc tixTList:GoState-e10 {w x y} { set ent [$w nearest $x $y] if {$ent != ""} { if {[$w info anchor] == ""} { $w anchor set $ent $w see $ent } if {[$w selection includes $ent]} { $w selection clear $ent } else { $w selection set $ent } tixTList:CallBrowseCmd $w $ent } tixTList:GoState e2 $w } proc tixTList:GoState-xm7 {w x y} { set ent [$w nearest $x $y] if {$ent != ""} { $w selection clear $w selection set $ent tixTList:CallCommand $w $ent } tixTList:GoState e0 $w } #---------------------------------------------------------------------- # callback actions #---------------------------------------------------------------------- proc tixTList:SetAnchor {w x y} { set ent [$w nearest $x $y] if {$ent != "" && [$w entrycget $ent -state] != "disabled"} { $w anchor set $ent $w see $ent return $ent } return "" } proc tixTList:Select {w ent} { $w selection clear $w select set $ent } proc tixTList:StartScan {w} { global tkPriv set tkPriv(afterId) [after 50 tixTList:AutoScan $w] } proc tixTList:DoScan {w} { global tkPriv set x $tkPriv(x) set y $tkPriv(y) set X $tkPriv(X) set Y $tkPriv(Y) set out 0 if {$y >= [winfo height $w]} { $w yview scroll 1 units set out 1 } if {$y < 0} { $w yview scroll -1 units set out 1 } if {$x >= [winfo width $w]} { $w xview scroll 2 units set out 1 } if {$x < 0} { $w xview scroll -2 units set out 1 } if {$out} { set tkPriv(afterId) [after 50 tixTList:AutoScan $w] } } proc tixTList:CallBrowseCmd {w ent} { set browsecmd [$w cget -browsecmd] if {$browsecmd != ""} { set bind(specs) {%V} set bind(%V) $ent tixEvalCmdBinding $w $browsecmd bind $ent } } proc tixTList:CallCommand {w ent} { set command [$w cget -command] if {$command != ""} { set bind(specs) {%V} set bind(%V) $ent tixEvalCmdBinding $w $command bind $ent } }