mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-11-02 20:52:20 -07:00
Finish layer slider label positions and cursor manipulation - CURA-4412
This commit is contained in:
parent
30a14dd7d6
commit
e7e5e86611
2 changed files with 15 additions and 15 deletions
|
|
@ -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…
Add table
Add a link
Reference in a new issue