From ff6b1980c93140db2143b5dcad27f5cdc946632b Mon Sep 17 00:00:00 2001 From: Loic Guegan Date: Mon, 28 Feb 2022 10:38:56 +0100 Subject: Improve live engine analysis dialog --- src/game_tab/editor/LiveEngineDialog.cpp | 35 +++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) (limited to 'src/game_tab/editor/LiveEngineDialog.cpp') diff --git a/src/game_tab/editor/LiveEngineDialog.cpp b/src/game_tab/editor/LiveEngineDialog.cpp index 0fc85b0..4f745b4 100644 --- a/src/game_tab/editor/LiveEngineDialog.cpp +++ b/src/game_tab/editor/LiveEngineDialog.cpp @@ -31,6 +31,11 @@ void LiveEngineDialog::InitEngine() { wxString default_value_wxString = conf->Read(optPath + "value"); std::string default_value = default_value_wxString.ToStdString(); engine->setoption(opt_name.ToStdString(), default_value); + if (opt_name.Lower() == "multipv") { + multipv->SetLabel(default_value_wxString); + } else if (opt_name.Lower() == "threads") { + threads->SetLabel(default_value_wxString); + } } while (conf->GetNextGroup(opt_name, index)); } @@ -52,20 +57,36 @@ void LiveEngineDialog::OnClose(wxCloseEvent &e) { } void LiveEngineDialog::SetFEN(std::string fen) { - timer.Stop(); + StopEngine(); engine->position(fen); - uciadapter::Go args; - engine->go(args); - timer.Start(interval); + StartEngine(); } void LiveEngineDialog::TogglePauseEngine(wxCommandEvent &event) { if (timer.IsRunning()) { - timer.Stop(); - engine_pause_button->SetLabel("Continue"); + StopEngine(); + engine_stop_button->SetLabel("Restart"); + depth->Enable(true); } else { + engine_stop_button->SetLabel("Stop"); + depth->Enable(false); + StartEngine(); + } +} + +void LiveEngineDialog::StopEngine() { + if (timer.IsRunning()) { + timer.Stop(); + } + engine->stop(); +}; + +void LiveEngineDialog::StartEngine() { + uciadapter::Go args; + args.depth = depth->GetValue(); + engine->go(args); + if (!timer.IsRunning()) { timer.Start(interval); - engine_pause_button->SetLabel("Pause"); } } -- cgit v1.2.3