SectionHeader.qml 1.95 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
FocusScope {
10 11
    id:     _root
    height: column.height
12

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

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

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

25
    QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
26

27 28
    QGCMouseArea {
        anchors.fill: parent
29

30 31 32
        onClicked: {
            _root.focus = true
            checked = !checked
33 34
        }

35 36 37 38
        ColumnLayout {
            id:             column
            anchors.left:   parent.left
            anchors.right:  parent.right
39

40 41 42 43
            Item {
                height:     _sectionSpacer
                width:      1
                visible:    showSpacer
44 45
            }

46
            QGCLabel {
47 48
                id:                 label
                Layout.fillWidth:   true
49 50 51

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

            Rectangle {
63 64 65
                Layout.fillWidth:   true
                height:             1
                color:              qgcPal.text
66
            }
67
        }
68 69
    }
}