aboutsummaryrefslogtreecommitdiff
path: root/src/game_tab/left_panel/board/BoardCanvas.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game_tab/left_panel/board/BoardCanvas.cpp')
-rw-r--r--src/game_tab/left_panel/board/BoardCanvas.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/game_tab/left_panel/board/BoardCanvas.cpp b/src/game_tab/left_panel/board/BoardCanvas.cpp
index 7f045f9..3b65e91 100644
--- a/src/game_tab/left_panel/board/BoardCanvas.cpp
+++ b/src/game_tab/left_panel/board/BoardCanvas.cpp
@@ -9,7 +9,6 @@ tmp=rot_m.TransformPoint(tmp); \
(PT).x+=xsrc;(PT).y+=ysrc;}
wxDEFINE_EVENT(PLAY_MOVE_EVENT, wxCommandEvent);
-wxDEFINE_EVENT(PLAY_PROMOTE, wxCommandEvent);
BoardCanvas::BoardCanvas(wxFrame *parent)
: wxPanel(parent), black_side(false), frozen(false),
@@ -469,17 +468,16 @@ void BoardCanvas::MouseEvent(wxMouseEvent &event) {
if((char)('a' + file)==gs.promotion[0]){
std::uint8_t prank=abs((int)gs.promotion[1]-(int)(char)('1' + rank));
if(prank<=3){
- wxLogDebug("%d",(int)prank);
- wxCommandEvent event(PLAY_PROMOTE, GetId());
+ wxCommandEvent event(PLAY_MOVE_EVENT, GetId());
event.SetEventObject(this);
if(prank==1)
- event.SetString("r");
+ event.SetInt((int)'r');
else if(prank==2)
- event.SetString("b");
+ event.SetInt((int)'b');
else if(prank==3)
- event.SetString("n");
+ event.SetInt((int)'n');
else
- event.SetString("q");
+ event.SetInt((int)'q');
ProcessEvent(event);
}
}
@@ -531,6 +529,7 @@ void BoardCanvas::MouseEvent(wxMouseEvent &event) {
std::to_string(+active_square.y + 1) +
((char)('a' + file)) + std::to_string(rank + 1);
event.SetString(move);
+ event.SetInt((int)'q'); // Promote to queen by default
ProcessEvent(event);
} else {
// If square not valid just redraw (place piece back to its square)