Browse Source

Validation support

QGC4.4
Don Gagne 10 years ago
parent
commit
5b65318aab
  1. 36
      src/FactSystem/FactControls/FactTextField.qml
  2. 3
      src/QmlControls/QGCView.qml

36
src/FactSystem/FactControls/FactTextField.qml

@ -1,14 +1,44 @@ @@ -1,14 +1,44 @@
import QtQuick 2.2
import QtQuick.Controls 1.2
import QtQuick.Controls.Styles 1.2
import QtQuick.Dialogs 1.2
import QGroundControl.FactSystem 1.0
import QGroundControl.Palette 1.0
import QGroundControl.Controls 1.0
QGCTextField {
property Fact fact: null
text: fact.valueString
id: _textField
property Fact fact: null
property string _validateString
text: fact.valueString
unitsLabel: fact.units
onEditingFinished: fact.value = text
onEditingFinished: {
if (qgcView) {
var errorString = fact.validate(text, false /* convertOnly */)
if (errorString == "") {
fact.value = text
} else {
_validateString = text
qgcView.showDialog(editorDialogComponent, "Invalid Parameter Value", 50, StandardButton.Save)
}
} else {
fact.value = text
fact.valueChanged(fact.value)
}
}
Component {
id: editorDialogComponent
ParameterEditorDialog {
validate: true
validateValue: _validateString
fact: _textField.fact
}
}
}

3
src/QmlControls/QGCView.qml

@ -37,7 +37,8 @@ import QGroundControl.FactControls 1.0 @@ -37,7 +37,8 @@ import QGroundControl.FactControls 1.0
FactPanel {
id: __rootItem
property bool completedSignalled: false
property var qgcView: __rootItem /// Used by Fact controls for validation dialogs
property bool completedSignalled: false
property var viewPanel

Loading…
Cancel
Save