| # Register display window class definition for Insight. |
| # Copyright (C) 1998, 1999, 2001 Red Hat, Inc. |
| # |
| # Written by Keith Seitz (keiths@redhat.com) |
| # based on work by Martin Hunt (hunt@redhat.com) |
| # |
| # 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 RegWin { |
| inherit EmbeddedWin GDBWin |
| |
| private { |
| variable _change_list {} |
| variable _menuitems |
| |
| # Display data for the table |
| variable _data |
| |
| # Mapping of table cell index to register number |
| variable _register |
| |
| # the register group that is displayed |
| variable _group "all" |
| |
| # Mapping of register number to table cell index. "hidden" if |
| # the register was "removed" from the display. |
| variable _cell |
| |
| # Is REGNUM editable? |
| variable _editable |
| |
| # List of possible display types for the registers (indexed by regnum) |
| variable _types |
| # The display type to use for each register (indexed by regnum) |
| variable _type |
| # The display format to use for each register (indexed by regnum) |
| variable _format |
| |
| # The list of registers we're displaying |
| variable _reg_display_list {} |
| |
| # Size of columns |
| variable _col_size |
| variable _max_label_width |
| |
| # Dimensions |
| variable _rows |
| variable _cols |
| |
| # Fencepost |
| variable _running 0 |
| |
| |
| # Table layout/display methods |
| method _build_win {} |
| method _layout_table {} |
| method _load_prefs {} |
| method _size_cell_column {cell down} |
| method _size_column {col down} |
| |
| # Table event handlers and related methods |
| method _accept_edit {} |
| method _add_to_watch {rn} |
| method _but3 {x y X Y} |
| method _delete_from_display {rn} |
| method _display_all {} |
| method _edit {x y} |
| method _move {direction} |
| method _open_memory {rn} |
| method _select_group {} |
| method _select_cell {cell} |
| method _unedit {} |
| |
| # Register operations |
| method _get_value {rn} |
| method _change_format {rn {t {}}} |
| method _update_register {rn} |
| } |
| |
| public { |
| method constructor {args} |
| method destructor {} |
| |
| # |
| # Gdb Events |
| # |
| method busy {event} |
| method idle {event} |
| method set_variable {event} |
| method update {event} |
| method arch_changed {event} |
| method reconfig {} |
| } |
| } |