GDB (xrefs)
|
#include "tui-winsource.h"
Public Member Functions | |
void | refill () |
void | set_is_exec_point_at (struct tui_line_or_address l) |
void | update_tab_width () override |
virtual bool | location_matches_p (struct bp_location *loc, int line_no)=0 |
void | update_exec_info (bool refresh_p=true) |
virtual void | maybe_update (frame_info_ptr fi, symtab_and_line sal)=0 |
void | update_source_window_as_is (struct gdbarch *gdbarch, const struct symtab_and_line &sal) |
void | update_source_window (struct gdbarch *gdbarch, const struct symtab_and_line &sal) |
bool | update_breakpoint_info (struct breakpoint *being_deleted, bool current_only) |
virtual void | erase_source_content ()=0 |
void | refresh_window () override |
virtual void | display_start_addr (struct gdbarch **gdbarch_p, CORE_ADDR *addr_p)=0 |
![]() | |
tui_win_info (tui_win_info &&)=default | |
virtual | ~tui_win_info ()=default |
virtual void | make_visible (bool visible) |
virtual const char * | name () const =0 |
virtual int | max_height () const |
virtual int | min_height () const |
int | max_width () const |
int | min_width () const |
virtual bool | can_box () const |
virtual void | resize (int height, int width, int origin_x, int origin_y) |
bool | is_visible () const |
virtual bool | can_focus () const |
void | no_refresh () |
void | set_highlight (bool highlight) |
void | forward_scroll (int num_to_scroll) |
void | backward_scroll (int num_to_scroll) |
void | left_scroll (int num_to_scroll) |
void | right_scroll (int num_to_scroll) |
virtual bool | can_scroll () const |
virtual void | click (int mouse_x, int mouse_y, int mouse_button) |
void | check_and_display_highlight_if_needed () |
void | set_title (std::string &&new_title) |
const std::string & | title () const |
Protected Member Functions | |
tui_source_window_base () | |
~tui_source_window_base () | |
DISABLE_COPY_AND_ASSIGN (tui_source_window_base) | |
void | do_scroll_horizontal (int num_to_scroll) override |
void | do_erase_source_content (const char *string) |
void | rerender () override |
virtual bool | set_contents (struct gdbarch *gdbarch, const struct symtab_and_line &sal)=0 |
virtual int | extra_margin () const |
virtual void | show_line_number (int offset) const |
void | show_source_line (int lineno) |
![]() | |
tui_win_info ()=default | |
DISABLE_COPY_AND_ASSIGN (tui_win_info) | |
virtual void | make_window () |
virtual void | do_scroll_vertical (int num_to_scroll)=0 |
Protected Attributes | |
struct tui_line_or_address | m_start_line_or_addr |
struct gdbarch * | m_gdbarch = nullptr |
std::vector< tui_source_element > | m_content |
int | m_max_length |
Private Member Functions | |
bool | validate_scroll_offsets () |
int | left_margin () const |
int | view_width () const |
void | show_source_content () |
void | puts_to_pad_with_skip (const char *string, int skip) |
void | style_changed () |
Private Attributes | |
int | m_horizontal_offset = 0 |
gdb::observers::token | m_observable |
std::unique_ptr< WINDOW, curses_deleter > | m_pad |
int | m_pad_requested_width = 0 |
int | m_pad_offset = 0 |
Additional Inherited Members | |
![]() | |
std::unique_ptr< WINDOW, curses_deleter > | handle |
int | width = 0 |
int | height = 0 |
int | x = 0 |
int | y = 0 |
bool | is_highlighted = false |
Definition at line 92 of file tui-winsource.h.
|
protected |
Definition at line 419 of file tui-winsource.c.
References tui_line_or_address::addr, tui_line_or_address::loa, LOA_ADDRESS, m_observable, m_start_line_or_addr, style_changed(), gdb::observers::styling_changed, and tui_line_or_address::u.
|
protected |
Definition at line 429 of file tui-winsource.c.
References m_observable, and gdb::observers::styling_changed.
|
protected |
|
pure virtual |
Implemented in tui_disasm_window, and tui_source_window.
|
protected |
Definition at line 211 of file tui-winsource.c.
References tui_win_info::check_and_display_highlight_if_needed(), tui_win_info::handle, tui_win_info::height, m_content, refresh_window(), and tui_win_info::width.
Referenced by tui_disasm_window::erase_source_content(), and tui_source_window::erase_source_content().
|
overrideprotectedvirtual |
Implements tui_win_info.
Definition at line 543 of file tui-winsource.c.
References m_content, m_horizontal_offset, refresh_window(), show_source_content(), and validate_scroll_offsets().
|
pure virtual |
Implemented in tui_disasm_window, and tui_source_window.
Referenced by rerender(), and update_source_window_as_is().
|
inlineprotectedvirtual |
Reimplemented in tui_source_window.
Definition at line 112 of file tui-winsource.h.
Referenced by left_margin().
|
inlineprivate |
Definition at line 208 of file tui-winsource.h.
References extra_margin(), and TUI_EXECINFO_SIZE.
Referenced by refresh_window(), and view_width().
|
pure virtual |
Implemented in tui_disasm_window, and tui_source_window.
Referenced by update_breakpoint_info().
|
pure virtual |
Implemented in tui_disasm_window, and tui_source_window.
|
private |
Definition at line 238 of file tui-winsource.c.
References m_pad, skip_ansi_escape(), and tui_puts().
Referenced by show_source_line().
void tui_source_window_base::refill | ( | ) |
Definition at line 478 of file tui-winsource.c.
References tui_line_or_address::addr, current_program_space, deprecated_safe_get_selected_frame(), find_pc_line(), get_current_source_symtab_and_line(), get_frame_pc(), tui_line_or_address::line_no, tui_line_or_address::loa, LOA_LINE, m_gdbarch, m_start_line_or_addr, TUI_SRC_WIN, tui_line_or_address::u, and update_source_window_as_is().
Referenced by set_is_exec_point_at(), and style_changed().
|
overridevirtual |
Reimplemented from tui_win_info.
Definition at line 317 of file tui-winsource.c.
References tui_win_info::handle, left_margin(), m_content, m_horizontal_offset, m_max_length, m_pad, m_pad_offset, tui_win_info::name(), tui_debug_printf, TUI_SCOPED_DEBUG_START_END, view_width(), tui_win_info::x, and tui_win_info::y.
Referenced by do_erase_source_content(), do_scroll_horizontal(), and update_exec_info().
|
overrideprotectedvirtual |
Reimplemented from tui_win_info.
Definition at line 444 of file tui-winsource.c.
References tui_line_or_address::addr, deprecated_safe_get_selected_frame(), erase_source_content(), find_line_pc(), find_pc_line_symtab(), get_current_source_symtab_and_line(), get_frame_arch(), get_frame_pc(), symtab_and_line::line, tui_line_or_address::line_no, tui_line_or_address::loa, LOA_LINE, m_content, m_gdbarch, m_start_line_or_addr, tui_win_info::name(), symtab_and_line::pc, TUI_SCOPED_DEBUG_START_END, TUI_SRC_WIN, tui_line_or_address::u, and update_source_window().
Referenced by update_tab_width().
|
protectedpure virtual |
Implemented in tui_disasm_window, and tui_source_window.
Referenced by update_source_window_as_is().
void tui_source_window_base::set_is_exec_point_at | ( | struct tui_line_or_address | l | ) |
Definition at line 561 of file tui-winsource.c.
References tui_line_or_address::addr, tui_line_or_address::line_no, tui_line_or_address::loa, LOA_ADDRESS, LOA_LINE, m_content, refill(), and tui_line_or_address::u.
Referenced by tui_disasm_window::maybe_update(), and tui_source_window::maybe_update().
|
inlineprotectedvirtual |
Reimplemented in tui_source_window.
Definition at line 120 of file tui-winsource.h.
Referenced by update_exec_info().
|
private |
Definition at line 355 of file tui-winsource.c.
References tui_win_info::can_box(), tui_win_info::check_and_display_highlight_if_needed(), m_content, m_max_length, m_pad, m_pad_requested_width, tui_win_info::name(), show_source_line(), tui_debug_printf, TUI_SCOPED_DEBUG_START_END, and tui_win_info::width.
Referenced by do_scroll_horizontal(), and update_source_window_as_is().
|
protected |
Definition at line 299 of file tui-winsource.c.
References tui_source_element::is_exec_point, tui_source_element::line, m_content, m_pad, m_pad_offset, puts_to_pad_with_skip(), and tui_set_reverse_mode().
Referenced by show_source_content().
|
private |
Definition at line 142 of file tui-winsource.c.
References tui_win_info::is_visible(), refill(), and tui_active.
Referenced by tui_source_window_base().
bool tui_source_window_base::update_breakpoint_info | ( | struct breakpoint * | being_deleted, |
bool | current_only ) |
Definition at line 610 of file tui-winsource.c.
References all_breakpoints(), bp, bp_disabled, bp_hardware_breakpoint, tui_source_element::break_mode, tui_source_element::is_exec_point, loc, location_matches_p(), m_content, TUI_BP_CONDITIONAL, TUI_BP_DISABLED, TUI_BP_ENABLED, TUI_BP_HARDWARE, and TUI_BP_HIT.
Referenced by update_exec_info(), and update_source_window_as_is().
void tui_source_window_base::update_exec_info | ( | bool | refresh_p = true | ) |
Definition at line 663 of file tui-winsource.c.
References tui_source_element::break_mode, tui_win_info::handle, tui_source_element::is_exec_point, m_content, refresh_window(), show_line_number(), TUI_BP_BREAK_POS, TUI_BP_DISABLED, TUI_BP_ENABLED, TUI_BP_HARDWARE, TUI_BP_HIT, TUI_BP_HIT_POS, TUI_EXEC_POS, TUI_EXECINFO_SIZE, tui_left_margin_verbose, and update_breakpoint_info().
Referenced by update_source_window_as_is().
void tui_source_window_base::update_source_window | ( | struct gdbarch * | gdbarch, |
const struct symtab_and_line & | sal ) |
Definition at line 151 of file tui-winsource.c.
References m_horizontal_offset, and update_source_window_as_is().
Referenced by tui_disasm_window::maybe_update(), tui_source_window::maybe_update(), and rerender().
void tui_source_window_base::update_source_window_as_is | ( | struct gdbarch * | gdbarch, |
const struct symtab_and_line & | sal ) |
Definition at line 163 of file tui-winsource.c.
References erase_source_content(), set_contents(), show_source_content(), update_breakpoint_info(), update_exec_info(), and validate_scroll_offsets().
Referenced by tui_disasm_window::do_scroll_vertical(), refill(), and update_source_window().
|
overridevirtual |
Reimplemented from tui_win_info.
Definition at line 437 of file tui-winsource.c.
References tui_win_info::handle, and rerender().
|
private |
Definition at line 507 of file tui-winsource.c.
References m_horizontal_offset, m_max_length, m_pad, m_pad_offset, tui_win_info::name(), tui_debug_printf, TUI_SCOPED_DEBUG_START_END, and view_width().
Referenced by do_scroll_horizontal(), and update_source_window_as_is().
|
inlineprivate |
Definition at line 214 of file tui-winsource.h.
References left_margin(), and tui_win_info::width.
Referenced by refresh_window(), and validate_scroll_offsets().
|
protected |
Definition at line 133 of file tui-winsource.h.
Referenced by tui_disasm_window::addr_is_displayed(), do_erase_source_content(), do_scroll_horizontal(), tui_disasm_window::do_scroll_vertical(), tui_source_window::do_scroll_vertical(), tui_source_window::line_is_displayed(), tui_disasm_window::location_matches_p(), tui_source_window::location_matches_p(), refresh_window(), rerender(), tui_disasm_window::set_contents(), tui_source_window::set_contents(), set_is_exec_point_at(), tui_source_window::show_line_number(), show_source_content(), show_source_line(), tui_source_window::showing_source_p(), update_breakpoint_info(), and update_exec_info().
Definition at line 131 of file tui-winsource.h.
Referenced by tui_disasm_window::display_start_addr(), tui_source_window::display_start_addr(), tui_disasm_window::do_scroll_vertical(), tui_source_window::do_scroll_vertical(), refill(), rerender(), tui_disasm_window::set_contents(), and tui_source_window::set_contents().
|
private |
Definition at line 189 of file tui-winsource.h.
Referenced by do_scroll_horizontal(), refresh_window(), update_source_window(), and validate_scroll_offsets().
|
protected |
Definition at line 136 of file tui-winsource.h.
Referenced by refresh_window(), tui_disasm_window::set_contents(), tui_source_window::set_contents(), show_source_content(), and validate_scroll_offsets().
|
private |
Definition at line 237 of file tui-winsource.h.
Referenced by tui_source_window_base(), and ~tui_source_window_base().
|
private |
Definition at line 243 of file tui-winsource.h.
Referenced by puts_to_pad_with_skip(), refresh_window(), show_source_content(), show_source_line(), and validate_scroll_offsets().
|
private |
Definition at line 252 of file tui-winsource.h.
Referenced by refresh_window(), show_source_line(), and validate_scroll_offsets().
|
private |
Definition at line 248 of file tui-winsource.h.
Referenced by show_source_content().
|
protected |
Definition at line 128 of file tui-winsource.h.
Referenced by tui_disasm_window::display_start_addr(), tui_source_window::display_start_addr(), tui_disasm_window::do_scroll_vertical(), tui_source_window::do_scroll_vertical(), refill(), rerender(), tui_disasm_window::set_contents(), tui_source_window::set_contents(), and tui_source_window_base().