****************************/
static enum tui_layout_type current_layout = UNDEFINED_LAYOUT;
static int term_height, term_width;
-static struct tui_gen_win_info _locator;
-static struct tui_gen_win_info exec_info[2];
+static struct tui_gen_win_info _locator (LOCATOR_WIN);
+static struct tui_gen_win_info source_win (EXEC_INFO_WIN);
+static struct tui_gen_win_info disasm_win (EXEC_INFO_WIN);
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 = {
struct tui_gen_win_info *
tui_source_exec_info_win_ptr (void)
{
- return &exec_info[0];
+ return &source_win;
}
struct tui_gen_win_info *
tui_disassem_exec_info_win_ptr (void)
{
- return &exec_info[1];
+ return &disasm_win;
}
}
-struct tui_gen_win_info *
-tui_alloc_generic_win_info (void)
-{
- struct tui_gen_win_info *win = XNEW (struct tui_gen_win_info);
-
- tui_init_generic_part (win);
-
- return win;
-}
-
-
void
tui_init_generic_part (struct tui_gen_win_info *win)
{
element->which_element.source.has_break = FALSE;
break;
case DATA_WIN:
- element->which_element.data_window = XNEW (struct tui_gen_win_info);
- tui_init_generic_part (element->which_element.data_window);
- element->which_element.data_window->type = DATA_ITEM_WIN;
+ element->which_element.data_window = new struct tui_gen_win_info (DATA_ITEM_WIN);
element->which_element.data_window->content =
tui_alloc_content (1, DATA_ITEM_WIN);
element->which_element.data_window->content_size = 1;
}
tui_win_info::tui_win_info (enum tui_win_type type)
+ : generic (type)
{
- generic.type = type;
- tui_init_generic_part (&generic);
}
tui_source_window_base::tui_source_window_base (enum tui_win_type type)
xfree (element->which_element.source.line);
break;
case DATA_WIN:
- xfree (element->which_element.data_window);
+ delete element->which_element.data_window;
xfree (element);
break;
case DATA_ITEM_WIN: