QGCRadioButton.qml 2.42 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

RadioButton {
Don Gagne's avatar
Don Gagne committed
9 10 11 12
    property var    color:          qgcPal.text    ///< Text color
    property int    textStyle:      Text.Normal
    property color  textStyleColor: qgcPal.text
    property var    qgcPal:         QGCPalette { colorGroupEnabled: enabled }
Don Gagne's avatar
Don Gagne committed
13 14 15

    style: RadioButtonStyle {
        label: Item {
dogmaphobic's avatar
dogmaphobic committed
16
            implicitWidth:          text.implicitWidth + ScreenTools.defaultFontPixelWidth * 0.25
17
            implicitHeight:         ScreenTools.implicitRadioButtonHeight
dogmaphobic's avatar
dogmaphobic committed
18
            baselineOffset:         text.y + text.baselineOffset
19

Don Gagne's avatar
Don Gagne committed
20
            Rectangle {
dogmaphobic's avatar
dogmaphobic committed
21 22
                anchors.fill:       text
                anchors.margins:    -1
Don Gagne's avatar
Don Gagne committed
23
                anchors.leftMargin: -3
dogmaphobic's avatar
dogmaphobic committed
24 25 26 27 28 29 30
                anchors.rightMargin:-3
                visible:            control.activeFocus
                height:             ScreenTools.defaultFontPixelWidth * 0.25
                radius:             height * 0.5
                color:              "#224f9fef"
                border.color:       "#47b"
                opacity:            0.6
Don Gagne's avatar
Don Gagne committed
31
            }
32

Don Gagne's avatar
Don Gagne committed
33
            Text {
dogmaphobic's avatar
dogmaphobic committed
34 35 36 37 38
                id:                 text
                text:               control.text
                font.pointSize:     ScreenTools.defaultFontPointSize
                font.family:        ScreenTools.normalFontFamily
                antialiasing:       true
Don Gagne's avatar
Don Gagne committed
39
                color:              control.color
40 41
                style:              control.textStyle
                styleColor:         control.textStyleColor
dogmaphobic's avatar
dogmaphobic committed
42
                anchors.centerIn:   parent
Don Gagne's avatar
Don Gagne committed
43 44
            }
        }
45 46 47 48

        indicator: Rectangle {
            width:          ScreenTools.radioButtonIndicatorSize
            height:         width
Don Gagne's avatar
Don Gagne committed
49 50
            color:          "white"
            border.color:   control.qgcPal.text
51 52 53 54 55 56 57 58
            antialiasing:   true
            radius:         height / 2

            Rectangle {
                anchors.centerIn:   parent
                width:              Math.round(parent.width * 0.5)
                height:             width
                antialiasing:       true
Don Gagne's avatar
Don Gagne committed
59 60
                radius:             height / 2
                color:              "black"
61 62 63
                opacity:            control.checked ? (control.enabled ? 1 : 0.5) : 0
            }
        }
Don Gagne's avatar
Don Gagne committed
64 65
    }
}