GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Macros | Functions | Variables
tui-win.c File Reference
#include "defs.h"
#include "command.h"
#include "symtab.h"
#include "breakpoint.h"
#include "frame.h"
#include "cli/cli-cmds.h"
#include "cli/cli-style.h"
#include "top.h"
#include "source.h"
#include "gdbsupport/event-loop.h"
#include "gdbcmd.h"
#include "async-event.h"
#include "utils.h"
#include "tui/tui.h"
#include "tui/tui-io.h"
#include "tui/tui-command.h"
#include "tui/tui-data.h"
#include "tui/tui-layout.h"
#include "tui/tui-wingeneral.h"
#include "tui/tui-stack.h"
#include "tui/tui-regs.h"
#include "tui/tui-disasm.h"
#include "tui/tui-source.h"
#include "tui/tui-winsource.h"
#include "tui/tui-win.h"
#include "gdb_curses.h"
#include <ctype.h>
#include "readline/readline.h"
#include "gdbsupport/gdb_string_view.h"
#include <signal.h>

Go to the source code of this file.

Classes

struct  tui_translate
 

Macros

#define ACS_LRCORNER   '+'
 
#define ACS_LLCORNER   '+'
 
#define ACS_ULCORNER   '+'
 
#define ACS_URCORNER   '+'
 
#define ACS_HLINE   '-'
 
#define ACS_VLINE   '|'
 
#define DEFAULT_TAB_LEN   8
 

Functions

static void tui_set_tab_width_command (const char *, int)
 
static void tui_refresh_all_command (const char *, int)
 
static void tui_all_windows_info (const char *, int)
 
static void tui_scroll_forward_command (const char *, int)
 
static void tui_scroll_backward_command (const char *, int)
 
static void tui_scroll_left_command (const char *, int)
 
static void tui_scroll_right_command (const char *, int)
 
static void parse_scrolling_args (const char *, struct tui_win_info **, int *)
 
