Tryag File Manager
Home
-
Turbo Force
Current Path :
/
home
/
cluster1
/
data
/
bu01
/
1121861
/
html
/
TMAT
/
Python24
/
tcl
/
tix8.1
/
Upload File :
New :
File
Dir
/home/cluster1/data/bu01/1121861/html/TMAT/Python24/tcl/tix8.1/VTree.tcl
# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- # # $Id: VTree.tcl,v 1.3.2.1 2001/11/03 07:26:10 idiscovery Exp $ # # VTree.tcl -- # # Virtual base class for Tree 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 tixVTree { -virtual true -classname TixVTree -superclass tixScrolledHList -method { } -flag { -ignoreinvoke } -configspec { {-ignoreinvoke ignoreInvoke IgnoreInvoke false tixVerifyBoolean} } -default { } } proc tixVTree:InitWidgetRec {w} { upvar #0 $w data tixChainMethod $w InitWidgetRec } proc tixVTree:ConstructWidget {w} { upvar #0 $w data tixChainMethod $w ConstructWidget set data(indStyle) [tixDisplayStyle image -refwindow $data(w:hlist) \ -padx 0 -pady 0] } proc tixVTree:SetBindings {w} { upvar #0 $w data tixChainMethod $w SetBindings $data(w:hlist) config \ -indicatorcmd [list tixVTree:IndicatorCmd $w] \ -browsecmd [list tixVTree:BrowseCmdHook $w] \ -command [list tixVTree:CommandHook $w] } proc tixVTree:IndicatorCmd {w args} { upvar #0 $w data uplevel #0 set TRANSPARENT_GIF_COLOR [$data(w:hlist) cget -bg] set event [tixEvent type] set ent [tixEvent flag V] set type [tixVTree:GetType $w $ent] set plus [tix getimage plus] set plusarm [tix getimage plusarm] set minus [tix getimage minus] set minusarm [tix getimage minusarm] if {![$data(w:hlist) info exists $ent]} {return} case $event { <Arm> { if {![$data(w:hlist) indicator exists $ent]} {return} if {$type == "open"} { $data(w:hlist) indicator config $ent -image $plusarm } else { $data(w:hlist) indicator config $ent -image $minusarm } } <Disarm> { if {![$data(w:hlist) indicator exists $ent]} {return} if {$type == "open"} { $data(w:hlist) indicator config $ent -image $plus } else { $data(w:hlist) indicator config $ent -image $minus } } <Activate> { upvar bind bind tixCallMethod $w Activate $ent $type set bind(%V) $ent tixVTree:BrowseCmdHook $w } } } proc tixVTree:GetType {w ent} { upvar #0 $w data uplevel #0 set TRANSPARENT_GIF_COLOR [$data(w:hlist) cget -bg] if {![$data(w:hlist) indicator exists $ent]} { return none } set img [$data(w:hlist) indicator cget $ent -image] if {$img == [tix getimage plus]} { return open } if {$img == [tix getimage plusarm]} { return open } return close } proc tixVTree:Activate {w ent type} { upvar #0 $w data uplevel #0 set TRANSPARENT_GIF_COLOR [$data(w:hlist) cget -bg] set plus [tix getimage plus] set minus [tix getimage minus] if {$type == "open"} { tixCallMethod $w OpenCmd $ent $data(w:hlist) indicator config $ent -image $minus } else { tixCallMethod $w CloseCmd $ent $data(w:hlist) indicator config $ent -image $plus } } proc tixVTree:CommandHook {w args} { upvar #0 $w data upvar bind bind tixCallMethod $w Command bind } proc tixVTree:BrowseCmdHook {w args} { upvar #0 $w data upvar bind bind tixCallMethod $w BrowseCmd bind } proc tixVTree:SetMode {w ent mode} { upvar #0 $w data uplevel #0 set TRANSPARENT_GIF_COLOR [$data(w:hlist) cget -bg] case $mode { open { $data(w:hlist) indicator create $ent -itemtype image \ -image [tix getimage plus] -style $data(indStyle) } close { $data(w:hlist) indicator create $ent -itemtype image \ -image [tix getimage minus] -style $data(indStyle) } none { if {[$data(w:hlist) indicator exist $ent]} { $data(w:hlist) indicator delete $ent } } } } #---------------------------------------------------------------------- # # Virtual Methods # #---------------------------------------------------------------------- proc tixVTree:OpenCmd {w ent} { upvar #0 $w data # The default action foreach kid [$data(w:hlist) info children $ent] { $data(w:hlist) show entry $kid } } proc tixVTree:CloseCmd {w ent} { upvar #0 $w data # The default action foreach kid [$data(w:hlist) info children $ent] { $data(w:hlist) hide entry $kid } } proc tixVTree:Command {w B} { upvar #0 $w data upvar $B bind if {$data(-ignoreinvoke)} { return } set ent [tixEvent flag V] if {[$data(w:hlist) indicator exist $ent]} { tixVTree:Activate $w $ent [tixVTree:GetType $w $ent] } } proc tixVTree:BrowseCmd {w B} { } #---------------------------------------------------------------------- # # Widget commands # #----------------------------------------------------------------------