#pragma once #include "ChessArbiter.hpp" #include "Game.hpp" #include "HalfMove.hpp" #include "left_panel/GameTabLeftPanel.hpp" #include "right_panel/GameTabRightPanel.hpp" #include "ochess.hpp" #include #include #include #include wxDECLARE_EVENT(REFRESH_TAB_TITLE, wxCommandEvent); wxDECLARE_EVENT(GAME_CHANGE, wxCommandEvent); class GameTab : public wxPanel, public TabInfos { GameTabRightPanel *editor_panel; GameTabLeftPanel *board_panel; std::shared_ptr game; std::string related_file; void RefreshLabel(); void OnRefreshTabTitle(wxCommandEvent &event); void OnGameChange(wxCommandEvent &event); public: GameTab(wxFrame *parent, std::shared_ptr game); void ApplyPreferences(); std::shared_ptr GetGame() { return (std::shared_ptr(game)); } std::shared_ptr GetBase() { return (std::shared_ptr(NULL)); }; void OnToolClick(wxCommandEvent &event); void OnLink(){board_panel->DisableSaveTool();}; };