Put ImageReader plugin in a new clean branch from 2.1. The plugin new uses numpy for geometry generation and image smoothing.

This commit is contained in:
Kurt Loeffler 2015-12-17 11:01:35 -08:00 committed by Ghostkeeper
parent 9544602df5
commit f5939df085
4 changed files with 425 additions and 0 deletions

View file

@ -0,0 +1,88 @@
# Copyright (c) 2015 Ultimaker B.V.
# Copyright (c) 2013 David Braam
# Cura is released under the terms of the AGPLv3 or higher.
import os
from PyQt5.QtCore import Qt, QUrl, pyqtSignal, pyqtSlot, QObject
from PyQt5.QtQml import QQmlComponent, QQmlContext
from UM.Application import Application
from UM.PluginRegistry import PluginRegistry
from UM.Logger import Logger
from UM.i18n import i18nCatalog
catalog = i18nCatalog("cura")
class ImageReaderUI(QObject):
show_config_ui_trigger = pyqtSignal()
def __init__(self, image_reader):
super(ImageReaderUI, self).__init__()
self.image_reader = image_reader
self._ui_view = None
self.show_config_ui_trigger.connect(self._actualShowConfigUI)
self.size = 120
self.base_height = 2
self.peak_height = 12
self.smoothing = 1
def showConfigUI(self):
self.show_config_ui_trigger.emit()
def _actualShowConfigUI(self):
if self._ui_view is None:
self._createConfigUI()
self._ui_view.show()
def _createConfigUI(self):
if self._ui_view is None:
Logger.log("d", "Creating ImageReader config UI")
path = QUrl.fromLocalFile(os.path.join(PluginRegistry.getInstance().getPluginPath("ImageReader"), "ConfigUI.qml"))
component = QQmlComponent(Application.getInstance()._engine, path)
self._ui_context = QQmlContext(Application.getInstance()._engine.rootContext())
self._ui_context.setContextProperty("manager", self)
self._ui_view = component.create(self._ui_context)
self._ui_view.setFlags(self._ui_view.flags() & ~Qt.WindowCloseButtonHint & ~Qt.WindowMinimizeButtonHint & ~Qt.WindowMaximizeButtonHint);
@pyqtSlot()
def onOkButtonClicked(self):
self.image_reader._canceled = False
self.image_reader._wait = False
self._ui_view.close()
@pyqtSlot()
def onCancelButtonClicked(self):
self.image_reader._canceled = True
self.image_reader._wait = False
self._ui_view.close()
@pyqtSlot(str)
def onSizeChanged(self, value):
if (len(value) > 0):
self.size = float(value)
else:
self.size = 0
@pyqtSlot(str)
def onBaseHeightChanged(self, value):
if (len(value) > 0):
self.base_height = float(value)
else:
self.base_height = 0
@pyqtSlot(str)
def onPeakHeightChanged(self, value):
if (len(value) > 0):
self.peak_height = float(value)
else:
self.peak_height = 0
@pyqtSlot(str)
def onSmoothingChanged(self, value):
if (len(value) > 0):
self.smoothing = int(value)
else:
self.smoothing = 0