@@ -22,6 +22,11 @@ Column {
2222 required property string fieldLayerId
2323 required property string fieldName
2424
25+ property string boolTrueLabel: " "
26+ property string boolFalseLabel: " "
27+ property var boolCheckedValue: null
28+ property var boolUncheckedValue: null
29+
2530 property bool _initialized: false
2631 Component .onCompleted : _initialized = true
2732
@@ -39,10 +44,14 @@ Column {
3944 width: parent .width
4045 backgroundColor: __style .lightGreenColor
4146
47+ trueText: root .boolTrueLabel !== " " ? root .boolTrueLabel : qsTr ( " True" )
48+ falseText: root .boolFalseLabel !== " " ? root .boolFalseLabel : qsTr ( " False" )
49+
4250 selectedIndex: {
4351 let val = root .currentValue
4452 if ( val === null || val === undefined ) return MMSegmentControl .Options .All
45- return ( val === true || val === 1 ) ? MMSegmentControl .Options .True : MMSegmentControl .Options .False
53+ let checkedVal = root .boolCheckedValue !== null ? root .boolCheckedValue : true
54+ return ( val == checkedVal ) ? MMSegmentControl .Options .True : MMSegmentControl .Options .False
4655 }
4756
4857 onSelectedIndexChanged: {
@@ -52,10 +61,12 @@ Column {
5261 __activeProject .filterController .removeFieldFilter ( root .fieldLayerId , root .fieldName )
5362 break
5463 case MMSegmentControl .Options .True :
55- __activeProject .filterController .setFieldFilter ( root .fieldLayerId , root .fieldName , " bool" , true )
64+ __activeProject .filterController .setFieldFilter ( root .fieldLayerId , root .fieldName , " bool" ,
65+ root .boolCheckedValue !== null ? root .boolCheckedValue : true )
5666 break
5767 case MMSegmentControl .Options .False :
58- __activeProject .filterController .setFieldFilter ( root .fieldLayerId , root .fieldName , " bool" , false )
68+ __activeProject .filterController .setFieldFilter ( root .fieldLayerId , root .fieldName , " bool" ,
69+ root .boolUncheckedValue !== null ? root .boolUncheckedValue : false )
5970 break
6071 }
6172 }
0 commit comments