GDB (xrefs)
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
tui_source_window_base Struct Referenceabstract

#include "tui-winsource.h"

Inheritance diagram for tui_source_window_base:
tui_win_info tui_disasm_window tui_source_window

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
 
- Public Member Functions inherited from tui_win_info
 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)
 
- Protected Member Functions inherited from tui_win_info
 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 gdbarchm_gdbarch = nullptr
 
std::vector< tui_source_elementm_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_deleterm_pad
 
int m_pad_requested_width = 0
 
int m_pad_offset = 0
 

Additional Inherited Members

- Public Attributes inherited from tui_win_info
std::unique_ptr< WINDOW, curses_deleterhandle
 
int width = 0
 
int height = 0
 
int x = 0
 
int y = 0
 
bool is_highlighted = false
 

Detailed Description

Definition at line 92 of file tui-winsource.h.

Constructor & Destructor Documentation

◆ tui_source_window_base()

tui_source_window_base::tui_source_window_base ( )
protected

◆ ~tui_source_window_base()

tui_source_window_base::~tui_source_window_base ( )
protected

Definition at line 429 of file tui-winsource.c.

References m_observable, and gdb::observers::styling_changed.

Member Function Documentation

◆ DISABLE_COPY_AND_ASSIGN()

tui_source_window_base::DISABLE_COPY_AND_ASSIGN ( tui_source_window_base )
protected

◆ display_start_addr()

virtual void tui_source_window_base::display_start_addr ( struct gdbarch ** gdbarch_p,
CORE_ADDR * addr_p )
pure virtual

Implemented in tui_disasm_window, and tui_source_window.

◆ do_erase_source_content()

void tui_source_window_base::do_erase_source_content ( const char * string)
protected

◆ do_scroll_horizontal()

void tui_source_window_base::do_scroll_horizontal ( int num_to_scroll)
overrideprotectedvirtual

◆ erase_source_content()

virtual void tui_source_window_base::erase_source_content ( )
pure virtual

◆ extra_margin()

virtual int tui_source_window_base::extra_margin ( ) const
inlineprotectedvirtual

Reimplemented in tui_source_window.

Definition at line 112 of file tui-winsource.h.

Referenced by left_margin().

◆ left_margin()

int tui_source_window_base::left_margin ( ) const
inlineprivate

Definition at line 208 of file tui-winsource.h.

References extra_margin(), and TUI_EXECINFO_SIZE.

Referenced by refresh_window(), and view_width().

◆ location_matches_p()

virtual bool tui_source_window_base::location_matches_p ( struct bp_location * loc,
int line_no )
pure virtual

Implemented in tui_disasm_window, and tui_source_window.

Referenced by update_breakpoint_info().

◆ maybe_update()

virtual void tui_source_window_base::maybe_update ( frame_info_ptr fi,
symtab_and_line sal )
pure virtual

Implemented in tui_disasm_window, and tui_source_window.

◆ puts_to_pad_with_skip()

void tui_source_window_base::puts_to_pad_with_skip ( const char * string,
int skip )
private

Definition at line 238 of file tui-winsource.c.

References m_pad, skip_ansi_escape(), and tui_puts().

Referenced by show_source_line().

◆ refill()

void tui_source_window_base::refill ( )

◆ refresh_window()

void tui_source_window_base::refresh_window ( )
overridevirtual

◆ rerender()

void tui_source_window_base::rerender ( )
overrideprotectedvirtual

◆ set_contents()

virtual bool tui_source_window_base::set_contents ( struct gdbarch * gdbarch,
const struct symtab_and_line & sal )
protectedpure virtual

◆ set_is_exec_point_at()

void tui_source_window_base::set_is_exec_point_at ( struct tui_line_or_address l)

◆ show_line_number()

virtual void tui_source_window_base::show_line_number ( int offset) const
inlineprotectedvirtual

Reimplemented in tui_source_window.

Definition at line 120 of file tui-winsource.h.

Referenced by update_exec_info().

◆ show_source_content()

void tui_source_window_base::show_source_content ( )
private

◆ show_source_line()

void tui_source_window_base::show_source_line ( int lineno)
protected

◆ style_changed()

void tui_source_window_base::style_changed ( )
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().

◆ update_breakpoint_info()

bool tui_source_window_base::update_breakpoint_info ( struct breakpoint * being_deleted,
bool current_only )

◆ update_exec_info()

void tui_source_window_base::update_exec_info ( bool refresh_p = true)

◆ update_source_window()

void tui_source_window_base::update_source_window ( struct gdbarch * gdbarch,
const struct symtab_and_line & sal )

◆ update_source_window_as_is()

void tui_source_window_base::update_source_window_as_is ( struct gdbarch * gdbarch,
const struct symtab_and_line & sal )

◆ update_tab_width()

void tui_source_window_base::update_tab_width ( )
overridevirtual

Reimplemented from tui_win_info.

Definition at line 437 of file tui-winsource.c.

References tui_win_info::handle, and rerender().

◆ validate_scroll_offsets()

bool tui_source_window_base::validate_scroll_offsets ( )
private

◆ view_width()

int tui_source_window_base::view_width ( ) const
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().

Member Data Documentation

◆ m_content

std::vector<tui_source_element> tui_source_window_base::m_content
protected

◆ m_gdbarch

struct gdbarch* tui_source_window_base::m_gdbarch = nullptr
protected

◆ m_horizontal_offset

int tui_source_window_base::m_horizontal_offset = 0
private

◆ m_max_length

int tui_source_window_base::m_max_length
protected

◆ m_observable

gdb::observers::token tui_source_window_base::m_observable
private

Definition at line 237 of file tui-winsource.h.

Referenced by tui_source_window_base(), and ~tui_source_window_base().

◆ m_pad

std::unique_ptr<WINDOW, curses_deleter> tui_source_window_base::m_pad
private

◆ m_pad_offset

int tui_source_window_base::m_pad_offset = 0
private

Definition at line 252 of file tui-winsource.h.

Referenced by refresh_window(), show_source_line(), and validate_scroll_offsets().

◆ m_pad_requested_width

int tui_source_window_base::m_pad_requested_width = 0
private

Definition at line 248 of file tui-winsource.h.

Referenced by show_source_content().

◆ m_start_line_or_addr

struct tui_line_or_address tui_source_window_base::m_start_line_or_addr
protected

The documentation for this struct was generated from the following files: