static int term_height, term_width;
static struct tui_gen_win_info _locator;
static struct tui_gen_win_info exec_info[2];
-static std::vector<tui_win_info *> source_windows;
+static std::vector<tui_source_window_base *> source_windows;
static struct tui_win_info *win_with_focus = NULL;
static struct tui_layout_def layout_def = {
SRC_WIN, /* DISPLAY_MODE */
** PUBLIC FUNCTIONS
**********************************/
-int
-tui_win_is_source_type (enum tui_win_type win_type)
-{
- return (win_type == SRC_WIN || win_type == DISASSEM_WIN);
-}
-
int
tui_win_is_auxillary (enum tui_win_type win_type)
{
/* Accessor for the current source window. Usually there is only one
source window (either source or disassembly), but both can be
displayed at the same time. */
-std::vector<tui_win_info *> &
+std::vector<tui_source_window_base *> &
tui_source_windows ()
{
return source_windows;
void
tui_clear_source_windows_detail ()
{
- for (tui_win_info *win : tui_source_windows ())
+ for (tui_source_window_base *win : tui_source_windows ())
win->clear_detail ();
}
one source window (either source or disassembly), but both can be
displayed at the same time. */
void
-tui_add_to_source_windows (struct tui_win_info *win_info)
+tui_add_to_source_windows (struct tui_source_window_base *win_info)
{
if (source_windows.size () < 2)
source_windows.push_back (win_info);
void
tui_data_window::clear_detail ()
{
- detail.data_display_info.data_content = NULL;
- detail.data_display_info.data_content_count = 0;
- detail.data_display_info.regs_content = NULL;
- detail.data_display_info.regs_content_count = 0;
- detail.data_display_info.regs_column_count = 1;
- detail.data_display_info.display_regs = FALSE;
+ data_content = NULL;
+ data_content_count = 0;
+ regs_content = NULL;
+ regs_content_count = 0;
+ regs_column_count = 1;
+ display_regs = false;
}
/* Accessor for the source execution info ptr. */
win->last_visible_line = 0;
win->handle = NULL;
win->content = NULL;
- win->content_in_use =
- win->is_visible = FALSE;
+ win->content_in_use = FALSE;
+ win->is_visible = false;
win->title = 0;
}
start_line_or_addr.u.addr = 0;
}
-tui_data_window::tui_data_window ()
- : tui_win_info (DATA_WIN)
-{
- detail.data_display_info.data_content = (tui_win_content) NULL;
- detail.data_display_info.data_content_count = 0;
- detail.data_display_info.regs_content = (tui_win_content) NULL;
- detail.data_display_info.regs_content_count = 0;
- detail.data_display_info.regs_column_count = 1;
- detail.data_display_info.display_regs = FALSE;
- detail.data_display_info.current_group = 0;
-}
-
-tui_cmd_window::tui_cmd_window ()
- : tui_win_info (CMD_WIN)
-{
-}
-
struct tui_win_info *
tui_alloc_win_info (enum tui_win_type type)
{
{
if (generic.content != NULL)
{
- tui_free_data_content (detail.data_display_info.regs_content,
- detail.data_display_info.regs_content_count);
- detail.data_display_info.regs_content = NULL;
- detail.data_display_info.regs_content_count = 0;
- tui_free_data_content (detail.data_display_info.data_content,
- detail.data_display_info.data_content_count);
- detail.data_display_info.data_content = NULL;
- detail.data_display_info.data_content_count = 0;
- detail.data_display_info.regs_column_count = 1;
- detail.data_display_info.display_regs = FALSE;
+ tui_free_data_content (regs_content, regs_content_count);
+ regs_content = NULL;
+ regs_content_count = 0;
+ tui_free_data_content (data_content, data_content_count);
+ data_content = NULL;
+ data_content_count = 0;
+ regs_column_count = 1;
+ display_regs = false;
generic.content = NULL;
generic.content_size = 0;
}
void
tui_free_all_source_wins_content ()
{
- for (tui_win_info *win_info : tui_source_windows ())
+ for (tui_source_window_base *win_info : tui_source_windows ())
{
tui_free_win_content (&(win_info->generic));
- tui_source_window_base *base = (tui_source_window_base *) win_info;
- tui_free_win_content (base->execution_info);
+ tui_free_win_content (win_info->execution_info);
}
}