7#include <wx/notebook.h>
70 std::unique_ptr<ITab>
tab;
82 TabContainer(wxWindow *parent, wxWindowID
id = wxID_ANY,
const wxPoint &pos = wxDefaultPosition,
83 const wxSize &size = wxDefaultSize,
long style = wxNB_TOP);
87 int AddTab(std::unique_ptr<ITab> tab,
const wxString &title,
const wxString &tooltip = wxEmptyString);
162 DECLARE_EVENT_TABLE()
void OnTabChanged(wxBookCtrlEvent &event)
TabActivatedCallback m_tabActivatedCallback
void * GetTabUserData(int index) const
void OnTabChanging(wxBookCtrlEvent &event)
TabCreatedCallback m_tabCreatedCallback
void SetTabCreatedCallback(TabCreatedCallback callback)
void NotifyTabActivated(int index)
void OnTabMiddleClick(wxMouseEvent &event)
void SetTabClosable(int index, bool closable)
void SetTabUserData(int index, void *userData)
void SetTabTooltip(int index, const wxString &tooltip)
bool SerializeState(wxString &data) const
void SetActiveTab(int index)
ITab * GetTab(int index) const
void SetTabState(int index, TabState state)
void NotifyTabCreated(int index)
void RefreshTab(int index)
std::function< void(ITab *tab, int index)> TabActivatedCallback
TabState GetTabState(int index) const
bool RemoveTab(int index)
void OnTabRightClick(wxMouseEvent &event)
bool IsTabClosable(int index) const
std::vector< TabInfo > m_tabs
bool ValidateTabIndex(int index) const
void SetTabTitle(int index, const wxString &title)
void NotifyTabClosed(int index)
void SetTabActivatedCallback(TabActivatedCallback callback)
wxString GetTabTitle(int index) const
ITab * GetActiveTab() const
bool DeserializeState(const wxString &data)
int GetTabIndex(ITab *tab) const
void UpdateTabAppearance(int index)
int GetActiveTabIndex() const
TabClosedCallback m_tabClosedCallback
wxString GetTabTooltip(int index) const
std::function< void(ITab *tab, int index)> TabClosedCallback
bool CanCloseTab(int index)
TabContainer(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxNB_TOP)
void CreateTabContextMenu(int index)
std::function< void(ITab *tab, int index)> TabCreatedCallback
void SetTabClosedCallback(TabClosedCallback callback)
Interface for tab-based UI components in the application.
TabInfo(std::unique_ptr< ITab > t, const wxString &title)
std::unique_ptr< ITab > tab