ultimatepp/uppsrc/TabBar/TabBarCtrl.h
cxl 2af0d1f8b2 TabBar fixed (thanks massimo)
git-svn-id: svn://ultimatepp.org/upp/trunk@7012 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2014-03-08 18:35:05 +00:00

31 lines
1.1 KiB
C++

class TabBarCtrl : public TabBar
{
private:
VectorMap<Value, Ctrl *> ctrls;
StaticRect pane;
public:
TabBarCtrl() { Ctrl::Add(pane); }
virtual void Layout() { TabBar::Layout(); pane.SetRect(GetClientArea()); }
TabBarCtrl& AddCtrl(Ctrl &ctrl, Value key, Value value, Image icon = Null, String group = Null, bool make_active = false);
TabBarCtrl& AddCtrl(Ctrl &ctrl, Value value, Image icon = Null, String group = Null, bool make_active = false);
TabBarCtrl& InsertCtrl(int ix, Ctrl &ctrl, Value key, Value value, Image icon = Null, String group = Null, bool make_active = false);
TabBarCtrl& InsertCtrl(int ix, Ctrl &ctrl, Value value, Image icon = Null, String group = Null, bool make_active = false);
void RemoveCtrl(Value key);
void RemoveCtrl(int ix);
void RemoveCtrl(Ctrl &c);
Ctrl * GetCtrl(Value key);
Ctrl * GetCtrl(int ix);
Ctrl * GetCurrentCtrl();
int GetCurrentIndex();
void SetCtrl(Value key);
void SetCtrl(int ix);
void SetCtrl(Ctrl &ctrl);
protected:
virtual void CursorChanged();
virtual void TabClosed(Value key);
};