diff options
| author | Loic Guegan <manzerbredes@mailbox.org> | 2022-02-28 13:44:27 +0100 |
|---|---|---|
| committer | Loic Guegan <manzerbredes@mailbox.org> | 2022-02-28 13:44:27 +0100 |
| commit | bf485fa577a76731f9eac97de3b0a647cd492e49 (patch) | |
| tree | 731d9ec91070406124044e75b4b27949e5d230c0 /src/game_tab/board/BoardPanel.cpp | |
| parent | 7178f18ab88bcc93bfbf2019adf53d2f60d8fa20 (diff) | |
Refactoring game tab
Diffstat (limited to 'src/game_tab/board/BoardPanel.cpp')
| -rw-r--r-- | src/game_tab/board/BoardPanel.cpp | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/src/game_tab/board/BoardPanel.cpp b/src/game_tab/board/BoardPanel.cpp deleted file mode 100644 index ff4fb62..0000000 --- a/src/game_tab/board/BoardPanel.cpp +++ /dev/null @@ -1,96 +0,0 @@ -#include "BoardPanel.hpp" -#include <wx/clipbrd.h> - -BoardPanel::BoardPanel(wxFrame *parent, Game *game) - : wxPanel(parent), game(game) { - - wxBoxSizer *board_panel_sizer = new wxBoxSizer(wxVERTICAL); - board_canvas = new BoardCanvas((wxFrame *)this); - board_panel_sizer->Add(board_canvas, 1, wxEXPAND); - - // Left Panel buttons - wxBoxSizer *board_panel_button_sizer = new wxBoxSizer(wxHORIZONTAL); - board_panel_button_sizer->Add( - new wxBitmapButton(this, SWAP_BTN, LoadPNG("swap")), 0); - board_panel_button_sizer->Add( - new wxBitmapButton(this, ZOOM_IN_BTN, LoadPNG("zoomin")), 0); - board_panel_button_sizer->Add( - new wxBitmapButton(this, ZOOM_OUT_BTN, LoadPNG("zoomout")), 0); - board_panel_button_sizer->Add(new wxButton(this, COPY_FEN_BTN, L"Copy FEN"), - 0, wxEXPAND); - board_panel_sizer->Add(board_panel_button_sizer, 0); - this->SetSizer(board_panel_sizer); - - Bind(PLAY_MOVE_EVENT, &BoardPanel::OnPlay, this, wxID_ANY); - Bind(PREVIOUS_MOVE_EVENT, &BoardPanel::OnPreviousMove, this, wxID_ANY); - Bind(NEXT_MOVE_EVENT, &BoardPanel::OnNextMove, this, wxID_ANY); - Bind(wxEVT_BUTTON, &BoardPanel::OnSwap, this, SWAP_BTN); - Bind(wxEVT_BUTTON, &BoardPanel::OnZoomIn, this, ZOOM_IN_BTN); - Bind(wxEVT_BUTTON, &BoardPanel::OnZoomOut, this, ZOOM_OUT_BTN); - Bind(wxEVT_BUTTON, &BoardPanel::OnCopyFEN, this, COPY_FEN_BTN); -} - -void BoardPanel::OnPreviousMove(wxCommandEvent &event) { - game->Previous(); - Notify(); - NotifyEditor(); -} - -void BoardPanel::OnZoomIn(wxCommandEvent &event) { - wxLogDebug("Clicked on zoom in"); - board_canvas->Zoom(10); -} - -void BoardPanel::OnZoomOut(wxCommandEvent &event) { - wxLogDebug("Clicked on zoom out"); - board_canvas->Zoom(-10); -} - -void BoardPanel::OnSwap(wxCommandEvent &event) { - wxLogDebug("Clicked on swap"); - board_canvas->Swap(); -} - -void BoardPanel::OnNextMove(wxCommandEvent &event) { - wxLogDebug("Game tab received NEXT_MOVE_EVENT"); - game->Next(); - Notify(); - NotifyEditor(); -} - -void BoardPanel::OnPlay(wxCommandEvent &event) { - wxLogDebug("Game tab received PLAY_MOVE_EVENT"); - if (game->Play(event.GetString().ToStdString())) { - NotifyEditor(); - } - Notify(); -} - -void BoardPanel::OnCopyFEN(wxCommandEvent &event) { - wxLogDebug("Clicked on copy fen"); - if (wxTheClipboard->Open()) { - wxTheClipboard->SetData(new wxTextDataObject(game->GetFen())); - wxTheClipboard->Close(); - } -} - -void BoardPanel::Notify() { - std::string fen = game->GetFen(); - std::map<char, std::uint8_t> captures; - HalfMove *m = game->GetCurrentMove(); - if (m != NULL) { - captures = m->GetLineCaptures(); - } - board_canvas->SetupBoard(chessarbiter::FENParser::Parse(fen).board, - game->IsBlackToPlay(), captures); -} - -void BoardPanel::NotifyEditor() { - wxCommandEvent previousEvent(GAME_CHANGE, GetId()); - previousEvent.SetEventObject(this); - ProcessEvent(previousEvent); -} - -void BoardPanel::ApplyPreferences() { - board_canvas->ApplyPreferences(); -} |
