#include "gamebase/GameBase.hpp" #include "gamebase/PGNGameBase.hpp" #include "ochess.hpp" // Foreign events wxDECLARE_EVENT(OPEN_GAME_EVENT, wxCommandEvent); wxDECLARE_EVENT(REFRESH_TAB_TITLE, wxCommandEvent); class BaseGameTab : public TabBase_TabGames { std::shared_ptr<GameBase> base; std::vector<std::uint32_t> deleted; std::vector<std::shared_ptr<Game>> edited; std::string base_file; public: BaseGameTab(wxFrame *parent, std::string base_file); void ApplyPreferences(); void LoadFile(); void OnDelete(wxCommandEvent &event); void OnSave(wxCommandEvent &event); void OnExport(wxCommandEvent &event); void OnOpenGame(wxListEvent &event); void OnImport(wxCommandEvent &event); std::shared_ptr<Game> GetGame() { return (std::shared_ptr<Game>(NULL)); } std::shared_ptr<GameBase> GetBase() { return (std::shared_ptr<GameBase>(base)); }; };