ViewWidget.qml 1.53 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 28 29 30 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
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: {
			pageLoader.sourceComponent = disconnectedComponent
			pageLoader.autopilot = {}
		}
	}

	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"
			}
		}
	}
}