Tyro/src/widgets/TabContainer.h

39 lines
1.0 KiB
C
Raw Normal View History

/**
* Wrapper around wxAuiNotebook
*/
2016-01-13 09:29:09 -05:00
#pragma once
2015-07-07 10:01:17 -04:00
#include "src/widgets/TyroMenu.h"
#include "src/widgets/EditPane.h"
2015-04-10 15:11:15 -04:00
static long tab_style = wxBORDER_NONE | wxAUI_NB_TAB_SPLIT |wxAUI_NB_TAB_MOVE
| wxAUI_NB_SCROLL_BUTTONS | wxAUI_NB_WINDOWLIST_BUTTON
| wxAUI_NB_CLOSE_ON_ACTIVE_TAB | wxAUI_NB_MIDDLE_CLICK_CLOSE | wxAUI_NB_TOP;
class TabContainer: public wxAuiNotebook
{
public:
2019-06-18 11:22:49 -04:00
explicit TabContainer(
wxWindow *parent,
wxWindowID id=wxID_ANY,
const wxPoint &pos=wxDefaultPosition,
const wxSize &size=wxDefaultSize,
long style=tab_style
);
2019-06-18 11:22:49 -04:00
~TabContainer() override;
void AddTab();
2019-06-18 11:22:49 -04:00
void AddTab(const wxString &filePath);
2015-04-09 13:27:30 -04:00
EditPane *GetCurrentEditor();
EditPane *GetEditor(size_t page_idx);
void OnCloseAll(wxCommandEvent &event);
void OnCloseAllButThis(wxCommandEvent &event);
private:
unsigned long untitled_document_count = 0;
EditPane *NewEditor();
void OnTabSwitch(wxAuiNotebookEvent &event);
void OnClose(wxAuiNotebookEvent &event);
void OnClosed(wxAuiNotebookEvent &event);
void OnTabContextMenu(wxAuiNotebookEvent &event);
};