+2002-12-18 Martin M. Hunt <hunt@redhat.com>
+
+ * library/regwin.itb (RegWin::update): When updating, check
+ that a cell still exists before checking its value.
+ (RegWin::_select_group): Clear cells with changed values before
+ changing group. After new group is selected, highlight any changed
+ values still visible.
+
2002-12-17 Martin M. Hunt <hunt@redhat.com>
* library/interface.tcl (gdbtk_tcl_fputs_target_err):
# ------------------------------------------------------------------
itcl::body RegWin::_select_group {} {
set gr [$itk_component(frame).opt get]
+ debug $gr
if {$gr == ""} {
return
}
+
+ # Change anything on the old change list back to normal
+ foreach r $_change_list {
+ if {[info exists _cell($r)] && $_cell($r) != "hidden"} {
+ $itk_component(table) tag cell normal $_cell($r)
+ }
+ }
+
set _group $gr
+ _layout_table
+
+ # highlight changed registers if they still exist in the new group
+ foreach r $_change_list {
+ if {[info exists _cell($r)] && $_cell($r) != "hidden" && $_data($_cell($r)) != ""} {
+ $itk_component(table) tag cell highlight $_cell($r)
+ }
+ }
+
# Clear gdb's change list
catch {gdb_reginfo changed}
- update ""
- _layout_table
}
# Change anything on the old change list back to normal
foreach r $_change_list {
- if {$_cell($r) != "hidden"} {
+ if {[info exists _cell($r)] && $_cell($r) != "hidden"} {
$itk_component(table) tag cell normal $_cell($r)
}
}