1
0
forked from IPKM/nmreval
closes issues #267 #274, #255, #256

Co-authored-by: Dominik Demuth <dominik.demuth@physik.tu-darmstadt.de>
Reviewed-on: IPKM/nmreval#275
This commit is contained in:
2024-06-24 15:59:33 +00:00
parent 6ecc789cd5
commit 8f92d8d822
12 changed files with 180 additions and 102 deletions

View File

@ -62,6 +62,8 @@ class NMRMainWindow(QtWidgets.QMainWindow, Ui_BaseWindow):
self.fitresult_dialog = None
self.eval = None
self.editor = None
self._interpol_dialog = None
self.fc_reader = None
self.logtext = QTextHandler(self)
logger.addHandler(self.logtext)
@ -233,7 +235,8 @@ class NMRMainWindow(QtWidgets.QMainWindow, Ui_BaseWindow):
self.action_norm_first.triggered.connect(lambda: self.management.apply('norm', ('first',)))
self.action_norm_last.triggered.connect(lambda: self.management.apply('norm', ('last',)))
self.action_norm_area.triggered.connect(lambda: self.management.apply('norm', ('area',)))
self.action_cut.triggered.connect(lambda: self.management.cut())
self.action_cut_xaxis.triggered.connect(lambda: self.management.cut(True, False))
self.action_cut_yaxis.triggered.connect(lambda: self.management.cut(False, True))
self.actionConcatenate_sets.triggered.connect(lambda: self.management.cat())
@ -264,14 +267,15 @@ class NMRMainWindow(QtWidgets.QMainWindow, Ui_BaseWindow):
@QtCore.pyqtSlot(name='on_actionOpen_FC_triggered')
def read_fc(self):
reader = QFCReader(path=self.path, parent=self)
reader.add_graphs(self.management.graphs.list())
reader.data_read.connect(self.management.add_new_data)
reader.exec()
if self.fc_reader is None:
self.fc_reader = QFCReader(path=self.path, parent=self)
self.fc_reader.data_read.connect(self.management.add_new_data)
else:
self.fc_reader(path=self.path)
self.fc_reader.add_graphs(self.management.graphs.list())
self.fc_reader.exec()
self.path = reader.path
del reader
self.path = self.fc_reader.path
@QtCore.pyqtSlot(name='on_actionPrint_triggered')
def print(self):
@ -701,10 +705,13 @@ class NMRMainWindow(QtWidgets.QMainWindow, Ui_BaseWindow):
return
gnames = self.management.graphs.tree()
dialog = InterpolDialog(parent=self)
dialog.set_data(gnames, self.current_graph_widget.id)
dialog.new_data.connect(self.management.interpolate_data)
dialog.show()
if self._interpol_dialog is None:
self._interpol_dialog = InterpolDialog(parent=self)
self._interpol_dialog.new_data.connect(self.management.interpolate_data)
else:
self._interpol_dialog()
self._interpol_dialog.set_data(gnames, self.current_graph_widget.id)
self._interpol_dialog.show()
@QtCore.pyqtSlot(name='on_action_calc_triggered')
def open_eval_dialog(self):

View File

@ -450,10 +450,17 @@ class UpperManagement(QtCore.QObject):
self.undostack.push(single_undo)
self.undostack.endMacro()
def cut(self):
def cut(self, x: bool = False, y: bool = False) -> None:
if self.current_graph:
xlim, _ = self.graphs[self.current_graph].ranges
self.apply('cut', xlim)
xlim, ylim = self.graphs[self.current_graph].ranges
if x is False:
xlim = (None, None)
if y is False:
ylim = (None, None)
self.apply('cut', (*xlim, *ylim))
@QtCore.pyqtSlot()
def unmask(self):