aboutsummaryrefslogtreecommitdiff
path: root/gdb/tui/tui-wingeneral.c
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2019-06-27 16:04:26 -0600
committerTom Tromey <tom@tromey.com>2019-07-17 12:19:03 -0600
commit1ce3e8442e5bab6f700f5f011de56201f76b8461 (patch)
tree03a4a7a990697c748a9cea081cf13b2dcc693e72 /gdb/tui/tui-wingeneral.c
parentfe3eaf1cd9af54cd4c678a8dde7fd0df601c9490 (diff)
downloadfsf-binutils-gdb-1ce3e8442e5bab6f700f5f011de56201f76b8461.zip
fsf-binutils-gdb-1ce3e8442e5bab6f700f5f011de56201f76b8461.tar.gz
fsf-binutils-gdb-1ce3e8442e5bab6f700f5f011de56201f76b8461.tar.bz2
Introduce TUI window iterator
This introduces an iterator class and a range adapter to make it simpler to iterate over TUI windows. One explicit iteration remains, in tui-win.c, because that spot is deleting windows as well. gdb/ChangeLog 2019-07-17 Tom Tromey <tom@tromey.com> * tui/tui-wingeneral.h (tui_refresh_all): Update. * tui/tui-wingeneral.c (make_all_visible): Use foreach. (tui_refresh_all): Remove "list" parameter. Use foreach. * tui/tui-win.c (window_name_completer): Use foreach. (tui_refresh_all_win, tui_rehighlight_all, tui_all_windows_info) (update_tab_width): Likewise. * tui/tui-layout.c (show_layout): Update. * tui/tui-data.h (class tui_window_iterator): New. (struct all_tui_windows): New. * tui/tui-data.c (tui_partial_win_by_name): Use foreach.
Diffstat (limited to 'gdb/tui/tui-wingeneral.c')
-rw-r--r--gdb/tui/tui-wingeneral.c20
1 files changed, 6 insertions, 14 deletions
diff --git a/gdb/tui/tui-wingeneral.c b/gdb/tui/tui-wingeneral.c
index c15739c..22f841e 100644
--- a/gdb/tui/tui-wingeneral.c
+++ b/gdb/tui/tui-wingeneral.c
@@ -212,15 +212,8 @@ tui_source_window_base::make_visible (bool visible)
static void
make_all_visible (bool visible)
{
- int i;
-
- for (i = 0; i < MAX_MAJOR_WINDOWS; i++)
- {
- if (tui_win_list[i] != NULL)
- tui_win_list[i]->make_visible (visible);
- }
-
- return;
+ for (tui_win_info *win_info : all_tui_windows ())
+ win_info->make_visible (visible);
}
void
@@ -257,15 +250,14 @@ tui_source_window_base::refresh ()
/* Function to refresh all the windows currently displayed. */
void
-tui_refresh_all (struct tui_win_info **list)
+tui_refresh_all ()
{
- int type;
struct tui_locator_window *locator = tui_locator_win_info_ptr ();
- for (type = SRC_WIN; (type < MAX_MAJOR_WINDOWS); type++)
+ for (tui_win_info *win_info : all_tui_windows ())
{
- if (list[type] && list[type]->is_visible)
- list[type]->refresh ();
+ if (win_info->is_visible)
+ win_info->refresh ();
}
if (locator->is_visible)
{