mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-15 02:37:49 -06:00
Added control item to printOutputDevice
CURA-4057
This commit is contained in:
parent
e45d045880
commit
216b1a7a14
1 changed files with 28 additions and 0 deletions
|
@ -65,6 +65,11 @@ class PrinterOutputDevice(QObject, OutputDevice):
|
||||||
self._monitor_view_qml_path = ""
|
self._monitor_view_qml_path = ""
|
||||||
self._monitor_component = None
|
self._monitor_component = None
|
||||||
self._monitor_item = None
|
self._monitor_item = None
|
||||||
|
|
||||||
|
self._control_view_qml_path = ""
|
||||||
|
self._control_component = None
|
||||||
|
self._control_item = None
|
||||||
|
|
||||||
self._qml_context = None
|
self._qml_context = None
|
||||||
|
|
||||||
def requestWrite(self, nodes, file_name = None, filter_by_machine = False, file_handler = None):
|
def requestWrite(self, nodes, file_name = None, filter_by_machine = False, file_handler = None):
|
||||||
|
@ -131,6 +136,29 @@ class PrinterOutputDevice(QObject, OutputDevice):
|
||||||
|
|
||||||
return self._monitor_item
|
return self._monitor_item
|
||||||
|
|
||||||
|
@pyqtProperty(QObject, constant=True)
|
||||||
|
def controlItem(self):
|
||||||
|
if not self._control_component:
|
||||||
|
self._createControlViewFromQML()
|
||||||
|
|
||||||
|
return self._control_item
|
||||||
|
|
||||||
|
def _createControlViewFromQML(self):
|
||||||
|
path = QUrl.fromLocalFile(self._monitor_view_qml_path)
|
||||||
|
|
||||||
|
# Because of garbage collection we need to keep this referenced by python.
|
||||||
|
self._control_component = QQmlComponent(Application.getInstance()._engine, path)
|
||||||
|
|
||||||
|
# Check if the context was already requested before (Printer output device might have multiple items in the future)
|
||||||
|
if self._qml_context is None:
|
||||||
|
self._qml_context = QQmlContext(Application.getInstance()._engine.rootContext())
|
||||||
|
self._qml_context.setContextProperty("OutputDevice", self)
|
||||||
|
|
||||||
|
self._control_item = self._control_component.create(self._qml_context)
|
||||||
|
if self._control_item is None:
|
||||||
|
Logger.log("e", "QQmlComponent status %s", self._control_component.status())
|
||||||
|
Logger.log("e", "QQmlComponent error string %s", self._control_component.errorString())
|
||||||
|
|
||||||
def _createMonitorViewFromQML(self):
|
def _createMonitorViewFromQML(self):
|
||||||
path = QUrl.fromLocalFile(self._monitor_view_qml_path)
|
path = QUrl.fromLocalFile(self._monitor_view_qml_path)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue