50 int,
int,
int,
int,
int);
73 #define LAYOUT_USAGE "Usage: layout prev | next | <layout_name> \n"
81 if (layout != cur_layout)
135 int regs_populate = FALSE;
143 new_layout = layout_type;
147 if (new_layout != cur_layout)
159 layout_def->
split = FALSE;
173 layout_def->
split = FALSE;
189 layout_def->
split = TRUE;
197 layout_def->
split = FALSE;
214 layout_def->
split = FALSE;
358 const char *text,
const char *
word)
360 static const char *layout_names [] =
361 {
"src",
"asm",
"split",
"regs",
"next",
"prev", NULL };
363 return complete_on_enum (layout_names, text, word);
378 Change the layout of windows.\n\
379 Usage: layout prev | next | <layout_name> \n\
381 src : Displays source and command windows.\n\
382 asm : Displays disassembly and command windows.\n\
383 split : Displays source, disassembly and command windows.\n\
384 regs : Displays register window. If existing layout\n\
385 is source/command or assembly/command, the \n\
386 register window is displayed. If the\n\
387 source/assembly/command (split) is displayed, \n\
388 the register window is displayed with \n\
389 the window that has current logical focus.\n"));
406 if (layout_name != (
char *) NULL)
414 buf_ptr = (
char *) xstrdup (layout_name);
415 for (i = 0; (i < strlen (layout_name)); i++)
416 buf_ptr[i] = toupper (buf_ptr[i]);
420 if (strlen (buf_ptr) <= 1 && *buf_ptr ==
'S')
422 warning (
_(
"Ambiguous command input."));
479 TUI_SRC_WIN->detail.source_info.start_line_or_addr.u.line_no,
487 addr =
TUI_DISASM_WIN->detail.source_info.start_line_or_addr.u.addr;
494 *gdbarch_p = gdbarch;
551 int height,
int origin_y)
561 (*win_info_ptr)->can_highlight = FALSE;
569 int height,
int origin_y)
581 int height,
int origin_y)
591 int height,
int origin_y)
626 int cmd_height, src_height, asm_height;
644 TUI_SRC_WIN->detail.source_info.execution_info->width,
655 TUI_SRC_WIN->detail.source_info.has_locator = FALSE;;
670 (src_height + asm_height) - 1,
680 (src_height + asm_height) - 1);
700 TUI_SRC_WIN->detail.source_info.has_locator = FALSE;
736 int src_height, data_height;
741 data_height = total_height / 2;
742 src_height = total_height - data_height;
801 int origin_x,
int origin_y)
828 int origin_x,
int origin_y,
833 if (opaque_win_info == NULL)
845 if (opaque_win_info != NULL)
851 ((
struct tui_win_info *) opaque_win_info)->can_highlight = FALSE;
853 ((
struct tui_win_info *) opaque_win_info)->can_highlight = TRUE;
857 return opaque_win_info;
886 execution_info->
width,
890 (*win_info_ptr)->detail.source_info.execution_info = execution_info;
901 int src_height, cmd_height;
915 if ((*win_info_ptr) == NULL)
937 (*win_info_ptr)->detail.source_info.has_locator = TRUE;
939 (*win_info_ptr)->generic.type,
941 (*win_info_ptr)->generic.width,
942 (*win_info_ptr)->detail.source_info.execution_info->width,
950 (*win_info_ptr)->can_highlight = TRUE;
954 if ((*win_info_ptr) != NULL)
956 (*win_info_ptr)->detail.source_info.has_locator = TRUE;
void tui_clear_source_windows_detail(void)
void tui_make_all_invisible(void)
void tui_get_begin_asm_address(struct gdbarch **gdbarch_p, CORE_ADDR *addr_p)
struct tui_win_info * tui_win_list[MAX_MAJOR_WINDOWS]
int tui_term_height(void)
void tui_make_invisible(struct tui_gen_win_info *win_info)
void warning(const char *fmt,...)
struct symtab_and_line get_current_source_symtab_and_line(void)
int tui_default_win_height(enum tui_win_type type, enum tui_layout_type layout)
void tui_add_to_source_windows(struct tui_win_info *win_info)
struct tui_gen_win_info * tui_alloc_generic_win_info(void)
static void show_source_or_disasm_and_command(enum tui_layout_type)
static void init_gen_win_info(struct tui_gen_win_info *, enum tui_win_type, int, int, int, int)
static void make_disasm_window(struct tui_win_info **, int, int)
static enum tui_layout_type next_layout(void)
void tui_set_win_focus_to(struct tui_win_info *win_info)
static void make_data_window(struct tui_win_info **, int, int)
enum tui_status tui_set_layout(enum tui_layout_type layout_type)
static enum tui_layout_type prev_layout(void)
void tui_make_window(struct tui_gen_win_info *win_info, int box_it)
void tui_show_registers(struct reggroup *group)
struct tui_gen_win_info generic
struct tui_source_info source_info
static void show_source_disasm_command(void)
void initialize_file_ftype(void)
void tui_show_source_content(struct tui_win_info *win_info)
static void * init_and_make_win(void *, enum tui_win_type, int, int, int, int, int)
void set_cmd_completer(struct cmd_list_element *cmd, completer_ftype *completer)
mach_port_t mach_port_t name mach_port_t mach_port_t name error_t int status
struct tui_win_info * tui_win_with_focus(void)
struct cleanup * make_cleanup(make_cleanup_ftype *function, void *arg)
struct tui_gen_win_info * tui_locator_win_info_ptr(void)
static void make_source_or_disasm_window(struct tui_win_info **, enum tui_win_type, int, int)
static void show_layout(enum tui_layout_type)
static void show_source_command(void)
struct gdbarch * get_current_arch(void)
static void make_source_window(struct tui_win_info **, int, int)
static void make_command_window(struct tui_win_info **, int, int)
static void show_data(enum tui_layout_type)
static void extract_display_start_addr(struct gdbarch **, CORE_ADDR *)
struct tui_layout_def * tui_layout_def(void)
void tui_set_current_layout_to(enum tui_layout_type new_layout)
void tui_free_all_source_wins_content(void)
void tui_clear_source_windows(void)
void tui_add_win_to_layout(enum tui_win_type type)
int find_line_pc(struct symtab *symtab, int line, CORE_ADDR *pc)
void tui_show_locator_content(void)
void tui_make_visible(struct tui_gen_win_info *win_info)
struct tui_win_info * tui_alloc_win_info(enum tui_win_type type)
initialize_file_ftype _initialize_tui_layout
struct tui_gen_win_info * tui_disassem_exec_info_win_ptr(void)
struct tui_gen_win_info * execution_info
void tui_update_source_windows_with_addr(struct gdbarch *gdbarch, CORE_ADDR addr)
enum tui_status tui_set_layout_by_name(const char *layout_name)
static struct tui_win_info * win_with_focus
void tui_refresh_all(struct tui_win_info **list)
union tui_win_info::@172 detail
static int ignore(struct target_ops *ops, struct gdbarch *gdbarch, struct bp_target_info *bp_tgt)
void tui_display_all_data(void)
void tui_refresh_win(struct tui_gen_win_info *win_info)
int subset_compare(char *string_to_compare, char *template_string)
struct tui_gen_win_info * tui_source_exec_info_win_ptr(void)
int tui_win_is_auxillary(enum tui_win_type win_type)
enum tui_win_type display_mode
static void tui_layout_command(char *, int)
struct cmd_list_element * add_com(const char *name, enum command_class theclass, cmd_cfunc_ftype *fun, const char *doc)
static struct tui_layout_def layout_def
void do_cleanups(struct cleanup *old_chain)
static void show_disasm_command(void)
enum tui_layout_type tui_current_layout(void)
int tui_default_win_viewport_height(enum tui_win_type type, enum tui_layout_type layout)