Skip to content
RuleSelector.qml 1.79 KiB
Newer Older
import QtQuick                      2.11
import QtQuick.Controls             2.4
Gus Grubba's avatar
Gus Grubba committed

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

    height:                     ScreenTools.defaultFontPixelHeight
    background: Rectangle {
        anchors.fill:           parent
        color:                  _selected ? qgcPal.windowShade : qgcPal.window
    }
    property var    rule:       null
    property bool   _selected: {
            return checked
        } else {
            return rule ? rule.selected : false
        }
    }
    onCheckedChanged: {
        rule.selected = checked
    }
Gus Grubba's avatar
Gus Grubba committed
        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
Gus Grubba's avatar
Gus Grubba committed
            anchors.verticalCenter: parent.verticalCenter
        }
        QGCLabel {
            text:           rule ? (rule.name === "" ? rule.shortName : rule.name) : ""
Gus Grubba's avatar
Gus Grubba committed
            font.pointSize: ScreenTools.smallFontPointSize
            anchors.verticalCenter: parent.verticalCenter
        }
    }
    onClicked: {
        if (autoExclusive) {
            checked = true
        } else {
            rule.selected = !rule.selected
Gus Grubba's avatar
Gus Grubba committed
        }
    }
}