#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;
void OnClose(wxCloseEvent& event);
private:
void InitUI();
void InitMenu();
void InitData();
void TryRestoreLayout();
void OnSaveLayout(wxCommandEvent& event);
wxAuiManager mgr_;
wxMenuBar* menuBar_;
wxString configDir_;
wxString configPath_;
std::shared_ptr<ClientCore> clientCore_;
std::shared_ptr<ControlManager> controlMgr_;
#endif // IUSERINTERFACE_H