diff options
author | Tom Tromey <tom@tromey.com> | 2019-06-27 16:04:26 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2019-07-17 12:19:03 -0600 |
commit | 1ce3e8442e5bab6f700f5f011de56201f76b8461 (patch) | |
tree | 03a4a7a990697c748a9cea081cf13b2dcc693e72 /gdb/tui/tui-wingeneral.c | |
parent | fe3eaf1cd9af54cd4c678a8dde7fd0df601c9490 (diff) | |
download | fsf-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.c | 20 |
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) { |