6 #include <QJsonDocument>
7 #include <QJsonParseError>
10 #include "ui_aircraftpartsform.h"
19 using namespace swift::misc::aviation;
21 namespace swift::gui::editors
39 CGuiUtility::childrenSetEnabled<QPushButton>(
this, !readonly);
57 const QString jsonParts = ui->te_AircraftPartsJson->toPlainText().trimmed();
78 CLogMessage::preformatted(CStatusMessage::fromJsonException(ex,
this,
"Parse error"));
86 this->partsToGui(parts);
94 void CAircraftPartsForm::setAllLights()
97 ui->cb_AircraftPartsLightsStrobe->setChecked(on);
98 ui->cb_AircraftPartsLightsLanding->setChecked(on);
99 ui->cb_AircraftPartsLightsTaxi->setChecked(on);
100 ui->cb_AircraftPartsLightsBeacon->setChecked(on);
101 ui->cb_AircraftPartsLightsNav->setChecked(on);
102 ui->cb_AircraftPartsLightsLogo->setChecked(on);
103 ui->cb_AircraftPartsLightsWing->setChecked(on);
104 ui->cb_AircraftPartsLightsRecognition->setChecked(on);
105 ui->cb_AircraftPartsLightsCabin->setChecked(on);
108 void CAircraftPartsForm::setAllEngines()
111 ui->cb_AircraftPartsEngine1->setChecked(on);
112 ui->cb_AircraftPartsEngine2->setChecked(on);
113 ui->cb_AircraftPartsEngine3->setChecked(on);
114 ui->cb_AircraftPartsEngine4->setChecked(on);
115 ui->cb_AircraftPartsEngine5->setChecked(on);
116 ui->cb_AircraftPartsEngine6->setChecked(on);
117 ui->sb_AircraftPartsEngine1RpmPercentage->setValue(on ? 80 : 0);
118 ui->sb_AircraftPartsEngine2RpmPercentage->setValue(on ? 80 : 0);
119 ui->sb_AircraftPartsEngine3RpmPercentage->setValue(on ? 80 : 0);
120 ui->sb_AircraftPartsEngine4RpmPercentage->setValue(on ? 80 : 0);
121 ui->sb_AircraftPartsEngine5RpmPercentage->setValue(on ? 80 : 0);
122 ui->sb_AircraftPartsEngine6RpmPercentage->setValue(on ? 80 : 0);
128 ui->cb_AircraftPartsLightsStrobe->isChecked(), ui->cb_AircraftPartsLightsLanding->isChecked(),
129 ui->cb_AircraftPartsLightsTaxi->isChecked(), ui->cb_AircraftPartsLightsBeacon->isChecked(),
130 ui->cb_AircraftPartsLightsNav->isChecked(), ui->cb_AircraftPartsLightsLogo->isChecked(),
131 ui->cb_AircraftPartsLightsRecognition->isChecked(), ui->cb_AircraftPartsLightsCabin->isChecked(),
132 ui->cb_AircraftPartsLightsWing->isChecked());
134 { { ui->cb_AircraftPartsEngine1->isChecked(), ui->sb_AircraftPartsEngine1RpmPercentage->value() },
135 { ui->cb_AircraftPartsEngine2->isChecked(), ui->sb_AircraftPartsEngine2RpmPercentage->value() },
136 { ui->cb_AircraftPartsEngine3->isChecked(), ui->sb_AircraftPartsEngine3RpmPercentage->value() },
137 { ui->cb_AircraftPartsEngine4->isChecked(), ui->sb_AircraftPartsEngine4RpmPercentage->value() },
138 { ui->cb_AircraftPartsEngine5->isChecked(), ui->sb_AircraftPartsEngine5RpmPercentage->value() },
139 { ui->cb_AircraftPartsEngine6->isChecked(), ui->sb_AircraftPartsEngine6RpmPercentage->value() } });
141 lights, ui->cb_AircraftPartsGearDown->isChecked(), ui->sb_AircraftPartsFlapsPercentage->value(),
142 ui->cb_AircraftPartsSpoilers->isChecked(), engines, ui->cb_AircraftPartsIsOnGround->isChecked());
148 ui->cb_AircraftPartsGearDown->setChecked(parts.
isGearDown());
149 ui->cb_AircraftPartsIsOnGround->setChecked(parts.
isOnGround());
150 ui->cb_AircraftPartsSpoilers->setChecked(parts.
isSpoilersOut());
151 ui->sb_AircraftPartsFlapsPercentage->setValue(parts.
getFlapsPercent());
154 ui->cb_AircraftPartsLightsBeacon->setChecked(lights.
isBeaconOn());
155 ui->cb_AircraftPartsLightsLanding->setChecked(lights.
isLandingOn());
156 ui->cb_AircraftPartsLightsLogo->setChecked(lights.
isLogoOn());
157 ui->cb_AircraftPartsLightsNav->setChecked(lights.
isNavOn());
158 ui->cb_AircraftPartsLightsStrobe->setChecked(lights.
isStrobeOn());
159 ui->cb_AircraftPartsLightsTaxi->setChecked(lights.
isTaxiOn());
160 ui->cb_AircraftPartsLightsWing->setChecked(lights.
isWingOn());
163 ui->cb_AircraftPartsEngine1->setChecked(engines.
isEngineOn(1));
164 ui->cb_AircraftPartsEngine2->setChecked(engines.
isEngineOn(2));
165 ui->cb_AircraftPartsEngine3->setChecked(engines.
isEngineOn(3));
166 ui->cb_AircraftPartsEngine4->setChecked(engines.
isEngineOn(4));
167 ui->cb_AircraftPartsEngine5->setChecked(engines.
isEngineOn(5));
168 ui->cb_AircraftPartsEngine6->setChecked(engines.
isEngineOn(6));
169 ui->sb_AircraftPartsEngine1RpmPercentage->setValue(engines.
getEngineRpmPct(1));
170 ui->sb_AircraftPartsEngine2RpmPercentage->setValue(engines.
getEngineRpmPct(2));
171 ui->sb_AircraftPartsEngine3RpmPercentage->setValue(engines.
getEngineRpmPct(3));
172 ui->sb_AircraftPartsEngine4RpmPercentage->setValue(engines.
getEngineRpmPct(4));
173 ui->sb_AircraftPartsEngine5RpmPercentage->setValue(engines.
getEngineRpmPct(5));
174 ui->sb_AircraftPartsEngine6RpmPercentage->setValue(engines.
getEngineRpmPct(6));
177 void CAircraftPartsForm::guiToJson()
181 ui->te_AircraftPartsJson->setText(j);
static void checkBoxesReadOnly(QWidget *parent, bool readOnly)
Pseudo readonly state for checkboxes of widget.
Thrown when a convertFromJson method encounters an unrecoverable error in JSON data.
Class for emitting a log message.
Derived & validationError(const char16_t(&format)[N])
Set the severity to error, providing a format string, and adding the validation category.
Status messages, e.g. from Core -> GUI.
Value object encapsulating a list of aircraft engines.
bool isEngineOn(int engineNumber) const
Engine number 1..x on?
int getEngineRpmPct(int engineNumber) const
Get engine RPM percentage (0..100+)
Value object encapsulating information about aircraft's lights.
bool isLandingOn() const
Landing lights on?
bool isBeaconOn() const
Beacon lights on?
bool isNavOn() const
Nac lights on?
bool isWingOn() const
Wing light on?
bool isLogoOn() const
Logo lights on?
bool isTaxiOn() const
Taxi lights on?
bool isStrobeOn() const
Strobes lights on?
Value object encapsulating information of aircraft's parts.
bool isGearDown() const
Is gear down?
CAircraftLights getLights() const
Get aircraft lights.
bool isSpoilersOut() const
Are spoilers out?
bool isOnGround() const
Is aircraft on ground?
int getFlapsPercent() const
Get flaps position in percent.
CAircraftEngineList getEngines() const
Get engines.
Free functions in swift::misc.
QJsonDocument fromJson(const QByteArray &json, QJsonParseError *error)
QJsonObject object() const const
QString errorString() const const
QMetaObject::Connection connect(const QObject *sender, PointerToMemberFunction signal, Functor functor)
QObject * sender() const const
bool isEmpty() const const
QByteArray toUtf8() const const