mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-06 22:47:29 -06:00
Added a printerOutputController to send commands to remote.
The idea is that this class can be subclassed. CL-541
This commit is contained in:
parent
700f7179f1
commit
3a8eef9768
4 changed files with 71 additions and 21 deletions
|
@ -9,6 +9,7 @@ MYPY = False
|
|||
if MYPY:
|
||||
from cura.PrinterOutput.PrintJobOutputModel import PrintJobOutputModel
|
||||
from cura.PrinterOutput.ExtruderOuputModel import ExtruderOutputModel
|
||||
from cura.PrinterOutput.PrinterOutputController import PrinterOutputController
|
||||
|
||||
|
||||
class PrinterOutputModel(QObject):
|
||||
|
@ -18,12 +19,12 @@ class PrinterOutputModel(QObject):
|
|||
activePrintJobChanged = pyqtSignal()
|
||||
nameChanged = pyqtSignal()
|
||||
|
||||
def __init__(self, parent=None):
|
||||
def __init__(self, output_controller: "PrinterOutputController", parent=None):
|
||||
super().__init__(parent)
|
||||
self._bed_temperature = 0
|
||||
self._target_bed_temperature = 0
|
||||
self._name = ""
|
||||
|
||||
self._controller = output_controller
|
||||
self._extruders = [] # type: List[ExtruderOutputModel]
|
||||
|
||||
self._active_print_job = None # type: Optional[PrintJobOutputModel]
|
||||
|
@ -34,6 +35,9 @@ class PrinterOutputModel(QObject):
|
|||
self._can_pre_heat_bed = True
|
||||
self._can_control_manually = True
|
||||
|
||||
def getController(self):
|
||||
return self._controller
|
||||
|
||||
@pyqtProperty(str, notify=nameChanged)
|
||||
def name(self):
|
||||
return self._name
|
||||
|
@ -42,9 +46,6 @@ class PrinterOutputModel(QObject):
|
|||
self._setName(name)
|
||||
self.updateName(name)
|
||||
|
||||
def _setName(self, name):
|
||||
Logger.log("w", "_setTargetBedTemperature is not implemented by this model")
|
||||
|
||||
def updateName(self, name):
|
||||
if self._name != name:
|
||||
self._name = name
|
||||
|
@ -64,15 +65,9 @@ class PrinterOutputModel(QObject):
|
|||
## Set the target bed temperature. This ensures that it's actually sent to the remote.
|
||||
@pyqtSlot(int)
|
||||
def setTargetBedTemperature(self, temperature):
|
||||
self._setTargetBedTemperature(temperature)
|
||||
self._controller.setTargetBedTemperature(self, temperature)
|
||||
self.updateTargetBedTemperature(temperature)
|
||||
|
||||
## Protected setter for the bed temperature of the connected printer (if any).
|
||||
# /parameter temperature Temperature bed needs to go to (in deg celsius)
|
||||
# /sa setTargetBedTemperature
|
||||
def _setTargetBedTemperature(self, temperature):
|
||||
Logger.log("w", "_setTargetBedTemperature is not implemented by this model")
|
||||
|
||||
def updateActivePrintJob(self, print_job):
|
||||
if self._active_print_job != print_job:
|
||||
self._active_print_job = print_job
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue