Browse Source

More work on QGCView

QGC4.4
Don Gagne 10 years ago
parent
commit
2a9db76ee1
  1. 1
      qgroundcontrol.qrc
  2. 16
      src/AutoPilotPlugins/PX4/AirframeComponent.qml
  3. 38
      src/QmlControls/QGCView.qml
  4. 41
      src/QmlControls/QGCViewMessage.qml
  5. 3
      src/QmlControls/QGCViewPanel.qml
  6. 1
      src/QmlControls/qmldir

1
qgroundcontrol.qrc

@ -36,6 +36,7 @@ @@ -36,6 +36,7 @@
<file alias="QGroundControl/Controls/QGCView.qml">src/QmlControls/QGCView.qml</file>
<file alias="QGroundControl/Controls/QGCViewPanel.qml">src/QmlControls/QGCViewPanel.qml</file>
<file alias="QGroundControl/Controls/QGCViewDialog.qml">src/QmlControls/QGCViewDialog.qml</file>
<file alias="QGroundControl/Controls/QGCViewMessage.qml">src/QmlControls/QGCViewMessage.qml</file>
<file alias="QGroundControl/Controls/ParameterEditor.qml">src/QmlControls/ParameterEditor.qml</file>

16
src/AutoPilotPlugins/PX4/AirframeComponent.qml

@ -64,8 +64,12 @@ QGCView { @@ -64,8 +64,12 @@ QGCView {
Component {
id: customConfigDialogComponent
QGCViewDialog {
id: customConfigDialog
QGCViewMessage {
id: customConfigDialog
message: "Your vehicle is using a custom airframe configuration. " +
"This configuration can only be modified through the Parameter Editor.\n\n" +
"If you want to Reset your airframe configuration and select a standard configuration, click 'Reset' above."
Fact { id: sys_autostart; name: "SYS_AUTOSTART" }
@ -73,14 +77,6 @@ QGCView { @@ -73,14 +77,6 @@ QGCView {
sys_autostart.value = 0
customConfigDialog.hideDialog()
}
QGCLabel {
anchors.fill: parent
wrapMode: Text.WordWrap
text: "Your vehicle is using a custom airframe configuration. " +
"This configuration can only be modified through the Parameter Editor.\n\n" +
"If you want to Reset your airframe configuration and select a standard configuration, click 'Reset' above."
}
}
}

38
src/QmlControls/QGCView.qml

@ -44,11 +44,9 @@ Item { @@ -44,11 +44,9 @@ Item {
/// to go.
signal completed
function __showDialog(component, title, charWidth, buttons) {
function __setupDialogButtons(buttons) {
__acceptButton.visible = false
__rejectButton.visible = false
__dialogCharWidth = charWidth
__dialogTitle = title
// Accept role buttons
if (buttons & StandardButton.Ok) {
@ -106,12 +104,31 @@ Item { @@ -106,12 +104,31 @@ Item {
__rejectButton.text = "Abort"
__rejectButton.visible = true
}
}
function __showDialog(component, title, charWidth, buttons) {
__dialogCharWidth = charWidth
__dialogTitle = title
__setupDialogButtons(buttons)
__dialogComponent = component
__viewPanel.enabled = false
__dialogOverlay.visible = true
}
function __showMessage(title, message, buttons) {
__dialogCharWidth = 50
__dialogTitle = title
__messageDialogText = message
__setupDialogButtons(buttons)
__dialogComponent = __messageDialog
__viewPanel.enabled = false
__dialogOverlay.visible = true
}
function __hideDialog() {
__dialogComponent = null
__viewPanel.enabled = true
@ -130,6 +147,8 @@ Item { @@ -130,6 +147,8 @@ Item {
/// The title for the dialog panel
property string __dialogTitle
property string __messageDialogText
property Component __dialogComponent
Component.onCompleted: completed()
@ -137,8 +156,9 @@ Item { @@ -137,8 +156,9 @@ Item {
Connections {
target: __viewPanel.item
onShowDialog: __showDialog(component, title, charWidth, buttons)
onHideDialog: __hideDialog()
onShowDialog: __showDialog(component, title, charWidth, buttons)
onShowMessage: __showMessage(title, message, buttons)
onHideDialog: __hideDialog()
}
Connections {
@ -230,4 +250,12 @@ Item { @@ -230,4 +250,12 @@ Item {
}
} // Rectangle - Dialog panel
} // Item - Dialog overlay
Component {
id: __messageDialog
QGCViewMessage {
message: __messageDialogText
}
}
}

41
src/QmlControls/QGCViewMessage.qml

@ -0,0 +1,41 @@ @@ -0,0 +1,41 @@
/*=====================================================================
QGroundControl Open Source Ground Control Station
(c) 2009 - 2015 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
This file is part of the QGROUNDCONTROL project
QGROUNDCONTROL is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
QGROUNDCONTROL is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with QGROUNDCONTROL. If not, see <http://www.gnu.org/licenses/>.
======================================================================*/
/// @file
/// @author Don Gagne <don@thegagnes.com>
import QtQuick 2.3
import QtQuick.Controls 1.3
import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0
QGCViewDialog {
property string message
QGCLabel {
anchors.fill: parent
wrapMode: Text.WordWrap
text: message
}
}

3
src/QmlControls/QGCViewPanel.qml

@ -31,10 +31,11 @@ import QGroundControl.Palette 1.0 @@ -31,10 +31,11 @@ import QGroundControl.Palette 1.0
import QGroundControl.Controls 1.0
Rectangle {
QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
property QGCPalette qgcPal: QGCPalette { colorGroupEnabled: enabled }
signal showDialog(Component component, string title, int charWidth, int buttons)
signal hideDialog
signal showMessage(string title, string message, int buttons)
color: qgcPal.window
}

1
src/QmlControls/qmldir

@ -20,4 +20,5 @@ ViewWidget 1.0 ViewWidget.qml @@ -20,4 +20,5 @@ ViewWidget 1.0 ViewWidget.qml
QGCView 1.0 QGCView.qml
QGCViewPanel 1.0 QGCViewPanel.qml
QGCViewDialog 1.0 QGCViewDialog.qml
QGCViewMessage 1.0 QGCViewMessage.qml

Loading…
Cancel
Save