This is the mail archive of the insight@sources.redhat.com mailing list for the Insight project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: I wish....


I like this.

Tom Tromey wrote:
> 
> Syd> In general, I don't like commented out code. Even if the code
> Syd> works for something and left commented out for a reason, it is a
> Syd> strong candidate for bit rot.
> 
> I agree.
> 
> Syd> However, if the developer will never see the code because it is
> Syd> buried in a PR, then it is better to leave a detailed comment in
> Syd> the code with an explanation as to what has to happen for the
> Syd> code to make it in.
> 
> How about the appended?
> If you'd prefer that I just delete the code I will just check in a
> much smaller fix that changes the wrap mode to `char'.
> 
> 2000-12-02  Tom Tromey  <tromey@redhat.com>
> 
>         * console.ith (_set_wrap): Declare.
>         (_update_option): Likewise.
>         * console.itb (Console::constructor): Install preference hooks
>         (commented out pending a bug fix).
>         (Console::destructor): Remove preference hooks.
>         (Console::_set_wrap): New method.
>         (Console::_update_option): New method.
>         (Console::_build_win): Use _set_wrap.
> 
> Tom
> 
> Index: library/console.itb
> ===================================================================
> RCS file: /cvs/src/src/gdb/gdbtk/library/console.itb,v
> retrieving revision 1.4
> diff -u -r1.4 console.itb
> --- console.itb 2000/11/01 22:15:37     1.4
> +++ console.itb 2000/12/04 19:14:38
> @@ -22,6 +22,18 @@
>    add_hook gdb_busy_hook [list $this busy]
>    add_hook gdb_idle_hook [list $this idle]
>    add_hook gdb_no_inferior_hook [list $this idle]
> +
> +  # Right now the preferences window directly uses preference
> +  # variables.  This means that if we track the preference changes
> +  # here, things will appear weird to the user -- the console window
> +  # will change before the user chooses Accpet in the prefs window.
> +  # Until the preference window is fixed we can't enable this
> +  # dynamic tracking.  FIXME.
> +  # foreach option {gdb/console/wrap gdb/console/prompt_fg \
> +  #                gdb/console/error_fg gdb/console/font} {
> +  #  pref add_hook $option [code $this _update_option]
> +  # }
> +
>    set gdbtk_state(console) $this
>  }
> 
> @@ -31,26 +43,20 @@
>    remove_hook gdb_busy_hook [list $this busy]
>    remove_hook gdb_idle_hook [list $this idle]
>    remove_hook gdb_no_inferior_hook [list $this idle]
> +
> +  # foreach option {gdb/console/wrap gdb/console/prompt_fg \
> +  #                gdb/console/error_fg gdb/console/font} {
> +  #   pref remove_hook $option [code $this _update_option]
> +  # }
>  }
> -
> -body Console::_build_win {} {
> -  set wrap [pref get gdb/console/wrap]
> 
> -  if { $wrap } {
> -    set hsm none
> -  } else {
> -    set hsm dynamic
> -  }
> -  iwidgets::scrolledtext $itk_interior.stext -hscrollmode $hsm \
> +body Console::_build_win {} {
> +  iwidgets::scrolledtext $itk_interior.stext \
>      -vscrollmode dynamic -textbackground white
> 
>    set _twin [$itk_interior.stext component text]
> 
> -  if {$wrap} {
> -    $_twin configure -wrap word
> -  } else {
> -    $_twin configure -wrap none
> -  }
> +  _set_wrap [pref get gdb/console/wrap]
> 
>    $_twin tag configure prompt_tag -foreground [pref get gdb/console/prompt_fg]
>    $_twin tag configure err_tag -foreground [pref get gdb/console/error_fg]
> @@ -613,4 +619,44 @@
>  body Console::_reset_tab {} {
>    bind $_twin <KeyPress> {}
>    set _saw_tab 0
> +}
> +
> +
> +# ------------------------------------------------------------------
> +#  METHOD:  _set_wrap - Set wrap mode
> +# ------------------------------------------------------------------
> +body Console::_set_wrap {wrap} {
> +  if { $wrap } {
> +    set hsm none
> +    set wv char
> +  } else {
> +    set hsm dynamic
> +    set wv none
> +  }
> +
> +  $itk_interior.stext configure -hscrollmode $hsm
> +  $_twin configure -wrap $wv
> +}
> +
> +# ------------------------------------------------------------------
> +#  METHOD:  _update_option - Update in response to preference change
> +# ------------------------------------------------------------------
> +body Console::_update_option {name value} {
> +  switch -- $name {
> +    gdb/console/wrap {
> +      _set_wrap $value
> +    }
> +
> +    gdb/console/prompt_fg {
> +      $_twin tag configure prompt_tag -foreground $value
> +    }
> +
> +    gdb/console/error_fg {
> +      $_twin tag configure err_tag -foreground $value
> +    }
> +
> +    gdb/console/font {
> +      $_twin configure -font $value
> +    }
> +  }
>  }
> Index: library/console.ith
> ===================================================================
> RCS file: /cvs/src/src/gdb/gdbtk/library/console.ith,v
> retrieving revision 1.1.1.1
> diff -u -r1.1.1.1 console.ith
> --- console.ith 2000/02/07 00:19:42     1.1.1.1
> +++ console.ith 2000/12/04 19:14:38
> @@ -61,5 +61,7 @@
>      method _search_history {}
>      method _rsearch_history {}
>      method _setprompt {{prompt {}}}
> +    method _set_wrap {wrap}
> +    method _update_option {name value}
>    }
>  }

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]