Newer
Older
/****************************************************************************
*
* (c) 2009-2020 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.12
import QtQuick.Controls 2.4
import QtQuick.Dialogs 1.3
import QtQuick.Layouts 1.12
import QtLocation 5.3
import QtPositioning 5.3
import QtQuick.Window 2.2
import QtQml.Models 2.1
import QGroundControl 1.0
import QGroundControl.Airspace 1.0
import QGroundControl.Airmap 1.0
import QGroundControl.Controllers 1.0
import QGroundControl.Controls 1.0
import QGroundControl.FactSystem 1.0
import QGroundControl.FlightDisplay 1.0
import QGroundControl.FlightMap 1.0
import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
import QGroundControl.Vehicle 1.0
Item {
id: _root
// These should only be used by MainRootWindow
property var planController: _planController
property var guidedController: _guidedController
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
}
property bool _mainWindowIsMap: mapControl.pipState.state === mapControl.pipState.fullState
property bool _isFullWindowItemDark: _mainWindowIsMap ? mapControl.isSatelliteMap : true
property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle
property var _missionController: _planController.missionController
property var _geoFenceController: _planController.geoFenceController
property var _rallyPointController: _planController.rallyPointController
property real _margins: ScreenTools.defaultFontPixelWidth / 2
property var _guidedController: guidedActionsController
property var _guidedActionList: guidedActionList
property var _guidedAltSlider: guidedAltSlider
property real _toolsMargin: ScreenTools.defaultFontPixelWidth * 0.75
property rect _centerViewport: Qt.rect(0, 0, width, height)
property real _rightPanelWidth: ScreenTools.defaultFontPixelWidth * 30
property var _mapControl: mapControl
property real _fullItemZorder: 0
property real _pipItemZorder: QGroundControl.zOrderWidgets
function _calcCenterViewPort() {
var newToolInset = Qt.rect(0, 0, width, height)
toolstrip.adjustToolInset(newToolInset)
if (QGroundControl.corePlugin.options.instrumentWidget) {
flightDisplayViewWidgets.adjustToolInset(newToolInset)
}
}
QGCToolInsets {
id: _toolInsets
leftEdgeBottomInset: _pipOverlay.visible ? _pipOverlay.x + _pipOverlay.width : 0
bottomEdgeLeftInset: _pipOverlay.visible ? parent.height - _pipOverlay.y : 0
}
FlyViewWidgetLayer {
id: widgetLayer
anchors.top: parent.top
anchors.bottom: parent.bottom
anchors.left: parent.left
anchors.right: guidedAltSlider.visible ? guidedAltSlider.left : parent.right
z: _fullItemZorder + 1
parentToolInsets: _toolInsets
mapControl: _mapControl
visible: !QGroundControl.videoManager.fullScreen
}
FlyViewCustomLayer {
id: customOverlay
anchors.fill: widgetLayer
z: _fullItemZorder + 2
parentToolInsets: widgetLayer.totalToolInsets
mapControl: _mapControl
visible: !QGroundControl.videoManager.fullScreen
}
GuidedActionsController {
id: guidedActionsController
missionController: _missionController
actionList: _guidedActionList
altitudeSlider: _guidedAltSlider
}
id: guidedActionConfirm
anchors.margins: _margins
anchors.bottom: parent.bottom
anchors.horizontalCenter: parent.horizontalCenter
z: QGroundControl.zOrderTopMost
guidedController: _guidedController
altitudeSlider: _guidedAltSlider
GuidedActionList {
id: guidedActionList
anchors.margins: _margins
anchors.bottom: parent.bottom
anchors.horizontalCenter: parent.horizontalCenter
z: QGroundControl.zOrderTopMost
guidedController: _guidedController
}
//-- Altitude slider
GuidedAltitudeSlider {
id: guidedAltSlider
anchors.margins: _toolsMargin
anchors.right: parent.right
anchors.top: parent.top
anchors.bottom: parent.bottom
z: QGroundControl.zOrderTopMost
radius: ScreenTools.defaultFontPixelWidth / 2
width: ScreenTools.defaultFontPixelWidth * 10
color: qgcPal.window
visible: false
}
FlyViewMap {
id: mapControl
planMasterController: _planController
rightPanelWidth: ScreenTools.defaultFontPixelHeight * 9
pipMode: !_mainWindowIsMap
toolInsets: customOverlay.totalToolInsets
}
FlyViewVideo {
id: videoControl
}
QGCPipOverlay {
id: _pipOverlay
anchors.left: parent.left
anchors.bottom: parent.bottom
anchors.margins: _toolsMargin
item1IsFullSettingsKey: "MainFlyWindowIsMap"
item1: mapControl
item2: QGroundControl.videoManager.hasVideo ? videoControl : null
fullZOrder: _fullItemZorder
pipZOrder: _pipItemZorder
show: !QGroundControl.videoManager.fullScreen
}
}