QGCCheckBox.qml 3.21 KB
Newer Older
1 2
import QtQuick                  2.3
import QtQuick.Controls         1.2
3
import QtQuick.Controls.Styles  1.4
Don Gagne's avatar
Don Gagne committed
4

5 6
import QGroundControl.Palette       1.0
import QGroundControl.ScreenTools   1.0
Don Gagne's avatar
Don Gagne committed
7 8

CheckBox {
9
    property var __qgcPal: QGCPalette { colorGroupEnabled: enabled }
Don Gagne's avatar
Don Gagne committed
10 11 12

    style: CheckBoxStyle {
        label: Item {
13
            implicitWidth:  text.implicitWidth + 2
14
            implicitHeight: ScreenTools.implicitCheckBoxHeight
Don Gagne's avatar
Don Gagne committed
15
            baselineOffset: text.baselineOffset
16

Don Gagne's avatar
Don Gagne committed
17
            Rectangle {
18
                anchors.margins:    -1
Don Gagne's avatar
Don Gagne committed
19 20
                anchors.leftMargin: -3
                anchors.rightMargin: -3
21 22 23 24 25 26 27
                anchors.fill:       text
                visible:            control.activeFocus
                height:             6
                radius:             3
                color:              "#224f9fef"
                border.color:       "#47b"
                opacity:            0.6
Don Gagne's avatar
Don Gagne committed
28
            }
29

Don Gagne's avatar
Don Gagne committed
30
            Text {
31 32
                id:             text
                text:           control.text
33
                antialiasing:   true
34
                font.pointSize: ScreenTools.defaultFontPointSize
35 36
                font.family:    ScreenTools.normalFontFamily
                color:          control.__qgcPal.text
dogmaphobic's avatar
dogmaphobic committed
37
                anchors.verticalCenter: parent.verticalCenter
Don Gagne's avatar
Don Gagne committed
38
            }
39 40 41
        } // label

        indicator:  Item {
42
            implicitWidth:  ScreenTools.checkBoxIndicatorSize
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
            implicitHeight: implicitWidth

            Rectangle {
                anchors.fill: parent
                anchors.bottomMargin: -1
                color: "#44ffffff"
                radius: baserect.radius
            }

            Rectangle {
                id: baserect
                gradient: Gradient {
                    GradientStop {color: "#eee" ; position: 0}
                    GradientStop {color: control.pressed ? "#eee" : "#fff" ; position: 0.1}
                    GradientStop {color: "#fff" ; position: 1}
                }
                radius: ScreenTools.defaultFontPixelHeight * 0.16
                anchors.fill: parent
                border.color: control.activeFocus ? "#47b" : "#999"
            }

            Image {
                source: "/qmlimages/check.png"
                opacity: control.checkedState === Qt.Checked ? control.enabled ? 1 : 0.5 : 0
                anchors.centerIn: parent
                anchors.verticalCenterOffset: 1
                Behavior on opacity {NumberAnimation {duration: 80}}
            }

            Rectangle {
                anchors.fill: parent
                anchors.margins: Math.round(baserect.radius)
                antialiasing: true
                gradient: Gradient {
                    GradientStop {color: control.pressed ? "#555" : "#999" ; position: 0}
                    GradientStop {color: "#555" ; position: 1}
                }
                radius: baserect.radius - 1
                anchors.centerIn: parent
                anchors.alignWhenCentered: true
                border.color: "#222"
                Behavior on opacity {NumberAnimation {duration: 80}}
                opacity: control.checkedState === Qt.PartiallyChecked ? control.enabled ? 1 : 0.5 : 0
            }
        } // indicator
    } // style
Don Gagne's avatar
Don Gagne committed
89
}