aboutsummaryrefslogtreecommitdiff
path: root/src/game_tab/right_panel/GameTabRightPanel.hpp
blob: 20593ed0b6e0d7b88fe09dbfbe3b64ade31d0ea6 (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
34
35
36
37
38
39
40
41
42
43
#include "../Game.hpp"
#include "LiveEngineDialog.hpp"
#include "editor/EditorCanvas.hpp"
#include "ochess.hpp"
#include <wx/listctrl.h>
#include <wx/notebook.h>

// Local events
wxDECLARE_EVENT(GOTO_MOVE_EVENT, wxCommandEvent);
wxDECLARE_EVENT(DELETE_MOVE_EVENT, wxCommandEvent);
wxDECLARE_EVENT(PROMOTE_MOVE_EVENT, wxCommandEvent);
wxDECLARE_EVENT(SET_AS_MAINLINE_EVENT, wxCommandEvent);
wxDECLARE_EVENT(REFRESH_TAB_TITLE, wxCommandEvent);

// Foreign events
wxDECLARE_EVENT(GAME_CHANGE, wxCommandEvent);

class GameTabRightPanel : public TabGameRightPanel {
  std::shared_ptr<Game> game;
  EditorCanvas *editor_canvas;
  long selected_item;
  LiveEngineDialog *live_engine;

public:
  GameTabRightPanel(wxFrame *parent, std::shared_ptr<Game> game);
  void NotifyBoard();
  void Notify();
  void OnCommentChange(wxCommandEvent &event);
  void OnGotoMove(wxCommandEvent &event);
  void OnMoveDelete(wxCommandEvent &event);
  void OnMovePromote(wxCommandEvent &event);
  void OnMoveSetAsMainline(wxCommandEvent &event);
  void RefreshTagsList();
  void OnTagSelected(wxListEvent &event);
  void OnTagDeselected(wxListEvent &event);
  void OnApply(wxCommandEvent &event);
  void OnDelete(wxCommandEvent &event);
  void OnPreviousMove(wxCommandEvent &event);
  void OnNextMove(wxCommandEvent &event);
  void OnLiveAnalysis(wxCommandEvent &event);
  void ApplyPreferences();
  void OnLiveEngineClose(wxCloseEvent &e);
};