aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/MainWindow.cpp6
-rw-r--r--src/game_tab/GameTab.cpp4
-rw-r--r--src/game_tab/HalfMove.cpp3
-rw-r--r--src/game_tab/left_panel/GameTabLeftPanel.cpp5
-rw-r--r--src/game_tab/left_panel/board/BoardCanvas.cpp25
-rw-r--r--src/game_tab/left_panel/board/BoardCanvas.hpp1
6 files changed, 10 insertions, 34 deletions
diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp
index e5f11f9..344b249 100644
--- a/src/MainWindow.cpp
+++ b/src/MainWindow.cpp
@@ -57,13 +57,9 @@ MainWindow::MainWindow()
NewGame(std::shared_ptr<Game>(new Game()));
-
// Temporary TO REMOVE JUST FOR TESTS:
- /*BaseTab *bt = new BaseTab((wxFrame *)notebook, "/home/loic/pgn/Milov.pgn");
+ BaseTab *bt = new BaseTab((wxFrame *)notebook, "/home/loic/pgn/twic1467.pgn");
this->AddPage(bt,bt);
-
- bt = new BaseTab((wxFrame *)notebook, "/home/loic/jean.pgn");
- this->AddPage(bt,bt);*/
}
void MainWindow::AddPage(wxWindow* window, TabInfos* infos){
diff --git a/src/game_tab/GameTab.cpp b/src/game_tab/GameTab.cpp
index 40a1c71..27f7638 100644
--- a/src/game_tab/GameTab.cpp
+++ b/src/game_tab/GameTab.cpp
@@ -23,7 +23,7 @@ GameTab::GameTab(wxFrame *parent, std::shared_ptr<Game> game)
wxCommandEvent event(REFRESH_TAB_TITLE, GetId());
event.SetEventObject(this);
OnRefreshTabTitle(event);
- board_panel->Notify();
+ board_panel->Notify(false, false);
editor_panel->Notify();
Bind(REFRESH_TAB_TITLE, &GameTab::OnRefreshTabTitle, this, wxID_ANY);
@@ -47,7 +47,7 @@ GameTab::GameTab(wxFrame *parent, std::shared_ptr<Game> game)
}
void GameTab::OnGameChange(wxCommandEvent &event) {
- board_panel->Notify();
+ board_panel->Notify(false,false);
editor_panel->Notify();
}
diff --git a/src/game_tab/HalfMove.cpp b/src/game_tab/HalfMove.cpp
index 3ff627f..26f2f24 100644
--- a/src/game_tab/HalfMove.cpp
+++ b/src/game_tab/HalfMove.cpp
@@ -180,7 +180,8 @@ bool HalfMove::IsABlackMove() { return (IsBlack); }
void HalfMove::BuildAndVerify(HalfMove *m, std::string fen) {
arbiter.Setup(fen);
- bool work = arbiter.Play(arbiter.ParseSAN(m->move),arbiter.ParseSANPromotion(m->move));
+ m->move_absolute=arbiter.ParseSAN(m->move);
+ bool work = arbiter.Play(m->move_absolute,arbiter.ParseSANPromotion(m->move));
if (!work) {
wxLogDebug("Bug! %s", m->move);
}
diff --git a/src/game_tab/left_panel/GameTabLeftPanel.cpp b/src/game_tab/left_panel/GameTabLeftPanel.cpp
index cd3bfe4..d1604e4 100644
--- a/src/game_tab/left_panel/GameTabLeftPanel.cpp
+++ b/src/game_tab/left_panel/GameTabLeftPanel.cpp
@@ -2,7 +2,7 @@
#include <wx/clipbrd.h>
GameTabLeftPanel::GameTabLeftPanel(wxFrame *parent, std::shared_ptr<Game> game)
- : TabGameLeftPanel(parent), game(game) {
+ : TabGameLeftPanel(parent), game(game), repeat(false) {
// Add board
board_canvas = new BoardCanvas((wxFrame *)this);
@@ -22,7 +22,6 @@ GameTabLeftPanel::GameTabLeftPanel(wxFrame *parent, std::shared_ptr<Game> game)
Bind(wxEVT_BUTTON, &GameTabLeftPanel::OnZoomOut, this, ZOOM_OUT_BTN);
Bind(wxEVT_KEY_DOWN, [p=this](wxKeyEvent &e){e.ResumePropagation(1);e.Skip();});
Bind(wxEVT_KEY_UP, [p=this](wxKeyEvent &e){e.ResumePropagation(1);e.Skip();});
- repeat=false;
}
void GameTabLeftPanel::PreviousMove(bool isKeyDown) {
@@ -79,7 +78,6 @@ void GameTabLeftPanel::OnPlay(wxCommandEvent &event) {
}
void GameTabLeftPanel::Notify(bool animate, bool backward) {
- wxLogDebug("Notify");
std::string fen = game->GetFen();
std::map<char, std::uint8_t> captures;
HalfMove *m = game->GetCurrentMove();
@@ -114,7 +112,6 @@ void GameTabLeftPanel::Notify(bool animate, bool backward) {
game->IsBlackToPlay(), captures,src,dst,repeat);
}
}
-
// If m undefined
if(!m){
last_absolute_move="";
diff --git a/src/game_tab/left_panel/board/BoardCanvas.cpp b/src/game_tab/left_panel/board/BoardCanvas.cpp
index 58c3fd6..7445c57 100644
--- a/src/game_tab/left_panel/board/BoardCanvas.cpp
+++ b/src/game_tab/left_panel/board/BoardCanvas.cpp
@@ -16,11 +16,11 @@ BoardCanvas::BoardCanvas(wxFrame *parent)
// The following should be called when using an EVT_PAINT handler
SetBackgroundStyle(wxBG_STYLE_PAINT);
duration=200;
- duration_fast=100;
+ duration_fast=80;
fps=30;
- Bind(wxEVT_KEY_DOWN, &BoardCanvas::OnKeyEvent, this);
- Bind(wxEVT_KEY_UP, &BoardCanvas::OnKeyEvent, this);
+ Bind(wxEVT_KEY_DOWN, [p=this](wxKeyEvent &e){e.ResumePropagation(1);e.Skip();});
+ Bind(wxEVT_KEY_UP, [p=this](wxKeyEvent &e){e.ResumePropagation(1);e.Skip();});
}
BoardCanvas::~BoardCanvas() {
@@ -123,7 +123,7 @@ void BoardCanvas::Animate(std::string board, bool is_black_turn, std::map<char,
this->board[pfile + 8 * (7-prank)]=' ';
wxMemoryDC memDC(*buffer);
DrawBoard(memDC);
-
+
// Now compute piece start position and translation vector (Copy paste from DrawBoard())
std::uint32_t piece_width = t->GetPiecesSizes();
std::uint32_t centrer_offset = (square_width - piece_width) / 2;
@@ -369,23 +369,6 @@ void BoardCanvas::Swap() {
Refresh();
}
-void BoardCanvas::OnKeyEvent(wxKeyEvent &event) {
- event.ResumePropagation(1);
-event.Skip();
-return;
- wxLogDebug("OnKeyEvent %d",event.GetUnicodeKey());
- if (event.GetKeyCode() == WXK_LEFT) {
- wxCommandEvent previousEvent(PREVIOUS_MOVE_EVENT, GetId());
- //previousEvent.SetEventObject(this);
- ProcessEvent(previousEvent);
- } else if (event.GetKeyCode() == WXK_RIGHT) {
- wxCommandEvent nextEvent(NEXT_MOVE_EVENT, GetId());
- //nextEvent.SetEventObject(this);
- ProcessEvent(nextEvent);
- }
-}
-
-
void BoardCanvas::SetClockTime(short hours, short min, short sec,
bool IsBlack) {
if (IsBlack) {
diff --git a/src/game_tab/left_panel/board/BoardCanvas.hpp b/src/game_tab/left_panel/board/BoardCanvas.hpp
index 1da45b2..eeff44d 100644
--- a/src/game_tab/left_panel/board/BoardCanvas.hpp
+++ b/src/game_tab/left_panel/board/BoardCanvas.hpp
@@ -75,7 +75,6 @@ public:
void ApplyPreferences();
void DrawBoard(wxDC &dc);
void OnPaint(wxPaintEvent &event);
- void OnKeyEvent(wxKeyEvent &event);
void MouseEvent(wxMouseEvent &event);
void Zoom(std::int32_t zoom);
void Swap();