Unverified Commit c0580acf authored by Don Gagne's avatar Don Gagne Committed by GitHub

Merge pull request #6390 from DonLakeFlyer/PlannedHome

Different visuals for Planned Home in Plan View
parents 1867c853 65ec484a
...@@ -640,7 +640,7 @@ bool MissionController::_loadJsonMissionFileV2(const QJsonObject& json, QmlObjec ...@@ -640,7 +640,7 @@ bool MissionController::_loadJsonMissionFileV2(const QJsonObject& json, QmlObjec
if (!JsonHelper::loadGeoCoordinate(json[_jsonPlannedHomePositionKey], true /* altitudeRequired */, homeCoordinate, errorString)) { if (!JsonHelper::loadGeoCoordinate(json[_jsonPlannedHomePositionKey], true /* altitudeRequired */, homeCoordinate, errorString)) {
return false; return false;
} }
MissionSettingsItem* settingsItem = new MissionSettingsItem(_controllerVehicle, visualItems); MissionSettingsItem* settingsItem = new MissionSettingsItem(_controllerVehicle, _editMode, visualItems);
settingsItem->setCoordinate(homeCoordinate); settingsItem->setCoordinate(homeCoordinate);
visualItems->insert(0, settingsItem); visualItems->insert(0, settingsItem);
qCDebug(MissionControllerLog) << "plannedHomePosition" << homeCoordinate; qCDebug(MissionControllerLog) << "plannedHomePosition" << homeCoordinate;
...@@ -724,7 +724,7 @@ bool MissionController::_loadJsonMissionFileV2(const QJsonObject& json, QmlObjec ...@@ -724,7 +724,7 @@ bool MissionController::_loadJsonMissionFileV2(const QJsonObject& json, QmlObjec
visualItems->append(corridorItem); visualItems->append(corridorItem);
} else if (complexItemType == MissionSettingsItem::jsonComplexItemTypeValue) { } else if (complexItemType == MissionSettingsItem::jsonComplexItemTypeValue) {
qCDebug(MissionControllerLog) << "Loading Mission Settings: nextSequenceNumber" << nextSequenceNumber; qCDebug(MissionControllerLog) << "Loading Mission Settings: nextSequenceNumber" << nextSequenceNumber;
MissionSettingsItem* settingsItem = new MissionSettingsItem(_controllerVehicle, visualItems); MissionSettingsItem* settingsItem = new MissionSettingsItem(_controllerVehicle, _editMode, visualItems);
if (!settingsItem->load(itemObject, nextSequenceNumber++, errorString)) { if (!settingsItem->load(itemObject, nextSequenceNumber++, errorString)) {
return false; return false;
} }
...@@ -1717,7 +1717,7 @@ double MissionController::_normalizeLon(double lon) ...@@ -1717,7 +1717,7 @@ double MissionController::_normalizeLon(double lon)
/// Add the Mission Settings complex item to the front of the items /// Add the Mission Settings complex item to the front of the items
void MissionController::_addMissionSettings(QmlObjectListModel* visualItems, bool addToCenter) void MissionController::_addMissionSettings(QmlObjectListModel* visualItems, bool addToCenter)
{ {
MissionSettingsItem* settingsItem = new MissionSettingsItem(_controllerVehicle, visualItems); MissionSettingsItem* settingsItem = new MissionSettingsItem(_controllerVehicle, _editMode, visualItems);
qCDebug(MissionControllerLog) << "_addMissionSettings addToCenter" << addToCenter; qCDebug(MissionControllerLog) << "_addMissionSettings addToCenter" << addToCenter;
......
...@@ -27,8 +27,9 @@ const char* MissionSettingsItem::_plannedHomePositionAltitudeName = "PlannedHome ...@@ -27,8 +27,9 @@ const char* MissionSettingsItem::_plannedHomePositionAltitudeName = "PlannedHome
QMap<QString, FactMetaData*> MissionSettingsItem::_metaDataMap; QMap<QString, FactMetaData*> MissionSettingsItem::_metaDataMap;
MissionSettingsItem::MissionSettingsItem(Vehicle* vehicle, QObject* parent) MissionSettingsItem::MissionSettingsItem(Vehicle* vehicle, bool planView, QObject* parent)
: ComplexMissionItem (vehicle, parent) : ComplexMissionItem (vehicle, parent)
, _planView (planView)
, _plannedHomePositionAltitudeFact (0, _plannedHomePositionAltitudeName, FactMetaData::valueTypeDouble) , _plannedHomePositionAltitudeFact (0, _plannedHomePositionAltitudeName, FactMetaData::valueTypeDouble)
, _plannedHomePositionFromVehicle (false) , _plannedHomePositionFromVehicle (false)
, _missionEndRTL (false) , _missionEndRTL (false)
...@@ -299,3 +300,8 @@ void MissionSettingsItem::_setHomeAltFromTerrain(double terrainAltitude) ...@@ -299,3 +300,8 @@ void MissionSettingsItem::_setHomeAltFromTerrain(double terrainAltitude)
_plannedHomePositionAltitudeFact.setRawValue(terrainAltitude); _plannedHomePositionAltitudeFact.setRawValue(terrainAltitude);
} }
} }
QString MissionSettingsItem::abbreviation(void) const
{
return _planView ? tr("Planned Home") : tr("H");
}
...@@ -24,7 +24,7 @@ class MissionSettingsItem : public ComplexMissionItem ...@@ -24,7 +24,7 @@ class MissionSettingsItem : public ComplexMissionItem
Q_OBJECT Q_OBJECT
public: public:
MissionSettingsItem(Vehicle* vehicle, QObject* parent = NULL); MissionSettingsItem(Vehicle* vehicle, bool planView, QObject* parent = NULL);
Q_PROPERTY(Fact* plannedHomePositionAltitude READ plannedHomePositionAltitude CONSTANT) Q_PROPERTY(Fact* plannedHomePositionAltitude READ plannedHomePositionAltitude CONSTANT)
Q_PROPERTY(bool missionEndRTL READ missionEndRTL WRITE setMissionEndRTL NOTIFY missionEndRTLChanged) Q_PROPERTY(bool missionEndRTL READ missionEndRTL WRITE setMissionEndRTL NOTIFY missionEndRTLChanged)
...@@ -68,7 +68,7 @@ public: ...@@ -68,7 +68,7 @@ public:
bool specifiesAltitudeOnly (void) const final { return false; } bool specifiesAltitudeOnly (void) const final { return false; }
QString commandDescription (void) const final { return "Mission Start"; } QString commandDescription (void) const final { return "Mission Start"; }
QString commandName (void) const final { return "Mission Start"; } QString commandName (void) const final { return "Mission Start"; }
QString abbreviation (void) const final { return "H"; } QString abbreviation (void) const final;
QGeoCoordinate coordinate (void) const final { return _plannedHomePositionCoordinate; } QGeoCoordinate coordinate (void) const final { return _plannedHomePositionCoordinate; }
QGeoCoordinate exitCoordinate (void) const final { return _plannedHomePositionCoordinate; } QGeoCoordinate exitCoordinate (void) const final { return _plannedHomePositionCoordinate; }
int sequenceNumber (void) const final { return _sequenceNumber; } int sequenceNumber (void) const final { return _sequenceNumber; }
...@@ -101,15 +101,15 @@ private slots: ...@@ -101,15 +101,15 @@ private slots:
void _setHomeAltFromTerrain (double terrainAltitude); void _setHomeAltFromTerrain (double terrainAltitude);
private: private:
bool _planView;
QGeoCoordinate _plannedHomePositionCoordinate; // Does not include altitude QGeoCoordinate _plannedHomePositionCoordinate; // Does not include altitude
Fact _plannedHomePositionAltitudeFact; Fact _plannedHomePositionAltitudeFact;
bool _plannedHomePositionFromVehicle; bool _plannedHomePositionFromVehicle;
bool _missionEndRTL; bool _missionEndRTL;
CameraSection _cameraSection; CameraSection _cameraSection;
SpeedSection _speedSection; SpeedSection _speedSection;
int _sequenceNumber;
int _sequenceNumber; bool _dirty;
bool _dirty;
static QMap<QString, FactMetaData*> _metaDataMap; static QMap<QString, FactMetaData*> _metaDataMap;
......
...@@ -22,7 +22,7 @@ void MissionSettingsTest::init(void) ...@@ -22,7 +22,7 @@ void MissionSettingsTest::init(void)
{ {
VisualMissionItemTest::init(); VisualMissionItemTest::init();
_settingsItem = new MissionSettingsItem(_offlineVehicle, this); _settingsItem = new MissionSettingsItem(_offlineVehicle, true /* planView */, this);
} }
void MissionSettingsTest::cleanup(void) void MissionSettingsTest::cleanup(void)
......
...@@ -76,7 +76,7 @@ Rectangle { ...@@ -76,7 +76,7 @@ Rectangle {
anchors.verticalCenter: commandPicker.verticalCenter anchors.verticalCenter: commandPicker.verticalCenter
anchors.leftMargin: _margin anchors.leftMargin: _margin
anchors.left: parent.left anchors.left: parent.left
text: missionItem.homePosition ? "H" : missionItem.sequenceNumber text: missionItem.homePosition ? "P" : missionItem.sequenceNumber
color: _outerTextColor color: _outerTextColor
} }
......
...@@ -33,7 +33,7 @@ Canvas { ...@@ -33,7 +33,7 @@ Canvas {
property real _gimbalRadians: degreesToRadians(vehicleYaw + gimbalYaw - 90) property real _gimbalRadians: degreesToRadians(vehicleYaw + gimbalYaw - 90)
property real _labelMargin: 2 property real _labelMargin: 2
property real _labelRadius: _indicatorRadius + _labelMargin property real _labelRadius: _indicatorRadius + _labelMargin
property string _label: index === 0 ? "" : label property string _label: label.length > 1 ? label : ""
property string _index: index === 0 || index === -1 ? label.charAt(0) : index property string _index: index === 0 || index === -1 ? label.charAt(0) : index
onColorChanged: requestPaint() onColorChanged: requestPaint()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment