GDB (xrefs)
Loading...
Searching...
No Matches
Functions | Variables
tui-layout.c File Reference
#include "defs.h"
#include "arch-utils.h"
#include "command.h"
#include "symtab.h"
#include "frame.h"
#include "source.h"
#include "cli/cli-cmds.h"
#include "cli/cli-decode.h"
#include "cli/cli-utils.h"
#include <ctype.h>
#include <unordered_set>
#include "tui/tui.h"
#include "tui/tui-command.h"
#include "tui/tui-data.h"
#include "tui/tui-wingeneral.h"
#include "tui/tui-stack.h"
#include "tui/tui-regs.h"
#include "tui/tui-win.h"
#include "tui/tui-winsource.h"
#include "tui/tui-disasm.h"
#include "tui/tui-layout.h"
#include "tui/tui-source.h"
#include "gdb_curses.h"
#include "gdbsupport/gdb-safe-ctype.h"

Go to the source code of this file.

Functions

static void extract_display_start_addr (struct gdbarch **, CORE_ADDR *)
 
void tui_apply_current_layout (bool preserve_cmd_win_size_p)
 
void tui_adjust_window_height (struct tui_win_info *win, int new_height)
 
void tui_adjust_window_width (struct tui_win_info *win, int new_width)
 
static void tui_set_layout (tui_layout_split *layout)
 
void tui_add_win_to_layout (enum tui_win_type type)
 
static size_t find_layout (tui_layout_split *layout)
 
static void tui_apply_layout (const char *args, int from_tty, cmd_list_element *command)
 
void tui_next_layout ()
 
static void tui_next_layout_command (const char *arg, int from_tty)
 
void tui_set_initial_layout ()
 
static void tui_prev_layout_command (const char *arg, int from_tty)
 
void tui_regs_layout ()
 
static void tui_regs_layout_command (const char *arg, int from_tty)
 
void tui_remove_some_windows ()
 
template<enum tui_win_type V, class T >
static tui_win_infomake_standard_window (const char *)
 
known_window_names_range all_known_window_names ()
 
static tui_win_infotui_get_window_by_name (const std::string &name)
 
static void initialize_known_windows ()
 
void tui_register_window (const char *name, window_factory &&factory)
 
static void destroy_layout (struct cmd_list_element *self, void *context)
 
static void tui_layout_command (const char *args, int from_tty)
 
static struct cmd_list_elementadd_layout_command (const char *name, tui_layout_split *layout)
 
static void initialize_layouts ()
 
static bool validate_window_name (const std::string &name)
 
static void tui_new_layout_command (const char *spec, int from_tty)
 
void _initialize_tui_layout ()
 

Variables

static std::vector< std::unique_ptr< tui_layout_split > > layouts
 
static std::unique_ptr< tui_layout_baseapplied_layout
 
static tui_layout_splitapplied_skeleton
 
static tui_layout_splitsrc_regs_layout
 
static tui_layout_splitasm_regs_layout
 
std::vector< tui_win_info * > tui_windows
 
static window_types_map known_window_types
 
static struct cmd_list_elementlayout_list
 

Function Documentation

◆ _initialize_tui_layout()

void _initialize_tui_layout ( )

Definition at line 1309 of file tui-layout.c.

Referenced by initialize_all_files().

◆ add_layout_command()

static struct cmd_list_element * add_layout_command ( const char * name,
tui_layout_split * layout )
static

◆ all_known_window_names()

known_window_names_range all_known_window_names ( )

Definition at line 353 of file tui-layout.c.

References known_window_types.

Referenced by tui_set_focus_command().

◆ destroy_layout()

static void destroy_layout ( struct cmd_list_element * self,
void * context )
static

Definition at line 1114 of file tui-layout.c.

References find_layout(), and layouts.

Referenced by add_layout_command().

◆ extract_display_start_addr()

static void extract_display_start_addr ( struct gdbarch ** gdbarch_p,
CORE_ADDR * addr_p )
static

Definition at line 288 of file tui-layout.c.

References TUI_DISASM_WIN, and TUI_SRC_WIN.

Referenced by tui_apply_current_layout().

◆ find_layout()

static size_t find_layout ( tui_layout_split * layout)
static

Definition at line 177 of file tui-layout.c.

References get(), and layouts.

Referenced by destroy_layout(), tui_next_layout(), and tui_prev_layout_command().

◆ initialize_known_windows()

static void initialize_known_windows ( )
static

