22 changed files with 101 additions and 156 deletions
@ -1,132 +0,0 @@ |
|||||||
/**************************************************************************** |
|
||||||
* |
|
||||||
* (c) 2009-2016 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org> |
|
||||||
* |
|
||||||
* QGroundControl is licensed according to the terms in the file |
|
||||||
* COPYING.md in the root of the source code directory. |
|
||||||
* |
|
||||||
****************************************************************************/ |
|
||||||
|
|
||||||
import QtQuick 2.3 |
|
||||||
import QtQuick.Controls 1.2 |
|
||||||
import QtLocation 5.3 |
|
||||||
import QtPositioning 5.3 |
|
||||||
|
|
||||||
import QGroundControl 1.0 |
|
||||||
import QGroundControl.ScreenTools 1.0 |
|
||||||
import QGroundControl.Palette 1.0 |
|
||||||
import QGroundControl.Controls 1.0 |
|
||||||
import QGroundControl.FlightMap 1.0 |
|
||||||
|
|
||||||
/// Mission Settings map visuals |
|
||||||
Item { |
|
||||||
id: _root |
|
||||||
|
|
||||||
property var map ///< Map control to place item in |
|
||||||
|
|
||||||
signal clicked(int sequenceNumber) |
|
||||||
|
|
||||||
property var _missionItem: object |
|
||||||
property var _itemVisual |
|
||||||
property var _dragArea |
|
||||||
property bool _itemVisualShowing: false |
|
||||||
property bool _dragAreaShowing: false |
|
||||||
|
|
||||||
function hideItemVisuals() { |
|
||||||
if (_itemVisualShowing) { |
|
||||||
_itemVisual.destroy() |
|
||||||
_itemVisualShowing = false |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
function showItemVisuals() { |
|
||||||
if (!_itemVisualShowing) { |
|
||||||
_itemVisual = indicatorComponent.createObject(map) |
|
||||||
map.addMapItem(_itemVisual) |
|
||||||
_itemVisualShowing = true |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
function hideDragArea() { |
|
||||||
if (_dragAreaShowing) { |
|
||||||
_dragArea.destroy() |
|
||||||
_dragAreaShowing = false |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
function showDragArea() { |
|
||||||
if (!_dragAreaShowing && _missionItem.specifiesCoordinate) { |
|
||||||
_dragArea = dragAreaComponent.createObject(map) |
|
||||||
_dragAreaShowing = true |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
Component.onCompleted: { |
|
||||||
showItemVisuals() |
|
||||||
if (_missionItem.isCurrentItem) { |
|
||||||
showDragArea() |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
Component.onDestruction: { |
|
||||||
hideDragArea() |
|
||||||
hideItemVisuals() |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
Connections { |
|
||||||
target: _missionItem |
|
||||||
|
|
||||||
onIsCurrentItemChanged: { |
|
||||||
if (_missionItem.isCurrentItem) { |
|
||||||
showDragArea() |
|
||||||
} else { |
|
||||||
hideDragArea() |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
// Control which is used to drag items |
|
||||||
Component { |
|
||||||
id: dragAreaComponent |
|
||||||
|
|
||||||
MissionItemIndicatorDrag { |
|
||||||
itemIndicator: _itemVisual |
|
||||||
itemCoordinate: _missionItem.coordinate |
|
||||||
|
|
||||||
onItemCoordinateChanged: _missionItem.coordinate = itemCoordinate |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
Component { |
|
||||||
id: indicatorComponent |
|
||||||
|
|
||||||
MissionItemIndicator { |
|
||||||
coordinate: _missionItem.coordinate |
|
||||||
visible: coordinate.isValid |
|
||||||
z: QGroundControl.zOrderMapItems |
|
||||||
missionItem: _missionItem |
|
||||||
|
|
||||||
onClicked: _root.clicked(_missionItem.sequenceNumber) |
|
||||||
|
|
||||||
// These are the non-coordinate child mission items attached to this item |
|
||||||
Row { |
|
||||||
anchors.top: parent.top |
|
||||||
anchors.left: parent.right |
|
||||||
|
|
||||||
Repeater { |
|
||||||
model: _missionItem.childItems |
|
||||||
|
|
||||||
delegate: MissionItemIndexLabel { |
|
||||||
label: object.abbreviation.length === 0 ? object.sequenceNumber : object.abbreviation.charAt(0) |
|
||||||
checked: object.isCurrentItem |
|
||||||
z: 2 |
|
||||||
specifiesCoordinate: false |
|
||||||
|
|
||||||
onClicked: _root.Clicked(object.sequenceNumber) |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
Loading…
Reference in new issue