overte-JulianGro/tools/animedit/qml/fields/NumberArrayField.qml
2019-11-22 15:40:44 -08:00

54 lines
1.3 KiB
QML

import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 1.6
import QtQuick.Layouts 1.3
import QtQuick.Dialogs 1.0
Row {
id: row
height: 20
width: 300
anchors.left: parent.left
anchors.leftMargin: 0
anchors.right: parent.right
anchors.rightMargin: 0
property string key
property var value
property bool optional
function setValue(newValue) {
parent.fieldChanged(key, newValue);
}
Text {
id: keyText
y: 5
width: 100
text: key + ":"
font.pixelSize: 12
color: optional ? "blue" : "black"
}
TextField {
id: valueTextField
x: 100
width: 200
// first start with a regex for an array of numbers
// ^\[\s*(\d+)(\s*,\s*(\d+))*\]$|\[\s*\]
// then a regex for a floating point number
// \d+\.?\d*
// then substitue the second into the \d+ of the first, yeilding this monstrocity.
// ^\[\s*(\d+\.?\d*)(\s*,\s*(\d+\.?\d*))*\]$|\[\s*\]
//validator: RegExpValidator { regExp: /^\[\s*(\d+\.?\d*)(\s*,\s*(\d+\.?\d*))*\]$|\[\s*\]/ }
text: JSON.stringify(value)
onEditingFinished: {
value = JSON.parse(text);
setValue(value);
}
}
}