You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
133 lines
4.3 KiB
133 lines
4.3 KiB
/**************************************************************************** |
|
* |
|
* (c) 2009-2016 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.5 |
|
import QtQuick.Controls 1.2 |
|
import QtQuick.Dialogs 1.2 |
|
import QtQuick.Layouts 1.2 |
|
|
|
import QGroundControl.FactSystem 1.0 |
|
import QGroundControl.Palette 1.0 |
|
import QGroundControl.Controls 1.0 |
|
import QGroundControl.Controllers 1.0 |
|
import QGroundControl.ScreenTools 1.0 |
|
|
|
SetupPage { |
|
id: airframePage |
|
pageComponent: airframePageComponent |
|
|
|
property real _margins: ScreenTools.defaultFontPixelWidth |
|
property Fact _frame: controller.getParameterFact(-1, "FRAME") |
|
|
|
APMAirframeComponentController { |
|
id: controller |
|
factPanel: airframePage.viewPanel |
|
} |
|
|
|
ExclusiveGroup { |
|
id: airframeTypeExclusive |
|
} |
|
|
|
Component { |
|
id: applyRestartDialogComponent |
|
|
|
QGCViewDialog { |
|
id: applyRestartDialog |
|
|
|
Connections { |
|
target: controller |
|
onCurrentAirframeTypeChanged: { |
|
airframePicker.model = controller.currentAirframeType.airframes; |
|
} |
|
} |
|
|
|
QGCLabel { |
|
id: applyParamsText |
|
anchors.top: parent.top |
|
anchors.left: parent.left |
|
anchors.right: parent.right |
|
anchors.margins: _margins |
|
wrapMode: Text.WordWrap |
|
text: qsTr("Select your drone to load the default parameters for it. ") |
|
} |
|
|
|
Flow { |
|
anchors.margins: _margins |
|
anchors.top: applyParamsText.bottom |
|
anchors.left: parent.left |
|
anchors.right: parent.right |
|
anchors.bottom: parent.bottom |
|
spacing : _margins |
|
layoutDirection: Qt.Vertical; |
|
|
|
Repeater { |
|
id: airframePicker |
|
model: controller.currentAirframeType.airframes; |
|
|
|
delegate: QGCButton { |
|
id: btnParams |
|
width: parent.width / 2.1 |
|
height: (ScreenTools.defaultFontPixelHeight * 14) / 5 |
|
text: controller.currentAirframeType.airframes[index].name; |
|
|
|
onClicked : { |
|
controller.loadParameters(controller.currentAirframeType.airframes[index].params) |
|
hideDialog() |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
|
|
Component { |
|
id: airframePageComponent |
|
|
|
Column { |
|
width: availableWidth |
|
height: 1000 |
|
spacing: _margins |
|
|
|
RowLayout { |
|
anchors.left: parent.left |
|
anchors.right: parent.right |
|
spacing: _margins |
|
|
|
QGCLabel { |
|
font.pointSize: ScreenTools.mediumFontPointSize |
|
wrapMode: Text.WordWrap |
|
text: qsTr("Please select your airframe type") |
|
Layout.fillWidth: true |
|
} |
|
|
|
QGCButton { |
|
text: qsTr("Load common parameters") |
|
onClicked: showDialog(applyRestartDialogComponent, qsTr("Load common parameters"), qgcView.showDialogDefaultWidth, StandardButton.Close) |
|
} |
|
} |
|
|
|
Repeater { |
|
model: controller.airframeTypesModel |
|
|
|
QGCRadioButton { |
|
text: object.name |
|
checked: controller.currentAirframeType == object |
|
exclusiveGroup: airframeTypeExclusive |
|
|
|
onCheckedChanged: { |
|
if (checked) { |
|
controller.currentAirframeType = object |
|
} |
|
} |
|
} |
|
} |
|
} // Column |
|
} // Component - pageComponent |
|
} // SetupPage
|
|
|