def __init__(self, parent=None): QObject.__init__(self, parent) self.connect(self.opp.QProxy, SIGNAL("new_item_computed"), self.register_item) self.connect(self.opp.QProxy, SIGNAL("new_window"), self.register_window) self.items = [] self.windows = []
def __init__(self, imanager): QObject.__init__(self) self._plmanager = None self._cpmanager = None self._immanager = imanager self._algorithms = [] self._algolist = dict() self._menu = QMenu(_("Algorithms")) self.init_plugin_manager() self.get_actions() self.get_widgets() self._databases = dict() pass
def create_widgets(self, parent, refresh_callback): self._refresh_callback = refresh_callback self.prefix_label = QLabel() font = self.prefix_label.font() font.setPointSize(font.pointSize() + self._size_offset) self.prefix_label.setFont(font) self.button = QPushButton() self.button.setIcon(get_icon('settings.png')) self.button.setToolTip( _("Edit '%s' fit parameter properties") % self.name) QObject.connect(self.button, SIGNAL('clicked()'), lambda: self.edit_param(parent)) self.lineedit = QLineEdit() QObject.connect(self.lineedit, SIGNAL('editingFinished()'), self.line_editing_finished) self.unit_label = QLabel(self.unit) self.slider = QSlider() self.slider.setOrientation(Qt.Horizontal) self.slider.setRange(0, self.steps - 1) QObject.connect(self.slider, SIGNAL("valueChanged(int)"), self.slider_value_changed) self.update(refresh=False) self.add_widgets([ self.prefix_label, self.lineedit, self.unit_label, self.slider, self.button ])
def create_widgets(self, parent, refresh_callback): self._refresh_callback = refresh_callback self.prefix_label = QLabel() font = self.prefix_label.font() font.setPointSize(font.pointSize()+self._size_offset) self.prefix_label.setFont(font) self.button = QPushButton() self.button.setIcon(get_icon('settings.png')) self.button.setToolTip( _("Edit '%s' fit parameter properties") % self.name) QObject.connect(self.button, SIGNAL('clicked()'), lambda: self.edit_param(parent)) self.lineedit = QLineEdit() QObject.connect(self.lineedit, SIGNAL('editingFinished()'), self.line_editing_finished) self.unit_label = QLabel(self.unit) self.slider = QSlider() self.slider.setOrientation(Qt.Horizontal) self.slider.setRange(0, self.steps-1) QObject.connect(self.slider, SIGNAL("valueChanged(int)"), self.slider_value_changed) self.update(refresh=False) self.add_widgets([self.prefix_label, self.lineedit, self.unit_label, self.slider, self.button])
class OperationProxy(): """This class allow to perform computation directly on curve, image items like if they were numpy.ndarray. All the performed computation are stored in the parameter processing of the item. Any operation return a new item, it avoid overwritting raw data. """ QProxy = QObject() def __init__(self, parent=None): self.__baseclass__ = None # undefined def __add__(self, a): if isinstance(a, self.__baseclass__): return self.__baseclass__(self.measurement + a.measurement) elif isinstance(a, (int, float)): return self.__baseclass__(self.measurement + a) else: raise TypeError, _('Unsupported operand type') def __mul__(self, a): return self.__baseclass__(self.measurement * a) def __div__(self, a): return self.__baseclass__(self.measurement / a) def __truediv__(self, a): return self.__baseclass__(self.measurement / a) def __floordiv__(self, a): return self.__baseclass__(self.measurement // a) def __getitem__(self, key): return self.measurement[key] def __setitem__(self, key, value): self.measurement[key] = value def __len__(self): return len(self.measurement) def get_rawdata(self): return self.measurement['rawdata'] def get_scale(self): return self.measurement['scale'] def get_shape(self): return self.measurement['shape'] def apply_func(self, func, param=None): if param is None: return func(self.get_rawdata()) else: return func(self.get_rawdata(), param) def start_compute(self, name, func, param=None, suffix=None, interactive=True): self.QProxy.emit(SIGNAL("computing")) if interactive and param is not None: if interactive == 'text' and not param.text_edit(): return elif not param.edit(): return QApplication.setOverrideCursor(QCursor(Qt.WaitCursor)) try: processing = name if suffix is not None: processing += " | " + suffix(param) result = Measurement() result.copy_param(self.measurement) result.set_rawdata(self.apply_func(func, param)) result['processing'] += processing + "\n" except Exception, msg: import traceback traceback.print_exc() QMessageBox.critical( None, APP_NAME, _(u"An error occured:") + "\n%s" % unicode(msg)) raise ComputationError, msg finally:
def connect_thoth(self): QObject.connect(self.thoth, SIGNAL("item_registred"), self.thoth.create_window) #QObject.connect(self.thoth, SIGNAL("window_registred(QWidget)"), self.mdi_area.addSubWindow) QObject.connect(self.thoth, SIGNAL("window_registred"), self.add_sub_window)