|
|
|
import QtQuick 2.3
|
|
|
|
import QtQuick.Controls 1.2
|
|
|
|
import QtQuick.Controls.Styles 1.4
|
|
|
|
|
|
|
|
import QGroundControl.Palette 1.0
|
|
|
|
import QGroundControl.ScreenTools 1.0
|
|
|
|
|
|
|
|
CheckBox {
|
|
|
|
property color textColor: _qgcPal.text
|
|
|
|
property bool textBold: false
|
|
|
|
property real textFontPointSize: ScreenTools.defaultFontPointSize
|
|
|
|
|
|
|
|
property var _qgcPal: QGCPalette { colorGroupEnabled: enabled }
|
|
|
|
property bool _noText: text === ""
|
|
|
|
|
|
|
|
activeFocusOnPress: true
|
|
|
|
|
|
|
|
style: CheckBoxStyle {
|
|
|
|
label: Item {
|
|
|
|
implicitWidth: _noText ? 0 : text.implicitWidth + ScreenTools.defaultFontPixelWidth * 0.25
|
|
|
|
implicitHeight: _noText ? 0 : Math.max(text.implicitHeight, ScreenTools.checkBoxIndicatorSize)
|
|
|
|
baselineOffset: text.baselineOffset
|
|
|
|
|
|
|
|
Text {
|
|
|
|
id: text
|
|
|
|
text: control.text
|
|
|
|
font.pointSize: textFontPointSize
|
|
|
|
font.bold: control.textBold
|
|
|
|
color: control.textColor
|
|
|
|
anchors.centerIn: parent
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
indicator: Item {
|
|
|
|
implicitWidth: ScreenTools.checkBoxIndicatorSize
|
|
|
|
implicitHeight: implicitWidth
|
|
|
|
Rectangle {
|
|
|
|
anchors.fill: parent
|
|
|
|
color: "white"
|
|
|
|
border.color: qgcPal.text
|
|
|
|
border.width: 1
|
|
|
|
opacity: control.checkedState === Qt.PartiallyChecked ? 0.5 : 1
|
|
|
|
QGCColoredImage {
|
|
|
|
source: "/qmlimages/checkbox-check.svg"
|
|
|
|
color: "black"
|
|
|
|
opacity: control.checkedState === Qt.Checked ? (control.enabled ? 1 : 0.5) : 0
|
|
|
|
mipmap: true
|
|
|
|
fillMode: Image.PreserveAspectFit
|
|
|
|
width: parent.width * 0.75
|
|
|
|
height: width
|
|
|
|
sourceSize.height: height
|
|
|
|
anchors.centerIn: parent
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|