ochess/src/game_tab/left_panel/GameTabLeftPanel.hpp

33 lines
929 B
C++
Raw Normal View History

2022-02-23 18:11:55 +01:00
#pragma once
#include "../Game.hpp"
2022-02-28 13:44:27 +01:00
#include "board/BoardCanvas.hpp"
2022-02-23 18:11:55 +01:00
#include "ochess.hpp"
2022-12-30 15:09:24 +01:00
#include "base_tab/gamebase/GameBase.hpp"
2022-02-23 18:11:55 +01:00
// Foreign events
wxDECLARE_EVENT(GAME_CHANGE, wxCommandEvent);
2022-02-28 14:02:02 +01:00
class GameTabLeftPanel : public TabGameLeftPanel {
2022-02-28 20:16:57 +01:00
std::shared_ptr<Game> game;
2022-02-23 18:11:55 +01:00
BoardCanvas *board_canvas;
void NotifyEditor();
2022-12-29 10:08:22 +01:00
std::string last_absolute_move;
bool repeat;
2022-12-30 13:17:06 +01:00
std::string related_file;
2022-12-29 10:08:22 +01:00
2022-02-23 18:11:55 +01:00
public:
2022-02-28 20:16:57 +01:00
GameTabLeftPanel(wxFrame *parent, std::shared_ptr<Game> game);
2022-12-29 10:08:22 +01:00
void Notify(bool animate=false,bool backward=false);
2022-02-23 18:11:55 +01:00
void OnPlay(wxCommandEvent &event);
void OnGotoMove(wxCommandEvent &event);
2022-12-29 10:08:22 +01:00
void PreviousMove(bool isKeyDown);
void NextMove(bool isKeyDown);
2022-02-23 18:11:55 +01:00
void OnZoomIn(wxCommandEvent &event);
void OnZoomOut(wxCommandEvent &event);
void OnSwap(wxCommandEvent &event);
void OnRefreshBoard(wxCommandEvent &event);
void ApplyPreferences();
2022-12-30 13:17:06 +01:00
void OnToolClick(wxCommandEvent &event);
2022-02-23 18:11:55 +01:00
};