aboutsummaryrefslogtreecommitdiff
path: root/gdb/tui/tui-layout.c
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2019-06-28 23:56:25 -0600
committerTom Tromey <tom@tromey.com>2019-07-17 12:19:13 -0600
commit1bf605de8e9ae4fcf77c21067ddaf4a242a873f7 (patch)
treef0f403f374afd5da10bf993ea25e49ac2bbfb396 /gdb/tui/tui-layout.c
parent098f9ed48e1c94a2624c825ba93d72b163d41196 (diff)
downloadgdb-1bf605de8e9ae4fcf77c21067ddaf4a242a873f7.zip
gdb-1bf605de8e9ae4fcf77c21067ddaf4a242a873f7.tar.gz
gdb-1bf605de8e9ae4fcf77c21067ddaf4a242a873f7.tar.bz2
Introduce reset_locator function in tui-layout.c
init_and_make_win in tui-layout.c is now only called for the locator -- earlier changes have made most of the cases here obsolete. This patch removes init_and_make_win and introduces a reset_locator function. Window creation is now much simpler to follow, because it is no longer quite so dynamic. (Though it will become even simpler in coming patches.) gdb/ChangeLog 2019-07-17 Tom Tromey <tom@tromey.com> * tui/tui-layout.c (show_source_disasm_command): Use reset_locator. (reset_locator): New function. (init_and_make_win): Remove. (show_source_or_disasm_and_command): Use reset_locator.
Diffstat (limited to 'gdb/tui/tui-layout.c')
-rw-r--r--gdb/tui/tui-layout.c89
1 files changed, 23 insertions, 66 deletions
diff --git a/gdb/tui/tui-layout.c b/gdb/tui/tui-layout.c
index 23537b7..ab849a9 100644
--- a/gdb/tui/tui-layout.c
+++ b/gdb/tui/tui-layout.c
@@ -43,10 +43,8 @@
** Static Local Decls
********************************/
static void show_layout (enum tui_layout_type);
-static tui_gen_win_info *init_and_make_win (tui_gen_win_info *,
- enum tui_win_type,
- int, int, int, int,
- enum tui_box);
+static void reset_locator (tui_gen_win_info *,
+ int, int, int, int);
static void show_source_or_disasm_and_command (enum tui_layout_type);
static struct tui_win_info *make_command_window (int, int);
static struct tui_win_info *make_source_window (int, int);
@@ -614,13 +612,11 @@ show_source_disasm_command (void)
{
tui_win_list[DISASSEM_WIN]
= make_disasm_window (asm_height, src_height - 1);
- init_and_make_win (locator,
- LOCATOR_WIN,
- 2 /* 1 */ ,
- tui_term_width (),
- 0,
- (src_height + asm_height) - 1,
- DONT_BOX_WINDOW);
+ reset_locator (locator,
+ 2 /* 1 */ ,
+ tui_term_width (),
+ 0,
+ (src_height + asm_height) - 1);
}
else
{
@@ -696,13 +692,11 @@ show_data (enum tui_layout_type new_layout)
else
tui_win_list[win_type]
= make_disasm_window (src_height, data_height - 1);
- init_and_make_win (locator,
- LOCATOR_WIN,
- 2 /* 1 */ ,
- tui_term_width (),
- 0,
- total_height - 1,
- DONT_BOX_WINDOW);
+ reset_locator (locator,
+ 2 /* 1 */ ,
+ tui_term_width (),
+ 0,
+ total_height - 1);
base = (tui_source_window_base *) tui_win_list[win_type];
}
else
@@ -751,48 +745,13 @@ tui_gen_win_info::reset (enum tui_win_type win_type,
origin.y = origin_y_;
}
-/* init_and_make_win().
- */
-static tui_gen_win_info *
-init_and_make_win (tui_gen_win_info *win_info,
- enum tui_win_type win_type,
- int height, int width,
- int origin_x, int origin_y,
- enum tui_box box_it)
+static void
+reset_locator (tui_gen_win_info *win_info,
+ int height, int width,
+ int origin_x, int origin_y)
{
- if (win_info == NULL)
- {
- switch (win_type)
- {
- case SRC_WIN:
- win_info = new tui_source_window ();
- break;
-
- case DISASSEM_WIN:
- win_info = new tui_disasm_window ();
- break;
-
- case DATA_WIN:
- win_info = new tui_data_window ();
- break;
-
- case CMD_WIN:
- win_info = new tui_cmd_window ();
- break;
-
- case EXEC_INFO_WIN:
- win_info = new tui_exec_info_window ();
- break;
-
- default:
- gdb_assert_not_reached (_("unhandled window type"));
- }
- }
-
- win_info->reset (win_type, height, width, origin_x, origin_y);
- tui_make_window (win_info, box_it);
-
- return win_info;
+ win_info->reset (LOCATOR_WIN, height, width, origin_x, origin_y);
+ tui_make_window (win_info, DONT_BOX_WINDOW);
}
@@ -825,13 +784,11 @@ show_source_or_disasm_and_command (enum tui_layout_type layout_type)
*win_info_ptr = make_source_window (src_height - 1, 0);
else
*win_info_ptr = make_disasm_window (src_height - 1, 0);
- init_and_make_win (locator,
- LOCATOR_WIN,
- 2 /* 1 */ ,
- tui_term_width (),
- 0,
- src_height - 1,
- DONT_BOX_WINDOW);
+ reset_locator (locator,
+ 2 /* 1 */ ,
+ tui_term_width (),
+ 0,
+ src_height - 1);
base = (tui_source_window_base *) *win_info_ptr;
}
else