aboutsummaryrefslogtreecommitdiff
path: root/src/game_tab/right_panel
diff options
context:
space:
mode:
Diffstat (limited to 'src/game_tab/right_panel')
-rw-r--r--src/game_tab/right_panel/GameTabRightPanel.cpp54
-rw-r--r--src/game_tab/right_panel/GameTabRightPanel.hpp2
-rw-r--r--src/game_tab/right_panel/editor/EditorCanvas.cpp55
3 files changed, 35 insertions, 76 deletions
diff --git a/src/game_tab/right_panel/GameTabRightPanel.cpp b/src/game_tab/right_panel/GameTabRightPanel.cpp
index 21b4ed7..5d933b8 100644
--- a/src/game_tab/right_panel/GameTabRightPanel.cpp
+++ b/src/game_tab/right_panel/GameTabRightPanel.cpp
@@ -28,7 +28,7 @@ GameTabRightPanel::GameTabRightPanel(wxFrame *parent, std::shared_ptr<Game> game
nag_panel->Bind(wxEVT_BUTTON, [p=this](wxCommandEvent &e){
HalfMove *m = p->game->GetCurrentMove();
if (m != nullptr) {
- m->nag=p->GetNagFromStr(((wxButton*)e.GetEventObject())->GetLabel().ToStdString());
+ m->SetNAG(p->editor_canvas->GetNAGId(((wxButton*)e.GetEventObject())->GetLabel().ToStdString()));
p->editor_canvas->Refresh();
}
});
@@ -103,9 +103,9 @@ void GameTabRightPanel::OnCommentChange(wxCommandEvent &event) {
wxLogDebug("GameTabRightPanel: comment input change");
HalfMove *m = game->GetCurrentMove();
if (m != nullptr) {
- m->comment=event.GetString().Trim().ToStdString();
+ m->SetComment(event.GetString().Trim().ToStdString());
// Remove newlines:
- for(char &c:m->comment){
+ for(char &c:m->GetComment()){
if(c=='\n')
c=' ';
}
@@ -150,7 +150,7 @@ void GameTabRightPanel::Notify() {
HalfMove *m = game->GetCurrentMove();
if (m != nullptr) {
comment_input->ChangeValue(
- m->comment); // ChangeValue do not raise events
+ m->GetComment()); // ChangeValue do not raise events
}
editor_canvas->SetMoves(game->GetMoves(), m);
// Put it here for now:
@@ -190,49 +190,49 @@ void GameTabRightPanel::RefreshTagsList() {
}
}
-std::string GameTabRightPanel::GetNagFromStr(std::string str){
+std::uint8_t GameTabRightPanel::GetNagFromStr(std::string str){
// TODO: Bind more NAG!
if(str=="!")
- return "$1";
+ return 1;
else if(str=="?")
- return "$2";
+ return 2;
else if(str=="!!")
- return "$3";
+ return 3;
else if(str=="??")
- return "$4";
+ return 4;
else if(str=="!?")
- return "$5";
+ return 5;
else if(str=="?!")
- return "$6";
+ return 6;
else if(str=="=")
- return "$10";
+ return 10;
else if(str=="∞")
- return "$13";
+ return 13;
else if(str=="⩲")
- return "$14";
+ return 14;
else if(str=="⩱")
- return "$15";
+ return 15;
else if(str=="±")
- return "$16";
+ return 16;
else if(str=="∓")
- return "$17";
+ return 17;
else if(str=="+-")
- return "$18";
+ return 18;
else if(str=="-+")
- return "$19";
+ return 19;
else if(str=="⨀")
- return "$22";
+ return 22;
else if(str=="○")
- return "$26";
+ return 26;
else if(str=="⟳")
- return "$32";
+ return 32;
else if(str=="↑")
- return "$36";
+ return 36;
else if(str=="→")
- return "$40";
+ return 40;
else if(str=="⯹")
- return "$44";
+ return 44;
else if(str=="⨁")
- return "$138";
- return "";
+ return 138;
+ return 0;
}
diff --git a/src/game_tab/right_panel/GameTabRightPanel.hpp b/src/game_tab/right_panel/GameTabRightPanel.hpp
index 903b83d..73b058a 100644
--- a/src/game_tab/right_panel/GameTabRightPanel.hpp
+++ b/src/game_tab/right_panel/GameTabRightPanel.hpp
@@ -30,5 +30,5 @@ public:
void OnLiveAnalysis(wxCommandEvent &event);
void ApplyPreferences();
void OnLiveEngineClose(wxCloseEvent &e);
- std::string GetNagFromStr(std::string str);
+ std::uint8_t GetNagFromStr(std::string str);
}; \ No newline at end of file
diff --git a/src/game_tab/right_panel/editor/EditorCanvas.cpp b/src/game_tab/right_panel/editor/EditorCanvas.cpp
index 0e413c8..9f9c2e3 100644
--- a/src/game_tab/right_panel/editor/EditorCanvas.cpp
+++ b/src/game_tab/right_panel/editor/EditorCanvas.cpp
@@ -115,52 +115,7 @@ void EditorCanvas::DrawElement(const cgeditor::Element &e) {
dc->DrawRectangle(recToDraw);
}
if(e.prop & cgeditor::Property::Nag){
- if(text=="$0")
- text="";
- else if(text=="$1")
- text="!";
- else if(text=="$2")
- text="?";
- else if(text=="$3")
- text="!!";
- else if(text=="$4")
- text="??";
- else if(text=="$5")
- text="!?";
- else if(text=="$6")
- text="?!";
- else if(text=="$10")
- text="=";
- else if(text=="$13")
- text="∞";
- else if(text=="$14")
- text="⩲";
- else if(text=="$15")
- text="⩱";
- else if(text=="$16")
- text="±";
- else if(text=="$17")
- text="∓";
- else if(text=="$18")
- text="+-";
- else if(text=="$19")
- text="-+";
- else if(text=="$22"||text=="$23")
- text="⨀";
- else if(text=="$26"||text=="$27")
- text="○";
- else if(text=="$32"||text=="$33")
- text="⟳";
- else if(text=="$36"||text=="$37")
- text="↑";
- else if(text=="$40"||text=="$41")
- text="→";
- else if(text=="$44" || text=="$45")
- text="⯹";
- else if(text=="$138" || text=="$139")
- text="⨁";
- else
- text="NA";
+ text=e.text;
}
// Draw move text
if (CGEditor::status.UseMoveIcons) {
@@ -177,12 +132,16 @@ void EditorCanvas::DrawElement(const cgeditor::Element &e) {
void EditorCanvas::HandleEvent(const cgeditor::Event &e) {
if (e.type == cgeditor::Event::Goto) {
game->SetCurrent((HalfMove *)e.move);
+ SyncCache();
} else if (e.type == cgeditor::Event::Delete) {
- game->DeleteMove((HalfMove *)e.move);
+ game->DeleteMove((HalfMove *)e.move);
+ SyncCache();
} else if (e.type == cgeditor::Event::Promote) {
game->PromoteMove((HalfMove *)e.move);
+ SyncCache();
} else if (e.type == cgeditor::Event::SetAsMainline) {
- game->SetMoveAsMainline((HalfMove *)e.move);
+ game->SetMoveAsMainline((HalfMove *)e.move);
+ SyncCache();
}
wxCommandEvent event(GAME_CHANGE, GetId());
event.SetEventObject(this);