mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-28 15:18:37 +08:00
Introduce the refresh method
This adds tui_win_info::refresh and updates tui_source_window_base to implement it as well. This lets us simplify tui_refresh_all, removing a check of the window type. gdb/ChangeLog 2019-06-25 Tom Tromey <tom@tromey.com> * tui/tui-wingeneral.c (tui_win_info::refresh) (tui_source_window_base::refresh): New methods. (tui_refresh_all): Call the refresh method. * tui/tui-data.h (struct tui_win_info) (struct tui_source_window_base) <refresh>: New method.
This commit is contained in:
@ -1,3 +1,11 @@
|
||||
2019-06-25 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* tui/tui-wingeneral.c (tui_win_info::refresh)
|
||||
(tui_source_window_base::refresh): New methods.
|
||||
(tui_refresh_all): Call the refresh method.
|
||||
* tui/tui-data.h (struct tui_win_info)
|
||||
(struct tui_source_window_base) <refresh>: New method.
|
||||
|
||||
2019-06-25 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* tui/tui.h (tui_is_window_visible): Return bool.
|
||||
|
@ -258,6 +258,9 @@ public:
|
||||
/* Make this window visible or invisible. */
|
||||
virtual void make_visible (bool visible);
|
||||
|
||||
/* Refresh this window and any associated windows. */
|
||||
virtual void refresh ();
|
||||
|
||||
/* Methods to scroll the contents of this window. Note that they
|
||||
are named with "_scroll" coming at the end because the more
|
||||
obvious "scroll_forward" is defined as a macro in term.h. */
|
||||
@ -299,6 +302,7 @@ public:
|
||||
}
|
||||
|
||||
void make_visible (bool visible) override;
|
||||
void refresh () override;
|
||||
|
||||
/* Does the locator belong to this window? */
|
||||
bool m_has_locator = false;
|
||||
|
@ -256,6 +256,25 @@ tui_make_all_invisible (void)
|
||||
make_all_visible (false);
|
||||
}
|
||||
|
||||
/* See tui-data.h. */
|
||||
|
||||
void
|
||||
tui_win_info::refresh ()
|
||||
{
|
||||
touchwin (generic.handle);
|
||||
tui_refresh_win (&generic);
|
||||
}
|
||||
|
||||
/* See tui-data.h. */
|
||||
|
||||
void
|
||||
tui_source_window_base::refresh ()
|
||||
{
|
||||
touchwin (execution_info->handle);
|
||||
tui_refresh_win (execution_info);
|
||||
tui_win_info::refresh ();
|
||||
}
|
||||
|
||||
/* Function to refresh all the windows currently displayed. */
|
||||
|
||||
void
|
||||
@ -267,17 +286,7 @@ tui_refresh_all (struct tui_win_info **list)
|
||||
for (type = SRC_WIN; (type < MAX_MAJOR_WINDOWS); type++)
|
||||
{
|
||||
if (list[type] && list[type]->generic.is_visible)
|
||||
{
|
||||
if (type == SRC_WIN || type == DISASSEM_WIN)
|
||||
{
|
||||
tui_source_window_base *base
|
||||
= (tui_source_window_base *) list[type];
|
||||
touchwin (base->execution_info->handle);
|
||||
tui_refresh_win (base->execution_info);
|
||||
}
|
||||
touchwin (list[type]->generic.handle);
|
||||
tui_refresh_win (&list[type]->generic);
|
||||
}
|
||||
list[type]->refresh ();
|
||||
}
|
||||
if (locator->is_visible)
|
||||
{
|
||||
|
Reference in New Issue
Block a user