Skip to content
Snippets Groups Projects
RuleSelector.qml 1.79 KiB
Newer Older
  • Learn to ignore specific revisions
  • 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
            }
        }
    }