22#ifndef TUI_TUI_WINSOURCE_H
23#define TUI_TUI_WINSOURCE_H
58#define TUI_BP_HIT_POS 0
59#define TUI_BP_BREAK_POS 1
61#define TUI_EXECINFO_SIZE 3
184 CORE_ADDR *addr_p) = 0;
243 std::unique_ptr<WINDOW, curses_deleter>
m_pad;
358 int *length =
nullptr);
361#define SCROLL_THRESHOLD 2
enum tui_line_or_address_kind loa
union tui_line_or_address::@192 u
DISABLE_COPY_AND_ASSIGN(tui_source_element)
struct tui_line_or_address line_or_addr
tui_source_element(tui_source_element &&other)
~tui_source_window_base()
virtual bool set_contents(struct gdbarch *gdbarch, const struct symtab_and_line &sal)=0
void do_erase_source_content(const char *string)
void show_source_line(int lineno)
void puts_to_pad_with_skip(const char *string, int skip)
void do_scroll_horizontal(int num_to_scroll) override
struct tui_line_or_address m_start_line_or_addr
int m_pad_requested_width
void refresh_window() override
void update_source_window(struct gdbarch *gdbarch, const struct symtab_and_line &sal)
gdb::observers::token m_observable
struct gdbarch * m_gdbarch
virtual void erase_source_content()=0
void update_tab_width() override
std::vector< tui_source_element > m_content
virtual bool location_matches_p(struct bp_location *loc, int line_no)=0
std::unique_ptr< WINDOW, curses_deleter > m_pad
DISABLE_COPY_AND_ASSIGN(tui_source_window_base)
bool validate_scroll_offsets()
void show_source_content()
void set_is_exec_point_at(struct tui_line_or_address l)
bool update_breakpoint_info(struct breakpoint *being_deleted, bool current_only)
virtual int extra_margin() const
virtual void display_start_addr(struct gdbarch **gdbarch_p, CORE_ADDR *addr_p)=0
void update_source_window_as_is(struct gdbarch *gdbarch, const struct symtab_and_line &sal)
virtual void show_line_number(int offset) const
virtual void maybe_update(frame_info_ptr fi, symtab_and_line sal)=0
void update_exec_info(bool refresh_p=true)
struct tui_source_window_base * value_type
tui_source_window_iterator self_type
struct tui_source_window_base ** pointer
bool operator!=(const self_type &other) const
tui_source_window_iterator(const inner_iterator &it)
std::forward_iterator_tag iterator_category
value_type operator*() const
tui_source_window_iterator(const inner_iterator &it, const inner_iterator &end)
std::vector< tui_win_info * >::iterator inner_iterator
struct tui_source_window_base *& reference
tui_source_window_iterator begin() const
tui_source_window_iterator end() const
std::vector< tui_win_info * > tui_windows
void tui_update_all_breakpoint_info(struct breakpoint *being_deleted)
void tui_update_source_windows_with_line(struct symtab_and_line sal)
void tui_update_source_windows_with_addr(struct gdbarch *, CORE_ADDR)
#define TUI_EXECINFO_SIZE
void tui_display_main(void)
std::string tui_copy_source_line(const char **ptr, int *length=nullptr)
DEF_ENUM_FLAGS_TYPE(enum tui_bp_flag, tui_bp_flags)