SectionHeader.qml 2.07 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
    id:             _root
11 12
    anchors.left:   parent.left
    anchors.right:  parent.right
13
    height:         column.height
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
    QGCMouseArea {
        anchors.fill: parent
31

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

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

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

48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
            QGCLabel {
                id:                 label
                Layout.fillWidth:   true

                QGCColoredImage {
                    id:                     image
                    width:                  label.height / 2
                    height:                 width
                    anchors.right:          parent.right
                    anchors.verticalCenter: parent.verticalCenter
                    source:                 "/qmlimages/arrow-down.png"
                    color:                  qgcPal.text
                    visible:                !_root.checked
                }
            }

            Rectangle {
                anchors.left:   parent.left
                anchors.right:  parent.right
                height:         1
                color:          qgcPal.text
            }
70
        }
71 72
    }
}