This is the mail archive of the
insight@sources.redhat.com
mailing list for the Insight project.
Re: [RFA] Address, line number and download progress.
- To: Keith Seitz <keiths at cygnus dot com>
- Subject: Re: [RFA] Address, line number and download progress.
- From: Ian Roxborough <irox at redhat dot com>
- Date: Fri, 02 Nov 2001 10:09:53 -0800
- CC: Fernando Nasser <fnasser at redhat dot com>, insight at sources dot redhat dot com
- References: <Pine.GSO.4.33.0111020855190.5132-100000@makita.cygnus.com>
Hi,
I like the GDBStatusBar idea. Also in it's current state the UI
patch will remove some of Martin's 64-bit addresses patch.
I'll see if I can move things out of the source window class and
into a simple no-frills StatusBar class. If I don't get time to
do that I'll just fix the parts that break the 64-bit addresses
(the setting of the label width part) and submit it again.
Either way, I'll try to submit something by next friday.
Ian.
Keith Seitz wrote:
>
> On Fri, 2 Nov 2001, Fernando Nasser wrote:
>
> > I am aware of the risks of accepting the patch without the cleanup. But Ian
> > has done a lot lately and this is sort of his last batch of UI changes, I
> > wouldn't like to leave a bit of it out.
> >
> > Unless Ian thinks he can do this bit more and create the GDBStatusBar
> > class...
> > Can you Ian?
>
> I thought as much, too, which is why I asked. :v)
>
> Ian, if you don't have the time (and I am pretty certain you don't right
> now), please check in your changes.
>
> FWIW, here's your patches against current sources.
> Keith
>
> Index: library/srcwin.itb
> ===================================================================
> RCS file: /cvs/src/src/gdb/gdbtk/library/srcwin.itb,v
> retrieving revision 1.17
> diff -u -p -r1.17 srcwin.itb
> --- library/srcwin.itb 2001/10/04 15:01:36 1.17
> +++ library/srcwin.itb 2001/11/02 16:57:12
> @@ -112,17 +112,13 @@ body SrcWin::_build_win {} {
> $_statbar.mode list insert end SRC+ASM
>
> - # Search/download progress frame
> + # Search
> frame $_statbar.frame
> entry $_statbar.frame.search -bd 3 -font src-font -width 10
> bind_plain_key $_statbar.frame.search \
> Return [code $this _search forwards]
> bind_plain_key $_statbar.frame.search \
> Shift-Return [code $this _search backwards]
> - canvas $_statbar.frame.progress -relief sunken -borderwidth 2 \
> - -highlightthickness 0 -takefocus 0 -width 100 -height 0 -confine 1
> - $_statbar.frame.progress create rectangle 0 0 0 \
> - [winfo height $_statbar.frame.progress] -outline blue -fill blue -tags rect
>
> pack $_statbar.frame -side right -pady 4 -padx 10 -fill y -expand 1 -anchor e
> pack $_statbar.mode -side right -padx 10 -pady 4
> @@ -140,8 +136,32 @@ body SrcWin::_build_win {} {
>
> # add status line
> set _status [conAdd status -resizable 0]
> + set _statusframe [frame $_status]
> + set _status $_statusframe.con
> label $_status -relief sunken -bd 3 -font global/status -height 1
> - pack $_status -expand 1 -fill both
> +
> + # add download progress meter
> + canvas $_statusframe.progress -relief sunken -borderwidth 2 \
> + -highlightthickness 0 -takefocus 0 -width 100 -height 0 -confine 1
> + $_statusframe.progress create rectangle 0 0 0 \
> + [winfo height $_statusframe.progress] -outline blue -fill blue -tags rect
> +
> + # add address and line number indicators
> + label $_statusframe.addr -text "" -width 10 -relief sunken \
> + -bd 1 -anchor e -font src-font
> + label $_statusframe.line -text "" -width 6 -relief sunken \
> + -bd 1 -anchor e -font src-font
> +
> + balloon register $_statusframe.addr "Address"
> + balloon register $_statusframe.line "Line number"
> +
> + pack $_statusframe -expand 1 -fill both
> + grid $_status -row 0 -column 1 -sticky news -pady 2 -padx 2
> + grid $_statusframe.addr -row 0 -column 3 -sticky nes -pady 4
> + grid $_statusframe.line -row 0 -column 4 -sticky nws -pady 4
> + grid columnconfigure $_statusframe 1 -weight 10
> + grid columnconfigure $_statusframe 2 -minsize 5
> + grid columnconfigure $_statusframe 5 -minsize 5
> }
>
> set_execution_status
> @@ -206,8 +226,8 @@ body SrcWin::download_progress { section
>
> #debug "$section $num $tot $msg"
> if {$last_section_start == 0} {
> - pack forget $_statbar.frame.search
> - pack $_statbar.frame.progress -fill both -expand yes
> + grid forget $_statusframe.addr $_statusframe.line
> + grid $_statusframe.progress -row 0 -column 4 -padx 4 -sticky news
> ::update idletasks
> }
>
> @@ -232,7 +252,7 @@ body SrcWin::download_progress { section
> set_status "Downloading section $section - $num bytes"
> }
>
> - set canvas $_statbar.frame.progress
> + set canvas $_statusframe.progress
> set height [winfo height $canvas]
> if {$last_done} {
> set width [winfo width $canvas]
> @@ -259,8 +279,9 @@ body SrcWin::download_progress { section
> set last_done 0
> set last_section_start 0
>
> - pack forget $_statbar.frame.progress
> - pack $_statbar.frame.search -fill x -expand yes
> + grid forget $_statusframe.progress
> + grid $_statusframe.addr -row 0 -column 3 -sticky new -pady 4
> + grid $_statusframe.line -row 0 -column 4 -sticky nws -pady 4
> ::update idletasks
> }
> }
> @@ -458,7 +479,9 @@ body SrcWin::location {tag linespec} {
> }
>
> # set address and line widgets
> - $_toolbar configure -address $addr -line $line
> + $_statusframe.addr configure -text $addr
> + $_statusframe.line configure -text $line
> +
>
> # set function combobox
> $_statbar.func entryset $funcname
> Index: library/srcwin.ith
> ===================================================================
> RCS file: /cvs/src/src/gdb/gdbtk/library/srcwin.ith,v
> retrieving revision 1.7
> diff -u -p -r1.7 srcwin.ith
> --- library/srcwin.ith 2001/06/04 15:49:53 1.7
> +++ library/srcwin.ith 2001/11/02 16:57:12
> @@ -79,6 +79,7 @@ class SrcWin {
> variable _statbar
> variable _status
> variable _toolbar
> + variable _statusframe
> variable top
> variable twin
> variable current
> Index: library/srcbar.itcl
> ===================================================================
> RCS file: /cvs/src/src/gdb/gdbtk/library/srcbar.itcl,v
> retrieving revision 1.13
> diff -u -p -r1.13 srcbar.itcl
> --- library/srcbar.itcl 2001/10/29 21:45:30 1.13
> +++ library/srcbar.itcl 2001/11/02 16:57:22
> @@ -534,12 +534,6 @@ class SrcBar {
> $Tool add separator
> }
>
> - $Tool add label addr $address "Address" -relief sunken \
> - -bd 1 -anchor e -font src-font
> -
> - $Tool add label line $line "Line Number" -width 6 -relief sunken \
> - -bd 1 -anchor e -font src-font
> -
> $Tool toolbar_button_right_justify
>
> create_stack_buttons
> @@ -1165,23 +1159,6 @@ Do you want to continue?" \
> public variable updatevalue 0 {
> global GDBSrcBar_state
> ::set GDBSrcBar_state($this) $updatevalue
> - }
> -
> - # This holds the text that is shown in the address label.
> - public variable address {} {
> - if {[string length $address] > 10} {
> - # 64-bit address plus "0x"
> - set width 18
> - } else {
> - # 32-bit address plus "0x"
> - set width 10
> - }
> - $Tool itemconfigure addr -text $address -font src-font -width $width
> - }
> -
> - # This holds the text that is shown in the line label.
> - public variable line {} {
> - $Tool itemconfigure line -text $line
> }
>
> # This holds the source window's display mode. Valid values are