You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.7 KiB
Plaintext
65 lines
1.7 KiB
Plaintext
# TopLevelWin class definition for GDBtk.
|
|
# Copyright (C) 1998, 1999 Cygnus Solutions
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU General Public License (GPL) as published by
|
|
# the Free Software Foundation; either version 2 of the License, or (at
|
|
# your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
|
|
|
|
itcl::class TopLevelWin {
|
|
inherit ManagedWin
|
|
|
|
private variable frame ""
|
|
|
|
constructor {args} {
|
|
debug $itk_interior
|
|
|
|
# create a container frame
|
|
conFrame $itk_interior.container
|
|
pack $itk_interior.container -fill both -expand 1
|
|
|
|
# set up bindings for group iconification/deiconification
|
|
# NOT IMPLEMENTED YET
|
|
#set top [winfo toplevel [namespace tail $this]]
|
|
#bind_for_toplevel_only $top <Unmap> {
|
|
# manage_iconify iconify
|
|
#}
|
|
#bind_for_toplevel_only $top <Map> {
|
|
# manage_iconify deiconify
|
|
#}
|
|
incr numTopWins
|
|
}
|
|
|
|
public method conFrame {win} {
|
|
set frame [cyg::panedwindow $win -height 5i]
|
|
return $frame.con
|
|
}
|
|
|
|
public method conAdd {child args} {
|
|
parse_args {{resizable 1}}
|
|
$frame add $child -margin 0 -resizable $resizable
|
|
return [$frame childsite $child].con
|
|
}
|
|
|
|
public method sizeWinByChild {child} {
|
|
if {[catch {$frame childsite $child} childWin]} {
|
|
debug "Could not find child $child"
|
|
return
|
|
}
|
|
set width [winfo reqwidth $childWin]
|
|
$frame configure -width $width
|
|
|
|
}
|
|
|
|
destructor {
|
|
debug
|
|
incr numTopWins -1
|
|
}
|
|
}
|