GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Public Member Functions | Protected Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
tui_layout_split Class Reference

#include "tui-layout.h"

Inheritance diagram for tui_layout_split:
tui_layout_base

Classes

struct  size_info
 
struct  split
 

Public Member Functions

 tui_layout_split (bool vertical=true)
 
 DISABLE_COPY_AND_ASSIGN (tui_layout_split)
 
void add_split (std::unique_ptr< tui_layout_split > &&layout, int weight)
 
void add_window (const char *name, int weight)
 
std::unique_ptr< tui_layout_baseclone () const override
 
void apply (int x, int y, int width, int height, bool preserve_cmd_win_size_p) override
 
tui_adjust_result set_height (const char *name, int new_height) override
 
tui_adjust_result set_width (const char *name, int new_width) override
 
bool first_edge_has_border_p () const override
 
bool last_edge_has_border_p () const override
 
void remove_windows (const char *name) override
 
void replace_window (const char *name, const char *new_window) override
 
void specification (ui_file *output, int depth) override
 
std::string layout_fingerprint () const override
 
void get_windows (std::vector< tui_win_info * > *windows) override
 
- Public Member Functions inherited from tui_layout_base
 DISABLE_COPY_AND_ASSIGN (tui_layout_base)
 
virtual ~tui_layout_base ()=default
 
virtual std::unique_ptr< tui_layout_baseclone () const =0
 
virtual void apply (int x, int y, int width, int height, bool preserve_cmd_win_size_p)=0
 
virtual void get_sizes (bool height, int *min_value, int *max_value)=0
 
virtual bool first_edge_has_border_p () const =0
 
virtual bool last_edge_has_border_p () const =0
 
virtual const char * get_name () const
 
virtual tui_adjust_result set_height (const char *name, int new_height)=0
 
virtual tui_adjust_result set_width (const char *name, int new_width)=0
 
virtual void remove_windows (const char *name)=0
 
virtual void replace_window (const char *name, const char *new_window)=0
 
virtual void specification (ui_file *output, int depth)=0
 
virtual std::string layout_fingerprint () const =0
 
virtual void get_windows (std::vector< tui_win_info * > *windows)=0
 

Protected Member Functions

void get_sizes (bool height, int *min_value, int *max_value) override
 
- Protected Member Functions inherited from tui_layout_base
 tui_layout_base ()=default
 

Private Member Functions

tui_adjust_result set_size (const char *name, int new_size, bool set_width_p)
 
void set_weights_from_sizes ()
 
std::string tui_debug_weights_to_string () const
 

Static Private Member Functions

static void tui_debug_print_size_info (const std::vector< size_info > &info)
 

Private Attributes

std::vector< splitm_splits
 
bool m_vertical
 

Additional Inherited Members

- Public Attributes inherited from tui_layout_base
int x = 0
 
int y = 0
 
int width = 0
 
int height = 0
 

Detailed Description

Definition at line 206 of file tui-layout.h.

Constructor & Destructor Documentation

◆ tui_layout_split()

tui_layout_split::tui_layout_split ( bool  vertical = true)
inlineexplicit

Definition at line 212 of file tui-layout.h.

Member Function Documentation

◆ add_split()

void tui_layout_split::add_split ( std::unique_ptr< tui_layout_split > &&  layout,
int  weight 
)

Definition at line 531 of file tui-layout.c.

References m_splits.

◆ add_window()

void tui_layout_split::add_window ( const char *  name,
int  weight 
)

Definition at line 541 of file tui-layout.c.

References m_splits, and name.

Referenced by initialize_layouts().

◆ apply()

void tui_layout_split::apply ( int  x,
int  y,
int  width,
int  height,
bool  preserve_cmd_win_size_p 
)
overridevirtual

◆ clone()

std::unique_ptr< tui_layout_base > tui_layout_split::clone ( ) const
overridevirtual

Implements tui_layout_base.

Definition at line 551 of file tui-layout.c.

References m_splits, m_vertical, and tui_layout_split::split::weight.

Referenced by tui_set_layout().

◆ DISABLE_COPY_AND_ASSIGN()

tui_layout_split::DISABLE_COPY_AND_ASSIGN ( tui_layout_split  )

◆ first_edge_has_border_p()

bool tui_layout_split::first_edge_has_border_p ( ) const
overridevirtual

Implements tui_layout_base.

Definition at line 599 of file tui-layout.c.

References m_splits.

◆ get_sizes()

void tui_layout_split::get_sizes ( bool  height,
int *  min_value,
int *  max_value 
)
overrideprotectedvirtual

◆ get_windows()

void tui_layout_split::get_windows ( std::vector< tui_win_info * > *  windows)
inlineoverridevirtual

Implements tui_layout_base.

Definition at line 259 of file tui-layout.h.

References m_splits.

◆ last_edge_has_border_p()

bool tui_layout_split::last_edge_has_border_p ( ) const
overridevirtual

Implements tui_layout_base.

Definition at line 609 of file tui-layout.c.

References m_splits.

◆ layout_fingerprint()

std::string tui_layout_split::layout_fingerprint ( ) const
overridevirtual

Implements tui_layout_base.

Definition at line 1089 of file tui-layout.c.

References m_splits, and m_vertical.

◆ remove_windows()

void tui_layout_split::remove_windows ( const char *  name)
overridevirtual

Implements tui_layout_base.

Definition at line 1031 of file tui-layout.c.

References CMD_NAME, m_splits, name, and STATUS_NAME.

◆ replace_window()

void tui_layout_split::replace_window ( const char *  name,
const char *  new_window 
)
overridevirtual

Implements tui_layout_base.

Definition at line 1055 of file tui-layout.c.

References m_splits, and name.

◆ set_height()

tui_adjust_result tui_layout_split::set_height ( const char *  name,
int  new_height 
)
inlineoverridevirtual

Implements tui_layout_base.

Definition at line 234 of file tui-layout.h.

References name, and set_size().

◆ set_size()

tui_adjust_result tui_layout_split::set_size ( const char *  name,
int  new_size,
bool  set_width_p 
)
private

◆ set_weights_from_sizes()

void tui_layout_split::set_weights_from_sizes ( )
private

Definition at line 619 of file tui-layout.c.

References m_splits, and m_vertical.

Referenced by set_size().

◆ set_width()

tui_adjust_result tui_layout_split::set_width ( const char *  name,
int  new_width 
)
inlineoverridevirtual

Implements tui_layout_base.

Definition at line 240 of file tui-layout.h.

References name, and set_size().

◆ specification()

void tui_layout_split::specification ( ui_file output,
int  depth 
)
overridevirtual

Implements tui_layout_base.

Definition at line 1064 of file tui-layout.c.

References gdb_printf(), gdb_puts(), m_splits, and m_vertical.

Referenced by add_layout_command().

◆ tui_debug_print_size_info()

void tui_layout_split::tui_debug_print_size_info ( const std::vector< size_info > &  info)
staticprivate

Definition at line 646 of file tui-layout.c.

References debug_tui, size, and tui_debug_printf.

Referenced by apply().

◆ tui_debug_weights_to_string()

std::string tui_layout_split::tui_debug_weights_to_string ( ) const
private

Definition at line 629 of file tui-layout.c.

References m_splits.

Referenced by apply(), and set_size().

Member Data Documentation

◆ m_splits

std::vector<split> tui_layout_split::m_splits
private

◆ m_vertical

bool tui_layout_split::m_vertical
private

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