8d148b639b
change to src layout
56 lines
1.4 KiB
Python
56 lines
1.4 KiB
Python
from functools import wraps
|
|
|
|
from ..Qt import QtWidgets
|
|
|
|
|
|
def update_indexes(func):
|
|
|
|
@wraps(func)
|
|
def wrapped(self, *args, **kwargs):
|
|
ret_val = func(self, *args, **kwargs)
|
|
self.blockSignals(True)
|
|
|
|
iterator = QtWidgets.QTreeWidgetItemIterator(self)
|
|
i = j = 0
|
|
while iterator.value():
|
|
item = iterator.value()
|
|
if item is not None:
|
|
if item.parent() is None:
|
|
item.setText(1, 'g[{}]'.format(i))
|
|
i += 1
|
|
j = 0
|
|
else:
|
|
item.setText(1, '.s[{}]'.format(j))
|
|
j += 1
|
|
iterator += 1
|
|
|
|
self.blockSignals(False)
|
|
|
|
return ret_val
|
|
|
|
return wrapped
|
|
|
|
|
|
def plot_update(func):
|
|
|
|
@wraps(func)
|
|
def wrapped(self, *args, **kwargs):
|
|
ret_val = func(self, *args, **kwargs)
|
|
m = self._data.mask
|
|
_x = self._data.x
|
|
_y = self._data.y
|
|
|
|
self.plot_real.setData(x=_x[m], y=_y.real[m], name=self._data.name)
|
|
if self.plot_imag is not None:
|
|
self.plot_imag.setData(x=_x[m], y=_y.imag[m], name=self._data.name)
|
|
|
|
if self.plot_error is not None:
|
|
_y_err = self._data.y_err
|
|
self.plot_error.setData(x=_x[m], y=_y.real[m], top=_y_err[m], bottom=_y_err[m])
|
|
|
|
self.dataChanged.emit(self.id)
|
|
|
|
return ret_val
|
|
|
|
return wrapped
|