static void show_tui_active_border_mode (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
static void show_tui_border_mode (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
static void show_tui_border_kind (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
static void show_style_tui_current_position (ui_file *file, int from_tty, cmd_list_element *c, const char *value)
 
static void set_style_tui_current_position (const char *ignore, int from_tty, cmd_list_element *c)
 
static int translate (const char *name, struct tui_translate *table)
 
static int translate_acs (const char *name, struct tui_translate *table, int acs_char)
 
bool tui_update_variables ()
 
struct cmd_list_element ** tui_get_cmd_list (void)
 
static void tui_set_var_cmd (const char *null_args, int from_tty, struct cmd_list_element *c)
 
static void show_tui_resize_message (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
static void window_name_completer (completion_tracker &tracker, bool include_next_prev_p, bool exclude_cannot_focus_p, const char *text, const char *word)
 
static void focus_completer (struct cmd_list_element *ignore, completion_tracker &tracker, const char *text, const char *word)
 
static void winheight_completer (struct cmd_list_element *ignore, completion_tracker &tracker, const char *text, const char *word)
 
void tui_update_gdb_sizes (void)
 
void tui_refresh_all_win (void)
 
void tui_rehighlight_all (void)
 
void tui_resize_all (void)
 
void tui_initialize_win (void)
 
static struct tui_win_infotui_partial_win_by_name (gdb::string_view name)
 
static void tui_set_focus_command (const char *arg, int from_tty)
 
static void update_tab_width ()
 
static void tui_set_tab_width (const char *ignore, int from_tty, struct cmd_list_element *c)
 
static void tui_show_tab_width (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
static void tui_set_compact_source (const char *ignore, int from_tty, struct cmd_list_element *c)
 
static void tui_show_compact_source (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
static void show_tui_mouse_events (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
static void tui_set_win_size (const char *arg, bool set_width_p)
 
static void tui_set_win_height_command (const char *arg, int from_tty)
 
static void tui_set_win_width_command (const char *arg, int from_tty)
 
static void tui_window_command (const char *args, int from_tty)
 
void _initialize_tui_win ()
 

Variables

static const char *const tui_border_kind_enums []
 
static const char *const tui_border_mode_enums []
 
static struct tui_translate tui_border_mode_translate []
 
static struct tui_translate tui_border_kind_translate_vline []
 
static struct tui_translate tui_border_kind_translate_hline []
 
static struct tui_translate tui_border_kind_translate_corner []
 
static const char * tui_active_border_mode = "bold-standout"
 
static const char * tui_border_mode = "normal"
 
static const char * tui_border_kind = "acs"
 
bool style_tui_current_position = false
 
chtype tui_border_vline
 
chtype tui_border_hline
 
chtype tui_border_ulcorner
 
chtype tui_border_urcorner
 
chtype tui_border_llcorner
 
chtype tui_border_lrcorner
 
int tui_border_attrs
 
int tui_active_border_attrs
 
static struct cmd_list_elementtuilist
 
static bool resize_message
 
unsigned int tui_tab_width = DEFAULT_TAB_LEN
 
static unsigned int internal_tab_width = DEFAULT_TAB_LEN
 
bool compact_source = false
 
bool tui_enable_mouse = true
 
static cmd_list_elementtui_window_cmds = nullptr
 
bool tui_left_margin_verbose = false
 

Macro Definition Documentation

◆ ACS_HLINE

#define ACS_HLINE   '-'

Definition at line 86 of file tui-win.c.

Referenced by tui_update_variables().

◆ ACS_LLCORNER

#define ACS_LLCORNER   '+'

Definition at line 77 of file tui-win.c.

Referenced by tui_update_variables().

◆ ACS_LRCORNER

#define ACS_LRCORNER   '+'

Definition at line 74 of file tui-win.c.

Referenced by tui_update_variables().

◆ ACS_ULCORNER

#define ACS_ULCORNER   '+'

Definition at line 80 of file tui-win.c.

Referenced by tui_update_variables().

◆ ACS_URCORNER

#define ACS_URCORNER   '+'

Definition at line 83 of file tui-win.c.

Referenced by tui_update_variables().

◆ ACS_VLINE

#define ACS_VLINE   '|'

Definition at line 89 of file tui-win.c.

Referenced by tui_update_variables().

◆ DEFAULT_TAB_LEN

#define DEFAULT_TAB_LEN   8

Definition at line 803 of file tui-win.c.

Function Documentation

◆ _initialize_tui_win()

void _initialize_tui_win ( )

Definition at line 1109 of file tui-win.c.

Referenced by initialize_all_files().

◆ focus_completer()

static void focus_completer ( struct cmd_list_element * ignore,
completion_tracker & tracker,
const char * text,
const char * word )
static

Definition at line 396 of file tui-win.c.

References window_name_completer().

◆ parse_scrolling_args()

static void parse_scrolling_args ( const char * arg,
struct tui_win_info ** win_to_scroll,
int * num_to_scroll )
static

◆ set_style_tui_current_position()

static void set_style_tui_current_position ( const char * ignore,
int from_tty,
cmd_list_element * c )
static

Definition at line 204 of file tui-win.c.

References TUI_DISASM_WIN, and TUI_SRC_WIN.

◆ show_style_tui_current_position()

static void show_style_tui_current_position ( ui_file * file,
int from_tty,
cmd_list_element * c,
const char * value )
static

Definition at line 193 of file tui-win.c.

References gdb_printf().

◆ show_tui_active_border_mode()

static void show_tui_active_border_mode ( struct ui_file * file,
int from_tty,
struct cmd_list_element * c,
const char * value )
static

Definition at line 155 of file tui-win.c.

References gdb_printf().

◆ show_tui_border_kind()

static void show_tui_border_kind ( struct ui_file * file,
int from_tty,
struct cmd_list_element * c,
const char * value )
static

Definition at line 179 of file tui-win.c.

References gdb_printf().

◆ show_tui_border_mode()

static void show_tui_border_mode ( struct ui_file * file,
int from_tty,
struct cmd_list_element * c,
const char * value )
static

Definition at line 167 of file tui-win.c.

References gdb_printf().

◆ show_tui_mouse_events()

static void show_tui_mouse_events ( struct ui_file * file,
int from_tty,
struct cmd_list_element * c,
const char * value )
static

Definition at line 880 of file tui-win.c.

References gdb_printf().

◆ show_tui_resize_message()

static void show_tui_resize_message ( struct ui_file * file,
int from_tty,
struct cmd_list_element * c,
const char * value )
static

Definition at line 328 of file tui-win.c.

References gdb_printf().

◆ translate()

static int translate ( const char * name,
struct tui_translate * table )
static

Definition at line 228 of file tui-win.c.

References name, tui_translate::name, and tui_translate::value.

Referenced by translate_acs(), and tui_update_variables().

◆ translate_acs()

static int translate_acs ( const char * name,
struct tui_translate * table,
int acs_char )
static

Definition at line 243 of file tui-win.c.

References name, and translate().

Referenced by tui_update_variables().

◆ tui_all_windows_info()

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

◆ tui_get_cmd_list()

struct cmd_list_element ** tui_get_cmd_list ( void )

Definition at line 300 of file tui-win.c.

References add_basic_prefix_cmd(), class_tui, cmdlist, and tuilist.

◆ tui_initialize_win()

void tui_initialize_win ( void )

Definition at line 581 of file tui-win.c.

References create_async_signal_handler().

Referenced by tui_interp::init().

◆ tui_partial_win_by_name()

static struct tui_win_info * tui_partial_win_by_name ( gdb::string_view name)
static

◆ tui_refresh_all_command()

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

Definition at line 795 of file tui-win.c.

References tui_enable(), and tui_refresh_all_win().

◆ tui_refresh_all_win()

void tui_refresh_all_win ( void )

Definition at line 481 of file tui-win.c.

References tui_refresh_all().

Referenced by tui_enable(), tui_getc_1(), and tui_refresh_all_command().

◆ tui_rehighlight_all()

void tui_rehighlight_all ( void )

Definition at line 488 of file tui-win.c.

References all_tui_windows().

Referenced by tui_enable(), and tui_set_var_cmd().

◆ tui_resize_all()

void tui_resize_all ( void )

◆ tui_scroll_backward_command()

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

Definition at line 623 of file tui-win.c.

References tui_win_info::backward_scroll(), parse_scrolling_args(), and tui_enable().

◆ tui_scroll_forward_command()

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

Definition at line 607 of file tui-win.c.

References tui_win_info::forward_scroll(), parse_scrolling_args(), and tui_enable().

◆ tui_scroll_left_command()

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

Definition at line 639 of file tui-win.c.

References tui_win_info::left_scroll(), parse_scrolling_args(), and tui_enable().

◆ tui_scroll_right_command()

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

Definition at line 652 of file tui-win.c.

References parse_scrolling_args(), tui_win_info::right_scroll(), and tui_enable().

◆ tui_set_compact_source()

static void tui_set_compact_source ( const char * ignore,
int from_tty,
struct cmd_list_element * c )
static

Definition at line 859 of file tui-win.c.

References TUI_SRC_WIN.

◆ tui_set_focus_command()

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

◆ tui_set_tab_width()

static void tui_set_tab_width ( const char * ignore,
int from_tty,
struct cmd_list_element * c )
static

Definition at line 829 of file tui-win.c.

References internal_tab_width, tui_tab_width, and update_tab_width().

◆ tui_set_tab_width_command()

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

Definition at line 888 of file tui-win.c.

References internal_tab_width, tui_enable(), tui_tab_width, and update_tab_width().

◆ tui_set_var_cmd()

static void tui_set_var_cmd ( const char * null_args,
int from_tty,
struct cmd_list_element * c )
static

Definition at line 313 of file tui-win.c.

References tui_active, tui_rehighlight_all(), and tui_update_variables().

◆ tui_set_win_height_command()

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

Definition at line 1000 of file tui-win.c.

References tui_set_win_size().

◆ tui_set_win_size()

static void tui_set_win_size ( const char * arg,
bool set_width_p )
static

◆ tui_set_win_width_command()

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

Definition at line 1009 of file tui-win.c.

References tui_set_win_size().

◆ tui_show_compact_source()

static void tui_show_compact_source ( struct ui_file * file,
int from_tty,
struct cmd_list_element * c,
const char * value )
static

Definition at line 869 of file tui-win.c.

References gdb_printf().

◆ tui_show_tab_width()

static void tui_show_tab_width ( struct ui_file * file,
int from_tty,
struct cmd_list_element * c,
const char * value )
static

Definition at line 845 of file tui-win.c.

References gdb_printf().

◆ tui_update_gdb_sizes()

void tui_update_gdb_sizes ( void )

◆ tui_update_variables()

bool tui_update_variables ( )

◆ tui_window_command()

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

Definition at line 1095 of file tui-win.c.

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

◆ update_tab_width()

static void update_tab_width ( )
static

Definition at line 817 of file tui-win.c.

References all_tui_windows().

Referenced by tui_set_tab_width(), and tui_set_tab_width_command().

◆ window_name_completer()

static void window_name_completer ( completion_tracker & tracker,
bool include_next_prev_p,
bool exclude_cannot_focus_p,
const char * text,
const char * word )
static

Definition at line 347 of file tui-win.c.

References all_tui_windows(), CMD_NAME, complete_on_enum(), and SRC_NAME.

Referenced by focus_completer(), and winheight_completer().

◆ winheight_completer()

static void winheight_completer ( struct cmd_list_element * ignore,
completion_tracker & tracker,
const char * text,
const char * word )
static

Definition at line 408 of file tui-win.c.

References window_name_completer().

Variable Documentation

◆ compact_source

bool compact_source = false

Definition at line 854 of file tui-win.c.

Referenced by tui_source_window::set_contents().

◆ internal_tab_width

unsigned int internal_tab_width = DEFAULT_TAB_LEN
static

Definition at line 811 of file tui-win.c.

Referenced by tui_set_tab_width(), and tui_set_tab_width_command().

◆ resize_message

bool resize_message
static

Definition at line 325 of file tui-win.c.

◆ style_tui_current_position

bool style_tui_current_position = false

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

Referenced by apply_ansi_escape(), and tui_set_reverse_mode().

◆ tui_active_border_attrs

int tui_active_border_attrs

Definition at line 224 of file tui-win.c.

Referenced by box_win(), and tui_update_variables().

◆ tui_active_border_mode

const char* tui_active_border_mode = "bold-standout"
static

Definition at line 153 of file tui-win.c.

Referenced by tui_update_variables().

◆ tui_border_attrs

int tui_border_attrs

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

Referenced by box_win(), and tui_update_variables().

◆ tui_border_hline

chtype tui_border_hline

Definition at line 217 of file tui-win.c.

Referenced by box_win(), and tui_update_variables().

◆ tui_border_kind

const char* tui_border_kind = "acs"
static

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

Referenced by tui_update_variables().

◆ tui_border_kind_enums

const char* const tui_border_kind_enums[]
static
Initial value:
= {
"space",
"ascii",
"acs",
NULL
}

Definition at line 93 of file tui-win.c.

◆ tui_border_kind_translate_corner

struct tui_translate tui_border_kind_translate_corner[]
static
Initial value:
= {
{ "space", ' ' },
{ "ascii", '+' },
{ 0, 0 }
}

Definition at line 145 of file tui-win.c.

Referenced by tui_update_variables().

◆ tui_border_kind_translate_hline

struct tui_translate tui_border_kind_translate_hline[]
static
Initial value:
= {
{ "space", ' ' },
{ "ascii", '-' },
{ 0, 0 }
}

Definition at line 139 of file tui-win.c.

Referenced by tui_update_variables().

◆ tui_border_kind_translate_vline

struct tui_translate tui_border_kind_translate_vline[]
static
Initial value:
= {
{ "space", ' ' },
{ "ascii", '|' },
{ 0, 0 }
}

Definition at line 133 of file tui-win.c.

Referenced by tui_update_variables().

◆ tui_border_llcorner

chtype tui_border_llcorner

Definition at line 220 of file tui-win.c.

Referenced by box_win(), and tui_update_variables().

◆ tui_border_lrcorner

chtype tui_border_lrcorner

Definition at line 221 of file tui-win.c.

Referenced by box_win(), and tui_update_variables().

◆ tui_border_mode

const char* tui_border_mode = "normal"
static

Definition at line 165 of file tui-win.c.

Referenced by tui_update_variables().

◆ tui_border_mode_enums

const char* const tui_border_mode_enums[]
static
Initial value:
= {
"normal",
"standout",
"reverse",
"half",
"half-standout",
"bold",
"bold-standout",
NULL
}

Definition at line 101 of file tui-win.c.

◆ tui_border_mode_translate

struct tui_translate tui_border_mode_translate[]
static
Initial value:
= {
{ "normal", A_NORMAL },
{ "standout", A_STANDOUT },
{ "reverse", A_REVERSE },
{ "half", A_DIM },
{ "half-standout", A_DIM | A_STANDOUT },
{ "bold", A_BOLD },
{ "bold-standout", A_BOLD | A_STANDOUT },
{ 0, 0 }
}

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

Referenced by tui_update_variables().

◆ tui_border_ulcorner

chtype tui_border_ulcorner

Definition at line 218 of file tui-win.c.

Referenced by box_win(), and tui_update_variables().

◆ tui_border_urcorner

chtype tui_border_urcorner

Definition at line 219 of file tui-win.c.

Referenced by box_win(), and tui_update_variables().

◆ tui_border_vline

chtype tui_border_vline

Definition at line 216 of file tui-win.c.

Referenced by box_win(), and tui_update_variables().

◆ tui_enable_mouse

bool tui_enable_mouse = true

Definition at line 875 of file tui-win.c.

Referenced by tui_prep_terminal().

◆ tui_left_margin_verbose

bool tui_left_margin_verbose = false

◆ tui_tab_width

unsigned int tui_tab_width = DEFAULT_TAB_LEN

◆ tui_window_cmds

cmd_list_element* tui_window_cmds = nullptr
static

Definition at line 1090 of file tui-win.c.

Referenced by tui_window_command().

◆ tuilist

struct cmd_list_element* tuilist
static

Definition at line 297 of file tui-win.c.

Referenced by tui_get_cmd_list().