#ifndef IUSERINTERFACE_H #define IUSERINTERFACE_H #include <memory> #include <wx/aui/aui.h> #include <wx/wx.h> #include "ControlManager.h" #include <ClientCore.h> enum MenuID { ID_SaveLayout = 1000, }; class UserInterface final : public wxFrame { public: explicit UserInterface(const wxString& title); ~UserInterface() override; public: void OnClose(wxCloseEvent& event); private: void InitUI(); void InitMenu(); void InitData(); private: void TryRestoreLayout(); private: void OnSaveLayout(wxCommandEvent& event); private: wxAuiManager mgr_; wxMenuBar* menuBar_; wxString configDir_; wxString configPath_; std::shared_ptr<ClientCore> clientCore_; std::shared_ptr<ControlManager> controlMgr_; }; #endif // IUSERINTERFACE_H