From 034898ca25fee3f33249941a645ae44e27f292df Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Sat, 5 Oct 2019 10:15:27 -0700 Subject: [PATCH] New addObject method --- src/QmlControls/QGCDynamicObjectManager.qml | 28 +++++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/src/QmlControls/QGCDynamicObjectManager.qml b/src/QmlControls/QGCDynamicObjectManager.qml index 5eb47ff20..e29bd3462 100644 --- a/src/QmlControls/QGCDynamicObjectManager.qml +++ b/src/QmlControls/QGCDynamicObjectManager.qml @@ -9,30 +9,42 @@ import QGroundControl.ScreenTools 1.0 Item { visible: false - property var rgDynamicObjects: [ ] + property var rgDynamicObjects: [ ] + property bool empty: rgDynamicObjects.length === 0 - function createObject(sourceComponent, parentObject, parentObjectIsMap) { + Component.onDestruction: destroyObjects() + + function createObject(sourceComponent, parentObject, addMapItem) { var obj = sourceComponent.createObject(parentObject) if (obj.status === Component.Error) { console.log(obj.errorString()) } rgDynamicObjects.push(obj) if (arguments.length < 3) { - parentObjectIsMap = false + addMapItem = false } - if (parentObjectIsMap) { - map.addMapItem(obj) + if (addMapItem) { + parentObject.addMapItem(obj) } return obj } - function createObjects(rgSourceComponents, parentObject, parentObjectIsMap) { + function createObjects(rgSourceComponents, parentObject, addMapItem) { if (arguments.length < 3) { - parentObjectIsMap = false + addMapItem = false } for (var i=0; i