[PATCH 44/66] Introduce enum tui_box

Tom Tromey
2019-06-23T23:25:56Z

This adds a new enum to the TUI, replacing two #define constants,
providing better type safety.

2019-06-23 Tom Tromey <tom@tromey.com>

* tui/tui-wingeneral.h (tui_make_window): Change type of "box_it"
parameter.
* tui/tui-wingeneral.c (tui_make_window): Change type of "box_it"
parameter.
(tui_gen_win_info::make_visible): Update.
* tui/tui-layout.c (init_and_make_win): Change type of "box_it"
parameter.
* tui/tui-data.h (enum tui_box): New enum.
(BOX_WINDOW, DONT_BOX_WINDOW): Remove defines.
---
gdb/ChangeLog | 12 ++++++++++++
gdb/tui/tui-data.h | 9 +++++++--
gdb/tui/tui-layout.c | 5 +++--
gdb/tui/tui-wingeneral.c | 5 +++--
gdb/tui/tui-wingeneral.h | 2 +-
5 files changed, 26 insertions(+), 7 deletions(-)

diff --git a/gdb/tui/tui-data.h b/gdb/tui/tui-data.h
index a79331144dd..caf3bb4f408 100644
--- a/gdb/tui/tui-data.h
+++ b/gdb/tui/tui-data.h
@@ -91,6 +91,13 @@ struct tui_gen_win_info
char *title = nullptr;
};

+/* Whether or not a window should be drawn with a box. */
+enum tui_box
+{
+ DONT_BOX_WINDOW = 0,
+ BOX_WINDOW
+};
+
/* Constant definitions. */
#define DEFAULT_TAB_LEN 8
#define NO_SRC_STRING "[ No Source Available ]"
@@ -104,8 +111,6 @@ struct tui_gen_win_info
#define DISASSEM_NAME "asm"
#define TUI_NULL_STR ""
#define DEFAULT_HISTORY_COUNT 25
-#define BOX_WINDOW TRUE
-#define DONT_BOX_WINDOW FALSE
#define HILITE TRUE
#define NO_HILITE FALSE
#define WITH_LOCATOR TRUE
diff --git a/gdb/tui/tui-layout.c b/gdb/tui/tui-layout.c
index 695fa3560b2..6507b06dd39 100644
--- a/gdb/tui/tui-layout.c
+++ b/gdb/tui/tui-layout.c
@@ -45,7 +45,8 @@
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, int);
+ int, int, int, int,
+ enum tui_box);
static void show_source_or_disasm_and_command (enum tui_layout_type);
static struct tui_win_info *make_source_or_disasm_window (enum tui_win_type,
int, int);
@@ -793,7 +794,7 @@ 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,
- int box_it)
+ enum tui_box box_it)
{
if (win_info == NULL)
{
diff --git a/gdb/tui/tui-wingeneral.c b/gdb/tui/tui-wingeneral.c
index acb8a26765b..cfa4a08701c 100644
--- a/gdb/tui/tui-wingeneral.c
+++ b/gdb/tui/tui-wingeneral.c
@@ -146,7 +146,7 @@ tui_check_and_display_highlight_if_needed (struct tui_win_info *win_info)

void
-tui_make_window (struct tui_gen_win_info *win_info, int box_it)
+tui_make_window (struct tui_gen_win_info *win_info, enum tui_box box_it)
{
WINDOW *handle;

@@ -175,7 +175,8 @@ tui_gen_win_info::make_visible (bool visible)
{
if (!is_visible)
{
- tui_make_window (this, !tui_win_is_auxillary (type));
+ tui_make_window (this, (tui_win_is_auxillary (type)
+ ? DONT_BOX_WINDOW : BOX_WINDOW));
is_visible = true;
}
}
diff --git a/gdb/tui/tui-wingeneral.h b/gdb/tui/tui-wingeneral.h
index 15e61c94166..e925606229c 100644
--- a/gdb/tui/tui-wingeneral.h
+++ b/gdb/tui/tui-wingeneral.h
@@ -32,7 +32,7 @@ extern void tui_make_visible (struct tui_gen_win_info *);
extern void tui_make_invisible (struct tui_gen_win_info *);
extern void tui_make_all_visible (void);
extern void tui_make_all_invisible (void);
-extern void tui_make_window (struct tui_gen_win_info *, int);
+extern void tui_make_window (struct tui_gen_win_info *, enum tui_box);
extern struct tui_win_info *tui_copy_win (struct tui_win_info *);
extern void tui_box_win (struct tui_gen_win_info *, int);
extern void tui_highlight_win (struct tui_win_info *);
--
2.17.2