mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-30 00:52:16 +08:00
Move make_visible method to tui_gen_win_info
This moves the make_visible method from tui_win_info to its base class, tui_gen_win_info. This allows the removal of another window type check. gdb/ChangeLog 2019-06-25 Tom Tromey <tom@tromey.com> * tui/tui-wingeneral.c (tui_gen_win_info::make_visible): Rename from make_visible. (tui_make_visible, tui_make_invisible): Rewrite. (tui_win_info::make_visible): Remove. (tui_source_window_base::make_visible): Update. * tui/tui-data.h (struct tui_gen_win_info) <make_visible>: New method. Moved from... (struct tui_win_info) <make_visible>: ...here.
This commit is contained in:
@ -1,3 +1,14 @@
|
|||||||
|
2019-06-25 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
|
* tui/tui-wingeneral.c (tui_gen_win_info::make_visible): Rename
|
||||||
|
from make_visible.
|
||||||
|
(tui_make_visible, tui_make_invisible): Rewrite.
|
||||||
|
(tui_win_info::make_visible): Remove.
|
||||||
|
(tui_source_window_base::make_visible): Update.
|
||||||
|
* tui/tui-data.h (struct tui_gen_win_info) <make_visible>: New
|
||||||
|
method. Moved from...
|
||||||
|
(struct tui_win_info) <make_visible>: ...here.
|
||||||
|
|
||||||
2019-06-25 Tom Tromey <tom@tromey.com>
|
2019-06-25 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
* tui/tui-winsource.c
|
* tui/tui-winsource.c
|
||||||
|
@ -51,6 +51,9 @@ struct tui_gen_win_info
|
|||||||
/* Call to refresh this window. */
|
/* Call to refresh this window. */
|
||||||
virtual void refresh_window ();
|
virtual void refresh_window ();
|
||||||
|
|
||||||
|
/* Make this window visible or invisible. */
|
||||||
|
virtual void make_visible (bool visible);
|
||||||
|
|
||||||
/* Return the name of this type of window. */
|
/* Return the name of this type of window. */
|
||||||
virtual const char *name () const
|
virtual const char *name () const
|
||||||
{
|
{
|
||||||
@ -273,9 +276,6 @@ public:
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Make this window visible or invisible. */
|
|
||||||
virtual void make_visible (bool visible);
|
|
||||||
|
|
||||||
/* Refresh this window and any associated windows. */
|
/* Refresh this window and any associated windows. */
|
||||||
virtual void refresh ();
|
virtual void refresh ();
|
||||||
|
|
||||||
|
@ -168,51 +168,37 @@ tui_make_window (struct tui_gen_win_info *win_info, int box_it)
|
|||||||
/* We can't really make windows visible, or invisible. So we have to
|
/* We can't really make windows visible, or invisible. So we have to
|
||||||
delete the entire window when making it visible, and create it
|
delete the entire window when making it visible, and create it
|
||||||
again when making it visible. */
|
again when making it visible. */
|
||||||
static void
|
void
|
||||||
make_visible (struct tui_gen_win_info *win_info, bool visible)
|
tui_gen_win_info::make_visible (bool visible)
|
||||||
{
|
{
|
||||||
/* Don't tear down/recreate command window. */
|
|
||||||
if (win_info->type == CMD_WIN)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (visible)
|
if (visible)
|
||||||
{
|
{
|
||||||
if (!win_info->is_visible)
|
if (!is_visible)
|
||||||
{
|
{
|
||||||
tui_make_window (win_info, !tui_win_is_auxillary (win_info->type));
|
tui_make_window (this, !tui_win_is_auxillary (type));
|
||||||
win_info->is_visible = true;
|
is_visible = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (!visible
|
else if (!visible
|
||||||
&& win_info->is_visible
|
&& is_visible
|
||||||
&& win_info->handle != NULL)
|
&& handle != NULL)
|
||||||
{
|
{
|
||||||
win_info->is_visible = false;
|
is_visible = false;
|
||||||
tui_delete_win (win_info->handle);
|
tui_delete_win (handle);
|
||||||
win_info->handle = NULL;
|
handle = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
tui_make_visible (struct tui_gen_win_info *win_info)
|
tui_make_visible (struct tui_gen_win_info *win_info)
|
||||||
{
|
{
|
||||||
make_visible (win_info, true);
|
win_info->make_visible (true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
tui_make_invisible (struct tui_gen_win_info *win_info)
|
tui_make_invisible (struct tui_gen_win_info *win_info)
|
||||||
{
|
{
|
||||||
make_visible (win_info, false);
|
win_info->make_visible (false);
|
||||||
}
|
|
||||||
|
|
||||||
/* See tui-data.h. */
|
|
||||||
|
|
||||||
void
|
|
||||||
tui_win_info::make_visible (bool visible)
|
|
||||||
{
|
|
||||||
::make_visible (this, visible);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* See tui-data.h. */
|
/* See tui-data.h. */
|
||||||
@ -220,7 +206,8 @@ tui_win_info::make_visible (bool visible)
|
|||||||
void
|
void
|
||||||
tui_source_window_base::make_visible (bool visible)
|
tui_source_window_base::make_visible (bool visible)
|
||||||
{
|
{
|
||||||
::make_visible (execution_info, visible);
|
if (execution_info != nullptr)
|
||||||
|
execution_info->make_visible (visible);
|
||||||
tui_win_info::make_visible (visible);
|
tui_win_info::make_visible (visible);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user