aboutsummaryrefslogtreecommitdiff
path: root/src/game_tab/left_panel/GameTabLeftPanel.hpp
blob: fe4176e8891ba98bbdc3ded4dea93fb9db36624f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#pragma once

#include "../Game.hpp"
#include "board/BoardCanvas.hpp"
#include "ochess.hpp"
#include "base_tab/gamebase/GameBase.hpp"
#include "game_tab/right_panel/LiveEngineDialog.hpp"

// Foreign events
wxDECLARE_EVENT(GAME_CHANGE, wxCommandEvent);

class GameTabLeftPanel : public TabGameLeftPanel {
  std::shared_ptr<Game> game;
  BoardCanvas *board_canvas;
  bool repeat;
  HalfMove *last_move;
  std::vector<GameState::Arrow> engine_arrows;
  std::string promote_on;
  std::string promotion_move;
  float eval_cp;
  bool is_engine_on;

public:
  GameTabLeftPanel(wxFrame *parent, std::shared_ptr<Game> game);
  void Notify(bool skip_animation=false);
  void OnPlay(wxCommandEvent &event);
  void OnGotoMove(wxCommandEvent &event);
  void OnRefreshBoard(wxCommandEvent &event);
  void ApplyPreferences();
  void SetSaveToolEnable(bool state){game_toolbar->EnableTool(0,state);};
  void SetEngineEvaluation(EngineEvaluation eval);
  void SetLiveEngineState(bool isOn);
};