From 8a4426ac72b046713e75a0716c6d0db4184eed08 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Tue, 29 Dec 2015 14:27:17 -0800 Subject: [PATCH] New FactBitmask control --- qgroundcontrol.qrc | 1 + src/FactSystem/FactControls/FactBitmask.qml | 30 ++++++++++++++++++++ src/FactSystem/FactControls/FactComboBox.qml | 2 +- src/FactSystem/FactControls/qmldir | 11 +++---- 4 files changed, 38 insertions(+), 6 deletions(-) create mode 100644 src/FactSystem/FactControls/FactBitmask.qml diff --git a/qgroundcontrol.qrc b/qgroundcontrol.qrc index cc590f610..8d3a85191 100644 --- a/qgroundcontrol.qrc +++ b/qgroundcontrol.qrc @@ -76,6 +76,7 @@ src/QmlControls/VehicleSummaryRow.qml src/ViewWidgets/ViewWidget.qml src/QmlControls/FactSliderPanel.qml + src/FactSystem/FactControls/FactBitmask.qml src/FactSystem/FactControls/FactCheckBox.qml src/FactSystem/FactControls/FactComboBox.qml src/FactSystem/FactControls/FactLabel.qml diff --git a/src/FactSystem/FactControls/FactBitmask.qml b/src/FactSystem/FactControls/FactBitmask.qml new file mode 100644 index 000000000..86203eebc --- /dev/null +++ b/src/FactSystem/FactControls/FactBitmask.qml @@ -0,0 +1,30 @@ +import QtQuick 2.5 +import QtQuick.Controls 1.2 + +import QGroundControl.FactSystem 1.0 +import QGroundControl.Palette 1.0 +import QGroundControl.Controls 1.0 +import QGroundControl.ScreenTools 1.0 + +Row { + spacing: ScreenTools.defaultFontPixelWidth + + property Fact fact: Fact { } + + Repeater { + model: fact.bitmaskStrings + + QGCCheckBox { + text: modelData + checked: fact.value & fact.bitmaskValues[index] + + onClicked: { + if (checked) { + fact.value |= fact.bitmaskValues[index] + } else { + fact.value &= ~fact.bitmaskValues[index] + } + } + } + } +} diff --git a/src/FactSystem/FactControls/FactComboBox.qml b/src/FactSystem/FactControls/FactComboBox.qml index a73488f6f..7c61bd427 100644 --- a/src/FactSystem/FactControls/FactComboBox.qml +++ b/src/FactSystem/FactControls/FactComboBox.qml @@ -18,7 +18,7 @@ QGCComboBox { if (indexModel) { fact.value = index } else { - fact.enumIndex = index + fact.value = fact.enumValues[index] } } } diff --git a/src/FactSystem/FactControls/qmldir b/src/FactSystem/FactControls/qmldir index b982d612f..a919ae3b9 100644 --- a/src/FactSystem/FactControls/qmldir +++ b/src/FactSystem/FactControls/qmldir @@ -1,7 +1,8 @@ Module QGroundControl.FactControls -FactPanel 1.0 FactPanel.qml -FactLabel 1.0 FactLabel.qml -FactTextField 1.0 FactTextField.qml -FactCheckBox 1.0 FactCheckBox.qml -FactComboBox 1.0 FactComboBox.qml \ No newline at end of file +FactBitmask 1.0 FactBitmask.qml +FactCheckBox 1.0 FactCheckBox.qml +FactComboBox 1.0 FactComboBox.qml +FactLabel 1.0 FactLabel.qml +FactPanel 1.0 FactPanel.qml +FactTextField 1.0 FactTextField.qml -- 2.22.0