#include "gamebase/GameBase.hpp" #include "gamebase/PGNGameBase.hpp" #include "GameListManager.hpp" // Foreign events wxDECLARE_EVENT(OPEN_GAME_EVENT, wxCommandEvent); wxDECLARE_EVENT(CLOSE_LINKED_TAB, wxCommandEvent); class BaseGameTab : public TabBase_TabGames { std::shared_ptr base; std::vector deleted; std::unordered_map> edited; TabInfos *main_tab; public: std::shared_ptr glm; BaseGameTab(wxFrame *parent, std::shared_ptr base, TabInfos *main_tab); void Reset(std::shared_ptr base); void OnDelete(wxCommandEvent &event); void OnSave(wxCommandEvent &event); void OnExport(wxCommandEvent &event); void OnOpenGame(wxListEvent &event); void OnImport(wxCommandEvent &event); void OnApplyFilter(wxCommandEvent &event); std::vector> GetEditedGames(); std::vector GetDeletedGameIds() {return(deleted);}; std::shared_ptr GetGame() { return (std::shared_ptr(NULL)); } std::shared_ptr GetBase() { return (std::shared_ptr(base)); }; };