Commit bde5c03d authored by Don Gagne's avatar Don Gagne

parent 733a6996
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#include "QGCQGeoCoordinate.h" #include "QGCQGeoCoordinate.h"
#include "PlanMasterController.h" #include "PlanMasterController.h"
#include "KML.h" #include "KML.h"
#include "QGCCorePlugin.h"
#ifndef __mobile__ #ifndef __mobile__
#include "MainWindow.h" #include "MainWindow.h"
...@@ -56,22 +57,22 @@ const char* MissionController::_jsonMavAutopilotKey = "MAV_AUTOPILOT"; ...@@ -56,22 +57,22 @@ const char* MissionController::_jsonMavAutopilotKey = "MAV_AUTOPILOT";
const int MissionController::_missionFileVersion = 2; const int MissionController::_missionFileVersion = 2;
MissionController::MissionController(PlanMasterController* masterController, QObject *parent) MissionController::MissionController(PlanMasterController* masterController, QObject *parent)
: PlanElementController (masterController, parent) : PlanElementController (masterController, parent)
, _missionManager (_managerVehicle->missionManager()) , patternFWLandingName (tr("Fixed Wing Landing"))
, _missionItemCount (0) , patternStructureScanName (tr("Structure Scan"))
, _visualItems (nullptr) , patternCorridorScanName (tr("Corridor Scan"))
, _settingsItem (nullptr) , _missionManager (_managerVehicle->missionManager())
, _firstItemsFromVehicle (false) , _missionItemCount (0)
, _itemsRequested (false) , _visualItems (nullptr)
, _inRecalcSequence (false) , _settingsItem (nullptr)
, _surveyMissionItemName (tr("Survey")) , _firstItemsFromVehicle (false)
, _fwLandingMissionItemName (tr("Fixed Wing Landing")) , _itemsRequested (false)
, _structureScanMissionItemName (tr("Structure Scan")) , _inRecalcSequence (false)
, _corridorScanMissionItemName (tr("Corridor Scan")) , _surveyMissionItemName (tr("Survey"))
, _appSettings (qgcApp()->toolbox()->settingsManager()->appSettings()) , _appSettings (qgcApp()->toolbox()->settingsManager()->appSettings())
, _progressPct (0) , _progressPct (0)
, _currentPlanViewIndex (-1) , _currentPlanViewIndex (-1)
, _currentPlanViewItem (nullptr) , _currentPlanViewItem (nullptr)
{ {
_resetMissionFlightStatus(); _resetMissionFlightStatus();
managerVehicleChanged(_managerVehicle); managerVehicleChanged(_managerVehicle);
...@@ -414,11 +415,11 @@ int MissionController::insertComplexMissionItem(QString itemName, QGeoCoordinate ...@@ -414,11 +415,11 @@ int MissionController::insertComplexMissionItem(QString itemName, QGeoCoordinate
if (itemName == _surveyMissionItemName) { if (itemName == _surveyMissionItemName) {
newItem = new SurveyComplexItem(_controllerVehicle, _flyView, QString() /* kmlFile */, _visualItems /* parent */); newItem = new SurveyComplexItem(_controllerVehicle, _flyView, QString() /* kmlFile */, _visualItems /* parent */);
newItem->setCoordinate(mapCenterCoordinate); newItem->setCoordinate(mapCenterCoordinate);
} else if (itemName == _fwLandingMissionItemName) { } else if (itemName == patternFWLandingName) {
newItem = new FixedWingLandingComplexItem(_controllerVehicle, _flyView, _visualItems /* parent */); newItem = new FixedWingLandingComplexItem(_controllerVehicle, _flyView, _visualItems /* parent */);
} else if (itemName == _structureScanMissionItemName) { } else if (itemName == patternStructureScanName) {
newItem = new StructureScanComplexItem(_controllerVehicle, _flyView, QString() /* kmlFile */, _visualItems /* parent */); newItem = new StructureScanComplexItem(_controllerVehicle, _flyView, QString() /* kmlFile */, _visualItems /* parent */);
} else if (itemName == _corridorScanMissionItemName) { } else if (itemName == patternCorridorScanName) {
newItem = new CorridorScanComplexItem(_controllerVehicle, _flyView, QString() /* kmlFile */, _visualItems /* parent */); newItem = new CorridorScanComplexItem(_controllerVehicle, _flyView, QString() /* kmlFile */, _visualItems /* parent */);
} else { } else {
qWarning() << "Internal error: Unknown complex item:" << itemName; qWarning() << "Internal error: Unknown complex item:" << itemName;
...@@ -434,9 +435,9 @@ int MissionController::insertComplexMissionItemFromKMLOrSHP(QString itemName, QS ...@@ -434,9 +435,9 @@ int MissionController::insertComplexMissionItemFromKMLOrSHP(QString itemName, QS
if (itemName == _surveyMissionItemName) { if (itemName == _surveyMissionItemName) {
newItem = new SurveyComplexItem(_controllerVehicle, _flyView, file, _visualItems); newItem = new SurveyComplexItem(_controllerVehicle, _flyView, file, _visualItems);
} else if (itemName == _structureScanMissionItemName) { } else if (itemName == patternStructureScanName) {
newItem = new StructureScanComplexItem(_controllerVehicle, _flyView, file, _visualItems); newItem = new StructureScanComplexItem(_controllerVehicle, _flyView, file, _visualItems);
} else if (itemName == _corridorScanMissionItemName) { } else if (itemName == patternCorridorScanName) {
newItem = new CorridorScanComplexItem(_controllerVehicle, _flyView, file, _visualItems); newItem = new CorridorScanComplexItem(_controllerVehicle, _flyView, file, _visualItems);
} else { } else {
qWarning() << "Internal error: Unknown complex item:" << itemName; qWarning() << "Internal error: Unknown complex item:" << itemName;
...@@ -1951,15 +1952,15 @@ QStringList MissionController::complexMissionItemNames(void) const ...@@ -1951,15 +1952,15 @@ QStringList MissionController::complexMissionItemNames(void) const
QStringList complexItems; QStringList complexItems;
complexItems.append(_surveyMissionItemName); complexItems.append(_surveyMissionItemName);
complexItems.append(_corridorScanMissionItemName); complexItems.append(patternCorridorScanName);
if (_controllerVehicle->fixedWing()) { if (_controllerVehicle->fixedWing()) {
complexItems.append(_fwLandingMissionItemName); complexItems.append(patternFWLandingName);
} }
if (_controllerVehicle->multiRotor() || _controllerVehicle->vtol()) { if (_controllerVehicle->multiRotor() || _controllerVehicle->vtol()) {
complexItems.append(_structureScanMissionItemName); complexItems.append(patternStructureScanName);
} }
return complexItems; return qgcApp()->toolbox()->corePlugin()->complexMissionItemNames(_controllerVehicle, complexItems);
} }
void MissionController::resumeMission(int resumeIndex) void MissionController::resumeMission(int resumeIndex)
......
...@@ -175,8 +175,8 @@ public: ...@@ -175,8 +175,8 @@ public:
VisualMissionItem* currentPlanViewItem (void) const; VisualMissionItem* currentPlanViewItem (void) const;
double progressPct (void) const { return _progressPct; } double progressPct (void) const { return _progressPct; }
QString surveyComplexItemName (void) const { return _surveyMissionItemName; } QString surveyComplexItemName (void) const { return _surveyMissionItemName; }
QString corridorScanComplexItemName (void) const { return _corridorScanMissionItemName; } QString corridorScanComplexItemName (void) const { return patternCorridorScanName; }
QString structureScanComplexItemName(void) const { return _structureScanMissionItemName; } QString structureScanComplexItemName(void) const { return patternStructureScanName; }
int missionItemCount (void) const { return _missionItemCount; } int missionItemCount (void) const { return _missionItemCount; }
int currentMissionIndex (void) const; int currentMissionIndex (void) const;
...@@ -194,6 +194,12 @@ public: ...@@ -194,6 +194,12 @@ public:
int batteryChangePoint (void) const { return _missionFlightStatus.batteryChangePoint; } ///< -1 for not supported, 0 for not needed int batteryChangePoint (void) const { return _missionFlightStatus.batteryChangePoint; } ///< -1 for not supported, 0 for not needed
int batteriesRequired (void) const { return _missionFlightStatus.batteriesRequired; } ///< -1 for not supported int batteriesRequired (void) const { return _missionFlightStatus.batteriesRequired; } ///< -1 for not supported
// These are the names shown in the UI for the pattern items. They are public so custom builds can remove the ones
// they don't want through the QGCCorePlugin::
QString patternFWLandingName;
QString patternStructureScanName;
QString patternCorridorScanName;
signals: signals:
void visualItemsChanged (void); void visualItemsChanged (void);
void waypointLinesChanged (void); void waypointLinesChanged (void);
...@@ -285,9 +291,6 @@ private: ...@@ -285,9 +291,6 @@ private:
bool _inRecalcSequence; bool _inRecalcSequence;
MissionFlightStatus_t _missionFlightStatus; MissionFlightStatus_t _missionFlightStatus;
QString _surveyMissionItemName; QString _surveyMissionItemName;
QString _fwLandingMissionItemName;
QString _structureScanMissionItemName;
QString _corridorScanMissionItemName;
AppSettings* _appSettings; AppSettings* _appSettings;
double _progressPct; double _progressPct;
int _currentPlanViewIndex; int _currentPlanViewIndex;
......
...@@ -139,6 +139,11 @@ public: ...@@ -139,6 +139,11 @@ public:
/// Custom builds must override to provide their own location. /// Custom builds must override to provide their own location.
virtual QString stableDownloadLocation(void) const { return QString("qgroundcontrol.com"); } virtual QString stableDownloadLocation(void) const { return QString("qgroundcontrol.com"); }
/// Returns the complex mission items to display in the Plan UI
/// @param complexMissionItemNames Default set of complex items
/// @return Complex items to be made available to user
virtual QStringList complexMissionItemNames(Vehicle* vehicle, const QStringList& complexMissionItemNames) { Q_UNUSED(vehicle); return complexMissionItemNames; }
bool showTouchAreas(void) const { return _showTouchAreas; } bool showTouchAreas(void) const { return _showTouchAreas; }
bool showAdvancedUI(void) const { return _showAdvancedUI; } bool showAdvancedUI(void) const { return _showAdvancedUI; }
void setShowTouchAreas(bool show); void setShowTouchAreas(bool show);
......
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