diff options
| author | Loic Guegan <manzerbredes@mailbox.org> | 2022-02-28 10:38:56 +0100 |
|---|---|---|
| committer | Loic Guegan <manzerbredes@mailbox.org> | 2022-02-28 10:38:56 +0100 |
| commit | ff6b1980c93140db2143b5dcad27f5cdc946632b (patch) | |
| tree | 708df05cc54c626293ac1349d15e5bfb5305b0cb /src/game_tab/editor/LiveEngineDialog.cpp | |
| parent | 175ce5e10859e2831b0e49a4bf768a9217305d8f (diff) | |
Improve live engine analysis dialog
Diffstat (limited to 'src/game_tab/editor/LiveEngineDialog.cpp')
| -rw-r--r-- | src/game_tab/editor/LiveEngineDialog.cpp | 35 |
1 files changed, 28 insertions, 7 deletions
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"); } } |
