22#include <cwidget/curses++.h>
23#include "passthrough.h"
25#include <cwidget/generic/util/eassert.h>
46 class multiplex :
public passthrough
53 child_info(
const widget_ref &_w,
const std::wstring &_title)
59 std::list<child_info> children;
61 std::list<child_info>::iterator visible_child;
72 bool tabs_visible()
const;
74 void show_widget(
const widget_ref &
widget);
76 void hide_widget(
const widget_ref &
widget);
85 bool winavail() {
return get_win();}
87 multiplex(
bool _show_tabs);
108 virtual widget_ref get_focus();
109 widget_ref visible_widget();
110 unsigned int num_children();
112 unsigned int num_visible();
115 void dispatch_mouse(
short id,
int x,
int y,
int z, mmask_t bstate);
119 void set_show_tabs(
bool shown);
127 void add_widget_bare(
widget &
widget,
const std::wstring &title)
132 void add_widget_after(
const widget_ref &
widget,
133 const widget_ref &after);
138 add_widget_after(widget_ref(&
widget), widget_ref(&after));
142 void add_widget_after(
const widget_ref &
widget,
143 const widget_ref &after,
144 const std::wstring &title);
149 const std::wstring &title)
151 add_widget_after(widget_ref(&
widget), widget_ref(&after), title);
155 void rem_widget(
const widget_ref &
widget);
158 void cycle_forward();
159 void cycle_backward();