Commit 2d00726c authored by Nate Weibley's avatar Nate Weibley

Add support for customizing the abbreviated representation of mission items for #3000

parent bee5eb8e
...@@ -44,7 +44,7 @@ MapQuickItem { ...@@ -44,7 +44,7 @@ MapQuickItem {
MissionItemIndexLabel { MissionItemIndexLabel {
id: _label id: _label
isCurrentItem: _isCurrentItem isCurrentItem: _isCurrentItem
label: sequenceNumber == 0 ? "H" : sequenceNumber label: missionItem.abbreviation
onClicked: _item.clicked() onClicked: _item.clicked()
property bool _isCurrentItem: missionItem ? missionItem.isCurrentItem : false property bool _isCurrentItem: missionItem ? missionItem.isCurrentItem : false
......
...@@ -127,7 +127,7 @@ Rectangle { ...@@ -127,7 +127,7 @@ Rectangle {
y: availableHeight - (availableHeight * object.altPercent) y: availableHeight - (availableHeight * object.altPercent)
small: true small: true
isCurrentItem: object.isCurrentItem isCurrentItem: object.isCurrentItem
label: object.homePosition ? "H" : object.sequenceNumber label: object.abbreviation
visible: object.relativeAltitude ? true : (object.homePosition || graphAbsolute) visible: object.relativeAltitude ? true : (object.homePosition || graphAbsolute)
} }
......
...@@ -80,6 +80,7 @@ public: ...@@ -80,6 +80,7 @@ public:
bool specifiesCoordinate (void) const final; bool specifiesCoordinate (void) const final;
QString commandDescription (void) const final { return "Survey"; } QString commandDescription (void) const final { return "Survey"; }
QString commandName (void) const final { return "Survey"; } QString commandName (void) const final { return "Survey"; }
QString abbreviation (void) const final { return "S"; }
QGeoCoordinate coordinate (void) const final { return _coordinate; } QGeoCoordinate coordinate (void) const final { return _coordinate; }
QGeoCoordinate exitCoordinate (void) const final { return _exitCoordinate; } QGeoCoordinate exitCoordinate (void) const final { return _exitCoordinate; }
int sequenceNumber (void) const final { return _sequenceNumber; } int sequenceNumber (void) const final { return _sequenceNumber; }
......
...@@ -43,6 +43,7 @@ void ComplexMissionItemTest::init(void) ...@@ -43,6 +43,7 @@ void ComplexMissionItemTest::init(void)
_rgComplexMissionItemSignals[azimuthChangedIndex] = SIGNAL(azimuthChanged(double)); _rgComplexMissionItemSignals[azimuthChangedIndex] = SIGNAL(azimuthChanged(double));
_rgComplexMissionItemSignals[commandDescriptionChangedIndex] = SIGNAL(commandDescriptionChanged()); _rgComplexMissionItemSignals[commandDescriptionChangedIndex] = SIGNAL(commandDescriptionChanged());
_rgComplexMissionItemSignals[commandNameChangedIndex] = SIGNAL(commandNameChanged()); _rgComplexMissionItemSignals[commandNameChangedIndex] = SIGNAL(commandNameChanged());
_rgComplexMissionItemSignals[abbreviationChangedIndex] = SIGNAL(abbreviationChanged());
_rgComplexMissionItemSignals[coordinateChangedIndex] = SIGNAL(coordinateChanged(const QGeoCoordinate&)); _rgComplexMissionItemSignals[coordinateChangedIndex] = SIGNAL(coordinateChanged(const QGeoCoordinate&));
_rgComplexMissionItemSignals[exitCoordinateChangedIndex] = SIGNAL(exitCoordinateChanged(const QGeoCoordinate&)); _rgComplexMissionItemSignals[exitCoordinateChangedIndex] = SIGNAL(exitCoordinateChanged(const QGeoCoordinate&));
_rgComplexMissionItemSignals[dirtyChangedIndex] = SIGNAL(dirtyChanged(bool)); _rgComplexMissionItemSignals[dirtyChangedIndex] = SIGNAL(dirtyChanged(bool));
......
...@@ -62,6 +62,7 @@ private: ...@@ -62,6 +62,7 @@ private:
azimuthChangedIndex, azimuthChangedIndex,
commandDescriptionChangedIndex, commandDescriptionChangedIndex,
commandNameChangedIndex, commandNameChangedIndex,
abbreviationChangedIndex,
coordinateChangedIndex, coordinateChangedIndex,
exitCoordinateChangedIndex, exitCoordinateChangedIndex,
dirtyChangedIndex, dirtyChangedIndex,
......
...@@ -180,6 +180,7 @@ void SimpleMissionItem::_connectSignals(void) ...@@ -180,6 +180,7 @@ void SimpleMissionItem::_connectSignals(void)
connect(&_missionItem._commandFact, &Fact::valueChanged, this, &SimpleMissionItem::setDefaultsForCommand); connect(&_missionItem._commandFact, &Fact::valueChanged, this, &SimpleMissionItem::setDefaultsForCommand);
connect(&_missionItem._commandFact, &Fact::valueChanged, this, &SimpleMissionItem::commandNameChanged); connect(&_missionItem._commandFact, &Fact::valueChanged, this, &SimpleMissionItem::commandNameChanged);
connect(&_missionItem._commandFact, &Fact::valueChanged, this, &SimpleMissionItem::commandDescriptionChanged); connect(&_missionItem._commandFact, &Fact::valueChanged, this, &SimpleMissionItem::commandDescriptionChanged);
connect(&_missionItem._commandFact, &Fact::valueChanged, this, &SimpleMissionItem::abbreviationChanged);
connect(&_missionItem._commandFact, &Fact::valueChanged, this, &SimpleMissionItem::specifiesCoordinateChanged); connect(&_missionItem._commandFact, &Fact::valueChanged, this, &SimpleMissionItem::specifiesCoordinateChanged);
connect(&_missionItem._commandFact, &Fact::valueChanged, this, &SimpleMissionItem::isStandaloneCoordinateChanged); connect(&_missionItem._commandFact, &Fact::valueChanged, this, &SimpleMissionItem::isStandaloneCoordinateChanged);
...@@ -303,6 +304,21 @@ QString SimpleMissionItem::commandName(void) const ...@@ -303,6 +304,21 @@ QString SimpleMissionItem::commandName(void) const
} }
} }
QString SimpleMissionItem::abbreviation() const
{
if (homePosition())
return QStringLiteral("H");
switch(command()) {
default:
return QString::number(sequenceNumber());
case MavlinkQmlSingleton::MAV_CMD_NAV_TAKEOFF:
return QStringLiteral("T");
case MavlinkQmlSingleton::MAV_CMD_NAV_LAND:
return QStringLiteral("L");
}
}
void SimpleMissionItem::_clearParamMetaData(void) void SimpleMissionItem::_clearParamMetaData(void)
{ {
_param1MetaData.setRawUnits(""); _param1MetaData.setRawUnits("");
......
...@@ -99,6 +99,7 @@ public: ...@@ -99,6 +99,7 @@ public:
bool specifiesCoordinate (void) const final; bool specifiesCoordinate (void) const final;
QString commandDescription (void) const final; QString commandDescription (void) const final;
QString commandName (void) const final; QString commandName (void) const final;
QString abbreviation (void) const final;
QGeoCoordinate coordinate (void) const final { return _missionItem.coordinate(); } QGeoCoordinate coordinate (void) const final { return _missionItem.coordinate(); }
QGeoCoordinate exitCoordinate (void) const final { return coordinate(); } QGeoCoordinate exitCoordinate (void) const final { return coordinate(); }
int sequenceNumber (void) const final { return _missionItem.sequenceNumber(); } int sequenceNumber (void) const final { return _missionItem.sequenceNumber(); }
......
...@@ -81,6 +81,7 @@ public: ...@@ -81,6 +81,7 @@ public:
Q_PROPERTY(QString commandDescription READ commandDescription NOTIFY commandDescriptionChanged) Q_PROPERTY(QString commandDescription READ commandDescription NOTIFY commandDescriptionChanged)
Q_PROPERTY(QString commandName READ commandName NOTIFY commandNameChanged) Q_PROPERTY(QString commandName READ commandName NOTIFY commandNameChanged)
Q_PROPERTY(QString abbreviation READ abbreviation NOTIFY abbreviationChanged)
Q_PROPERTY(bool dirty READ dirty WRITE setDirty NOTIFY dirtyChanged) ///< Item is dirty and requires save/send Q_PROPERTY(bool dirty READ dirty WRITE setDirty NOTIFY dirtyChanged) ///< Item is dirty and requires save/send
Q_PROPERTY(bool isCurrentItem READ isCurrentItem WRITE setIsCurrentItem NOTIFY isCurrentItemChanged) Q_PROPERTY(bool isCurrentItem READ isCurrentItem WRITE setIsCurrentItem NOTIFY isCurrentItemChanged)
Q_PROPERTY(int sequenceNumber READ sequenceNumber WRITE setSequenceNumber NOTIFY sequenceNumberChanged) Q_PROPERTY(int sequenceNumber READ sequenceNumber WRITE setSequenceNumber NOTIFY sequenceNumberChanged)
...@@ -118,6 +119,7 @@ public: ...@@ -118,6 +119,7 @@ public:
virtual bool specifiesCoordinate (void) const = 0; virtual bool specifiesCoordinate (void) const = 0;
virtual QString commandDescription (void) const = 0; virtual QString commandDescription (void) const = 0;
virtual QString commandName (void) const = 0; virtual QString commandName (void) const = 0;
virtual QString abbreviation (void) const = 0;
virtual QGeoCoordinate coordinate (void) const = 0; virtual QGeoCoordinate coordinate (void) const = 0;
virtual QGeoCoordinate exitCoordinate (void) const = 0; virtual QGeoCoordinate exitCoordinate (void) const = 0;
virtual int sequenceNumber (void) const = 0; virtual int sequenceNumber (void) const = 0;
...@@ -140,6 +142,7 @@ signals: ...@@ -140,6 +142,7 @@ signals:
void azimuthChanged (double azimuth); void azimuthChanged (double azimuth);
void commandDescriptionChanged (void); void commandDescriptionChanged (void);
void commandNameChanged (void); void commandNameChanged (void);
void abbreviationChanged (void);
void coordinateChanged (const QGeoCoordinate& coordinate); void coordinateChanged (const QGeoCoordinate& coordinate);
void exitCoordinateChanged (const QGeoCoordinate& exitCoordinate); void exitCoordinateChanged (const QGeoCoordinate& exitCoordinate);
void dirtyChanged (bool dirty); void dirtyChanged (bool dirty);
......
...@@ -51,7 +51,7 @@ Rectangle { ...@@ -51,7 +51,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.sequenceNumber == 0 ? "H" : missionItem.sequenceNumber text: missionItem.abbreviation
color: _outerTextColor color: _outerTextColor
} }
......
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