diff --git a/src/plugins/simulator/swift/simulatorswiftmonitordialog.cpp b/src/plugins/simulator/swift/simulatorswiftmonitordialog.cpp
index c1711444c..b01d3ff89 100644
--- a/src/plugins/simulator/swift/simulatorswiftmonitordialog.cpp
+++ b/src/plugins/simulator/swift/simulatorswiftmonitordialog.cpp
@@ -12,6 +12,8 @@
#include "ui_simulatorswiftmonitordialog.h"
using namespace BlackMisc;
+using namespace BlackMisc::Aviation;
+using namespace BlackGui::Editors;
namespace BlackSimPlugin
{
@@ -37,6 +39,7 @@ namespace BlackSimPlugin
connect(ui->cb_Connected, &QCheckBox::released, this, &CSimulatorSwiftMonitorDialog::onSimulatorValuesChanged);
connect(ui->cb_Paused, &QCheckBox::released, this, &CSimulatorSwiftMonitorDialog::onSimulatorValuesChanged);
connect(ui->cb_Simulating, &QCheckBox::released, this, &CSimulatorSwiftMonitorDialog::onSimulatorValuesChanged);
+ connect(ui->comp_Situation, &CSituationForm::changeAircraftSituation, this, &CSimulatorSwiftMonitorDialog::changeSituation);
this->setSimulatorUiValues();
ui->comp_Situation->setSituation(m_simulator->getOwnAircraftSituation());
@@ -90,6 +93,20 @@ namespace BlackSimPlugin
);
}
+ void CSimulatorSwiftMonitorDialog::changeSituation()
+ {
+ if (!m_simulator) { return; }
+ const CAircraftSituation s(ui->editor_Situation->getSituation());
+ m_simulator->updateOwnSituation(s);
+ }
+
+ void CSimulatorSwiftMonitorDialog::changeParts()
+ {
+ if (!m_simulator) { return; }
+ const CAircraftParts p(ui->editor_AircraftParts->getAircraftPartsFromGui());
+ m_simulator->updateOwnParts(p);
+ }
+
void CSimulatorSwiftMonitorDialog::setSimulatorUiValues()
{
ui->cb_Connected->setChecked(m_simulator->isConnected());
diff --git a/src/plugins/simulator/swift/simulatorswiftmonitordialog.h b/src/plugins/simulator/swift/simulatorswiftmonitordialog.h
index 729b1e7d6..ca3eadf59 100644
--- a/src/plugins/simulator/swift/simulatorswiftmonitordialog.h
+++ b/src/plugins/simulator/swift/simulatorswiftmonitordialog.h
@@ -54,6 +54,12 @@ namespace BlackSimPlugin
//! UI values changed
void onSimulatorValuesChanged();
+ //! Update aircraft situation
+ void changeSituation();
+
+ //! Change the aircraft parts
+ void changeParts();
+
//! UI values
void setSimulatorUiValues();
diff --git a/src/plugins/simulator/swift/simulatorswiftmonitordialog.ui b/src/plugins/simulator/swift/simulatorswiftmonitordialog.ui
index d041e03da..42f2b50a3 100644
--- a/src/plugins/simulator/swift/simulatorswiftmonitordialog.ui
+++ b/src/plugins/simulator/swift/simulatorswiftmonitordialog.ui
@@ -34,19 +34,6 @@
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
@@ -148,6 +135,19 @@
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
-