SubMenuButton.qml 2.64 KB
Newer Older
1 2
import QtQuick                  2.7
import QtQuick.Controls         2.1
3 4
import QtQuick.Controls.Styles  1.2
import QtGraphicalEffects       1.0
5

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

Button {
10
    id: _rootButton
11 12 13
    property bool   setupComplete:  true                                    ///< true: setup complete indicator shows as completed
    property bool   setupIndicator: true                                    ///< true: show setup complete indicator
    property string imageResource:  "/qmlimages/subMenuButtonImage.png"     ///< Button image
14
    property size   sourceSize:     Qt.size(ScreenTools.defaultFontPixelHeight * 2, ScreenTools.defaultFontPixelHeight * 2)
Don Gagne's avatar
Don Gagne committed
15

16 17
    text: "Button"  ///< Pass in your own button text

18
    checkable:      true
dogmaphobic's avatar
dogmaphobic committed
19
    implicitHeight: ScreenTools.isTinyScreen ? ScreenTools.defaultFontPixelHeight * 3.5 : ScreenTools.defaultFontPixelHeight * 2.5
Don Gagne's avatar
Don Gagne committed
20 21 22 23

    style: ButtonStyle {
        id: buttonStyle

24 25 26
        QGCPalette {
            id:                 qgcPal
            colorGroupEnabled:  control.enabled
Don Gagne's avatar
Don Gagne committed
27 28
        }

29
        property bool showHighlight: control.pressed | control.checked
30

Don Gagne's avatar
Don Gagne committed
31
        background: Rectangle {
32
            id:     innerRect
33
            color:  showHighlight ? qgcPal.buttonHighlight : qgcPal.windowShade
Don Gagne's avatar
Don Gagne committed
34

35 36
            implicitWidth: titleBar.x + titleBar.contentWidth + ScreenTools.defaultFontPixelWidth

37 38 39 40 41 42 43 44
            QGCColoredImage {
                id:                     image
                anchors.leftMargin:     ScreenTools.defaultFontPixelWidth
                anchors.left:           parent.left
                anchors.verticalCenter: parent.verticalCenter
                width:                  ScreenTools.defaultFontPixelHeight * 2
                height:                 ScreenTools.defaultFontPixelHeight * 2
                fillMode:               Image.PreserveAspectFit
45
                mipmap:                 true
46 47
                color:                  control.setupComplete ? qgcPal.button : "red"
                source:                 control.imageResource
48
                sourceSize:             _rootButton.sourceSize
49
            }
Don Gagne's avatar
Don Gagne committed
50

51 52
            QGCLabel {
                id:                     titleBar
53 54 55
                anchors.leftMargin:     ScreenTools.defaultFontPixelWidth
                anchors.left:           image.right
                anchors.verticalCenter: parent.verticalCenter
56 57 58
                verticalAlignment:      TextEdit.AlignVCenter
                color:                  showHighlight ? qgcPal.buttonHighlightText : qgcPal.buttonText
                text:                   control.text
Don Gagne's avatar
Don Gagne committed
59 60 61
            }
        }

62
        label: Item {}
Don Gagne's avatar
Don Gagne committed
63 64
    }
}