20 #ifndef _MFORMS_TABSWITCHER_H_
21 #define _MFORMS_TABSWITCHER_H_
25 #include "cairo/cairo.h"
27 #include "base/drawing.h"
50 class TabSwitcherPimpl;
58 void attach_to_tabview(
TabView *tabView);
60 int add_item(
const std::string &title,
const std::string &sub_title,
61 const std::string &icon_path,
const std::string &alt_icon_path);
62 void set_icon(
int index,
const std::string &icon_path,
const std::string &alt_icon_path);
64 void set_selected(
int index);
66 void set_needs_relayout();
68 void set_collapsed(
bool flag);
72 boost::signals2::signal<void ()>*
signal_changed() {
return &_signal_changed; };
75 #ifndef DOXYGEN_SHOULD_SKIP_THIS
76 virtual int get_preferred_height();
77 virtual void set_layout_dirty();
79 virtual void repaint(cairo_t *cr,
int x,
int y,
int w,
int h);
83 virtual bool mouse_enter();
84 virtual bool mouse_leave();
88 TabSwitcherPimpl *_pimpl;