Simplify register display
authorTom Tromey <tom@tromey.com>
Mon, 15 Jul 2019 21:28:56 +0000 (15:28 -0600)
committerTom Tromey <tom@tromey.com>
Fri, 30 Aug 2019 18:57:05 +0000 (12:57 -0600)
commitcdaa6eb4394c42b49b090181dbfaae4e327090de
tree573540530d7973fbe3f95a526af3b700efd9d8b2
parent89df7f9056d72418720ac655e1ad97decc471da9
Simplify register display

This patch starts with the observation that the code in
tui_data_window::display_registers_from can all be replaced with a
call to resize.  To make this work propertly, it also changes
tui_display_register to be the "rerender" method on
tui_data_item_window.

The refresh_window method is needed due to the use of nested windows
here.  The ncurses man page makes it sound like this is not very well
supported; and experience bears this out: negelecting the touchwin
call in this path will cause the register window to blank when
switching focus.

gdb/ChangeLog
2019-08-30  Tom Tromey  <tom@tromey.com>

* tui/tui-regs.h (struct tui_data_item_window) <rerender,
refresh_window>: Declare.
* tui/tui-regs.c (tui_data_window::display_registers_from): Call
resize.
(tui_data_item_window::rerender): Rename from
tui_display_register.
(tui_data_item_window::refresh_window): New method.
* tui/tui-layout.c (tui_gen_win_info::resize): Do nothing on
no-op.
gdb/ChangeLog
gdb/tui/tui-layout.c
gdb/tui/tui-regs.c
gdb/tui/tui-regs.h