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 ()
 
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 refresh_window ()
 
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 ()
 
virtual void update_tab_width ()
 
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 ()
 

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 rerender ()
 
virtual void make_window ()
 
virtual void do_scroll_vertical (int num_to_scroll)=0
 
virtual void do_scroll_horizontal (int num_to_scroll)=0
 

Protected Attributes

int m_horizontal_offset = 0
 
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

void show_source_content ()
 
void style_changed ()
 

Private Attributes

gdb::observers::token m_observable
 
std::unique_ptr< WINDOW, curses_deleterm_pad
 

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
 
std::string title
 
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 300 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

Implements tui_win_info.

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

References m_content, m_horizontal_offset, and refresh_window().

◆ 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 refresh_window().

◆ 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.

◆ 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 ( )

◆ 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 308 of file tui-winsource.c.

References tui_win_info::handle, and rerender().

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
protected

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

Referenced by do_scroll_horizontal(), refresh_window(), and update_source_window().

◆ 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 188 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

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

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

◆ 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: