SectionHeader.qml 1.84 KB
Newer Older
1 2 3
import QtQuick          2.3
import QtQuick.Controls 1.2
import QtQuick.Layouts  1.2
4
import QtGraphicalEffects 1.0
5 6 7 8

import QGroundControl.ScreenTools   1.0
import QGroundControl.Palette       1.0

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

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

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

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

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

30 31
    ColumnLayout {
        id:             column
32 33
        anchors.left:   parent.left
        anchors.right:  parent.right
34 35 36 37 38 39 40 41 42 43 44

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

        QGCLabel {
            id:                 label
            Layout.fillWidth:   true

45 46 47 48
            QGCColoredImage {
                id:                     image
                width:                  label.height / 2
                height:                 width
49 50 51
                anchors.right:          parent.right
                anchors.verticalCenter: parent.verticalCenter
                source:                 "/qmlimages/arrow-down.png"
52
                color:                  qgcPal.text
53 54 55 56 57 58 59 60 61 62
                visible:                !_root.checked
            }
        }

        Rectangle {
            anchors.left:   parent.left
            anchors.right:  parent.right
            height:         1
            color:          qgcPal.text
        }
63 64
    }
}