ViewWidget.qml 1.58 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
import QtQuick 2.2
import QtQuick.Controls 1.2
import QtQuick.Controls.Styles 1.2

import QGroundControl.Palette 1.0
import QGroundControl.Controllers 1.0

Rectangle {
	property Component connectedComponent: __componentConnected
	property Component disconnectedComponent: __componentDisconnected

	QGCPalette { id: __qgcPal; colorGroupEnabled: enabled }
	ViewWidgetController { id: __controller }

	color: __qgcPal.window

	Component.onCompleted: __controller.checkForVehicle()

	Connections {
		target: __controller

		onPluginConnected: {
			pageLoader.autopilot = autopilot
			pageLoader.sourceComponent = connectedComponent
		}

		onPluginDisconnected: {
Don Gagne's avatar
Don Gagne committed
28
            pageLoader.sourceComponent = null
29
			pageLoader.sourceComponent = disconnectedComponent
Don Gagne's avatar
Don Gagne committed
30
			pageLoader.autopilot = null
31 32 33 34 35 36 37 38 39 40 41 42 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
		}
	}

	Loader {
		id: pageLoader

		anchors.fill: parent

		property var autopilot

		sourceComponent: __componentDisconnected
	}

	Component {
		id: __componentConnected

		Rectangle {
			QGCPalette { id: __qgcPal; colorGroupEnabled: enabled }

			anchors.fill:	parent
			color:			__qgcPal.window

			QGCLabel {
				anchors.fill:	parent

				horizontalAlignment:	Text.AlignHCenter
				verticalAlignment:		Text.AlignVCenter

				text: "missing connected implementation"
			}
		}
	}

	Component {
		id: __componentDisconnected

		Rectangle {
			QGCPalette { id: __qgcPal; colorGroupEnabled: enabled }

			anchors.fill:	parent
			color:			__qgcPal.window

			QGCLabel {
				anchors.fill:	parent

				horizontalAlignment:	Text.AlignHCenter
				verticalAlignment:		Text.AlignVCenter

				text: "no vehicle connected"
			}
		}
	}
}