mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-28 23:39:35 +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>
|
2019-06-25 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
* tui/tui.h (tui_is_window_visible): Return bool.
|
* tui/tui.h (tui_is_window_visible): Return bool.
|
||||||
|
@ -258,6 +258,9 @@ public:
|
|||||||
/* Make this window visible or invisible. */
|
/* Make this window visible or invisible. */
|
||||||
virtual void make_visible (bool visible);
|
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
|
/* Methods to scroll the contents of this window. Note that they
|
||||||
are named with "_scroll" coming at the end because the more
|
are named with "_scroll" coming at the end because the more
|
||||||
obvious "scroll_forward" is defined as a macro in term.h. */
|
obvious "scroll_forward" is defined as a macro in term.h. */
|
||||||
@ -299,6 +302,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
void make_visible (bool visible) override;
|
void make_visible (bool visible) override;
|
||||||
|
void refresh () override;
|
||||||
|
|
||||||
/* Does the locator belong to this window? */
|
/* Does the locator belong to this window? */
|
||||||
bool m_has_locator = false;
|
bool m_has_locator = false;
|
||||||
|
@ -256,6 +256,25 @@ tui_make_all_invisible (void)
|
|||||||
make_all_visible (false);
|
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. */
|
/* Function to refresh all the windows currently displayed. */
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -267,17 +286,7 @@ tui_refresh_all (struct tui_win_info **list)
|
|||||||
for (type = SRC_WIN; (type < MAX_MAJOR_WINDOWS); type++)
|
for (type = SRC_WIN; (type < MAX_MAJOR_WINDOWS); type++)
|
||||||
{
|
{
|
||||||
if (list[type] && list[type]->generic.is_visible)
|
if (list[type] && list[type]->generic.is_visible)
|
||||||
{
|
list[type]->refresh ();
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (locator->is_visible)
|
if (locator->is_visible)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user