SectionHeader.qml 1.61 KB
Newer Older
1 2 3 4 5 6 7
import QtQuick          2.3
import QtQuick.Controls 1.2
import QtQuick.Layouts  1.2

import QGroundControl.ScreenTools   1.0
import QGroundControl.Palette       1.0

8 9
QGCMouseArea {
    id:             _root
10 11
    anchors.left:   parent.left
    anchors.right:  parent.right
12 13
    height:         column.height
    onClicked:      checked = !checked
14

15 16 17 18
    property alias          text:           label.text
    property bool           checked:        true
    property bool           showSpacer:     true
    property ExclusiveGroup exclusiveGroup: null
19

20 21 22 23 24 25
    property real   _sectionSpacer: ScreenTools.defaultFontPixelWidth / 2  // spacing between section headings

    onExclusiveGroupChanged: {
        if (exclusiveGroup)
            exclusiveGroup.bindCheckable(_root)
    }
26

27
    QGCPalette { id: qgcPal; colorGroupEnabled: true }
28

29 30
    ColumnLayout {
        id:             column
31 32
        anchors.left:   parent.left
        anchors.right:  parent.right
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57

        Item {
            height:     _sectionSpacer
            width:      1
            visible:    showSpacer
        }

        QGCLabel {
            id:                 label
            Layout.fillWidth:   true

            Image {
                anchors.right:          parent.right
                anchors.verticalCenter: parent.verticalCenter
                source:                 "/qmlimages/arrow-down.png"
                visible:                !_root.checked
            }
        }

        Rectangle {
            anchors.left:   parent.left
            anchors.right:  parent.right
            height:         1
            color:          qgcPal.text
        }
58 59
    }
}