import QtQuick 2.11 import QtQuick.Controls 2.4 import QGroundControl 1.0 import QGroundControl.ScreenTools 1.0 import QGroundControl.Controls 1.0 import QGroundControl.Palette 1.0 import QGroundControl.Airmap 1.0 import QGroundControl.SettingsManager 1.0 Button { id: _root autoExclusive: false height: ScreenTools.defaultFontPixelHeight background: Rectangle { anchors.fill: parent color: _selected ? qgcPal.windowShade : qgcPal.window } property var rule: null property bool _selected: { if (autoExclusive) { return checked } else { return rule ? rule.selected : false } } onCheckedChanged: { rule.selected = checked } contentItem: Row { id: ruleRow spacing: ScreenTools.defaultFontPixelWidth anchors.right: parent.right anchors.left: parent.left anchors.verticalCenter: parent.verticalCenter Rectangle { width: ScreenTools.defaultFontPixelWidth * 0.75 height: ScreenTools.defaultFontPixelHeight color: _selected ? qgcPal.colorGreen : qgcPal.window anchors.verticalCenter: parent.verticalCenter } QGCLabel { text: rule ? (rule.name === "" ? rule.shortName : rule.name) : "" font.pointSize: ScreenTools.smallFontPointSize anchors.verticalCenter: parent.verticalCenter } } onClicked: { if (autoExclusive) { checked = true } else { rule.selected = !rule.selected } } }