This is the mail archive of the
insight@sources.redhat.com
mailing list for the Insight project.
Re: [RFA] library/managedwin.it{h,b} cleanup #1
- To: Insight Maling List <insight at sources dot redhat dot com>
- Subject: Re: [RFA] library/managedwin.it{h,b} cleanup #1
- From: "Martin M. Hunt" <hunt at redhat dot com>
- Date: Thu, 15 Mar 2001 11:45:30 -0800 (PST)
Keith gave verbal approval, so I have checked this in.
Martin
On Thu, 1 Mar 2001, Martin M. Hunt wrote:
> I think it's confusing that you made protected variables and methods
> prefixed by an underscore like private variables and functions. This
> doesn't seem to be the standard for the rest of the files.
>
> If you do want to do this, you will need to fix the browser and kod
> windows. Here's the patch:
>
> 2001-03-01 Martin Hunt <hunt@redhat.com>
>
> * library/browserwin.itb: Change all references to freeze_me,
> thaw_me and Top to _freeze_me, _thaw_me, and _top to match
> changes to managedwin.
> * library/kod.itb: Ditto.
>
> Index: browserwin.itb
> ===================================================================
> RCS file: /cvs/src/src/gdb/gdbtk/library/browserwin.itb,v
> retrieving revision 1.1.1.1
> diff -p -r1.1.1.1 browserwin.itb
> *** browserwin.itb 2000/02/07 00:19:42 1.1.1.1
> --- browserwin.itb 2001/03/02 05:57:31
> ***************
> *** 1,5 ****
> ! # Browswer window for GDBtk.
> ! # Copyright 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
> --- 1,5 ----
> ! # Browswer window for Insight.
> ! # Copyright 1998, 1999, 2001 Red Hat
> #
> # 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
> *************** body BrowserWin::search {} {
> *** 426,432 ****
> return
> }
>
> ! freeze_me
>
> set filt_pat [format $filter_regexp($cur_filter_mode) \
> [pref get gdb/search/last_symbol]]
> --- 426,432 ----
> return
> }
>
> ! _freeze_me
>
> set filt_pat [format $filter_regexp($cur_filter_mode) \
> [pref get gdb/search/last_symbol]]
> *************** body BrowserWin::search {} {
> *** 441,447 ****
>
> if {$err} {
> debug "ERROR searching for [pref get gdb/search/last_symbol]: $matches"
> ! thaw_me
> return
> }
>
> --- 441,447 ----
>
> if {$err} {
> debug "ERROR searching for [pref get gdb/search/last_symbol]: $matches"
> ! _thaw_me
> return
> }
>
> *************** body BrowserWin::search {} {
> *** 454,460 ****
> $itk_component(func_box) insert end [lindex $func 0]
> set index_to_file([incr i]) [lindex $func 1]
> }
> ! thaw_me
> }
>
> # ------------------------------------------------------------------
> --- 454,460 ----
> $itk_component(func_box) insert end [lindex $func 0]
> set index_to_file([incr i]) [lindex $func 1]
> }
> ! _thaw_me
> }
>
> # ------------------------------------------------------------------
> *************** body BrowserWin::_toggle_more {{in_const
> *** 467,474 ****
> # Temporarily disable the resize bindings before opening the window.
> _bind_toplevel 0
>
> ! set topHeight [winfo height $Top]
> ! set topWidth [winfo width $Top]
>
> if {!$MoreVisible} {
>
> --- 467,474 ----
> # Temporarily disable the resize bindings before opening the window.
> _bind_toplevel 0
>
> ! set topHeight [winfo height $_top]
> ! set topWidth [winfo width $_top]
>
> if {!$MoreVisible} {
>
> *************** body BrowserWin::_toggle_more {{in_const
> *** 481,498 ****
> # screen. Otherwise, figure out how big to make it...
>
> set height [pref get gdb/browser/view_height]
> ! set bottom [expr {[winfo y $Top] + $topHeight}]
>
> ! set extra [expr {[winfo screenheight $Top] - $bottom - 20}]
>
> if {$height < 0} {
> ! set default [winfo pixels $Top 3i]
> set height [expr {$extra > $default ? $default : $extra}]
> } else {
> set height [expr {$extra > $height ? $height : $extra}]
> }
>
> ! wm geometry $Top ${topWidth}x[expr {$topHeight + $height}]
> grid rowconfigure $itk_component(hull) $componentToRow(view_hidden) \
> -weight 1
> grid rowconfigure $itk_component(hull) $componentToRow(browser) -weight 0
> --- 481,498 ----
> # screen. Otherwise, figure out how big to make it...
>
> set height [pref get gdb/browser/view_height]
> ! set bottom [expr {[winfo y $_top] + $topHeight}]
>
> ! set extra [expr {[winfo screenheight $_top] - $bottom - 20}]
>
> if {$height < 0} {
> ! set default [winfo pixels $_top 3i]
> set height [expr {$extra > $default ? $default : $extra}]
> } else {
> set height [expr {$extra > $height ? $height : $extra}]
> }
>
> ! wm geometry $_top ${topWidth}x[expr {$topHeight + $height}]
> grid rowconfigure $itk_component(hull) $componentToRow(view_hidden) \
> -weight 1
> grid rowconfigure $itk_component(hull) $componentToRow(browser) -weight 0
> *************** body BrowserWin::_toggle_more {{in_const
> *** 542,548 ****
>
> set newTopHeight [expr {$topHeight - \
> [winfo height $itk_component(view_hidden)]}]
> ! wm geometry $Top ${topWidth}x$newTopHeight
>
> if {!$in_constructor} {
> grid rowconfigure $itk_component(hull) $componentToRow(browser) -weight 1
> --- 542,548 ----
>
> set newTopHeight [expr {$topHeight - \
> [winfo height $itk_component(view_hidden)]}]
> ! wm geometry $_top ${topWidth}x$newTopHeight
>
> if {!$in_constructor} {
> grid rowconfigure $itk_component(hull) $componentToRow(browser) -weight 1
> *************** body BrowserWin::_toggle_more {{in_const
> *** 574,585 ****
> # ------------------------------------------------------------------
> body BrowserWin::_bind_toplevel {install} {
>
> ! set bindings [bindtags $Top]
> if {$install} {
> ! bindtags $Top [linsert $bindings 0 Configure_Browser_$this]
> } else {
> set bindLoc [lsearch $bindings Configure_Browser_$this]
> ! bindtags $Top [lreplace $bindings $bindLoc $bindLoc]
> }
> }
>
> --- 574,585 ----
> # ------------------------------------------------------------------
> body BrowserWin::_bind_toplevel {install} {
>
> ! set bindings [bindtags $_top]
> if {$install} {
> ! bindtags $_top [linsert $bindings 0 Configure_Browser_$this]
> } else {
> set bindLoc [lsearch $bindings Configure_Browser_$this]
> ! bindtags $_top [lreplace $bindings $bindLoc $bindLoc]
> }
> }
>
> *************** body BrowserWin::_do_resize {} {
> *** 610,616 ****
> }
>
> eval $labelUpdateCode
> ! pack propagate $Top 1
>
> set resize_after ""
>
> --- 610,616 ----
> }
>
> eval $labelUpdateCode
> ! pack propagate $_top 1
>
> set resize_after ""
>
> *************** body BrowserWin::_do_resize {} {
> *** 622,628 ****
> # ------------------------------------------------------------------
> body BrowserWin::_resize {} {
>
> ! pack propagate $Top 0
>
> if {$MoreVisible} {
> grid rowconfigure $itk_component(hull) $componentToRow(view_hidden) \
> --- 622,628 ----
> # ------------------------------------------------------------------
> body BrowserWin::_resize {} {
>
> ! pack propagate $_top 0
>
> if {$MoreVisible} {
> grid rowconfigure $itk_component(hull) $componentToRow(view_hidden) \
> *************** body BrowserWin::_process_func_selection
> *** 697,703 ****
> body BrowserWin::do_all_bp {onp} {
>
> set funcs [$itk_component(func_box) getcurselection]
> ! freeze_me
>
> foreach f $funcs {
> if {[catch {gdb_loc $f} linespec]} {
> --- 697,703 ----
> body BrowserWin::do_all_bp {onp} {
>
> set funcs [$itk_component(func_box) getcurselection]
> ! _freeze_me
>
> foreach f $funcs {
> if {[catch {gdb_loc $f} linespec]} {
> *************** body BrowserWin::do_all_bp {onp} {
> *** 715,721 ****
> catch {gdb_cmd "delete $bpnum"}
> }
> }
> ! thaw_me
> }
>
> # ------------------------------------------------------------------
> --- 715,721 ----
> catch {gdb_cmd "delete $bpnum"}
> }
> }
> ! _thaw_me
> }
>
> # ------------------------------------------------------------------
> *************** body BrowserWin::_fill_source {f {funcp
> *** 810,823 ****
> if {$file_changed} {
> # Set the file name label:
> $itk_component(view_name) configure -text $name:
> ! freeze_me
> }
>
> $itk_component(view_src) location BROWSE_TAG $name $funcname \
> $line $addr $pc_addr lib
>
> if {$file_changed} {
> ! thaw_me
> }
>
> set Current(function) $funcname
> --- 810,823 ----
> if {$file_changed} {
> # Set the file name label:
> $itk_component(view_name) configure -text $name:
> ! _freeze_me
> }
>
> $itk_component(view_src) location BROWSE_TAG $name $funcname \
> $line $addr $pc_addr lib
>
> if {$file_changed} {
> ! _thaw_me
> }
>
> set Current(function) $funcname
> Index: kod.itb
> ===================================================================
> RCS file: /cvs/src/src/gdb/gdbtk/library/kod.itb,v
> retrieving revision 1.1.1.1
> diff -p -r1.1.1.1 kod.itb
> *** kod.itb 2000/02/07 00:19:42 1.1.1.1
> --- kod.itb 2001/03/02 05:57:32
> ***************
> *** 1,5 ****
> ! # Kernel Object Display Window 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
> --- 1,5 ----
> ! # Kernel Object Display Window for Insight.
> ! # Copyright (C) 1998, 1999, 2001 Red Hat
> #
> # 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
> *************** body KodWin::build_win {} {
> *** 139,145 ****
> pack $tp.tf -side top -expand yes -fill both -padx 5 -pady 5
> pack $tp.bf -side top -expand no -fill x -padx 5 -pady 5
> pack $itk_interior.pw -side bottom -expand yes -fill both
> ! wm minsize $Top 450 500
>
> # Initialize button state variables for idle (called before update)
> set BState(BDisplay) disabled
> --- 139,145 ----
> pack $tp.tf -side top -expand yes -fill both -padx 5 -pady 5
> pack $tp.bf -side top -expand no -fill x -padx 5 -pady 5
> pack $itk_interior.pw -side bottom -expand yes -fill both
> ! wm minsize $_top 450 500
>
> # Initialize button state variables for idle (called before update)
> set BState(BDisplay) disabled
> *************** body KodWin::idle {} {
> *** 453,459 ****
> # pointer to the given glyph.
> # ------------------------------------------------------------------
> body KodWin::cursor {glyph} {
> ! $Top configure -cursor $glyph
> }
>
> # ------------------------------------------------------------------
> --- 453,459 ----
> # pointer to the given glyph.
> # ------------------------------------------------------------------
> body KodWin::cursor {glyph} {
> ! $_top configure -cursor $glyph
> }
>
> # ------------------------------------------------------------------
>
> On Wed, 28 Feb 2001, Keith Seitz wrote:
>
> > Hi,
> >
> > I am cleaning a little house on these files: updating copyrights,
> > "masssaging" for readability, adding comments, removing dead code, etc.
> >
> > These changes are strictly non-functional changes which affect only these
> > two files. Changes to be made to ManagedWin which affect other files to
> > follow.
> >
> > Comments? (Yes, I have begun a Tcl programming style guide for Insight...)
> > Keith
> >
> > ChangeLog:
> > 2001-02-28 Keith Seitz <keiths@cygnus.com>
> >
> > * library/managedwin.ith: Move all implementations into
> > managedwin.itb.
> > (public variable nosize): Delete.
> > (freeze_me, thaw_me, make_icon_window): Prepend with
> > underscore to remind people these are not public
> > methods/procs.
> > (protected variable Top, screenwidth, screenheight): Ditto
> > for these variables.
> > (protected common manage_active, mainwindow): Delete.
> > (enable): Delete.
> > (reconfig): Add empty body.
> > * library/managedwin.itb: Move all implementations from
> > header here.
> > Update all references to renamed variables/methods/procs.
> > (destructor, restart, shutdown, _open, find) Let
> > Itcl tell us which ManagedWins we have lying around.
> > (enable): Delete.
> > (reconfig): It's empty. Moved empty body to header.
> >
> > Patch:
> >
> > Index: managedwin.ith
> > ===================================================================
> > RCS file: /cvs/src/src/gdb/gdbtk/library/managedwin.ith,v
> > retrieving revision 1.2
> > diff -p -p -r1.2 managedwin.ith
> > *** managedwin.ith 2000/03/28 01:59:40 1.2
> > --- managedwin.ith 2001/03/01 03:11:16
> > ***************
> > *** 1,5 ****
> > # Managed window class definition for GDBtk.
> > ! # Copyright 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
> > --- 1,5 ----
> > # Managed window class definition for GDBtk.
> > ! # Copyright 1998, 1999, 2000, 2001 Red Hat, Inc.
> > #
> > # 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
> > *************** class ManagedWin {
> > *** 16,31 ****
> > inherit itk::Widget
> >
> > public {
> > ! method reconfig {}
> > method destroy_toplevel {}
> > method quit_if_last {} {return 1}
> > - method enable {on}
> > method pickle {}
> > method reveal {}
> > method window_name {wname {iname ""}}
> >
> > - variable nosize 0
> > -
> > proc find {win}
> > proc open {args}
> > proc open_dlg {class args}
> > --- 16,31 ----
> > inherit itk::Widget
> >
> > public {
> > ! method constructor {args}
> > ! method destructor {}
> > !
> > ! method reconfig {} {}
> > method destroy_toplevel {}
> > method quit_if_last {} {return 1}
> > method pickle {}
> > method reveal {}
> > method window_name {wname {iname ""}}
> >
> > proc find {win}
> > proc open {args}
> > proc open_dlg {class args}
> > *************** class ManagedWin {
> > *** 35,105 ****
> > proc shutdown {}
> > }
> >
> > - protected {
> > - proc dont_remember_size {} {
> > - return 0
> > - }
> > - method freeze_me {}
> > - method thaw_me {}
> > -
> > - variable Top
> > - }
> > -
> > - private {
> > - proc _create {class args}
> > - proc _open {class args}
> > - proc make_icon_window {name {file "gdbtk_icon"}}
> > - }
> > -
> > protected {
> > ! # manage_active - list of active window objects
> > ! common manage_active ""
> >
> > # this is the counter of TopLevelWins open
> > # when it hits 0, exit.
> > common numTopWins 0
> >
> > ! common screenwidth
> > ! common screenheight
> > ! common mainwindow
> > ! }
> > !
> > ! constructor {args} {
> > ! debug "$this args=$args"
> > ! lappend manage_active $this
> > ! set Top [winfo toplevel $itk_interior]
> > !
> > ! }
> >
> > ! destructor {
> >
> > ! set infoList [after info]
> > !
> > ! # remove object from list
> > ! set i [lsearch -exact $manage_active $this]
> > ! if {$i != -1} {
> > ! set manage_active [lreplace $manage_active $i $i]
> > ! }
> > !
> > ! # save geometry
> > ! set g [wm geometry [winfo toplevel [namespace tail $this]]]
> > ! pref setd gdb/geometry/[namespace tail $this] $g
> > !
> > ! # If no toplevels remain, quit. However, check the quit_if_last
> > ! # flag since we might be doing something like displaying a
> > ! # splash screen at startup...
> > !
> > ! if {!$numTopWins && [quit_if_last]} {
> > ! # save window positions of remaining windows
> > ! foreach obj $manage_active {
> > ! set g [wm geometry [winfo toplevel [namespace tail $obj]]]
> > ! pref setd gdb/geometry/[namespace tail $obj] $g
> > ! }
> > ! pref_save
> > ! gdb_force_quit
> > ! } else {
> > ! destroy_toplevel
> > ! }
> > ! }
> >
> > }
> > --- 35,60 ----
> > proc shutdown {}
> > }
> >
> > protected {
> > ! # The Tk's toplevel window for this ManagedWin
> > ! variable _top
> >
> > # this is the counter of TopLevelWins open
> > # when it hits 0, exit.
> > common numTopWins 0
> >
> > ! common _screenwidth
> > ! common _screenheight
> >
> > ! method _freeze_me {}
> > ! method _thaw_me {}
> >
> > ! proc dont_remember_size {} { return 0 }
> > ! }
> >
> > + private {
> > + proc _create {class args}
> > + proc _open {class args}
> > + proc _make_icon_window {name {file "gdbtk_icon"}}
> > + }
> > }
> > Index: managedwin.itb
> > ===================================================================
> > RCS file: /cvs/src/src/gdb/gdbtk/library/managedwin.itb,v
> > retrieving revision 1.9
> > diff -p -p -r1.9 managedwin.itb
> > *** managedwin.itb 2001/01/04 17:55:48 1.9
> > --- managedwin.itb 2001/03/01 03:11:27
> > ***************
> > *** 1,5 ****
> > # Managed window for GDBtk.
> > ! # Copyright 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
> > --- 1,5 ----
> > # Managed window for GDBtk.
> > ! # Copyright 1998, 1999, 2000, 2001 Red Hat, Inc.
> > #
> > # 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
> > ***************
> > *** 12,20 ****
> > # GNU General Public License for more details.
> >
> >
> > ! body ManagedWin::reconfig {} {}
> >
> >
> > body ManagedWin::window_name {wname {iname ""}} {
> > set top [winfo toplevel [namespace tail $this]]
> > wm title $top $wname
> > --- 12,55 ----
> > # GNU General Public License for more details.
> >
> >
> > ! # ------------------------------------------------------------
> > ! # PUBLIC METHOD: constructor
> > ! # ------------------------------------------------------------
> > ! body ManagedWin::constructor {args} {
> > ! #debug "$this args=$args"
> > ! set _top [winfo toplevel $itk_interior]
> > ! }
> >
> > + # ------------------------------------------------------------
> > + # PUBLIC METHOD: destructor
> > + # ------------------------------------------------------------
> > + body ManagedWin::destructor {} {
> >
> > + # save geometry
> > + set g [wm geometry [winfo toplevel [namespace tail $this]]]
> > + pref setd gdb/geometry/[namespace tail $this] $g
> > +
> > + # If no toplevels remain, quit. However, check the quit_if_last
> > + # flag since we might be doing something like displaying a
> > + # splash screen at startup...
> > +
> > + if {!$numTopWins && [quit_if_last]} {
> > + # save window positions of remaining windows
> > + foreach obj [itcl_info objects -isa ManagedWin] {
> > + set g [wm geometry [winfo toplevel [namespace tail $obj]]]
> > + pref setd gdb/geometry/[namespace tail $obj] $g
> > + }
> > + pref_save
> > + gdb_force_quit
> > + } else {
> > + destroy_toplevel
> > + }
> > + }
> > +
> > + # ------------------------------------------------------------
> > + # PUBLIC METHOD: window_name - Set the name of the window
> > + # (and optionally it's icon's name)
> > + # ------------------------------------------------------------
> > body ManagedWin::window_name {wname {iname ""}} {
> > set top [winfo toplevel [namespace tail $this]]
> > wm title $top $wname
> > *************** body ManagedWin::window_name {wname {ina
> > *** 26,38 ****
> > }
> >
> > # ------------------------------------------------------------
> > ! # pickle - This is the base class pickle method. It returns a
> > ! # a command that can be used to recreate this particular window.
> > # ------------------------------------------------------------
> > body ManagedWin::pickle {} {
> > return [list ManagedWin::open [namespace tail [info class]]]
> > }
> >
> > body ManagedWin::reveal {} {
> > # Do this update to flush all changes before deiconifying the window.
> > update idletasks
> > --- 61,77 ----
> > }
> >
> > # ------------------------------------------------------------
> > ! # PUBLIC METHOD: pickle - This is the base class pickle
> > ! # method. It returns a command that can be used to recreate
> > ! # this particular window.
> > # ------------------------------------------------------------
> > body ManagedWin::pickle {} {
> > return [list ManagedWin::open [namespace tail [info class]]]
> > }
> >
> > + # ------------------------------------------------------------
> > + # PUBLIC METHOD: reveal
> > + # ------------------------------------------------------------
> > body ManagedWin::reveal {} {
> > # Do this update to flush all changes before deiconifying the window.
> > update idletasks
> > *************** body ManagedWin::reveal {} {
> > *** 48,60 ****
> > # This can actually be confusing to the user.
> > }
> >
> > body ManagedWin::restart {} {
> > # This is needed in case we've called "gdbtk_busy" before the restart.
> > # This will configure the stop/run button as necessary
> > after idle gdbtk_idle
> >
> > # call the reconfig method for each object
> > ! foreach obj $manage_active {
> > if {[catch {$obj reconfig} msg]} {
> > dbug W "reconfig failed for $obj - $msg"
> > }
> > --- 87,102 ----
> > # This can actually be confusing to the user.
> > }
> >
> > + # ------------------------------------------------------------
> > + # PUBLIC PROC: restart
> > + # ------------------------------------------------------------
> > body ManagedWin::restart {} {
> > # This is needed in case we've called "gdbtk_busy" before the restart.
> > # This will configure the stop/run button as necessary
> > after idle gdbtk_idle
> >
> > # call the reconfig method for each object
> > ! foreach obj [itcl_info objects -isa ManagedWin] {
> > if {[catch {$obj reconfig} msg]} {
> > dbug W "reconfig failed for $obj - $msg"
> > }
> > *************** body ManagedWin::restart {} {
> > *** 62,75 ****
> > }
> >
> > # ------------------------------------------------------------------
> > ! # shutdown - This writes all the active windows to the preferences file,
> > ! # so they can be restored at startup.
> > ! # FIXME: Currently assumes only ONE window per type...
> > # ------------------------------------------------------------------
> > -
> > body ManagedWin::shutdown {} {
> > set activeWins {}
> > ! foreach win $manage_active {
> > if {[$win isa ManagedWin]} {
> > lappend activeWins [$win pickle]
> > }
> > --- 104,116 ----
> > }
> >
> > # ------------------------------------------------------------------
> > ! # PUBLIC PROC: shutdown - This writes all the active windows to
> > ! # the preferences file, so they can be restored at startup.
> > ! # FIXME: Currently assumes only ONE window per type...
> > # ------------------------------------------------------------------
> > body ManagedWin::shutdown {} {
> > set activeWins {}
> > ! foreach win [itcl_info objects -isa ManagedWin] {
> > if {[$win isa ManagedWin]} {
> > lappend activeWins [$win pickle]
> > }
> > *************** body ManagedWin::shutdown {} {
> > *** 78,87 ****
> > }
> >
> > # ------------------------------------------------------------------
> > ! # startup - This restores all the windows that were opened at shutdown.
> > ! # FIXME: Currently assumes only ONE window per type...
> > # ------------------------------------------------------------------
> > -
> > body ManagedWin::startup {} {
> > debug "Got active list [pref get gdb/window/active]"
> >
> > --- 119,128 ----
> > }
> >
> > # ------------------------------------------------------------------
> > ! # PUBLIC PROC: startup - This restores all the windows that were
> > ! # opened at shutdown.
> > ! # FIXME: Currently assumes only ONE window per type...
> > # ------------------------------------------------------------------
> > body ManagedWin::startup {} {
> > debug "Got active list [pref get gdb/window/active]"
> >
> > *************** body ManagedWin::startup {} {
> > *** 100,105 ****
> > --- 141,149 ----
> > }
> > }
> >
> > + # ------------------------------------------------------------
> > + # PUBLIC PROC: open_dlg
> > + # ------------------------------------------------------------
> > body ManagedWin::open_dlg {class args} {
> >
> > set newwin [eval _open $class $args]
> > *************** body ManagedWin::open_dlg {class args} {
> > *** 108,115 ****
> > $newwin post
> > }
> > }
> > -
> >
> > body ManagedWin::open {class args} {
> >
> > set newwin [eval _open $class $args]
> > --- 152,161 ----
> > $newwin post
> > }
> > }
> >
> > + # ------------------------------------------------------------
> > + # PUBLIC PROC: open
> > + # ------------------------------------------------------------
> > body ManagedWin::open {class args} {
> >
> > set newwin [eval _open $class $args]
> > *************** body ManagedWin::open {class args} {
> > *** 125,130 ****
> > --- 171,179 ----
> > return $newwin
> > }
> >
> > + # ------------------------------------------------------------
> > + # PRIVATE PROC: _open
> > + # ------------------------------------------------------------
> > body ManagedWin::_open { class args } {
> > debug "$class $args"
> >
> > *************** body ManagedWin::_open { class args } {
> > *** 132,138 ****
> >
> > if {!$force} {
> > # check all windows for one of this type
> > ! foreach obj $manage_active {
> > if {[$obj isa $class]} {
> > $obj reveal
> > return $obj
> > --- 181,187 ----
> >
> > if {!$force} {
> > # check all windows for one of this type
> > ! foreach obj [itcl_info objects -isa ManagedWin] {
> > if {[$obj isa $class]} {
> > $obj reveal
> > return $obj
> > *************** body ManagedWin::_open { class args } {
> > *** 144,149 ****
> > --- 193,201 ----
> > return [eval _create $class $args]
> > }
> >
> > + # ------------------------------------------------------------
> > + # PRIVATE PROC: _create
> > + # ------------------------------------------------------------
> > body ManagedWin::_create { class args } {
> >
> > set win [string tolower $class]
> > *************** body ManagedWin::_create { class args }
> > *** 183,189 ****
> > return ""
> > }
> >
> > ! wm maxsize $top $screenwidth $screenheight
> > wm minsize $top 20 20
> >
> > if {$over != ""} {
> > --- 235,241 ----
> > return ""
> > }
> >
> > ! wm maxsize $top $_screenwidth $_screenheight
> > wm minsize $top 20 20
> >
> > if {$over != ""} {
> > *************** body ManagedWin::_create { class args }
> > *** 207,213 ****
> > } elseif {$::tcl_platform(platform) == "unix"} {
> > # Modal dialogs DONT get Icons...
> > if {[pref get gdb/use_icons] && ![$newwin isa ModalDialog]} {
> > ! set icon [make_icon_window ${top}_icon]
> > wm iconwindow $top $icon
> > bind $icon <Double-1> "$newwin reveal"
> > }
> > --- 259,265 ----
> > } elseif {$::tcl_platform(platform) == "unix"} {
> > # Modal dialogs DONT get Icons...
> > if {[pref get gdb/use_icons] && ![$newwin isa ModalDialog]} {
> > ! set icon [_make_icon_window ${top}_icon]
> > wm iconwindow $top $icon
> > bind $icon <Double-1> "$newwin reveal"
> > }
> > *************** body ManagedWin::_create { class args }
> > *** 230,239 ****
> > set w 0; set h 0; set x 0; set y 0
> > if {![catch {scan $g "%dx%d%d%d" w h x y} res]} {
> > if {$x < 0} {
> > ! set x [expr $screenwidth + $x]
> > }
> > if {$y < 0} {
> > ! set y [expr $screenheight + $y]
> > }
> >
> > # If the window is transient, then don't reset its size, since
> > --- 282,291 ----
> > set w 0; set h 0; set x 0; set y 0
> > if {![catch {scan $g "%dx%d%d%d" w h x y} res]} {
> > if {$x < 0} {
> > ! set x [expr $_screenwidth + $x]
> > }
> > if {$y < 0} {
> > ! set y [expr $_screenheight + $y]
> > }
> >
> > # If the window is transient, then don't reset its size, since
> > *************** body ManagedWin::_create { class args }
> > *** 249,255 ****
> > } else {
> > set g "${w}x${h}+${x}+${y}"
> > }
> > ! if {[expr $x+50] < $screenwidth && [expr $y+20] < $screenheight} {
> > wm geometry $top $g
> > wm positionfrom $top user
> > }
> > --- 301,307 ----
> > } else {
> > set g "${w}x${h}+${x}+${y}"
> > }
> > ! if {[expr $x+50] < $_screenwidth && [expr $y+20] < $_screenheight} {
> > wm geometry $top $g
> > wm positionfrom $top user
> > }
> > *************** body ManagedWin::_create { class args }
> > *** 262,310 ****
> > return $newwin
> > }
> >
> > body ManagedWin::find { win } {
> > debug "$win"
> > set res ""
> > ! foreach obj $manage_active {
> > if {[$obj isa $win]} {
> > lappend res $obj
> > }
> > }
> > return $res
> > }
> > -
> > - body ManagedWin::enable { on } {
> > - }
> >
> > !
> > body ManagedWin::init {} {
> > debug
> > wm withdraw .
> > ! set screenheight [winfo screenheight .]
> > ! set screenwidth [winfo screenwidth .]
> > }
> >
> > body ManagedWin::destroy_toplevel {} {
> > ! after idle "update idletasks;destroy $Top"
> > }
> >
> > ! body ManagedWin::freeze_me {} {
> > ! $Top configure -cursor watch
> > ::update idletasks
> > }
> >
> > ! body ManagedWin::thaw_me {} {
> >
> > ! $Top configure -cursor {}
> > ::update idletasks
> > }
> >
> > # ------------------------------------------------------------------
> > ! # make_icon_window - create a small window with an icon in
> > ! # it for use by certain Unix window managers.
> > # ------------------------------------------------------------------
> > !
> > ! body ManagedWin::make_icon_window {name {file "gdbtk_icon"}} {
> > if {![winfo exists $name]} {
> > toplevel $name
> > label $name.im -image \
> > --- 314,372 ----
> > return $newwin
> > }
> >
> > + # ------------------------------------------------------------
> > + # PUBLIC PROC: find
> > + # ------------------------------------------------------------
> > body ManagedWin::find { win } {
> > debug "$win"
> > set res ""
> > ! foreach obj [itcl_info objects -isa ManagedWin] {
> > if {[$obj isa $win]} {
> > lappend res $obj
> > }
> > }
> > return $res
> > }
> >
> > ! # ------------------------------------------------------------
> > ! # PUBLIC PROC: init
> > ! # ------------------------------------------------------------
> > body ManagedWin::init {} {
> > debug
> > wm withdraw .
> > ! set _screenheight [winfo screenheight .]
> > ! set _screenwidth [winfo screenwidth .]
> > }
> >
> > + # ------------------------------------------------------------
> > + # PUBLIC METHOD: destroy_toplevel
> > + # ------------------------------------------------------------
> > body ManagedWin::destroy_toplevel {} {
> > ! after idle "update idletasks;destroy $_top"
> > }
> >
> > ! # ------------------------------------------------------------
> > ! # PRIVATE METHOD: _freeze_me
> > ! # ------------------------------------------------------------
> > ! body ManagedWin::_freeze_me {} {
> > ! $_top configure -cursor watch
> > ::update idletasks
> > }
> >
> > ! # ------------------------------------------------------------
> > ! # PRIVATE METHOD: _thaw_me
> > ! # ------------------------------------------------------------
> > ! body ManagedWin::_thaw_me {} {
> >
> > ! $_top configure -cursor {}
> > ::update idletasks
> > }
> >
> > # ------------------------------------------------------------------
> > ! # PRIVATE PROC: _make_icon_window - create a small window with an
> > ! # icon in it for use by certain Unix window managers.
> > # ------------------------------------------------------------------
> > ! body ManagedWin::_make_icon_window {name {file "gdbtk_icon"}} {
> > if {![winfo exists $name]} {
> > toplevel $name
> > label $name.im -image \
> >
> >
>
>