Use CuraApplication instead of Application

Because UM.Application has no function getMultiBuildPlateModel.

Contributes to issue CURA-5330.
This commit is contained in:
Ghostkeeper 2018-06-15 15:32:44 +02:00
parent 797d05947c
commit cfd0bde6b1
No known key found for this signature in database
GPG key ID: 5252B696FB5E7C7A

View file

@ -1,22 +1,17 @@
# Copyright (c) 2018 Ultimaker B.V. # Copyright (c) 2018 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher. # Cura is released under the terms of the LGPLv3 or higher.
import os
import os.path
from PyQt5.QtCore import Qt, QTimer from PyQt5.QtCore import Qt, QTimer
from PyQt5.QtWidgets import QApplication from PyQt5.QtWidgets import QApplication
from UM.Math.Vector import Vector from UM.Math.Vector import Vector
from UM.Tool import Tool from UM.Tool import Tool
from UM.Application import Application
from UM.Event import Event, MouseEvent from UM.Event import Event, MouseEvent
from UM.Mesh.MeshBuilder import MeshBuilder from UM.Mesh.MeshBuilder import MeshBuilder
from UM.Scene.Selection import Selection from UM.Scene.Selection import Selection
from UM.Scene.Iterator.BreadthFirstIterator import BreadthFirstIterator
from cura.Scene.CuraSceneNode import CuraSceneNode
from cura.CuraApplication import CuraApplication
from cura.Scene.CuraSceneNode import CuraSceneNode
from cura.PickingPass import PickingPass from cura.PickingPass import PickingPass
from UM.Operations.GroupedOperation import GroupedOperation from UM.Operations.GroupedOperation import GroupedOperation
@ -26,8 +21,6 @@ from cura.Operations.SetParentOperation import SetParentOperation
from cura.Scene.SliceableObjectDecorator import SliceableObjectDecorator from cura.Scene.SliceableObjectDecorator import SliceableObjectDecorator
from cura.Scene.BuildPlateDecorator import BuildPlateDecorator from cura.Scene.BuildPlateDecorator import BuildPlateDecorator
from UM.Scene.GroupDecorator import GroupDecorator
from cura.Settings.SettingOverrideDecorator import SettingOverrideDecorator
from UM.Settings.SettingInstance import SettingInstance from UM.Settings.SettingInstance import SettingInstance
@ -38,7 +31,7 @@ class SupportEraser(Tool):
self._controller = self.getController() self._controller = self.getController()
self._selection_pass = None self._selection_pass = None
Application.getInstance().globalContainerStackChanged.connect(self._updateEnabled) CuraApplication.getInstance().globalContainerStackChanged.connect(self._updateEnabled)
# Note: if the selection is cleared with this tool active, there is no way to switch to # Note: if the selection is cleared with this tool active, there is no way to switch to
# another tool than to reselect an object (by clicking it) because the tool buttons in the # another tool than to reselect an object (by clicking it) because the tool buttons in the
@ -106,7 +99,7 @@ class SupportEraser(Tool):
mesh.addCube(10,10,10) mesh.addCube(10,10,10)
node.setMeshData(mesh.build()) node.setMeshData(mesh.build())
active_build_plate = Application.getInstance().getMultiBuildPlateModel().activeBuildPlate active_build_plate = CuraApplication.getInstance().getMultiBuildPlateModel().activeBuildPlate
node.addDecorator(BuildPlateDecorator(active_build_plate)) node.addDecorator(BuildPlateDecorator(active_build_plate))
node.addDecorator(SliceableObjectDecorator()) node.addDecorator(SliceableObjectDecorator())
@ -126,7 +119,7 @@ class SupportEraser(Tool):
op.push() op.push()
node.setPosition(position, CuraSceneNode.TransformSpace.World) node.setPosition(position, CuraSceneNode.TransformSpace.World)
Application.getInstance().getController().getScene().sceneChanged.emit(node) CuraApplication.getInstance().getController().getScene().sceneChanged.emit(node)
def _removeEraserMesh(self, node: CuraSceneNode): def _removeEraserMesh(self, node: CuraSceneNode):
parent = node.getParent() parent = node.getParent()
@ -139,16 +132,16 @@ class SupportEraser(Tool):
if parent and not Selection.isSelected(parent): if parent and not Selection.isSelected(parent):
Selection.add(parent) Selection.add(parent)
Application.getInstance().getController().getScene().sceneChanged.emit(node) CuraApplication.getInstance().getController().getScene().sceneChanged.emit(node)
def _updateEnabled(self): def _updateEnabled(self):
plugin_enabled = False plugin_enabled = False
global_container_stack = Application.getInstance().getGlobalContainerStack() global_container_stack = CuraApplication.getInstance().getGlobalContainerStack()
if global_container_stack: if global_container_stack:
plugin_enabled = global_container_stack.getProperty("anti_overhang_mesh", "enabled") plugin_enabled = global_container_stack.getProperty("anti_overhang_mesh", "enabled")
Application.getInstance().getController().toolEnabledChanged.emit(self._plugin_id, plugin_enabled) CuraApplication.getInstance().getController().toolEnabledChanged.emit(self._plugin_id, plugin_enabled)
def _onSelectionChanged(self): def _onSelectionChanged(self):
# When selection is passed from one object to another object, first the selection is cleared # When selection is passed from one object to another object, first the selection is cleared