Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLipu Fei <lipu.fei815@gmail.com>2018-10-19 10:38:39 +0300
committerLipu Fei <lipu.fei815@gmail.com>2018-10-19 10:58:06 +0300
commitc1b9d527bb1d72e95b76c8ebe18eea6b8e702446 (patch)
tree374e6469444b4ad122ec21eeb8a2fa5bf2af9652 /cura/MachineAction.py
parent9b94db8957fcd3c6f6bdddab6708406a276e1ee9 (diff)
Add typing for MachineAction
CURA-5812
Diffstat (limited to 'cura/MachineAction.py')
-rw-r--r--cura/MachineAction.py34
1 files changed, 20 insertions, 14 deletions
diff --git a/cura/MachineAction.py b/cura/MachineAction.py
index 969fef0edf..94b096f9c1 100644
--- a/cura/MachineAction.py
+++ b/cura/MachineAction.py
@@ -1,13 +1,13 @@
# Copyright (c) 2016 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.
+import os
+
from PyQt5.QtCore import QObject, pyqtSlot, pyqtProperty, pyqtSignal
+from UM.Logger import Logger
from UM.PluginObject import PluginObject
from UM.PluginRegistry import PluginRegistry
-from UM.Application import Application
-
-import os
## Machine actions are actions that are added to a specific machine type. Examples of such actions are
@@ -19,7 +19,7 @@ class MachineAction(QObject, PluginObject):
## Create a new Machine action.
# \param key unique key of the machine action
# \param label Human readable label used to identify the machine action.
- def __init__(self, key, label = ""):
+ def __init__(self, key: str, label: str = "") -> None:
super().__init__()
self._key = key
self._label = label
@@ -30,14 +30,14 @@ class MachineAction(QObject, PluginObject):
labelChanged = pyqtSignal()
onFinished = pyqtSignal()
- def getKey(self):
+ def getKey(self) -> str:
return self._key
@pyqtProperty(str, notify = labelChanged)
- def label(self):
+ def label(self) -> str:
return self._label
- def setLabel(self, label):
+ def setLabel(self, label: str) -> None:
if self._label != label:
self._label = label
self.labelChanged.emit()
@@ -46,29 +46,35 @@ class MachineAction(QObject, PluginObject):
# This should not be re-implemented by child classes, instead re-implement _reset.
# /sa _reset
@pyqtSlot()
- def reset(self):
+ def reset(self) -> None:
self._finished = False
self._reset()
## Protected implementation of reset.
# /sa reset()
- def _reset(self):
+ def _reset(self) -> None:
pass
@pyqtSlot()
- def setFinished(self):
+ def setFinished(self) -> None:
self._finished = True
self._reset()
self.onFinished.emit()
@pyqtProperty(bool, notify = onFinished)
- def finished(self):
+ def finished(self) -> bool:
return self._finished
## Protected helper to create a view object based on provided QML.
- def _createViewFromQML(self):
- path = os.path.join(PluginRegistry.getInstance().getPluginPath(self.getPluginId()), self._qml_url)
- self._view = Application.getInstance().createQmlComponent(path, {"manager": self})
+ def _createViewFromQML(self) -> None:
+ plugin_path = PluginRegistry.getInstance().getPluginPath(self.getPluginId())
+ if plugin_path is None:
+ Logger.log("e", "Cannot create QML view: cannot find plugin path for plugin [%s]", self.getPluginId())
+ return
+ path = os.path.join(plugin_path, self._qml_url)
+
+ from cura.CuraApplication import CuraApplication
+ self._view = CuraApplication.getInstance().createQmlComponent(path, {"manager": self})
@pyqtProperty(QObject, constant = True)
def displayItem(self):