◆ initialize_layouts()

static void initialize_layouts ( )
static

◆ make_standard_window()

template<enum tui_win_type V, class T >
static tui_win_info * make_standard_window ( const char * )
static

Definition at line 339 of file tui-layout.c.

References tui_win_list.

Referenced by initialize_known_windows().

◆ tui_add_win_to_layout()

void tui_add_win_to_layout ( enum tui_win_type type)

◆ tui_adjust_window_height()

void tui_adjust_window_height ( struct tui_win_info * win,
int new_height )

Definition at line 120 of file tui-layout.c.

References applied_layout, and tui_win_info::name().

Referenced by tui_set_win_size().

◆ tui_adjust_window_width()

void tui_adjust_window_width ( struct tui_win_info * win,
int new_width )

Definition at line 128 of file tui-layout.c.

References applied_layout, and tui_win_info::name().

Referenced by tui_set_win_size().

◆ tui_apply_current_layout()

void tui_apply_current_layout ( bool preserve_cmd_win_size_p)

◆ tui_apply_layout()

static void tui_apply_layout ( const char * args,
int from_tty,
cmd_list_element * command )
static

Definition at line 190 of file tui-layout.c.

References cmd_list_element::context(), tui_enable(), and tui_set_layout().

Referenced by add_layout_command().

◆ tui_get_window_by_name()

static tui_win_info * tui_get_window_by_name ( const std::string & name)
static

◆ tui_layout_command()

static void tui_layout_command ( const char * args,
int from_tty )
static

Definition at line 1128 of file tui-layout.c.

References all_commands, gdb_stdout, help_list(), and layout_list.

◆ tui_new_layout_command()

static void tui_new_layout_command ( const char * spec,
int from_tty )
static

◆ tui_next_layout()

void tui_next_layout ( )

◆ tui_next_layout_command()

static void tui_next_layout_command ( const char * arg,
int from_tty )
static

Definition at line 214 of file tui-layout.c.

References tui_enable(), and tui_next_layout().

◆ tui_prev_layout_command()

static void tui_prev_layout_command ( const char * arg,
int from_tty )
static

Definition at line 231 of file tui-layout.c.

References applied_skeleton, find_layout(), get(), layouts, tui_enable(), and tui_set_layout().

◆ tui_register_window()

void tui_register_window ( const char * name,
window_factory && factory )

Definition at line 403 of file tui-layout.c.

References CMD_NAME, DATA_NAME, DISASSEM_NAME, known_window_types, name, SRC_NAME, and STATUS_NAME.

◆ tui_regs_layout()

void tui_regs_layout ( )

◆ tui_regs_layout_command()

static void tui_regs_layout_command ( const char * arg,
int from_tty )
static

Definition at line 259 of file tui-layout.c.

References tui_enable(), and tui_regs_layout().

◆ tui_remove_some_windows()

void tui_remove_some_windows ( )

◆ tui_set_initial_layout()

void tui_set_initial_layout ( )

Definition at line 223 of file tui-layout.c.

References get(), layouts, and tui_set_layout().

Referenced by tui_enable().

◆ tui_set_layout()

static void tui_set_layout ( tui_layout_split * layout)
static

◆ validate_window_name()

static bool validate_window_name ( const std::string & name)
static

Definition at line 1210 of file tui-layout.c.

References known_window_types, and name.

Referenced by tui_new_layout_command().

Variable Documentation

◆ applied_layout

std::unique_ptr<tui_layout_base> applied_layout
static

◆ applied_skeleton

tui_layout_split* applied_skeleton
static

Definition at line 57 of file tui-layout.c.

Referenced by tui_next_layout(), tui_prev_layout_command(), and tui_set_layout().

◆ asm_regs_layout

tui_layout_split* asm_regs_layout
static

Definition at line 62 of file tui-layout.c.

Referenced by initialize_layouts(), and tui_regs_layout().

◆ known_window_types

window_types_map known_window_types
static

◆ layout_list

struct cmd_list_element* layout_list
static

Definition at line 1123 of file tui-layout.c.

Referenced by add_layout_command(), and tui_layout_command().

◆ layouts

std::vector<std::unique_ptr<tui_layout_split> > layouts
static

◆ src_regs_layout

tui_layout_split* src_regs_layout
static

Definition at line 61 of file tui-layout.c.

Referenced by initialize_layouts(), and tui_regs_layout().

◆ tui_windows

std::vector<tui_win_info *> tui_windows