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.11
import QtQuick.Controls 2.4
import QtQuick.Dialogs 1.3
import QtQuick.Layouts 1.11
import QGroundControl.Palette 1.0
import QGroundControl.Controls 1.0
import QGroundControl.ScreenTools 1.0
import QGroundControl.Controllers 1.0
import QGroundControl.FactControls 1.0
SetupPage {
id: joystickPage
pageComponent: pageComponent
pageName: qsTr("Joystick")
pageDescription: "" // qsTr("Joystick Setup is used to configure and calibrate joysticks.")
readonly property real _maxButtons: 64
readonly property real _attitudeLabelWidth: ScreenTools.defaultFontPixelWidth * 12
Connections {
target: joystickManager
onAvailableJoysticksChanged: {
if(joystickManager.joysticks.length === 0) {
summaryButton.checked = true
setupView.showSummaryPanel()
}
}
}
Component {
id: pageComponent
Item {
width: availableWidth
height: bar.height + joyLoader.height
readonly property real labelToMonitorMargin: ScreenTools.defaultFontPixelWidth * 3
property var _activeJoystick: joystickManager.activeJoystick
function setupPageCompleted() {
controller.start()
}
QGCTabBar {
id: bar
width: parent.width
Component.onCompleted: {
currentIndex = _activeJoystick && _activeJoystick.calibrated ? 0 : 2
anchors.top: parent.top
QGCTabButton {
text: qsTr("General")
QGCTabButton {
text: qsTr("Button Assigment")
QGCTabButton {
text: qsTr("Calibration")
QGCTabButton {
text: qsTr("Advanced")
property var pages: ["JoystickConfigGeneral.qml", "JoystickConfigButtons.qml", "JoystickConfigCalibration.qml", "JoystickConfigAdvanced.qml"]
Loader {
id: joyLoader
source: pages[bar.currentIndex]
width: parent.width
anchors.top: bar.bottom
}
}
}
}