IP : 3.144.185.82Hostname : server86.web-hosting.comKernel : 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_64Disable Function : None :) OS : Linux
PATH:
/
home/
./
./
../
run/
../
lib64/
tcl8.6/
Tix8.4.3/
VStack.tcl/
/
# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- # # $Id: VStack.tcl,v 1.4 2004/03/28 02:44:57 hobbs Exp $ # # VStack.tcl -- # # Virtual base class, do not instantiate! This is the core # class for all NoteBook style widgets. Stack maintains a list # of windows. It provides methods to create, delete windows as # well as stepping through them. # # 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. # #
#---------------------------------------------------------------------- # # G E O M E T R Y M A N A G E M E N T # #---------------------------------------------------------------------- proc tixVStack:DestroyTop {w} { catch { destroy $w } }
if {$data(repack) == 0} { set data(repack) 1 tixWidgetDoWhenIdle tixCallMethod $w Resize } }
proc tixVStack:ClientGeomProc {w flag client} { if {![winfo exists $w]} { return } upvar #0 $w data
if {$data(repack) == 0} { set data(repack) 1 tixWidgetDoWhenIdle tixCallMethod $w Resize }
if {$flag eq "-lostslave"} { error "Geometry Management Error: \ Another geometry manager has taken control of $client.\ This error is usually caused because a widget has been created\ in the wrong frame: it should have been created inside $client instead\ of $w" } }
if {$data(nWindows) == 0} { set data(repack) 0 return }
if {$data(-width) == 0 || $data(-height) == 0} { if {!$data(-dynamicgeometry)} { # Calculate my required width and height # set maxW 1 set maxH 1
foreach child $data(windows) { set cW [winfo reqwidth $data(w:$child)] set cH [winfo reqheight $data(w:$child)]
if {$maxW < $cW} { set maxW $cW } if {$maxH < $cH} { set maxH $cH } } set reqW $maxW set reqH $maxH } else { if {$data(topchild) ne ""} { set reqW [winfo reqwidth $data(w:$data(topchild))] set reqH [winfo reqheight $data(w:$data(topchild))] } else { set reqW 1 set reqH 1 } }
if {$reqW < $data(minW)} { set reqW $data(minW) } if {$reqH < $data(minH)} { set reqH $data(minH) } } # These take higher precedence # if {$data(-width) != 0} { set reqW $data(-width) } if {$data(-height) != 0} { set reqH $data(-height) }
if {[winfo reqwidth $w] != $reqW || [winfo reqheight $w] != $reqH} { if {![info exists data(counter)]} { set data(counter) 0 } if {$data(counter) < 50} { incr data(counter) tixGeometryRequest $w $reqW $reqH tixWidgetDoWhenIdle tixCallMethod $w Resize set data(repack) 1 return } } set data(counter) 0
if {$data(w:top) ne $w} { tixMoveResizeWindow $data(w:top) 0 0 [winfo width $w] [winfo height $w] tixMapWindow $data(w:top) }
if {[string equal $data(topchild) ""]} { set top [lindex $data(windows) 0] } else { set top $data(topchild) }