Unverified Commit 6e83df06 authored by Don Gagne's avatar Don Gagne Committed by GitHub

Merge pull request #8949 from DonLakeFlyer/GuidedActionsController

Move GuidedActionsController references to global
parents a07ec8aa 2167fdb6
...@@ -32,13 +32,14 @@ import QGroundControl.Vehicle 1.0 ...@@ -32,13 +32,14 @@ import QGroundControl.Vehicle 1.0
Item { Item {
id: _root id: _root
// These should only be used by MainRootWindow
property var planController: _planController
property var guidedController: _guidedController
PlanMasterController { PlanMasterController {
id: _planController id: _planController
flyView: true flyView: true
Component.onCompleted: { Component.onCompleted: start()
start()
mainWindow.planMasterControllerFlyView = _planController
}
} }
property bool _mainWindowIsMap: mapControl.pipState.state === mapControl.pipState.fullState property bool _mainWindowIsMap: mapControl.pipState.state === mapControl.pipState.fullState
...@@ -138,12 +139,11 @@ Item { ...@@ -138,12 +139,11 @@ Item {
} }
FlyViewMap { FlyViewMap {
id: mapControl id: mapControl
guidedActionsController: _guidedController planMasterController: _planController
planMasterController: _planController rightPanelWidth: ScreenTools.defaultFontPixelHeight * 9
rightPanelWidth: ScreenTools.defaultFontPixelHeight * 9 pipMode: !_mainWindowIsMap
pipMode: !_mainWindowIsMap toolInsets: customOverlay.totalToolInsets
toolInsets: customOverlay.totalToolInsets
mapName: "FlightDisplayView" mapName: "FlightDisplayView"
} }
......
...@@ -22,13 +22,11 @@ Column { ...@@ -22,13 +22,11 @@ Column {
z: QGroundControl.zOrderWidgets z: QGroundControl.zOrderWidgets
property real availableHeight property real availableHeight
property var guidedActionsController
MultiVehiclePanel { MultiVehiclePanel {
id: multiVehiclePanel id: multiVehiclePanel
width: parent.width width: parent.width
availableHeight: parent.height - y availableHeight: parent.height - y
guidedActionsController: _root.guidedActionsController
} }
AirspaceControl { AirspaceControl {
......
...@@ -38,7 +38,6 @@ FlightMap { ...@@ -38,7 +38,6 @@ FlightMap {
isDark: _isFullWindowItemDark isDark: _isFullWindowItemDark
} }
property var guidedActionsController
property var rightPanelWidth property var rightPanelWidth
property var planMasterController property var planMasterController
property bool pipMode: false // true: map is shown in a small pip mode property bool pipMode: false // true: map is shown in a small pip mode
...@@ -433,7 +432,7 @@ FlightMap { ...@@ -433,7 +432,7 @@ FlightMap {
return _mapCircle.radius.rawValue return _mapCircle.radius.rawValue
} }
Component.onCompleted: guidedActionsController.orbitMapCircle = orbitMapCircle Component.onCompleted: mainWindow.guidedControllerFlyView.orbitMapCircle = orbitMapCircle
QGCMapCircle { QGCMapCircle {
id: _mapCircle id: _mapCircle
...@@ -503,35 +502,35 @@ FlightMap { ...@@ -503,35 +502,35 @@ FlightMap {
property var coord property var coord
QGCMenuItem { QGCMenuItem {
text: qsTr("Go to location") text: qsTr("Go to location")
visible: guidedActionsController.showGotoLocation visible: mainWindow.guidedControllerFlyView.showGotoLocation
onTriggered: { onTriggered: {
gotoLocationItem.show(clickMenu.coord) gotoLocationItem.show(clickMenu.coord)
guidedActionsController.confirmAction(guidedActionsController.actionGoto, clickMenu.coord, gotoLocationItem) mainWindow.guidedControllerFlyView.confirmAction(mainWindow.guidedControllerFlyView.actionGoto, clickMenu.coord, gotoLocationItem)
} }
} }
QGCMenuItem { QGCMenuItem {
text: qsTr("Orbit at location") text: qsTr("Orbit at location")
visible: guidedActionsController.showOrbit visible: mainWindow.guidedControllerFlyView.showOrbit
onTriggered: { onTriggered: {
orbitMapCircle.show(clickMenu.coord) orbitMapCircle.show(clickMenu.coord)
guidedActionsController.confirmAction(guidedActionsController.actionOrbit, clickMenu.coord, orbitMapCircle) mainWindow.guidedControllerFlyView.confirmAction(mainWindow.guidedControllerFlyView.actionOrbit, clickMenu.coord, orbitMapCircle)
} }
} }
QGCMenuItem { QGCMenuItem {
text: qsTr("ROI at location") text: qsTr("ROI at location")
visible: guidedActionsController.showROI visible: mainWindow.guidedControllerFlyView.showROI
onTriggered: { onTriggered: {
roiLocationItem.show(clickMenu.coord) roiLocationItem.show(clickMenu.coord)
guidedActionsController.confirmAction(guidedActionsController.actionROI, clickMenu.coord, roiLocationItem) mainWindow.guidedControllerFlyView.confirmAction(mainWindow.guidedControllerFlyView.actionROI, clickMenu.coord, roiLocationItem)
} }
} }
} }
onClicked: { onClicked: {
if (!guidedActionsController.guidedUIVisible && (guidedActionsController.showGotoLocation || guidedActionsController.showOrbit || guidedActionsController.showROI)) { if (!mainWindow.guidedControllerFlyView.guidedUIVisible && (mainWindow.guidedControllerFlyView.showGotoLocation || mainWindow.guidedControllerFlyView.showOrbit || mainWindow.guidedControllerFlyView.showROI)) {
orbitMapCircle.hide() orbitMapCircle.hide()
gotoLocationItem.hide() gotoLocationItem.hide()
var clickCoord = _root.toCoordinate(Qt.point(mouse.x, mouse.y), false /* clipToViewPort */) var clickCoord = _root.toCoordinate(Qt.point(mouse.x, mouse.y), false /* clipToViewPort */)
......
...@@ -24,7 +24,6 @@ Item { ...@@ -24,7 +24,6 @@ Item {
property var missionController property var missionController
property var geoFenceController property var geoFenceController
property var rallyPointController property var rallyPointController
property var guidedController
// The following code is used to track vehicle states for showing the mission complete dialog // The following code is used to track vehicle states for showing the mission complete dialog
property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle
...@@ -109,15 +108,15 @@ Item { ...@@ -109,15 +108,15 @@ Item {
ColumnLayout { ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
spacing: ScreenTools.defaultFontPixelHeight spacing: ScreenTools.defaultFontPixelHeight
visible: !_activeVehicle.connectionLost && guidedController.showResumeMission visible: !_activeVehicle.connectionLost && mainWindow.guidedControllerFlyView.showResumeMission
QGCButton { QGCButton {
Layout.fillWidth: true Layout.fillWidth: true
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
text: qsTr("Resume Mission From Waypoint %1").arg(guidedController._resumeMissionIndex) text: qsTr("Resume Mission From Waypoint %1").arg(mainWindow.guidedControllerFlyView._resumeMissionIndex)
onClicked: { onClicked: {
guidedController.executeAction(guidedController.actionResumeMission, null, null) mainWindow.guidedControllerFlyView.executeAction(mainWindow.guidedControllerFlyView.actionResumeMission, null, null)
hideDialog() hideDialog()
} }
} }
...@@ -134,7 +133,7 @@ Item { ...@@ -134,7 +133,7 @@ Item {
wrapMode: Text.WordWrap wrapMode: Text.WordWrap
color: qgcPal.warningText color: qgcPal.warningText
text: qsTr("If you are changing batteries for Resume Mission do not disconnect from the vehicle.") text: qsTr("If you are changing batteries for Resume Mission do not disconnect from the vehicle.")
visible: guidedController.showResumeMission visible: mainWindow.guidedControllerFlyView.showResumeMission
} }
} }
} }
......
...@@ -17,9 +17,6 @@ ToolStrip { ...@@ -17,9 +17,6 @@ ToolStrip {
id: _root id: _root
title: qsTr("Fly") title: qsTr("Fly")
property var guidedActionsController
property var guidedActionList
signal displayPreFlightChecklist signal displayPreFlightChecklist
FlyViewToolStripActionList { FlyViewToolStripActionList {
......
...@@ -13,26 +13,16 @@ import QGroundControl 1.0 ...@@ -13,26 +13,16 @@ import QGroundControl 1.0
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
ToolStripActionList { ToolStripActionList {
id: _root
signal displayPreFlightChecklist signal displayPreFlightChecklist
model: [ model: [
PreFlightCheckListShowAction { PreFlightCheckListShowAction { onTriggered: displayPreFlightChecklist() },
onTriggered: displayPreFlightChecklist() GuidedActionTakeoff { },
}, GuidedActionLand { },
GuidedActionTakeoff { GuidedActionRTL { },
guidedController: guidedActionsController GuidedActionPause { },
}, GuidedActionActionList { }
GuidedActionLand {
guidedController: guidedActionsController
},
GuidedActionRTL {
guidedController: guidedActionsController
},
GuidedActionPause {
guidedController: guidedActionsController
},
GuidedActionActionList {
guidedController: guidedActionsController
}
] ]
} }
...@@ -42,6 +42,7 @@ Item { ...@@ -42,6 +42,7 @@ Item {
property var _missionController: _planMasterController.missionController property var _missionController: _planMasterController.missionController
property var _geoFenceController: _planMasterController.geoFenceController property var _geoFenceController: _planMasterController.geoFenceController
property var _rallyPointController: _planMasterController.rallyPointController property var _rallyPointController: _planMasterController.rallyPointController
property var _guidedController: mainWindow.guidedControllerFlyView
property real _margins: ScreenTools.defaultFontPixelWidth / 2 property real _margins: ScreenTools.defaultFontPixelWidth / 2
property real _toolsMargin: ScreenTools.defaultFontPixelWidth * 0.75 property real _toolsMargin: ScreenTools.defaultFontPixelWidth * 0.75
property rect _centerViewport: Qt.rect(0, 0, width, height) property rect _centerViewport: Qt.rect(0, 0, width, height)
...@@ -67,7 +68,6 @@ Item { ...@@ -67,7 +68,6 @@ Item {
missionController: _missionController missionController: _missionController
geoFenceController: _geoFenceController geoFenceController: _geoFenceController
rallyPointController: _rallyPointController rallyPointController: _rallyPointController
guidedController: _root.guidedActionsController
} }
FlyViewInstrumentPanel { FlyViewInstrumentPanel {
...@@ -79,7 +79,6 @@ Item { ...@@ -79,7 +79,6 @@ Item {
width: _rightPanelWidth width: _rightPanelWidth
spacing: _toolsMargin spacing: _toolsMargin
visible: QGroundControl.corePlugin.options.flyView.showInstrumentPanel visible: QGroundControl.corePlugin.options.flyView.showInstrumentPanel
guidedActionsController: _guidedController
availableHeight: parent.height - y - _toolsMargin availableHeight: parent.height - y - _toolsMargin
property real rightInset: visible ? parent.width - x : 0 property real rightInset: visible ? parent.width - x : 0
...@@ -104,16 +103,14 @@ Item { ...@@ -104,16 +103,14 @@ Item {
} }
FlyViewToolStrip { FlyViewToolStrip {
id: toolStrip id: toolStrip
anchors.leftMargin: _toolsMargin + parentToolInsets.leftEdgeCenterInset anchors.leftMargin: _toolsMargin + parentToolInsets.leftEdgeCenterInset
anchors.topMargin: _toolsMargin + parentToolInsets.leftEdgeTopInset anchors.topMargin: _toolsMargin + parentToolInsets.leftEdgeTopInset
anchors.left: parent.left anchors.left: parent.left
anchors.top: parent.top anchors.top: parent.top
z: QGroundControl.zOrderWidgets z: QGroundControl.zOrderWidgets
maxHeight: parent.height - y - parentToolInsets.leftEdgeBottomInset - _toolsMargin maxHeight: parent.height - y - parentToolInsets.leftEdgeBottomInset - _toolsMargin
guidedActionsController: _guidedController visible: !QGroundControl.videoManager.fullScreen
guidedActionList: _guidedActionList
visible: !QGroundControl.videoManager.fullScreen
onDisplayPreFlightChecklist: preFlightChecklistPopup.open() onDisplayPreFlightChecklist: preFlightChecklistPopup.open()
......
...@@ -10,9 +10,9 @@ ...@@ -10,9 +10,9 @@
import QGroundControl.FlightDisplay 1.0 import QGroundControl.FlightDisplay 1.0
GuidedToolStripAction { GuidedToolStripAction {
text: guidedController.actionListTitle text: _guidedController.actionListTitle
iconSource: "/res/action.svg" iconSource: "/res/action.svg"
visible: guidedController.showActionList visible: _guidedController.showActionList
enabled: true enabled: true
actionID: guidedController.actionActionList actionID: _guidedController.actionActionList
} }
...@@ -10,10 +10,10 @@ ...@@ -10,10 +10,10 @@
import QGroundControl.FlightDisplay 1.0 import QGroundControl.FlightDisplay 1.0
GuidedToolStripAction { GuidedToolStripAction {
text: guidedController.landTitle text: _guidedController.landTitle
message: guidedController.landMessage message: _guidedController.landMessage
iconSource: "/res/land.svg" iconSource: "/res/land.svg"
visible: guidedController.showLand && !guidedController.showTakeoff visible: _guidedController.showLand && !_guidedController.showTakeoff
enabled: guidedController.showLand enabled: _guidedController.showLand
actionID: guidedController.actionLand actionID: _guidedController.actionLand
} }
...@@ -10,9 +10,9 @@ ...@@ -10,9 +10,9 @@
import QGroundControl.FlightDisplay 1.0 import QGroundControl.FlightDisplay 1.0
GuidedToolStripAction { GuidedToolStripAction {
text: guidedController.pauseTitle text: _guidedController.pauseTitle
iconSource: "/res/pause-mission.svg" iconSource: "/res/pause-mission.svg"
visible: guidedController.showPause visible: _guidedController.showPause
enabled: guidedController.showPause enabled: _guidedController.showPause
actionID: guidedController.actionPause actionID: _guidedController.actionPause
} }
...@@ -10,9 +10,9 @@ ...@@ -10,9 +10,9 @@
import QGroundControl.FlightDisplay 1.0 import QGroundControl.FlightDisplay 1.0
GuidedToolStripAction { GuidedToolStripAction {
text: guidedController.rtlTitle text: _guidedController.rtlTitle
iconSource: "/res/rtl.svg" iconSource: "/res/rtl.svg"
visible: true visible: true
enabled: guidedController.showRTL enabled: _guidedController.showRTL
actionID: guidedController.actionRTL actionID: _guidedController.actionRTL
} }
...@@ -10,9 +10,9 @@ ...@@ -10,9 +10,9 @@
import QGroundControl.FlightDisplay 1.0 import QGroundControl.FlightDisplay 1.0
GuidedToolStripAction { GuidedToolStripAction {
text: guidedController.takeoffTitle text: _guidedController.takeoffTitle
iconSource: "/res/takeoff.svg" iconSource: "/res/takeoff.svg"
visible: guidedController.showTakeoff || !guidedController.showLand visible: _guidedController.showTakeoff || !_guidedController.showLand
enabled: guidedController.showTakeoff enabled: _guidedController.showTakeoff
actionID: guidedController.actionTakeoff actionID: _guidedController.actionTakeoff
} }
...@@ -10,12 +10,13 @@ ...@@ -10,12 +10,13 @@
import QGroundControl.Controls 1.0 import QGroundControl.Controls 1.0
ToolStripAction { ToolStripAction {
property var guidedController
property int actionID property int actionID
property string message property string message
property var _guidedController: mainWindow.guidedControllerFlyView
onTriggered: { onTriggered: {
guidedActionsController.closeAll() _guidedController.closeAll()
guidedController.confirmAction(actionID) _guidedController.confirmAction(actionID)
} }
} }
...@@ -19,12 +19,11 @@ import QGroundControl.Vehicle 1.0 ...@@ -19,12 +19,11 @@ import QGroundControl.Vehicle 1.0
import QGroundControl.FlightMap 1.0 import QGroundControl.FlightMap 1.0
Item { Item {
property var guidedActionsController property real _margin: ScreenTools.defaultFontPixelWidth / 2
property real _widgetHeight: ScreenTools.defaultFontPixelHeight * 3
property real _margin: ScreenTools.defaultFontPixelWidth / 2 property color _textColor: "black"
property real _widgetHeight: ScreenTools.defaultFontPixelHeight * 3 property real _rectOpacity: 0.8
property color _textColor: "black" property var _guidedController: mainWindow.guidedControllerFlyView
property real _rectOpacity: 0.8
QGCPalette { id: qgcPal } QGCPalette { id: qgcPal }
...@@ -63,12 +62,12 @@ Item { ...@@ -63,12 +62,12 @@ Item {
QGCButton { QGCButton {
text: "Pause" text: "Pause"
onClicked: guidedActionsController.confirmAction(guidedActionsController.actionMVPause) onClicked: _guidedController.confirmAction(_guidedController.actionMVPause)
} }
QGCButton { QGCButton {
text: "Start Mission" text: "Start Mission"
onClicked: guidedActionsController.confirmAction(guidedActionsController.actionMVStartMission) onClicked: _guidedController.confirmAction(_guidedController.actionMVStartMission)
} }
} }
} }
......
...@@ -25,7 +25,6 @@ Item { ...@@ -25,7 +25,6 @@ Item {
property alias singleVehiclePanel: singleVehicleView.checked property alias singleVehiclePanel: singleVehicleView.checked
property real availableHeight property real availableHeight
property var guidedActionsController
QGCMapPalette { id: mapPal; lightColors: true } QGCMapPalette { id: mapPal; lightColors: true }
...@@ -47,11 +46,10 @@ Item { ...@@ -47,11 +46,10 @@ Item {
} }
MultiVehicleList { MultiVehicleList {
anchors.topMargin: ScreenTools.defaultFontPixelHeight / 2 anchors.topMargin: ScreenTools.defaultFontPixelHeight / 2
anchors.top: selectorRow.bottom anchors.top: selectorRow.bottom
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
width: parent.width width: parent.width
visible: !singleVehiclePanel && !QGroundControl.videoManager.fullScreen && QGroundControl.corePlugin.options.showMultiVehicleList visible: !singleVehiclePanel && !QGroundControl.videoManager.fullScreen && QGroundControl.corePlugin.options.showMultiVehicleList
guidedActionsController: _root.guidedActionsController
} }
} }
...@@ -30,6 +30,7 @@ Item { ...@@ -30,6 +30,7 @@ Item {
property var _missionController: masterController.missionController property var _missionController: masterController.missionController
property var _geoFenceController: masterController.geoFenceController property var _geoFenceController: masterController.geoFenceController
property var _rallyPointController: masterController.rallyPointController property var _rallyPointController: masterController.rallyPointController
property var _guidedController: mainWindow.guidedControllerFlyView
property var _missionLineViewComponent property var _missionLineViewComponent
property bool _isActiveVehicle: vehicle.active property bool _isActiveVehicle: vehicle.active
...@@ -42,7 +43,7 @@ Item { ...@@ -42,7 +43,7 @@ Item {
delegate: MissionItemMapVisual { delegate: MissionItemMapVisual {
map: _map map: _map
vehicle: _vehicle vehicle: _vehicle
onClicked: guidedActionsController.confirmAction(guidedActionsController.actionSetWaypoint, Math.max(object.sequenceNumber, 1)) onClicked: _guidedController.confirmAction(_guidedController.actionSetWaypoint, Math.max(object.sequenceNumber, 1))
} }
} }
......
...@@ -75,15 +75,15 @@ ApplicationWindow { ...@@ -75,15 +75,15 @@ ApplicationWindow {
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
//-- Global Scope Variables //-- Global Scope Variables
/// Current active Vehicle
property var activeVehicle: QGroundControl.multiVehicleManager.activeVehicle property var activeVehicle: QGroundControl.multiVehicleManager.activeVehicle
property string formatedMessage: activeVehicle ? activeVehicle.formatedMessage : "" property string formatedMessage: activeVehicle ? activeVehicle.formatedMessage : ""
/// Indicates usable height between toolbar and footer /// Indicates usable height between toolbar and footer
property real availableHeight: mainWindow.height - mainWindow.header.height - mainWindow.footer.height property real availableHeight: mainWindow.height - mainWindow.header.height - mainWindow.footer.height
property var currentPlanMissionItem: planMasterControllerPlanView ? planMasterControllerPlanView.missionController.currentPlanViewItem : null
property var planMasterControllerPlanView: null property var planMasterControllerPlanView: null
property var planMasterControllerFlyView: null property var currentPlanMissionItem: planMasterControllerPlanView ? planMasterControllerPlanView.missionController.currentPlanViewItem : null
property var planMasterControllerFlyView: flightView.planController
property var guidedControllerFlyView: flightView.guidedController
readonly property string navButtonWidth: ScreenTools.defaultFontPixelWidth * 24 readonly property string navButtonWidth: ScreenTools.defaultFontPixelWidth * 24
readonly property real defaultTextHeight: ScreenTools.defaultFontPixelHeight readonly property real defaultTextHeight: ScreenTools.defaultFontPixelHeight
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment