** 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)
{
return (win_type > MAX_MAJOR_WINDOWS);
}
-int
-tui_win_has_locator (struct tui_win_info *win_info)
-{
- return (win_info != NULL
- && win_info->detail.source_info.has_locator);
-}
-
void
tui_set_win_highlight (struct tui_win_info *win_info,
int highlight)
void
tui_source_window_base::clear_detail ()
{
- detail.source_info.gdbarch = NULL;
- detail.source_info.start_line_or_addr.loa = LOA_ADDRESS;
- detail.source_info.start_line_or_addr.u.addr = 0;
- detail.source_info.horizontal_offset = 0;
+ gdbarch = NULL;
+ start_line_or_addr.loa = LOA_ADDRESS;
+ start_line_or_addr.u.addr = 0;
+ horizontal_offset = 0;
}
/* See tui-data.h. */
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. */
: tui_win_info (type)
{
gdb_assert (type == SRC_WIN || type == DISASSEM_WIN);
- detail.source_info.execution_info = NULL;
- detail.source_info.has_locator = FALSE;
- detail.source_info.horizontal_offset = 0;
- detail.source_info.gdbarch = NULL;
- detail.source_info.start_line_or_addr.loa = LOA_ADDRESS;
- detail.source_info.start_line_or_addr.u.addr = 0;
- detail.source_info.fullname = NULL;
-}
-
-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)
-{
+ start_line_or_addr.loa = LOA_ADDRESS;
+ start_line_or_addr.u.addr = 0;
}
struct tui_win_info *
tui_source_window_base::~tui_source_window_base ()
{
- if (detail.source_info.fullname)
- {
- xfree (detail.source_info.fullname);
- detail.source_info.fullname = NULL;
- }
- struct tui_gen_win_info *generic_win = detail.source_info.execution_info;
+ xfree (fullname);
+ struct tui_gen_win_info *generic_win = execution_info;
if (generic_win != NULL)
{
tui_delete_win (generic_win->handle);
{
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;
}
for (tui_win_info *win_info : tui_source_windows ())
{
tui_free_win_content (&(win_info->generic));
- tui_free_win_content (win_info->detail.source_info.execution_info);
+ tui_source_window_base *base = (tui_source_window_base *) win_info;
+ tui_free_win_content (base->execution_info);
}
}