diff --git a/qgroundcontrol.qrc b/qgroundcontrol.qrc
index e669249c141bbfb5703957859c40454cd696fa3e..c0ddbc6d91d7de554bc1b78c604cb9e9c7479e2d 100644
--- a/qgroundcontrol.qrc
+++ b/qgroundcontrol.qrc
@@ -227,7 +227,7 @@
src/WimaView/CoordinateIndicator.qml
src/WimaView/WimaJoinedAreaMapVisual.qml
src/WimaView/WimaCorridorEditor.qml
- src/FlightMap/MapItems/WimaPlanMapItems.qml
+ src/FlightMap/MapItems/WimaPlanMapItems.qml
src/Settings/APMMavlinkStreamRate.SettingsGroup.json
diff --git a/src/FlightDisplay/FlightDisplayViewMap.qml b/src/FlightDisplay/FlightDisplayViewMap.qml
index c3060d00b0470983741d5b55dca624079a53aba7..e03096290fff2519fe2a616701829af40ad07230 100644
--- a/src/FlightDisplay/FlightDisplayViewMap.qml
+++ b/src/FlightDisplay/FlightDisplayViewMap.qml
@@ -210,13 +210,11 @@ FlightMap {
}
// Add mission items generated by wima planer to the map
- PlanMapItems {
+ WimaPlanMapItems {
map: flightMap
largeMapView: _mainIsMap
- masterController: masterController
- isActiveVehicle: _vehicle.active
-
- property var _vehicle: object
+ wimaController: flightMap.wimaController
+ z: 1000
}
// Add trajectory points to the map
diff --git a/src/FlightMap/MapItems/WimaPlanMapItems.qml b/src/FlightMap/MapItems/WimaPlanMapItems.qml
index e25dcbd1ec2e6421daf40421bbbe7d37964decaa..18dcbd21a17a83f36e5264a549c75a81a7c296e7 100644
--- a/src/FlightMap/MapItems/WimaPlanMapItems.qml
+++ b/src/FlightMap/MapItems/WimaPlanMapItems.qml
@@ -16,20 +16,19 @@ import QGroundControl.Controls 1.0
import QGroundControl.FlightMap 1.0
// Adds visual items generated by wima planer to the map.
-// Currently only used by Fly View even though it's called PlanMapItems!
Item {
id: _root
property var map ///< Map control to show items on
property bool largeMapView ///< true: map takes up entire view, false: map is in small window
- property var wimaController value
+ property var wimaController
- property var _map: map
+ property var _map: map
property var _missionLineViewComponent
// Add the mission item visuals to the map
Repeater {
- model: largeMapView ? _missionController.visualItems : 0
+ model: largeMapView ? wimaController.missionItems : 0
delegate: MissionItemMapVisual {
map: _map
@@ -40,8 +39,17 @@ Item {
}
}
}
+
+ /*onItemAdded: {
+ console.log(wimaController.missionItems.count)
+ }
+
+ onItemRemoved: {
+ console.log(wimaController.missionItems.count)
+ }*/
}
+
Component.onCompleted: {
_missionLineViewComponent = missionLineViewComponent.createObject(map)
if (_missionLineViewComponent.status === Component.Error)
@@ -60,7 +68,7 @@ Item {
line.width: 3
line.color: "#be781c" // Hack, can't get palette to work in here
z: QGroundControl.zOrderWaypointLines
- path: _missionController.waypointPath
+ path: undefined //wimaController.waypointPath
}
}
}
diff --git a/src/FlightMap/qmldir b/src/FlightMap/qmldir
index d7b3ba36b4badb4963e6926fa6f40149c974facf..e28a6d73cc6d13bc4bc2dd4b21958a5ec5d5dbf0 100644
--- a/src/FlightMap/qmldir
+++ b/src/FlightMap/qmldir
@@ -25,5 +25,6 @@ MissionItemIndicatorDrag 1.0 MissionItemIndicatorDrag.qml
MissionItemView 1.0 MissionItemView.qml
MissionLineView 1.0 MissionLineView.qml
PlanMapItems 1.0 PlanMapItems.qml
+WimaPlanMapItems 1.0 WimaPlanMapItems.qml
PolygonEditor 1.0 PolygonEditor.qml
VehicleMapItem 1.0 VehicleMapItem.qml
diff --git a/src/Wima/WimaController.cc b/src/Wima/WimaController.cc
index b8ccf8c8d92e318e5283041b50923e7ce8bae98a..a6e855ef5915753bf8b1c794d669e7f08e664513 100644
--- a/src/Wima/WimaController.cc
+++ b/src/Wima/WimaController.cc
@@ -204,6 +204,11 @@ void WimaController::containerDataValidChanged(bool valid)
break;
}
+#ifdef QT_DEBUG
+ //qWarning("containerDataValidChanged(): count:");
+ //qWarning() << planData.missionItems().count();
+#endif
+
QList tempMissionItems = planData.missionItems();
for (auto missionItem : tempMissionItems)
@@ -220,6 +225,11 @@ void WimaController::containerDataValidChanged(bool valid)
emit visualItemsChanged();
emit missionItemsChanged();
+
+#ifdef QT_DEBUG
+ //qWarning("Mission Items count: ");
+ //qWarning() << _missionItems.count();
+#endif
}
diff --git a/src/Wima/WimaController.h b/src/Wima/WimaController.h
index 0d7fc5f0d29d6cb32aa7cb221ed594426029299f..95079d50383eec8a51c42f5d1808f19df180fbf2 100644
--- a/src/Wima/WimaController.h
+++ b/src/Wima/WimaController.h
@@ -105,6 +105,6 @@ private:
WimaServiceAreaData _serviceArea; // area for supplying
WimaCorridorData _corridor; // corridor connecting opArea and serArea
bool _localPlanDataValid;
- QmlObjectListModel _missionItems;
+ QmlObjectListModel _missionItems; // all mission itmes generaded by wimaPlaner, displayed in flightView
};
diff --git a/src/Wima/WimaPlanData.cc b/src/Wima/WimaPlanData.cc
index 69ffd06c22c0b6cac31e70a18c7117394be81753..b379f4eb573d48bf9c166618f9f2712f71a81518 100644
--- a/src/Wima/WimaPlanData.cc
+++ b/src/Wima/WimaPlanData.cc
@@ -20,10 +20,12 @@ WimaPlanData::WimaPlanData(const WimaPlanData &other, QObject *parent)
*/
WimaPlanData &WimaPlanData::operator=(const WimaPlanData &other)
{
+ // copy wima areas
QList areaList = other.areaList();
_areaList.clear();
for (int i = 0; i < areaList.size(); i++) {
const WimaAreaData *areaData = areaList[i];
+ // determine area type and append
if (areaData->type() == WimaJoinedAreaData::typeString) {
this->append(*qobject_cast(areaData));
}else if (areaData->type() == WimaServiceAreaData::typeString) {
@@ -35,6 +37,9 @@ WimaPlanData &WimaPlanData::operator=(const WimaPlanData &other)
}
}
+ // copy mission items
+ _missionItems = other.missionItems();
+
return *this;
}