MissionItemMapVisual.qml 1.59 KB
Newer Older
1 2
/****************************************************************************
 *
3
 * (c) 2009-2020 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
4 5 6 7 8 9
 *
 * QGroundControl is licensed according to the terms in the file
 * COPYING.md in the root of the source code directory.
 *
 ****************************************************************************/

10 11 12 13
import QtQuick          2.3
import QtQuick.Controls 1.2
import QtLocation       5.3
import QtPositioning    5.3
14 15 16 17 18

import QGroundControl.ScreenTools   1.0
import QGroundControl.Palette       1.0
import QGroundControl.Controls      1.0

19
/// Mission item map visual
20 21 22
Item {
    id: _root

DonLakeFlyer's avatar
DonLakeFlyer committed
23
    property var map        ///< Map control to place item in
24 25
    property var vehicle    ///< Vehicle associated with this item
    property var interactive: true    ///< Vehicle associated with this item
26

27 28
    signal clicked(int sequenceNumber)

29
    property var _visualItem
30 31 32 33 34 35 36

    Component.onCompleted: {
        if (object.mapVisualQML) {
            var component = Qt.createComponent(object.mapVisualQML)
            if (component.status === Component.Error) {
                console.log("Error loading Qml: ", object.mapVisualQML, component.errorString())
            }
37
            _visualItem = component.createObject(map, { "map": _root.map, vehicle: _root.vehicle, 'opacity': Qt.binding(function() { return _root.opacity }), 'interactive': Qt.binding(function() { return _root.interactive }) })
38
            _visualItem.clicked.connect(_root.clicked)
39 40 41 42
        }
    }

    Component.onDestruction: {
43 44
        if (_visualItem) {
            _visualItem.destroy()
45 46 47
        }
    }
}