mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-07 06:57:28 -06:00
Trigger recalculation of colour scheme limits when visibility changes
While it's now correctly triggered to recalculate, it doesn't correctly update yet in the interface. We'll need to resolve that next.
This commit is contained in:
parent
28f8da8f7b
commit
424f037dca
1 changed files with 21 additions and 3 deletions
|
@ -116,6 +116,7 @@ class SimulationView(CuraView):
|
||||||
Application.getInstance().getPreferences().addPreference("layerview/show_infill", True)
|
Application.getInstance().getPreferences().addPreference("layerview/show_infill", True)
|
||||||
Application.getInstance().getPreferences().addPreference("layerview/show_starts", True)
|
Application.getInstance().getPreferences().addPreference("layerview/show_starts", True)
|
||||||
|
|
||||||
|
self.visibleStructuresChanged.connect(self.calculateColorSchemeLimits)
|
||||||
self._updateWithPreferences()
|
self._updateWithPreferences()
|
||||||
|
|
||||||
self._solid_layers = int(Application.getInstance().getPreferences().getValue("view/top_layer_count"))
|
self._solid_layers = int(Application.getInstance().getPreferences().getValue("view/top_layer_count"))
|
||||||
|
@ -199,6 +200,7 @@ class SimulationView(CuraView):
|
||||||
if node.getMeshData() is None:
|
if node.getMeshData() is None:
|
||||||
return
|
return
|
||||||
self.setActivity(False)
|
self.setActivity(False)
|
||||||
|
self.calculateColorSchemeLimits()
|
||||||
self.calculateMaxLayers()
|
self.calculateMaxLayers()
|
||||||
self.calculateMaxPathsOnLayer(self._current_layer_num)
|
self.calculateMaxPathsOnLayer(self._current_layer_num)
|
||||||
|
|
||||||
|
@ -335,36 +337,51 @@ class SimulationView(CuraView):
|
||||||
return Matrix(self._extruder_opacity)
|
return Matrix(self._extruder_opacity)
|
||||||
|
|
||||||
def setShowTravelMoves(self, show):
|
def setShowTravelMoves(self, show):
|
||||||
|
if show == self._show_travel_moves:
|
||||||
|
return
|
||||||
self._show_travel_moves = show
|
self._show_travel_moves = show
|
||||||
self.currentLayerNumChanged.emit()
|
self.currentLayerNumChanged.emit()
|
||||||
|
self.visibleStructuresChanged.emit()
|
||||||
|
|
||||||
def getShowTravelMoves(self):
|
def getShowTravelMoves(self):
|
||||||
return self._show_travel_moves
|
return self._show_travel_moves
|
||||||
|
|
||||||
def setShowHelpers(self, show: bool) -> None:
|
def setShowHelpers(self, show: bool) -> None:
|
||||||
|
if show == self._show_helpers:
|
||||||
|
return
|
||||||
self._show_helpers = show
|
self._show_helpers = show
|
||||||
self.currentLayerNumChanged.emit()
|
self.currentLayerNumChanged.emit()
|
||||||
|
self.visibleStructuresChanged.emit()
|
||||||
|
|
||||||
def getShowHelpers(self) -> bool:
|
def getShowHelpers(self) -> bool:
|
||||||
return self._show_helpers
|
return self._show_helpers
|
||||||
|
|
||||||
def setShowSkin(self, show: bool) -> None:
|
def setShowSkin(self, show: bool) -> None:
|
||||||
|
if show == self._show_skin:
|
||||||
|
return
|
||||||
self._show_skin = show
|
self._show_skin = show
|
||||||
self.currentLayerNumChanged.emit()
|
self.currentLayerNumChanged.emit()
|
||||||
|
self.visibleStructuresChanged.emit()
|
||||||
|
|
||||||
def getShowSkin(self) -> bool:
|
def getShowSkin(self) -> bool:
|
||||||
return self._show_skin
|
return self._show_skin
|
||||||
|
|
||||||
def setShowInfill(self, show: bool) -> None:
|
def setShowInfill(self, show: bool) -> None:
|
||||||
|
if show == self._show_infill:
|
||||||
|
return
|
||||||
self._show_infill = show
|
self._show_infill = show
|
||||||
self.currentLayerNumChanged.emit()
|
self.currentLayerNumChanged.emit()
|
||||||
|
self.visibleStructuresChanged.emit()
|
||||||
|
|
||||||
def getShowInfill(self) -> bool:
|
def getShowInfill(self) -> bool:
|
||||||
return self._show_infill
|
return self._show_infill
|
||||||
|
|
||||||
def setShowStarts(self, show: bool) -> None:
|
def setShowStarts(self, show: bool) -> None:
|
||||||
|
if show == self._show_starts:
|
||||||
|
return
|
||||||
self._show_starts = show
|
self._show_starts = show
|
||||||
self.currentLayerNumChanged.emit()
|
self.currentLayerNumChanged.emit()
|
||||||
|
self.visibleStructuresChanged.emit()
|
||||||
|
|
||||||
def getShowStarts(self) -> bool:
|
def getShowStarts(self) -> bool:
|
||||||
return self._show_starts
|
return self._show_starts
|
||||||
|
@ -401,12 +418,11 @@ class SimulationView(CuraView):
|
||||||
|
|
||||||
def calculateMaxLayers(self) -> None:
|
def calculateMaxLayers(self) -> None:
|
||||||
"""
|
"""
|
||||||
Calculates number of layers, and the limits of each statistic for the colour schemes.
|
Calculates number of layers, triggers signals if the number of layers changed and makes sure the top layers are
|
||||||
|
recalculated for legacy layer view.
|
||||||
"""
|
"""
|
||||||
scene = self.getController().getScene()
|
scene = self.getController().getScene()
|
||||||
|
|
||||||
self.calculateColorSchemeLimits()
|
|
||||||
|
|
||||||
self._old_max_layers = self._max_layers
|
self._old_max_layers = self._max_layers
|
||||||
new_max_layers = -1
|
new_max_layers = -1
|
||||||
for node in DepthFirstIterator(scene.getRoot()): # type: ignore
|
for node in DepthFirstIterator(scene.getRoot()): # type: ignore
|
||||||
|
@ -519,6 +535,7 @@ class SimulationView(CuraView):
|
||||||
preferencesChanged = Signal()
|
preferencesChanged = Signal()
|
||||||
busyChanged = Signal()
|
busyChanged = Signal()
|
||||||
activityChanged = Signal()
|
activityChanged = Signal()
|
||||||
|
visibleStructuresChanged = Signal()
|
||||||
|
|
||||||
def getProxy(self, engine, script_engine):
|
def getProxy(self, engine, script_engine):
|
||||||
"""Hackish way to ensure the proxy is already created
|
"""Hackish way to ensure the proxy is already created
|
||||||
|
@ -550,6 +567,7 @@ class SimulationView(CuraView):
|
||||||
Application.getInstance().getPreferences().preferenceChanged.connect(self._onPreferencesChanged)
|
Application.getInstance().getPreferences().preferenceChanged.connect(self._onPreferencesChanged)
|
||||||
self._controller.getScene().getRoot().childrenChanged.connect(self._onSceneChanged)
|
self._controller.getScene().getRoot().childrenChanged.connect(self._onSceneChanged)
|
||||||
|
|
||||||
|
self.calculateColorSchemeLimits()
|
||||||
self.calculateMaxLayers()
|
self.calculateMaxLayers()
|
||||||
self.calculateMaxPathsOnLayer(self._current_layer_num)
|
self.calculateMaxPathsOnLayer(self._current_layer_num)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue