22#ifndef TUI_TUI_LAYOUT_H
23#define TUI_TUI_LAYOUT_H
56 virtual std::unique_ptr<tui_layout_base>
clone ()
const = 0;
63 bool preserve_cmd_win_size_p) = 0;
125 virtual void get_windows (std::vector<tui_win_info *> *windows) = 0;
151 std::unique_ptr<tui_layout_base>
clone ()
const override;
154 bool preserve_cmd_win_size_p)
override;
222 void add_split (std::unique_ptr<tui_layout_split> &&layout,
int weight);
229 std::unique_ptr<tui_layout_base>
clone ()
const override;
232 bool preserve_cmd_win_size_p)
override;
262 item.layout->get_windows (windows);
virtual void remove_windows(const char *name)=0
virtual void replace_window(const char *name, const char *new_window)=0
virtual bool first_edge_has_border_p() const =0
virtual std::unique_ptr< tui_layout_base > clone() const =0
virtual ~tui_layout_base()=default
virtual bool last_edge_has_border_p() const =0
virtual void specification(ui_file *output, int depth)=0
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 get_windows(std::vector< tui_win_info * > *windows)=0
tui_layout_base()=default
virtual void get_sizes(bool height, int *min_value, int *max_value)=0
DISABLE_COPY_AND_ASSIGN(tui_layout_base)
virtual std::string layout_fingerprint() const =0
virtual void apply(int x, int y, int width, int height, bool preserve_cmd_win_size_p)=0
virtual const char * get_name() const
DISABLE_COPY_AND_ASSIGN(tui_layout_split)
void specification(ui_file *output, int depth) override
void set_weights_from_sizes()
std::string tui_debug_weights_to_string() const
bool first_edge_has_border_p() const override
void get_sizes(bool height, int *min_value, int *max_value) override
static void tui_debug_print_size_info(const std::vector< size_info > &info)
void get_windows(std::vector< tui_win_info * > *windows) override
std::vector< split > m_splits
std::unique_ptr< tui_layout_base > clone() const override
void remove_windows(const char *name) override
tui_adjust_result set_size(const char *name, int new_size, bool set_width_p)
tui_adjust_result set_width(const char *name, int new_width) override
void add_split(std::unique_ptr< tui_layout_split > &&layout, int weight)
tui_layout_split(bool vertical=true)
void replace_window(const char *name, const char *new_window) override
void add_window(const char *name, int weight)
bool last_edge_has_border_p() const override
tui_adjust_result set_height(const char *name, int new_height) override
void apply(int x, int y, int width, int height, bool preserve_cmd_win_size_p) override
std::string layout_fingerprint() const override
void get_sizes(bool height, int *min_value, int *max_value) override
const char * get_name() const override
bool last_edge_has_border_p() const override
DISABLE_COPY_AND_ASSIGN(tui_layout_window)
std::unique_ptr< tui_layout_base > clone() const override
bool first_edge_has_border_p() const override
void get_windows(std::vector< tui_win_info * > *windows) override
tui_layout_window(const char *name)
void replace_window(const char *name, const char *new_window) override
tui_adjust_result set_width(const char *name, int new_width) override
void apply(int x, int y, int width, int height, bool preserve_cmd_win_size_p) override
void specification(ui_file *output, int depth) override
tui_adjust_result set_height(const char *name, int new_height) override
void remove_windows(const char *name) override
std::string layout_fingerprint() const override
std::unique_ptr< tui_layout_base > layout
void tui_set_initial_layout()
void tui_register_window(const char *name, window_factory &&factory)
void tui_adjust_window_height(struct tui_win_info *win, int new_height)
void tui_apply_current_layout(bool)
void tui_remove_some_windows()
void tui_add_win_to_layout(enum tui_win_type)
std::function< tui_win_info *(const char *name)> window_factory
void tui_adjust_window_width(struct tui_win_info *win, int new_width)