Commit 42045439 authored by Don Gagne's avatar Don Gagne

Merge pull request #3196 from tcanabrava/bitmask_values_v2

Parameter Edit: Handle bitfields as ComboBoxes
parents ed8b6aa5 ecc9b163
......@@ -47,7 +47,18 @@ QGCViewDialog {
QGCPalette { id: qgcPal; colorGroupEnabled: true }
function accept() {
if (factCombo.visible) {
if (bitmaskEditor.visible) {
var value = 0;
for (var i = 0; i < fact.bitmaskValues.length; ++i) {
var checkbox = bitmaskEditor.itemAt(i)
if (checkbox.checked) {
value |= fact.bitmaskValues[i];
}
}
fact.value = value;
fact.valueChanged(fact.value)
}
else if (factCombo.visible) {
fact.enumIndex = factCombo.currentIndex
hideDialog()
} else {
......@@ -127,7 +138,7 @@ QGCViewDialog {
visible: _showCombo
model: fact.enumStrings
property bool _showCombo: fact.enumStrings.length != 0 && !validate
property bool _showCombo: fact.enumStrings.length != 0 && fact.bitmaskStrings.length == 0 && !validate
Component.onCompleted: {
// We can't bind directly to fact.enumIndex since that would add an unknown value
......@@ -138,6 +149,19 @@ QGCViewDialog {
}
}
Column {
spacing: ScreenTools.defaultFontPixelHeight / 2
Repeater {
id: bitmaskEditor
model: fact.bitmaskStrings
delegate : QGCCheckBox {
text : modelData
checked : fact.value & fact.bitmaskValues[index]
}
}
}
QGCLabel { text: fact.name }
Row {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment