mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-12 08:39:01 +08:00
Finish layer slider label positions and cursor manipulation - CURA-4412
This commit is contained in:
parent
30a14dd7d6
commit
e7e5e86611
@ -38,7 +38,7 @@ Item {
|
|||||||
|
|
||||||
property bool layersVisible: true
|
property bool layersVisible: true
|
||||||
|
|
||||||
function getUpperValue () {
|
function getUpperValueFromSliderHandle () {
|
||||||
return upperHandle.getValue()
|
return upperHandle.getValue()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -47,7 +47,7 @@ Item {
|
|||||||
updateRangeHandle()
|
updateRangeHandle()
|
||||||
}
|
}
|
||||||
|
|
||||||
function getLowerValue () {
|
function getLowerValueFromSliderHandle () {
|
||||||
return lowerHandle.getValue()
|
return lowerHandle.getValue()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -90,7 +90,7 @@ Item {
|
|||||||
upperHandle.y = y - upperHandle.height
|
upperHandle.y = y - upperHandle.height
|
||||||
lowerHandle.y = y + height
|
lowerHandle.y = y + height
|
||||||
|
|
||||||
var upperValue = sliderRoot.getUpperValue()
|
var upperValue = sliderRoot.getUpperValueFromSliderHandle()
|
||||||
var lowerValue = upperValue - (sliderRoot.upperValue - sliderRoot.lowerValue)
|
var lowerValue = upperValue - (sliderRoot.upperValue - sliderRoot.lowerValue)
|
||||||
|
|
||||||
// update the Python values
|
// update the Python values
|
||||||
@ -156,15 +156,16 @@ Item {
|
|||||||
|
|
||||||
// set the slider position based on the upper value
|
// set the slider position based on the upper value
|
||||||
function setValue (value) {
|
function setValue (value) {
|
||||||
|
|
||||||
|
// TODO: improve this?
|
||||||
|
UM.LayerView.setCurrentLayer(value)
|
||||||
|
|
||||||
var diff = (value - sliderRoot.maximumValue) / (sliderRoot.minimumValue - sliderRoot.maximumValue)
|
var diff = (value - sliderRoot.maximumValue) / (sliderRoot.minimumValue - sliderRoot.maximumValue)
|
||||||
var newUpperYPosition = Math.round(diff * (sliderRoot.height - (2 * sliderRoot.handleSize + sliderRoot.minimumRangeHandleSize)))
|
var newUpperYPosition = Math.round(diff * (sliderRoot.height - (2 * sliderRoot.handleSize + sliderRoot.minimumRangeHandleSize)))
|
||||||
y = newUpperYPosition
|
y = newUpperYPosition
|
||||||
|
|
||||||
// update the rangle handle
|
// update the rangle handle
|
||||||
sliderRoot.updateRangeHandle()
|
sliderRoot.updateRangeHandle()
|
||||||
|
|
||||||
// TODO: improve this?
|
|
||||||
UM.LayerView.setCurrentLayer(getValue())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// dragging
|
// dragging
|
||||||
@ -192,7 +193,7 @@ Item {
|
|||||||
|
|
||||||
// custom properties
|
// custom properties
|
||||||
maximumValue: sliderRoot.maximumValue
|
maximumValue: sliderRoot.maximumValue
|
||||||
value: sliderRoot.getUpperValue()
|
value: sliderRoot.upperValue
|
||||||
busy: UM.LayerView.busy
|
busy: UM.LayerView.busy
|
||||||
setValue: sliderRoot.setUpperValue // connect callback functions
|
setValue: sliderRoot.setUpperValue // connect callback functions
|
||||||
}
|
}
|
||||||
@ -218,8 +219,8 @@ Item {
|
|||||||
upperHandle.y = y - (upperHandle.heigth + sliderRoot.minimumRangeHandleSize)
|
upperHandle.y = y - (upperHandle.heigth + sliderRoot.minimumRangeHandleSize)
|
||||||
}
|
}
|
||||||
|
|
||||||
// update the range handle
|
// update the rangle handle
|
||||||
rangeHandle.height = y - (upperHandle.y + upperHandle.height)
|
sliderRoot.updateRangeHandle()
|
||||||
|
|
||||||
// TODO: improve this?
|
// TODO: improve this?
|
||||||
UM.LayerView.setMinimumLayer(getValue())
|
UM.LayerView.setMinimumLayer(getValue())
|
||||||
@ -235,15 +236,16 @@ Item {
|
|||||||
|
|
||||||
// set the slider position based on the lower value
|
// set the slider position based on the lower value
|
||||||
function setValue (value) {
|
function setValue (value) {
|
||||||
|
|
||||||
|
// TODO: improve this?
|
||||||
|
UM.LayerView.setMinimumLayer(value)
|
||||||
|
|
||||||
var diff = (value - sliderRoot.maximumValue) / (sliderRoot.minimumValue - sliderRoot.maximumValue)
|
var diff = (value - sliderRoot.maximumValue) / (sliderRoot.minimumValue - sliderRoot.maximumValue)
|
||||||
var newLowerYPosition = Math.round((sliderRoot.handleSize + sliderRoot.minimumRangeHandleSize) + diff * (sliderRoot.height - (2 * sliderRoot.handleSize + sliderRoot.minimumRangeHandleSize)))
|
var newLowerYPosition = Math.round((sliderRoot.handleSize + sliderRoot.minimumRangeHandleSize) + diff * (sliderRoot.height - (2 * sliderRoot.handleSize + sliderRoot.minimumRangeHandleSize)))
|
||||||
y = newLowerYPosition
|
y = newLowerYPosition
|
||||||
|
|
||||||
// update the rangle handle
|
// update the rangle handle
|
||||||
sliderRoot.updateRangeHandle()
|
sliderRoot.updateRangeHandle()
|
||||||
|
|
||||||
// TODO: improve this?
|
|
||||||
UM.LayerView.setMinimumLayer(getValue())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// dragging
|
// dragging
|
||||||
@ -271,7 +273,7 @@ Item {
|
|||||||
|
|
||||||
// custom properties
|
// custom properties
|
||||||
maximumValue: sliderRoot.maximumValue
|
maximumValue: sliderRoot.maximumValue
|
||||||
value: sliderRoot.getLowerValue()
|
value: sliderRoot.lowerValue
|
||||||
busy: UM.LayerView.busy
|
busy: UM.LayerView.busy
|
||||||
setValue: sliderRoot.setLowerValue // connect callback functions
|
setValue: sliderRoot.setLowerValue // connect callback functions
|
||||||
}
|
}
|
||||||
|
@ -49,9 +49,7 @@ UM.PointingRectangle {
|
|||||||
verticalCenter: parent.verticalCenter
|
verticalCenter: parent.verticalCenter
|
||||||
}
|
}
|
||||||
|
|
||||||
// width is based on text field contents, but never smaller than 20pts
|
|
||||||
width: 40 * screenScaleFactor
|
width: 40 * screenScaleFactor
|
||||||
|
|
||||||
text: sliderLabelRoot.value + 1 // the current handle value, add 1 because layers is an array
|
text: sliderLabelRoot.value + 1 // the current handle value, add 1 because layers is an array
|
||||||
horizontalAlignment: TextInput.AlignRight
|
horizontalAlignment: TextInput.AlignRight
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user