Fix setting lower value

This commit is contained in:
fieldOfView 2017-03-06 16:35:00 +01:00
parent a664ee88b7
commit a6bc2b07f8
2 changed files with 24 additions and 26 deletions

View file

@ -163,6 +163,8 @@ class LayerView(View):
self._current_layer_num = 0 self._current_layer_num = 0
if self._current_layer_num > self._max_layers: if self._current_layer_num > self._max_layers:
self._current_layer_num = self._max_layers self._current_layer_num = self._max_layers
if self._current_layer_num < self._minimum_layer_num:
self._minimum_layer_num = self._current_layer_num
self._startUpdateTopLayers() self._startUpdateTopLayers()
@ -173,6 +175,10 @@ class LayerView(View):
self._minimum_layer_num = value self._minimum_layer_num = value
if self._minimum_layer_num < 0: if self._minimum_layer_num < 0:
self._minimum_layer_num = 0 self._minimum_layer_num = 0
if self._minimum_layer_num > self._max_layers:
self._minimum_layer_num = self._max_layers
if self._minimum_layer_num > self._current_layer_num:
self._current_layer_num = self._minimum_layer_num
self._startUpdateTopLayers() self._startUpdateTopLayers()

View file

@ -366,41 +366,31 @@ Item
} }
property var activeHandle: upperHandle property var activeHandle: upperHandle
function setLowerValue(value)
{
}
function setUpperValue(value) function setUpperValue(value)
{ {
print("!!!!!!", value)
var value = (value - maximumValue) / (minimumValue - maximumValue); var value = (value - maximumValue) / (minimumValue - maximumValue);
print("a ", value)
var new_upper_y = Math.round(value * (height - (2 * handleSize + minimumRangeHandleSize))); var new_upper_y = Math.round(value * (height - (2 * handleSize + minimumRangeHandleSize)));
print("b ", new_upper_y, upperHandle.y)
var new_lower = lowerHandle.value
if(UM.LayerView.currentLayer - lowerHandle.value < minimumRange)
{
new_lower = UM.LayerView.currentLayer - minimumRange
} else if(activeHandle == rangeHandle)
{
new_lower = UM.LayerView.currentLayer - (upperHandle.value - lowerHandle.value)
}
new_lower = Math.max(minimumValue, new_lower)
if(new_upper_y != upperHandle.y) if(new_upper_y != upperHandle.y)
{ {
upperHandle.y = new_upper_y upperHandle.y = new_upper_y;
}
if(new_lower != lowerHandle.value)
{
value = (new_lower - maximumValue) / (minimumValue - maximumValue)
lowerHandle.y = Math.round((handleSize + minimumRangeHandleSize) + value * (height - (2 * handleSize + minimumRangeHandleSize)))
} }
rangeHandle.height = lowerHandle.y - (upperHandle.y + upperHandle.height); rangeHandle.height = lowerHandle.y - (upperHandle.y + upperHandle.height);
} }
function setLowerValue(value)
{
var value = (value - maximumValue) / (minimumValue - maximumValue);
var new_lower_y = Math.round((handleSize + minimumRangeHandleSize) + value * (height - (2 * handleSize + minimumRangeHandleSize)));
if(new_lower_y != lowerHandle.y)
{
lowerHandle.y = new_lower_y;
}
rangeHandle.height = lowerHandle.y - (upperHandle.y + upperHandle.height);
}
Connections Connections
{ {
target: UM.LayerView target: UM.LayerView
@ -447,8 +437,10 @@ Item
upperHandle.y = parent.y - upperHandle.height upperHandle.y = parent.y - upperHandle.height
lowerHandle.y = parent.y + parent.height lowerHandle.y = parent.y + parent.height
UM.LayerView.setCurrentLayer(slider.getUpperValueFromHandle()); var upper_value = slider.getUpperValueFromHandle();
UM.LayerView.setMinimumLayer(slider.getLowerValueFromHandle()); var lower_value = upper_value - (upperHandle.value - lowerHandle.value);
UM.LayerView.setCurrentLayer(upper_value);
UM.LayerView.setMinimumLayer(lower_value);
} }
} }
} }