You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.0 KiB
60 lines
1.0 KiB
import QtQuick 2.0
|
|
import QtQuick.Controls 1.3
|
|
|
|
Item
|
|
{
|
|
id: editRoot
|
|
property string value
|
|
property string defaultValue
|
|
property bool readOnly: !boolCombo.enabled
|
|
height: 20
|
|
width: 150
|
|
|
|
onReadOnlyChanged: {
|
|
boolCombo.enabled = !readOnly;
|
|
}
|
|
|
|
function init()
|
|
{
|
|
value = value === true ? "1" : value
|
|
value = value === false ? "0" : value;
|
|
value = value === "true" ? "1" : value
|
|
value = value === "false" ? "0" : value;
|
|
|
|
if (value === "")
|
|
boolCombo.currentIndex = parseInt(defaultValue);
|
|
else
|
|
boolCombo.currentIndex = parseInt(value);
|
|
boolCombo.enabled = !readOnly;
|
|
}
|
|
|
|
Rectangle {
|
|
anchors.fill: parent
|
|
ComboBox
|
|
{
|
|
property bool inited;
|
|
Component.onCompleted:
|
|
{
|
|
init();
|
|
inited = true;
|
|
}
|
|
|
|
id: boolCombo
|
|
anchors.fill: parent
|
|
onCurrentIndexChanged:
|
|
{
|
|
if (inited)
|
|
value = comboModel.get(currentIndex).value;
|
|
}
|
|
model: ListModel
|
|
{
|
|
id: comboModel
|
|
ListElement { text: qsTr("False"); value: "0" }
|
|
ListElement { text: qsTr("True"); value: "1" }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|