IP : 3.148.231.77 Hostname : server86.web-hosting.com Kernel : Linux server86.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64 Disable Function : None :) OS : Linux PATH: / home/ ../ lib64/ tcl8.6/ Tix8.4.3/ StackWin.tcl/ /

# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
# $Id: StackWin.tcl,v 1.3 2004/03/28 02:44:57 hobbs Exp $
#
# StackWin.tcl --
#
# Similar to NoteBook but uses a Select widget to represent the pages.
#
# 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 tixStackWindow {
-classname TixStackWindow
-superclass tixVStack
-method {
}
-flag {
}
-configspec {
}
}

proc tixStackWindow:ConstructWidget {w} {
upvar #0 $w data

tixChainMethod $w ConstructWidget

set data(w:tabs) [tixSelect $w.tabs]

# We can't use the packer because it will conflict with the
# geometry management of the VStack widget.
#
tixManageGeometry $data(w:tabs) [list tixVStack:ClientGeomProc $w]
}

proc tixStackWindow:add {w child args} {
upvar #0 $w data

set ret [eval [list tixChainMethod $w add $child] $args]

# Find out the -label option
#
foreach {flag value} $args {
if {$flag eq "-label"} {
set label $value
}
}

$data(w:tabs) add $child -command [list $w raise $child] -text $label

return $ret
}

proc tixStackWindow:raise {w child} {
upvar #0 $w data

$data(w:tabs) config -value $child

tixChainMethod $w raise $child
}

proc tixStackWindow:Resize {w} {
upvar #0 $w data

# We have to take care of the size of the tabs so that
#
set tW [winfo reqwidth $data(w:tabs)]
set tH [winfo reqheight $data(w:tabs)]

tixMoveResizeWindow $data(w:tabs) $data(-ipadx) $data(-ipady) $tW $tH
tixMapWindow $data(w:tabs)

set data(pad-y1) [expr $tH + $data(-ipadx)]
set data(minW) [expr $tW + 2 * $data(-ipadx)]
set data(minH) [expr $tH + 2 * $data(-ipady)]

# Now that we know data(pad-y1), we can chain the call
#
tixChainMethod $w Resize
}