Files
BlitzNext/debugger/tabber.hpp
T
Michael Fabian 'Xaymar' Dirks f713369a01 debugger: Formatting;
2019-01-18 17:04:34 +01:00

56 lines
995 B
C++

#ifndef TABBER_H
#define TABBER_H
class Tabber;
class TabberListener {
public:
virtual void currentSet(Tabber* tabber, int index) = 0;
};
class Tabber : public CTabCtrl {
public:
Tabber();
~Tabber();
void setListener(TabberListener* l);
void insert(int index, CWnd* wnd, const string& text);
void remove(int index);
void setCurrent(int index);
void setTabText(int index, const string& t);
int size() const;
int getCurrent() const;
CWnd* getTabWnd(int index) const;
string getTabText(int index) const;
DECLARE_DYNAMIC(Tabber)
DECLARE_MESSAGE_MAP()
afx_msg void OnSize(UINT type, int w, int h);
afx_msg BOOL OnEraseBkgnd(CDC* dc);
afx_msg void tcn_selChange(NMHDR* p, LRESULT* result);
private:
TabberListener* listener;
struct Tab {
CWnd* wnd;
string text;
Tab(CWnd* w, const string& t) : wnd(w), text(t) {}
};
typedef list<Tab*> Tabs;
Tabs tabs;
int curr;
void refresh();
CRect getInnerRect();
Tab* getTab(int index) const;
};
#endif