15 Q_MOC_INCLUDE(
"SpeedSection.h")
16 Q_MOC_INCLUDE(
"CameraSection.h")
98 virtual bool load(QTextStream &loadStream);
105 bool dirty (
void)
const override {
return _dirty; }
125 QString
mapVisualQML (
void)
const override {
return QStringLiteral(
"SimpleItemMapVisual.qml"); }
126 void appendMissionItems (QList<MissionItem*>& items, QObject* missionItemParent)
final;
137 void save (QJsonArray& missionItems)
final;
152 void _setDirty (
void);
153 void _sectionDirtyChanged (
bool dirty);
154 void _sendCommandChanged (
void);
155 void _sendCoordinateChanged (
void);
156 void _sendFriendlyEditAllowedChanged (
void);
157 void _altitudeChanged (
void);
158 void _altitudeFrameChanged (
void);
159 void _terrainAltChanged (
void);
160 void _updateLastSequenceNumber (
void);
161 void _rebuildFacts (
void);
162 void _rebuildTextFieldFacts (
void);
163 void _possibleAdditionalTimeDelayChanged (
void);
164 void _setDefaultsForCommand (
void);
165 void _possibleVehicleYawChanged (
void);
166 void _signalIfVTOLTransitionCommand (
void);
167 void _possibleRadiusChanged (
void);
170 void _connectSignals (
void);
171 void _setupMetaData (
void);
172 void _updateOptionalSections(
void);
173 void _rebuildNaNFacts (
void);
174 void _rebuildComboBoxFacts (
void);
177 bool _rawEdit =
false;
179 bool _ignoreDirtyChangeSignals =
false;
180 QGeoCoordinate _mapCenterHint;
184 bool _syncingHeadingDegreesAndParam4 =
false;
186 Fact _supportedCommandFact;
190 Fact _amslAltAboveTerrainFact;
214 static constexpr const char* _jsonAltitudeModeKey =
"AltitudeMode";
215 static constexpr const char* _jsonAltitudeKey =
"Altitude";
216 static constexpr const char* _jsonAMSLAltAboveTerrainKey =
"AMSLAltAboveTerrain";
223 static constexpr const struct EnumInfo_s _rgMavFrameInfo[] = {
224 {
"MAV_FRAME_GLOBAL", MAV_FRAME_GLOBAL },
225 {
"MAV_FRAME_LOCAL_NED", MAV_FRAME_LOCAL_NED },
226 {
"MAV_FRAME_MISSION", MAV_FRAME_MISSION },
227 {
"MAV_FRAME_GLOBAL_RELATIVE_ALT", MAV_FRAME_GLOBAL_RELATIVE_ALT },
228 {
"MAV_FRAME_LOCAL_ENU", MAV_FRAME_LOCAL_ENU },
229 {
"MAV_FRAME_GLOBAL_INT", MAV_FRAME_GLOBAL_INT },
230 {
"MAV_FRAME_GLOBAL_RELATIVE_ALT_INT", MAV_FRAME_GLOBAL_RELATIVE_ALT_INT },
231 {
"MAV_FRAME_LOCAL_OFFSET_NED", MAV_FRAME_LOCAL_OFFSET_NED },
232 {
"MAV_FRAME_BODY_NED", MAV_FRAME_BODY_NED },
233 {
"MAV_FRAME_BODY_OFFSET_NED", MAV_FRAME_BODY_OFFSET_NED },
234 {
"MAV_FRAME_GLOBAL_TERRAIN_ALT", MAV_FRAME_GLOBAL_TERRAIN_ALT },
235 {
"MAV_FRAME_GLOBAL_TERRAIN_ALT_INT", MAV_FRAME_GLOBAL_TERRAIN_ALT_INT },
A Fact is used to hold a single value within the system.
QVariant cookedValue() const
int sequenceNumber(void) const
Master controller for mission, fence, rally.
A SimpleMissionItem is used to represent a single MissionItem to the ui.
bool specifiesCoordinate(void) const final
void setSequenceNumber(int sequenceNumber) final
void setAzimuth(double azimuth)
QmlObjectListModel * textFieldFactsAdvanced(void)
bool specifiesAltitudeOnly(void) const final
ReadyForSaveState readyForSaveState(void) const final
bool exitCoordinateSameAsEntry(void) const final
double editableAlt(void) const final
void setCommandByIndex(int index)
bool dirty(void) const override
bool isSimpleItem(void) const final
bool friendlyEditAllowed(void) const
void rawEditChanged(bool rawEdit)
void speedSectionChanged(QObject *cameraSection)
void commandChanged(int command)
bool isStandaloneCoordinate(void) const final
void applyNewAltitude(double newAltitude) final
Adjust the altitude of the item if appropriate to the new altitude.
QmlObjectListModel * textFieldFacts(void)
void appendMissionItems(QList< MissionItem * > &items, QObject *missionItemParent) final
void isLoiterItemChanged(void)
void friendlyEditAllowedChanged(bool friendlyEditAllowed)
int sequenceNumber(void) const final
void loiterRadiusChanged(double loiterRadius)
QGeoCoordinate entryCoordinate(void) const final
void showLoiterRadiusChanged(void)
QmlObjectListModel * nanFactsAdvanced(void)
void setDistance(double distance)
bool scanForSections(QmlObjectListModel *visualItems, int scanIndex, PlanMasterController *masterController)
bool showLoiterRadius(void) const
QmlObjectListModel * nanFacts(void)
void altitudeFrameChanged(void)
QString abbreviation(void) const final
void setAltPercent(double altPercent)
SpeedSection * speedSection(void)
const MissionItem & missionItem(void) const
CameraSection * cameraSection(void)
double specifiedVehicleYaw(void) override
int lastSequenceNumber(void) const final
void setRadius(double loiterRadius)
MAV_CMD mavCommand(void) const
QString mapVisualQML(void) const override
void setAltDifference(double altDifference)
double amslEntryAlt(void) const final
bool specifiesAltitude(void) const
QGeoCoordinate exitCoordinate(void) const final
Fact * amslAltAboveTerrain(void)
bool isLandCommand(void) const final
QGeoCoordinate coordinate(void) const final
virtual bool load(QTextStream &loadStream)
QString commandDescription(void) const final
double loiterRadius(void) const
QString commandName(void) const final
void setCoordinate(const QGeoCoordinate &coordinate) override
void setCommand(int command)
double specifiedFlightSpeed(void) override
bool isLoiterItem(void) const
double amslExitAlt(void) const final
QmlObjectListModel * comboboxFactsAdvanced(void)
Q_INVOKABLE void setMapCenterHintForCommandChange(QGeoCoordinate mapCenter)
Optional sections.
void setAltitudeFrame(QGroundControlQmlGlobal::AltitudeFrame altitudeFrame)
double specifiedGimbalYaw(void) override
MissionItem & missionItem(void)
~SimpleMissionItem()
true: raw item editing with all params
double specifiedGimbalPitch(void) override
void cameraSectionChanged(QObject *cameraSection)
QGroundControlQmlGlobal::AltitudeFrame altitudeFrame(void) const
QmlObjectListModel * comboboxFacts(void)
void setDirty(bool dirty) final
void setRawEdit(bool rawEdit)
void save(QJsonArray &missionItems) final
QString category(void) const
void setMissionFlightStatus(MissionFlightStatus_t &missionFlightStatus) final
void headingDegreesChanged(double heading)
double additionalTimeDelay(void) const final
double altDifference(void) const
double altPercent(void) const
double distance(void) const
PlanMasterController * masterController(void)
double azimuth(void) const