#pragma once #include "ochess.hpp" #include "GameListManager.hpp" #include "game_tab/Game.hpp" #include #include /** * @brief A BaseTab sub-tab to import games * */ class BaseImportTab : public TabBase_TabImport { TabInfos *main_tab; std::shared_ptr glm; // Import states data structures std::vector> games_to_import; std::vector databases_to_import; /// @brief Hold games for each databases std::unordered_map>> selected_games_to_import; std::shared_ptr base; std::shared_ptr selected_base; void RefreshPendingImports(); void OnLoad(wxCommandEvent &event); void OnImportGame(wxCommandEvent &event); void OnImportSelection(wxCommandEvent &event); void OnImportDatabase(wxCommandEvent &event); public: int import_ndb, import_ngames,import_nselect; BaseImportTab(wxFrame *parent, std::shared_ptr db, TabInfos *main_tab); void RefreshImportLists(); void Reset(std::shared_ptr base); std::vector> GetGameToImport(); std::vector GetDatabaseToImport() {return databases_to_import;}; };