38#define MIN_WIN_HEIGHT 3
65 virtual const char *
name ()
const = 0;
94 int origin_x,
int origin_y);
112 wnoutrefresh (
handle.get ());
143 virtual void click (
int mouse_x,
int mouse_y,
int mouse_button)
151 void set_title (std::string &&new_title);
158 std::unique_ptr<WINDOW, curses_deleter>
handle;
186#define SRC_NAME "src"
187#define CMD_NAME "cmd"
188#define DATA_NAME "regs"
189#define DISASSEM_NAME "asm"
190#define STATUS_NAME "status"
195#define TUI_SRC_WIN ((tui_source_window *) tui_win_list[SRC_WIN])
196#define TUI_DISASM_WIN ((tui_disasm_window *) tui_win_list[DISASSEM_WIN])
197#define TUI_DATA_WIN ((tui_data_window *) tui_win_list[DATA_WIN])
198#define TUI_CMD_WIN ((tui_cmd_window *) tui_win_list[CMD_WIN])
199#define TUI_STATUS_WIN ((tui_locator_window *) tui_win_list[STATUS_WIN])
206static inline std::vector<tui_win_info *> &
void operator()(WINDOW *win) const
const std::string & title() const
virtual bool can_focus() const
void check_and_display_highlight_if_needed()
void right_scroll(int num_to_scroll)
virtual bool can_scroll() const
void left_scroll(int num_to_scroll)
virtual bool can_box() const
void backward_scroll(int num_to_scroll)
void set_highlight(bool highlight)
DISABLE_COPY_AND_ASSIGN(tui_win_info)
virtual void resize(int height, int width, int origin_x, int origin_y)
tui_win_info(tui_win_info &&)=default
virtual void do_scroll_horizontal(int num_to_scroll)=0
virtual const char * name() const =0
void forward_scroll(int num_to_scroll)
virtual void make_visible(bool visible)
virtual ~tui_win_info()=default
virtual void click(int mouse_x, int mouse_y, int mouse_button)
void set_title(std::string &&new_title)
virtual void update_tab_width()
virtual int min_height() const
virtual void do_scroll_vertical(int num_to_scroll)=0
virtual void make_window()
std::unique_ptr< WINDOW, curses_deleter > handle
virtual int max_height() const
virtual void refresh_window()
struct tui_win_info * tui_prev_win(struct tui_win_info *)
int tui_term_height(void)
unsigned int tui_tab_width
void tui_set_term_width_to(int)
void tui_set_win_resized_to(bool)
std::vector< tui_win_info * > tui_windows
struct tui_win_info * tui_win_list[MAX_MAJOR_WINDOWS]
struct tui_win_info * tui_next_win(struct tui_win_info *)
static std::vector< tui_win_info * > & all_tui_windows()
void tui_set_term_height_to(int)
struct tui_win_info * tui_win_with_focus(void)