Browse Source

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

QGC4.4
Nate Weibley 9 years ago
parent
commit
2d00726c6b
  1. 2
      src/FlightMap/MapItems/MissionItemIndicator.qml
  2. 2
      src/MissionEditor/MissionItemStatus.qml
  3. 1
      src/MissionManager/ComplexMissionItem.h
  4. 1
      src/MissionManager/ComplexMissionItemTest.cc
  5. 1
      src/MissionManager/ComplexMissionItemTest.h
  6. 16
      src/MissionManager/SimpleMissionItem.cc
  7. 1
      src/MissionManager/SimpleMissionItem.h
  8. 3
      src/MissionManager/VisualMissionItem.h
  9. 2
      src/QmlControls/MissionItemEditor.qml

2
src/FlightMap/MapItems/MissionItemIndicator.qml

@ -44,7 +44,7 @@ MapQuickItem { @@ -44,7 +44,7 @@ MapQuickItem {
MissionItemIndexLabel {
id: _label
isCurrentItem: _isCurrentItem
label: sequenceNumber == 0 ? "H" : sequenceNumber
label: missionItem.abbreviation
onClicked: _item.clicked()
property bool _isCurrentItem: missionItem ? missionItem.isCurrentItem : false

2
src/MissionEditor/MissionItemStatus.qml

@ -127,7 +127,7 @@ Rectangle { @@ -127,7 +127,7 @@ Rectangle {
y: availableHeight - (availableHeight * object.altPercent)
small: true
isCurrentItem: object.isCurrentItem
label: object.homePosition ? "H" : object.sequenceNumber
label: object.abbreviation
visible: object.relativeAltitude ? true : (object.homePosition || graphAbsolute)
}

1
src/MissionManager/ComplexMissionItem.h

@ -80,6 +80,7 @@ public: @@ -80,6 +80,7 @@ public:
bool specifiesCoordinate (void) const final;
QString commandDescription (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 exitCoordinate (void) const final { return _exitCoordinate; }
int sequenceNumber (void) const final { return _sequenceNumber; }

1
src/MissionManager/ComplexMissionItemTest.cc

@ -43,6 +43,7 @@ void ComplexMissionItemTest::init(void) @@ -43,6 +43,7 @@ void ComplexMissionItemTest::init(void)
_rgComplexMissionItemSignals[azimuthChangedIndex] = SIGNAL(azimuthChanged(double));
_rgComplexMissionItemSignals[commandDescriptionChangedIndex] = SIGNAL(commandDescriptionChanged());
_rgComplexMissionItemSignals[commandNameChangedIndex] = SIGNAL(commandNameChanged());
_rgComplexMissionItemSignals[abbreviationChangedIndex] = SIGNAL(abbreviationChanged());
_rgComplexMissionItemSignals[coordinateChangedIndex] = SIGNAL(coordinateChanged(const QGeoCoordinate&));
_rgComplexMissionItemSignals[exitCoordinateChangedIndex] = SIGNAL(exitCoordinateChanged(const QGeoCoordinate&));
_rgComplexMissionItemSignals[dirtyChangedIndex] = SIGNAL(dirtyChanged(bool));

1
src/MissionManager/ComplexMissionItemTest.h

@ -62,6 +62,7 @@ private: @@ -62,6 +62,7 @@ private:
azimuthChangedIndex,
commandDescriptionChangedIndex,
commandNameChangedIndex,
abbreviationChangedIndex,
coordinateChangedIndex,
exitCoordinateChangedIndex,
dirtyChangedIndex,

16
src/MissionManager/SimpleMissionItem.cc

@ -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::commandNameChanged);
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::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)
{
_param1MetaData.setRawUnits("");

1
src/MissionManager/SimpleMissionItem.h

@ -99,6 +99,7 @@ public: @@ -99,6 +99,7 @@ public:
bool specifiesCoordinate (void) const final;
QString commandDescription (void) const final;
QString commandName (void) const final;
QString abbreviation (void) const final;
QGeoCoordinate coordinate (void) const final { return _missionItem.coordinate(); }
QGeoCoordinate exitCoordinate (void) const final { return coordinate(); }
int sequenceNumber (void) const final { return _missionItem.sequenceNumber(); }

3
src/MissionManager/VisualMissionItem.h

@ -81,6 +81,7 @@ public: @@ -81,6 +81,7 @@ public:
Q_PROPERTY(QString commandDescription READ commandDescription NOTIFY commandDescriptionChanged)
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 isCurrentItem READ isCurrentItem WRITE setIsCurrentItem NOTIFY isCurrentItemChanged)
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 QString commandDescription (void) const = 0;
virtual QString commandName (void) const = 0;
virtual QString abbreviation (void) const = 0;
virtual QGeoCoordinate coordinate (void) const = 0;
virtual QGeoCoordinate exitCoordinate (void) const = 0;
virtual int sequenceNumber (void) const = 0;
@ -140,6 +142,7 @@ signals: @@ -140,6 +142,7 @@ signals:
void azimuthChanged (double azimuth);
void commandDescriptionChanged (void);
void commandNameChanged (void);
void abbreviationChanged (void);
void coordinateChanged (const QGeoCoordinate& coordinate);
void exitCoordinateChanged (const QGeoCoordinate& exitCoordinate);
void dirtyChanged (bool dirty);

2
src/QmlControls/MissionItemEditor.qml

@ -51,7 +51,7 @@ Rectangle { @@ -51,7 +51,7 @@ Rectangle {
anchors.verticalCenter: commandPicker.verticalCenter
anchors.leftMargin: _margin
anchors.left: parent.left
text: missionItem.sequenceNumber == 0 ? "H" : missionItem.sequenceNumber
text: missionItem.abbreviation
color: _outerTextColor
}

Loading…
Cancel
Save