[PATCH 29/66] Introduce set_highlight method

Tom Tromey
2019-06-23T22:44:09Z

This introduces the tui_win_info::set_highlight method, and changes
the highlighting-related code to use bool rather than int.

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

* tui/tui-wingeneral.c (tui_unhighlight_win, tui_highlight_win):
Update.
* tui/tui-layout.c (make_command_window)
(show_source_disasm_command, show_data, init_and_make_win)
(show_source_or_disasm_and_command): Update.
* tui/tui-data.h (struct tui_win_info) <set_highlight>: New
method.
<can_highight, is_highlighted>: Now bool.
(tui_set_win_highlight): Don't declare.
* tui/tui-data.c (tui_set_win_highlight): Remove.
---
gdb/ChangeLog | 13 +++++++++++++
gdb/tui/tui-data.c | 8 --------
gdb/tui/tui-data.h | 12 ++++++++----
gdb/tui/tui-layout.c | 18 +++++++++---------
gdb/tui/tui-wingeneral.c | 4 ++--
5 files changed, 32 insertions(+), 23 deletions(-)

diff --git a/gdb/tui/tui-data.c b/gdb/tui/tui-data.c
index a48b39eba7e..bdfc2de73af 100644
--- a/gdb/tui/tui-data.c
+++ b/gdb/tui/tui-data.c
@@ -69,14 +69,6 @@ tui_win_is_auxillary (enum tui_win_type win_type)
return (win_type > MAX_MAJOR_WINDOWS);
}

-void
-tui_set_win_highlight (struct tui_win_info *win_info,
- int highlight)
-{
- if (win_info != NULL)
- win_info->is_highlighted = highlight;
-}
-
/******************************************
** ACCESSORS & MUTATORS FOR PRIVATE DATA
******************************************/
diff --git a/gdb/tui/tui-data.h b/gdb/tui/tui-data.h
index bed28f64b19..98e7a2ca34e 100644
--- a/gdb/tui/tui-data.h
+++ b/gdb/tui/tui-data.h
@@ -276,6 +276,12 @@ public:
/* Compute the maximum height of this window. */
virtual int max_height () const;

+ /* Set whether this window is highglighted. */
+ void set_highlight (bool highlight)
+ {
+ is_highlighted = highlight;
+ }
+
/* Methods to scroll the contents of this window. Note that they
are named with "_scroll" coming at the end because the more
obvious "scroll_forward" is defined as a macro in term.h. */
@@ -287,10 +293,10 @@ public:
struct tui_gen_win_info generic; /* General window information. */

/* Can this window ever be highlighted? */
- int can_highlight = 0;
+ bool can_highlight = false;

/* Is this window highlighted? */
- int is_highlighted = 0;
+ bool is_highlighted = false;
};

/* The base class for all source-like windows, namely the source and
@@ -447,8 +453,6 @@ protected:
};

extern int tui_win_is_auxillary (enum tui_win_type win_type);
-extern void tui_set_win_highlight (struct tui_win_info *win_info,
- int highlight);

/* Global Data. */
diff --git a/gdb/tui/tui-layout.c b/gdb/tui/tui-layout.c
index 9b2bd0b7b57..d060c5c7807 100644
--- a/gdb/tui/tui-layout.c
+++ b/gdb/tui/tui-layout.c
@@ -546,7 +546,7 @@ make_command_window (int height, int origin_y)
0,
origin_y,
DONT_BOX_WINDOW);
- result->can_highlight = FALSE;
+ result->can_highlight = false;
return result;
}

@@ -627,7 +627,7 @@ show_source_disasm_command (void)
TUI_SRC_WIN->generic.width,
TUI_SRC_WIN->execution_info->width,
0);
- TUI_SRC_WIN->can_highlight = TRUE;
+ TUI_SRC_WIN->can_highlight = true;
init_gen_win_info (TUI_SRC_WIN->execution_info,
EXEC_INFO_WIN,
src_height,
@@ -677,7 +677,7 @@ show_source_disasm_command (void)
3,
0,
src_height - 1);
- TUI_DISASM_WIN->can_highlight = TRUE;
+ TUI_DISASM_WIN->can_highlight = true;
tui_make_visible (&TUI_DISASM_WIN->generic);
tui_make_visible (TUI_DISASM_WIN->execution_info);
}
@@ -698,7 +698,7 @@ show_source_disasm_command (void)
TUI_CMD_WIN->generic.width,
0,
TUI_CMD_WIN->generic.origin.y);
- TUI_CMD_WIN->can_highlight = FALSE;
+ TUI_CMD_WIN->can_highlight = false;
tui_make_visible (&TUI_CMD_WIN->generic);
}
tui_refresh_win (&TUI_CMD_WIN->generic);
@@ -723,7 +723,7 @@ show_data (enum tui_layout_type new_layout)
tui_make_all_invisible ();
tui_make_invisible (locator);
make_data_window (&tui_win_list[DATA_WIN], data_height, 0);
- TUI_DATA_WIN->can_highlight = TRUE;
+ TUI_DATA_WIN->can_highlight = true;
if (new_layout == SRC_DATA_COMMAND)
win_type = SRC_WIN;
else
@@ -835,9 +835,9 @@ init_and_make_win (void *opaque_win_info,
if (!tui_win_is_auxillary (win_type))
{
if (generic->type == CMD_WIN)
- ((struct tui_win_info *) opaque_win_info)->can_highlight = FALSE;
+ ((struct tui_win_info *) opaque_win_info)->can_highlight = false;
else
- ((struct tui_win_info *) opaque_win_info)->can_highlight = TRUE;
+ ((struct tui_win_info *) opaque_win_info)->can_highlight = true;
}
tui_make_window (generic, box_it);

@@ -942,7 +942,7 @@ show_source_or_disasm_and_command (enum tui_layout_type layout_type)
3,
0,
0);
- base->can_highlight = TRUE;
+ base->can_highlight = true;
tui_make_visible (&(*win_info_ptr)->generic);
tui_make_visible (base->execution_info);
}
@@ -966,7 +966,7 @@ show_source_or_disasm_and_command (enum tui_layout_type layout_type)
TUI_CMD_WIN->generic.width,
TUI_CMD_WIN->generic.origin.x,
TUI_CMD_WIN->generic.origin.y);
- TUI_CMD_WIN->can_highlight = FALSE;
+ TUI_CMD_WIN->can_highlight = false;
tui_make_visible (&TUI_CMD_WIN->generic);
}
tui_set_current_layout_to (layout_type);
diff --git a/gdb/tui/tui-wingeneral.c b/gdb/tui/tui-wingeneral.c
index 73d77ce19f3..c1778289442 100644
--- a/gdb/tui/tui-wingeneral.c
+++ b/gdb/tui/tui-wingeneral.c
@@ -114,7 +114,7 @@ tui_unhighlight_win (struct tui_win_info *win_info)
{
box_win (&win_info->generic, NO_HILITE);
wrefresh (win_info->generic.handle);
- tui_set_win_highlight (win_info, 0);
+ win_info->set_highlight (false);
}
}

@@ -128,7 +128,7 @@ tui_highlight_win (struct tui_win_info *win_info)
{
box_win (&win_info->generic, HILITE);
wrefresh (win_info->generic.handle);
- tui_set_win_highlight (win_info, 1);
+ win_info->set_highlight (true);
}
}

--
2.17.2