SectionHeader.qml 2.01 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
    property alias          color:          label.color
14 15 16 17
    property alias          text:           label.text
    property bool           checked:        true
    property bool           showSpacer:     true
    property ExclusiveGroup exclusiveGroup: null
18

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

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

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

28 29
    QGCMouseArea {
        anchors.fill: parent
30

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

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

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

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

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

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