22 changed files with 717 additions and 731 deletions
@ -0,0 +1,32 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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