MissionItemMapVisual.qml 1.59 KB
Newer Older
1 2
/****************************************************************************
 *
Gus Grubba's avatar
Gus Grubba committed
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 19

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


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

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

28 29
    signal clicked(int sequenceNumber)

30
    property var _visualItem
31 32 33 34 35 36 37

    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())
            }
38
            _visualItem = component.createObject(map, { "map": _root.map, vehicle: _root.vehicle, 'opacity': Qt.binding(function() { return _root.opacity }), 'interactive': Qt.binding(function() { return _root.interactive }) })
39
            _visualItem.clicked.connect(_root.clicked)
40 41 42 43
        }
    }

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