12import QGroundControl.Controls
13import QGroundControl.FlyView
14import QGroundControl.FlightMap
15import QGroundControl.Viewer3D
20 readonly property bool _is3DMode: QGCViewer3DManager.displayMode === QGCViewer3DManager.View3D
22 // These should only be used by MainRootWindow
23 property var planController: _planController
24 property var guidedController: _guidedController
26 PlanMasterController {
29 Component.onCompleted: start()
32 property bool _mainWindowIsMap: mapControl.pipState.state === mapControl.pipState.fullState
33 property bool _isFullWindowItemDark: _mainWindowIsMap ? mapControl.isSatelliteMap : true
34 property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle
35 property var _missionController: _planController.missionController
36 property var _geoFenceController: _planController.geoFenceController
37 property var _rallyPointController: _planController.rallyPointController
38 property real _margins: ScreenTools.defaultFontPixelWidth / 2
39 property var _guidedController: guidedActionsController
40 property var _guidedValueSlider: guidedValueSlider
41 property var _widgetLayer: widgetLayer
42 property real _toolsMargin: ScreenTools.defaultFontPixelWidth * 0.75
43 property rect _centerViewport: Qt.rect(0, 0, width, height)
44 property real _rightPanelWidth: ScreenTools.defaultFontPixelWidth * 30
45 property var _mapControl: mapControl
46 property real _widgetMargin: ScreenTools.defaultFontPixelWidth * 0.75
48 property real _fullItemZorder: 0
49 property real _pipItemZorder: QGroundControl.zOrderWidgets
51 function _calcCenterViewPort() {
52 var newToolInset = Qt.rect(0, 0, width, height)
53 toolstrip.adjustToolInset(newToolInset)
56 function dropMainStatusIndicatorTool() {
57 toolbar.dropMainStatusIndicatorTool();
62 topEdgeLeftInset: toolbar.height
63 topEdgeCenterInset: topEdgeLeftInset
64 topEdgeRightInset: topEdgeLeftInset
65 leftEdgeBottomInset: _pipView.leftEdgeBottomInset
66 bottomEdgeLeftInset: _pipView.bottomEdgeLeftInset
75 planMasterController: _planController
76 rightPanelWidth: ScreenTools.defaultFontPixelHeight * 9
78 pipMode: !_mainWindowIsMap
79 toolInsets: customOverlay.totalToolInsets
80 mapName: "FlightDisplayView"
92 anchors.left: parent.left
93 anchors.bottom: parent.bottom
94 anchors.margins: _toolsMargin
95 item1IsFullSettingsKey: "MainFlyWindowIsMap"
97 item2: QGroundControl.videoManager.hasVideo ? videoControl : null
98 show: QGroundControl.videoManager.hasVideo && !QGroundControl.videoManager.fullScreen &&
99 (videoControl.pipState.state === videoControl.pipState.pipState || mapControl.pipState.state === mapControl.pipState.pipState)
100 z: QGroundControl.zOrderWidgets
102 property real leftEdgeBottomInset: visible ? width + anchors.margins : 0
103 property real bottomEdgeLeftInset: visible ? height + anchors.margins : 0
108 anchors.top: parent.top
109 anchors.bottom: parent.bottom
110 anchors.left: parent.left
111 anchors.right: guidedValueSlider.visible ? guidedValueSlider.left : parent.right
112 anchors.margins: _widgetMargin
113 anchors.topMargin: toolbar.height + _widgetMargin
114 z: _fullItemZorder + 2
115 parentToolInsets: _toolInsets
116 mapControl: _mapControl
117 visible: !QGroundControl.videoManager.fullScreen
122 anchors.fill: widgetLayer
123 z: _fullItemZorder + 2
124 parentToolInsets: widgetLayer.totalToolInsets
125 mapControl: _mapControl
126 visible: !QGroundControl.videoManager.fullScreen
129 // Development tool for visualizing the insets for a paticular layer, show if needed
131 id: widgetLayerInsetViewer
132 anchors.top: parent.top
133 anchors.bottom: parent.bottom
134 anchors.left: parent.left
135 anchors.right: guidedValueSlider.visible ? guidedValueSlider.left : parent.right
137 insetsToView: widgetLayer.totalToolInsets
141 GuidedActionsController {
142 id: guidedActionsController
143 missionController: _missionController
144 guidedValueSlider: _guidedValueSlider
147 //-- Guided value slider (e.g. altitude)
149 id: guidedValueSlider
150 anchors.right: parent.right
151 anchors.top: parent.top
152 anchors.bottom: parent.bottom
153 anchors.topMargin: toolbar.height
154 z: QGroundControl.zOrderTopMost
166 setSource("qrc:/qml/QGroundControl/Viewer3D/Models3D/Viewer3DModel.qml",
175 guidedValueSlider: _guidedValueSlider
176 visible: !QGroundControl.videoManager.fullScreen