22 changed files with 717 additions and 731 deletions
@ -0,0 +1,32 @@ |
|||||||
|
/**************************************************************************** |
||||||
|
* |
||||||
|
* (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.3 |
||||||
|
import QtQuick.Layouts 1.2 |
||||||
|
|
||||||
|
import QGroundControl 1.0 |
||||||
|
import QGroundControl.Controls 1.0 |
||||||
|
import QGroundControl.ScreenTools 1.0 |
||||||
|
|
||||||
|
/// Camera page for Instrument Panel PageView |
||||||
|
Column { |
||||||
|
width: pageWidth |
||||||
|
spacing: ScreenTools.defaultFontPixelHeight |
||||||
|
|
||||||
|
property bool showSettingsIcon: false |
||||||
|
|
||||||
|
property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle |
||||||
|
|
||||||
|
QGCButton { |
||||||
|
anchors.horizontalCenter: parent.horizontalCenter |
||||||
|
text: qsTr("Trigger Camera") |
||||||
|
onClicked: _activeVehicle.triggerCamera() |
||||||
|
enabled: _activeVehicle |
||||||
|
} |
||||||
|
} |
@ -1,54 +0,0 @@ |
|||||||
/**************************************************************************** |
|
||||||
* |
|
||||||
* (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.3 |
|
||||||
import QtQuick.Layouts 1.2 |
|
||||||
|
|
||||||
import QGroundControl 1.0 |
|
||||||
import QGroundControl.Controls 1.0 |
|
||||||
import QGroundControl.ScreenTools 1.0 |
|
||||||
|
|
||||||
/// Camera controls used in InstrumentSwipeView |
|
||||||
QGCFlickable { |
|
||||||
id: _root |
|
||||||
height: Math.min(maxHeight, column.height) |
|
||||||
contentHeight: column.height |
|
||||||
flickableDirection: Flickable.VerticalFlick |
|
||||||
clip: true |
|
||||||
|
|
||||||
property var qgcView |
|
||||||
property color textColor |
|
||||||
property var maxHeight |
|
||||||
|
|
||||||
property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle |
|
||||||
|
|
||||||
MouseArea { |
|
||||||
anchors.fill: parent |
|
||||||
onClicked: showNextPage() |
|
||||||
} |
|
||||||
|
|
||||||
Column { |
|
||||||
id: column |
|
||||||
width: parent.width |
|
||||||
spacing: ScreenTools.defaultFontPixelHeight |
|
||||||
|
|
||||||
QGCLabel { |
|
||||||
anchors.horizontalCenter: parent.horizontalCenter |
|
||||||
color: textColor |
|
||||||
text: qsTr("Camera Controls") |
|
||||||
} |
|
||||||
|
|
||||||
QGCButton { |
|
||||||
anchors.horizontalCenter: parent.horizontalCenter |
|
||||||
text: qsTr("Trigger Camera") |
|
||||||
onClicked: _activeVehicle.triggerCamera() |
|
||||||
enabled: _activeVehicle |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
@ -0,0 +1,49 @@ |
|||||||
|
/**************************************************************************** |
||||||
|
* |
||||||
|
* (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.3 |
||||||
|
import QtQuick.Layouts 1.2 |
||||||
|
|
||||||
|
import QGroundControl 1.0 |
||||||
|
import QGroundControl.Controls 1.0 |
||||||
|
import QGroundControl.ScreenTools 1.0 |
||||||
|
|
||||||
|
/// Health page for Instrument Panel PageWidget |
||||||
|
Column { |
||||||
|
width: pageWidth |
||||||
|
|
||||||
|
property bool showSettingsIcon: false |
||||||
|
|
||||||
|
property var _unhealthySensors: QGroundControl.multiVehicleManager.activeVehicle ? QGroundControl.multiVehicleManager.activeVehicle.unhealthySensors : [ ] |
||||||
|
|
||||||
|
QGCLabel { |
||||||
|
width: parent.width |
||||||
|
horizontalAlignment: Text.AlignHCenter |
||||||
|
text: qsTr("All systems healthy") |
||||||
|
visible: healthRepeater.count == 0 |
||||||
|
} |
||||||
|
|
||||||
|
Repeater { |
||||||
|
id: healthRepeater |
||||||
|
model: _unhealthySensors |
||||||
|
|
||||||
|
Row { |
||||||
|
Image { |
||||||
|
source: "/qmlimages/Yield.svg" |
||||||
|
height: ScreenTools.defaultFontPixelHeight |
||||||
|
sourceSize.height: height |
||||||
|
fillMode: Image.PreserveAspectFit |
||||||
|
} |
||||||
|
|
||||||
|
QGCLabel { |
||||||
|
text: modelData |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -1,73 +0,0 @@ |
|||||||
/**************************************************************************** |
|
||||||
* |
|
||||||
* (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.3 |
|
||||||
import QtQuick.Layouts 1.2 |
|
||||||
|
|
||||||
import QGroundControl 1.0 |
|
||||||
import QGroundControl.Controls 1.0 |
|
||||||
import QGroundControl.ScreenTools 1.0 |
|
||||||
|
|
||||||
QGCFlickable { |
|
||||||
id: _root |
|
||||||
height: Math.min(maxHeight, healthColumn.y + healthColumn.height) |
|
||||||
contentHeight: healthColumn.y + healthColumn.height |
|
||||||
flickableDirection: Flickable.VerticalFlick |
|
||||||
clip: true |
|
||||||
|
|
||||||
property var qgcView |
|
||||||
property color textColor |
|
||||||
property var maxHeight |
|
||||||
|
|
||||||
property var unhealthySensors: QGroundControl.multiVehicleManager.activeVehicle ? QGroundControl.multiVehicleManager.activeVehicle.unhealthySensors : [ ] |
|
||||||
|
|
||||||
MouseArea { |
|
||||||
anchors.fill: parent |
|
||||||
onClicked: showNextPage() |
|
||||||
} |
|
||||||
|
|
||||||
Column { |
|
||||||
id: healthColumn |
|
||||||
width: parent.width |
|
||||||
|
|
||||||
QGCLabel { |
|
||||||
width: parent.width |
|
||||||
horizontalAlignment: Text.AlignHCenter |
|
||||||
color: textColor |
|
||||||
text: qsTr("Vehicle Health") |
|
||||||
} |
|
||||||
|
|
||||||
QGCLabel { |
|
||||||
width: parent.width |
|
||||||
horizontalAlignment: Text.AlignHCenter |
|
||||||
color: textColor |
|
||||||
text: qsTr("All systems healthy") |
|
||||||
visible: healthRepeater.count == 0 |
|
||||||
} |
|
||||||
|
|
||||||
Repeater { |
|
||||||
id: healthRepeater |
|
||||||
model: unhealthySensors |
|
||||||
|
|
||||||
Row { |
|
||||||
Image { |
|
||||||
source: "/qmlimages/Yield.svg" |
|
||||||
height: ScreenTools.defaultFontPixelHeight |
|
||||||
sourceSize.height: height |
|
||||||
fillMode: Image.PreserveAspectFit |
|
||||||
} |
|
||||||
|
|
||||||
QGCLabel { |
|
||||||
color: textColor |
|
||||||
text: modelData |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
@ -0,0 +1,153 @@ |
|||||||
|
/**************************************************************************** |
||||||
|
* |
||||||
|
* (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.3 |
||||||
|
import QtQuick.Controls 1.2 |
||||||
|
|
||||||
|
import QGroundControl.Controls 1.0 |
||||||
|
import QGroundControl.ScreenTools 1.0 |
||||||
|
import QGroundControl.FactSystem 1.0 |
||||||
|
import QGroundControl.Controllers 1.0 |
||||||
|
import QGroundControl.Palette 1.0 |
||||||
|
import QGroundControl 1.0 |
||||||
|
|
||||||
|
Rectangle { |
||||||
|
height: barRow.y + barRow.height |
||||||
|
width: pageWidth |
||||||
|
color: qgcPal.window |
||||||
|
|
||||||
|
property bool showSettingsIcon: false |
||||||
|
|
||||||
|
property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle ? QGroundControl.multiVehicleManager.activeVehicle : QGroundControl.multiVehicleManager.offlineEditingVehicle |
||||||
|
property bool _available: _activeVehicle ? !isNaN(_activeVehicle.vibration.xAxis.value) : false |
||||||
|
property real _margins: ScreenTools.defaultFontPixelWidth / 2 |
||||||
|
property real _barWidth: Math.round(ScreenTools.defaultFontPixelWidth * 3) |
||||||
|
|
||||||
|
readonly property real _barMinimum: 0.0 |
||||||
|
readonly property real _barMaximum: 90.0 |
||||||
|
readonly property real _barBadValue: 60.0 |
||||||
|
|
||||||
|
QGCPalette { id:qgcPal; colorGroupEnabled: true } |
||||||
|
|
||||||
|
QGCLabel { |
||||||
|
id: title |
||||||
|
text: qsTr("Vibe") |
||||||
|
anchors.horizontalCenter: barRow.horizontalCenter |
||||||
|
} |
||||||
|
|
||||||
|
Row { |
||||||
|
id: barRow |
||||||
|
anchors.margins: _margins |
||||||
|
anchors.top: title.bottom |
||||||
|
anchors.left: parent.left |
||||||
|
spacing: _margins |
||||||
|
|
||||||
|
Column { |
||||||
|
ProgressBar { |
||||||
|
id: xBar |
||||||
|
height: 50 |
||||||
|
orientation: Qt.Vertical |
||||||
|
minimumValue: _barMinimum |
||||||
|
maximumValue: _barMaximum |
||||||
|
value: _activeVehicle ? _activeVehicle.vibration.xAxis.value : 0 |
||||||
|
} |
||||||
|
|
||||||
|
QGCLabel { |
||||||
|
id: xBarLabel |
||||||
|
text: "X" |
||||||
|
anchors.horizontalCenter: xBar.horizontalCenter |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
Column { |
||||||
|
ProgressBar { |
||||||
|
id: yBar |
||||||
|
height: 50 |
||||||
|
orientation: Qt.Vertical |
||||||
|
minimumValue: _barMinimum |
||||||
|
maximumValue: _barMaximum |
||||||
|
value: _activeVehicle ? _activeVehicle.vibration.yAxis.value : 0 |
||||||
|
} |
||||||
|
|
||||||
|
QGCLabel { |
||||||
|
anchors.horizontalCenter: yBar.horizontalCenter |
||||||
|
text: "Y" |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
Column { |
||||||
|
ProgressBar { |
||||||
|
id: zBar |
||||||
|
height: 50 |
||||||
|
orientation: Qt.Vertical |
||||||
|
minimumValue: _barMinimum |
||||||
|
maximumValue: _barMaximum |
||||||
|
value: _activeVehicle ? _activeVehicle.vibration.zAxis.value : 0 |
||||||
|
} |
||||||
|
|
||||||
|
QGCLabel { |
||||||
|
anchors.horizontalCenter: zBar.horizontalCenter |
||||||
|
text: "Z" |
||||||
|
} |
||||||
|
} |
||||||
|
} // Row |
||||||
|
|
||||||
|
// Max vibe indication line at 60 |
||||||
|
Rectangle { |
||||||
|
anchors.topMargin: xBar.height * (1.0 - ((_barBadValue - _barMinimum) / (_barMaximum - _barMinimum))) |
||||||
|
anchors.top: barRow.top |
||||||
|
anchors.left: barRow.left |
||||||
|
anchors.right: barRow.right |
||||||
|
width: barRow.width |
||||||
|
height: 1 |
||||||
|
color: "red" |
||||||
|
} |
||||||
|
|
||||||
|
QGCLabel { |
||||||
|
id: clipLabel |
||||||
|
anchors.margins: _margins |
||||||
|
anchors.left: barRow.right |
||||||
|
anchors.right: parent.right |
||||||
|
text: qsTr("Clip count") |
||||||
|
horizontalAlignment: Text.AlignHCenter |
||||||
|
} |
||||||
|
|
||||||
|
Column { |
||||||
|
id: clipColumn |
||||||
|
anchors.top: barRow.top |
||||||
|
anchors.horizontalCenter: clipLabel.horizontalCenter |
||||||
|
|
||||||
|
QGCLabel { |
||||||
|
text: qsTr("Accel 1: ") + (_activeVehicle ? _activeVehicle.vibration.clipCount1.valueString : "") |
||||||
|
} |
||||||
|
|
||||||
|
QGCLabel { |
||||||
|
text: qsTr("Accel 2: ") + (_activeVehicle ? _activeVehicle.vibration.clipCount2.valueString : "") |
||||||
|
} |
||||||
|
|
||||||
|
QGCLabel { |
||||||
|
text: qsTr("Accel 3: ") + (_activeVehicle ? _activeVehicle.vibration.clipCount3.valueString : "") |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// Not available overlay |
||||||
|
Rectangle { |
||||||
|
anchors.fill: parent |
||||||
|
color: qgcPal.window |
||||||
|
opacity: 0.75 |
||||||
|
visible: !_available |
||||||
|
|
||||||
|
QGCLabel { |
||||||
|
anchors.fill: parent |
||||||
|
horizontalAlignment: Text.AlignHCenter |
||||||
|
verticalAlignment: Text.AlignVCenter |
||||||
|
text: qsTr("Not Available") |
||||||
|
} |
||||||
|
} |
||||||
|
} // Item |
@ -1,177 +0,0 @@ |
|||||||
/**************************************************************************** |
|
||||||
* |
|
||||||
* (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.3 |
|
||||||
import QtQuick.Controls 1.2 |
|
||||||
|
|
||||||
import QGroundControl.Controls 1.0 |
|
||||||
import QGroundControl.ScreenTools 1.0 |
|
||||||
import QGroundControl.FactSystem 1.0 |
|
||||||
import QGroundControl.Controllers 1.0 |
|
||||||
import QGroundControl.Palette 1.0 |
|
||||||
import QGroundControl 1.0 |
|
||||||
|
|
||||||
QGCFlickable { |
|
||||||
id: _root |
|
||||||
height: Math.min(maxHeight, innerItem.height) |
|
||||||
contentHeight: innerItem.height |
|
||||||
flickableDirection: Flickable.VerticalFlick |
|
||||||
clip: true |
|
||||||
|
|
||||||
property color textColor |
|
||||||
property color backgroundColor |
|
||||||
property var maxHeight |
|
||||||
|
|
||||||
property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle ? QGroundControl.multiVehicleManager.activeVehicle : QGroundControl.multiVehicleManager.offlineEditingVehicle |
|
||||||
property real _margins: ScreenTools.defaultFontPixelWidth / 2 |
|
||||||
property real _barWidth: Math.round(ScreenTools.defaultFontPixelWidth * 3) |
|
||||||
|
|
||||||
readonly property real _barMinimum: 0.0 |
|
||||||
readonly property real _barMaximum: 90.0 |
|
||||||
readonly property real _barBadValue: 60.0 |
|
||||||
|
|
||||||
QGCPalette { id:qgcPal; colorGroupEnabled: true } |
|
||||||
|
|
||||||
MouseArea { |
|
||||||
anchors.fill: parent |
|
||||||
onClicked: showNextPage() |
|
||||||
} |
|
||||||
|
|
||||||
Item { |
|
||||||
id: innerItem |
|
||||||
width: parent.width |
|
||||||
height: barRow.y + barRow.height |
|
||||||
|
|
||||||
QGCLabel { |
|
||||||
id: title |
|
||||||
color: textColor |
|
||||||
text: qsTr("Vibe") |
|
||||||
anchors.horizontalCenter: barRow.horizontalCenter |
|
||||||
} |
|
||||||
|
|
||||||
Row { |
|
||||||
id: barRow |
|
||||||
anchors.margins: _margins |
|
||||||
anchors.top: title.bottom |
|
||||||
anchors.left: parent.left |
|
||||||
spacing: _margins |
|
||||||
|
|
||||||
Column { |
|
||||||
ProgressBar { |
|
||||||
id: xBar |
|
||||||
height: 50 |
|
||||||
orientation: Qt.Vertical |
|
||||||
minimumValue: _barMinimum |
|
||||||
maximumValue: _barMaximum |
|
||||||
value: _activeVehicle ? _activeVehicle.vibration.xAxis.value : 0 |
|
||||||
} |
|
||||||
|
|
||||||
QGCLabel { |
|
||||||
id: xBarLabel |
|
||||||
color: textColor |
|
||||||
text: "X" |
|
||||||
anchors.horizontalCenter: xBar.horizontalCenter |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
Column { |
|
||||||
ProgressBar { |
|
||||||
id: yBar |
|
||||||
height: 50 |
|
||||||
orientation: Qt.Vertical |
|
||||||
minimumValue: _barMinimum |
|
||||||
maximumValue: _barMaximum |
|
||||||
value: _activeVehicle ? _activeVehicle.vibration.yAxis.value : 0 |
|
||||||
} |
|
||||||
|
|
||||||
QGCLabel { |
|
||||||
anchors.horizontalCenter: yBar.horizontalCenter |
|
||||||
color: textColor |
|
||||||
text: "Y" |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
Column { |
|
||||||
ProgressBar { |
|
||||||
id: zBar |
|
||||||
height: 50 |
|
||||||
orientation: Qt.Vertical |
|
||||||
minimumValue: _barMinimum |
|
||||||
maximumValue: _barMaximum |
|
||||||
value: _activeVehicle ? _activeVehicle.vibration.zAxis.value : 0 |
|
||||||
} |
|
||||||
|
|
||||||
QGCLabel { |
|
||||||
anchors.horizontalCenter: zBar.horizontalCenter |
|
||||||
color: textColor |
|
||||||
text: "Z" |
|
||||||
} |
|
||||||
} |
|
||||||
} // Row |
|
||||||
|
|
||||||
// Max vibe indication line at 60 |
|
||||||
Rectangle { |
|
||||||
anchors.topMargin: xBar.height * (1.0 - ((_barBadValue - _barMinimum) / (_barMaximum - _barMinimum))) |
|
||||||
anchors.top: barRow.top |
|
||||||
anchors.left: barRow.left |
|
||||||
anchors.right: barRow.right |
|
||||||
width: barRow.width |
|
||||||
height: 1 |
|
||||||
color: "red" |
|
||||||
} |
|
||||||
|
|
||||||
QGCLabel { |
|
||||||
id: clipLabel |
|
||||||
anchors.margins: _margins |
|
||||||
anchors.left: barRow.right |
|
||||||
anchors.right: parent.right |
|
||||||
color: textColor |
|
||||||
text: qsTr("Clip count") |
|
||||||
horizontalAlignment: Text.AlignHCenter |
|
||||||
} |
|
||||||
|
|
||||||
Column { |
|
||||||
id: clipColumn |
|
||||||
anchors.top: barRow.top |
|
||||||
anchors.horizontalCenter: clipLabel.horizontalCenter |
|
||||||
|
|
||||||
QGCLabel { |
|
||||||
text: qsTr("Accel 1: ") + (_activeVehicle ? _activeVehicle.vibration.clipCount1.valueString : "") |
|
||||||
color: textColor |
|
||||||
} |
|
||||||
|
|
||||||
QGCLabel { |
|
||||||
text: qsTr("Accel 2: ") + (_activeVehicle ? _activeVehicle.vibration.clipCount2.valueString : "") |
|
||||||
color: textColor |
|
||||||
} |
|
||||||
|
|
||||||
QGCLabel { |
|
||||||
text: qsTr("Accel 3: ") + (_activeVehicle ? _activeVehicle.vibration.clipCount3.valueString : "") |
|
||||||
color: textColor |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
// Not available overlay |
|
||||||
Rectangle { |
|
||||||
anchors.fill: parent |
|
||||||
color: backgroundColor |
|
||||||
opacity: 0.75 |
|
||||||
visible: _activeVehicle ? isNaN(_activeVehicle.vibration.xAxis.value) : false |
|
||||||
|
|
||||||
QGCLabel { |
|
||||||
anchors.fill: parent |
|
||||||
text: qsTr("Not Available") |
|
||||||
color: textColor |
|
||||||
horizontalAlignment: Text.AlignHCenter |
|
||||||
verticalAlignment: Text.AlignVCenter |
|
||||||
} |
|
||||||
} |
|
||||||
} // Item |
|
||||||
} // QGCFLickable |
|
@ -0,0 +1,71 @@ |
|||||||
|
import QtQuick 2.3 |
||||||
|
import QtQuick.Controls 1.2 |
||||||
|
import QtQuick.Layouts 1.2 |
||||||
|
|
||||||
|
import QGroundControl 1.0 |
||||||
|
import QGroundControl.Palette 1.0 |
||||||
|
import QGroundControl.ScreenTools 1.0 |
||||||
|
|
||||||
|
Rectangle { |
||||||
|
id: _root |
||||||
|
height: pageFlickable.y + pageFlickable.height + _margins |
||||||
|
color: qgcPal.window |
||||||
|
|
||||||
|
property var qgcView ///< QGCView to use for showing dialogs |
||||||
|
property real maxHeight ///< Maximum height that should be taken, smaller than this is ok |
||||||
|
|
||||||
|
property real _margins: ScreenTools.defaultFontPixelWidth / 2 |
||||||
|
property real _pageWidth: _root.width |
||||||
|
property var _instrumentPages: QGroundControl.corePlugin.instrumentPages |
||||||
|
|
||||||
|
QGCPalette { id:qgcPal; colorGroupEnabled: parent.enabled } |
||||||
|
|
||||||
|
QGCComboBox { |
||||||
|
id: pageCombo |
||||||
|
anchors.left: parent.left |
||||||
|
anchors.right: parent.right |
||||||
|
model: _instrumentPages |
||||||
|
textRole: "title" |
||||||
|
centeredLabel: true |
||||||
|
pointSize: ScreenTools.smallFontPointSize |
||||||
|
|
||||||
|
Image { |
||||||
|
anchors.leftMargin: _margins |
||||||
|
anchors.left: parent.left |
||||||
|
anchors.verticalCenter: parent.verticalCenter |
||||||
|
source: qgcPal.globalTheme == QGCPalette.Light ? "/res/gear-black.svg" : "/res/gear-white.svg" |
||||||
|
mipmap: true |
||||||
|
width: parent.height -(_margins * 2) |
||||||
|
sourceSize.width: width |
||||||
|
fillMode: Image.PreserveAspectFit |
||||||
|
visible: pageWidgetLoader.item.showSettingsIcon |
||||||
|
|
||||||
|
QGCMouseArea { |
||||||
|
fillItem: parent |
||||||
|
onClicked: pageWidgetLoader.item.showSettings() |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
QGCFlickable { |
||||||
|
id: pageFlickable |
||||||
|
anchors.margins: _margins |
||||||
|
anchors.top: pageCombo.bottom |
||||||
|
anchors.left: parent.left |
||||||
|
anchors.right: parent.right |
||||||
|
height: Math.min(_maxHeight, pageWidgetLoader.height) |
||||||
|
contentHeight: pageWidgetLoader.height |
||||||
|
flickableDirection: Flickable.VerticalFlick |
||||||
|
clip: true |
||||||
|
|
||||||
|
property real _maxHeight: maxHeight - y - _margins |
||||||
|
|
||||||
|
Loader { |
||||||
|
id: pageWidgetLoader |
||||||
|
source: _instrumentPages[pageCombo.currentIndex].url |
||||||
|
|
||||||
|
property var qgcView: _root.qgcView |
||||||
|
property real pageWidth: parent.width |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -1,37 +0,0 @@ |
|||||||
/****************************************************************************
|
|
||||||
* |
|
||||||
* (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. |
|
||||||
* |
|
||||||
****************************************************************************/ |
|
||||||
|
|
||||||
#pragma once |
|
||||||
|
|
||||||
#include <QObject> |
|
||||||
#include <QUrl> |
|
||||||
|
|
||||||
/// @file
|
|
||||||
/// @brief Core Plugin Interface for QGroundControl. Settings element.
|
|
||||||
/// @author Gus Grubba <mavlink@grubba.com>
|
|
||||||
|
|
||||||
class QGCSettings : public QObject |
|
||||||
{ |
|
||||||
Q_OBJECT |
|
||||||
public: |
|
||||||
QGCSettings(QString title, QUrl url, QUrl icon = QUrl()); |
|
||||||
|
|
||||||
Q_PROPERTY(QString title READ title CONSTANT) |
|
||||||
Q_PROPERTY(QUrl url READ url CONSTANT) |
|
||||||
Q_PROPERTY(QUrl icon READ icon CONSTANT) |
|
||||||
|
|
||||||
virtual QString title () { return _title; } |
|
||||||
virtual QUrl url () { return _url; } |
|
||||||
virtual QUrl icon () { return _icon; } |
|
||||||
|
|
||||||
protected: |
|
||||||
QString _title; |
|
||||||
QUrl _url; |
|
||||||
QUrl _icon; |
|
||||||
}; |
|
@ -0,0 +1,35 @@ |
|||||||
|
/****************************************************************************
|
||||||
|
* |
||||||
|
* (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. |
||||||
|
* |
||||||
|
****************************************************************************/ |
||||||
|
|
||||||
|
#pragma once |
||||||
|
|
||||||
|
#include <QObject> |
||||||
|
#include <QUrl> |
||||||
|
|
||||||
|
/// Represents a
|
||||||
|
class QmlPageInfo : public QObject |
||||||
|
{ |
||||||
|
Q_OBJECT |
||||||
|
|
||||||
|
public: |
||||||
|
QmlPageInfo(QString title, QUrl url, QUrl icon = QUrl(), QObject* parent = NULL); |
||||||
|
|
||||||
|
Q_PROPERTY(QString title READ title CONSTANT) ///< Title for page
|
||||||
|
Q_PROPERTY(QUrl url READ url CONSTANT) ///< Qml source code
|
||||||
|
Q_PROPERTY(QUrl icon READ icon CONSTANT) ///< Icon for page
|
||||||
|
|
||||||
|
virtual QString title () { return _title; } |
||||||
|
virtual QUrl url () { return _url; } |
||||||
|
virtual QUrl icon () { return _icon; } |
||||||
|
|
||||||
|
protected: |
||||||
|
QString _title; |
||||||
|
QUrl _url; |
||||||
|
QUrl _icon; |
||||||
|
}; |
Loading…
Reference in new issue