59 virtual Pt MinUsableSize()
const;
65 std::size_t NumWnds()
const;
68 Wnd* CurrentWnd()
const;
73 std::size_t CurrentWndIndex()
const;
76 const std::vector<Wnd*>& Wnds()
const;
83 std::size_t AddWnd(
Wnd* wnd);
89 void InsertWnd(std::size_t index,
Wnd* wnd);
93 Wnd* RemoveWnd(std::size_t index);
101 void SetCurrentWnd(std::size_t index);
114 std::vector<Wnd*> m_wnds;
115 std::size_t m_current_wnd_index;
133 TabWnd(
X x,
Y y,
X w,
Y h,
const boost::shared_ptr<Font>& font,
Clr color,
Clr text_color = CLR_BLACK,
138 virtual Pt MinUsableSize()
const;
144 std::size_t NumWnds()
const;
147 Wnd* CurrentWnd()
const;
152 std::size_t CurrentWndIndex()
const;
159 std::size_t AddWnd(
Wnd* wnd,
const std::string& name);
165 void InsertWnd(std::size_t index,
Wnd* wnd,
const std::string& name);
170 Wnd* RemoveWnd(
const std::string& name);
174 void SetCurrentWnd(std::size_t index);
190 const TabBar* GetTabBar()
const;
197 const std::map<std::string, Wnd*>& WndNames()
const;
201 void TabChanged(std::size_t tab_index,
bool signal);
205 std::map<std::string, Wnd*> m_named_wnds;
226 TabBar(
X x,
Y y,
X w,
const boost::shared_ptr<Font>& font,
Clr color,
Clr text_color = CLR_BLACK,
231 virtual Pt MinUsableSize()
const;
237 std::size_t NumTabs()
const;
242 std::size_t CurrentTabIndex()
const;
245 Clr TextColor()
const;
249 virtual void SizeMove(
const Pt& ul,
const Pt& lr);
250 virtual void Render();
255 std::size_t AddTab(
const std::string& name);
261 void InsertTab(std::size_t index,
const std::string& name);
265 void RemoveTab(
const std::string& name);
269 void SetCurrentTab(std::size_t index);
287 const Button* LeftButton()
const;
288 const Button* RightButton()
const;
292 virtual bool EventFilter(
Wnd* w,
const WndEvent& event);
296 void RaiseCurrentTabButton();
300 virtual void DistinguishCurrentTab(
const std::vector<StateButton*>& tab_buttons);
302 void TabChanged(std::size_t index,
bool signal);
305 void BringTabIntoView(std::size_t index);
308 std::vector<StateButton*> m_tab_buttons;
309 boost::shared_ptr<Font> m_font;
312 Layout* m_left_right_button_layout;
316 std::size_t m_first_tab_shown;