value tab plots complex selection; graphwindows shows last path for export; filedialog uses call not init
This commit is contained in:
@ -101,9 +101,6 @@ class NMRMainWindow(QtWidgets.QMainWindow, Ui_BaseWindow):
|
||||
self.statusBar.addWidget(self.mousepos)
|
||||
|
||||
self.fitregion = RegionItem()
|
||||
self._values_plot = PlotDataItem(x=[], y=[], symbolSize=30, symbol='x',
|
||||
pen=None, symbolPen='#d526b5', symbolBrush='#d526b5')
|
||||
|
||||
self._fit_plot_id = None
|
||||
|
||||
self.setGeometry(QtWidgets.QStyle.alignedRect(QtCore.Qt.LeftToRight, QtCore.Qt.AlignCenter,
|
||||
@ -530,12 +527,14 @@ class NMRMainWindow(QtWidgets.QMainWindow, Ui_BaseWindow):
|
||||
def _select_valuewidget(self, onoff: bool):
|
||||
if onoff: # Values
|
||||
self.valuewidget(self.management.graphs.tree())
|
||||
self.valuewidget.connected_figure = self.management.current_graph
|
||||
if self.valuewidget.connected_figure is not None:
|
||||
self.management.graphs[self.valuewidget.connected_figure].add_external(self._values_plot)
|
||||
current_graph = self.valuewidget.connected_figure
|
||||
if current_graph is not None:
|
||||
self.management.graphs[current_graph].add_external(self.valuewidget.selection_real)
|
||||
self.management.graphs[current_graph].add_external(self.valuewidget.selection_imag)
|
||||
else:
|
||||
if self.valuewidget.connected_figure is not None:
|
||||
self.management.graphs[self.valuewidget.connected_figure].remove_external(self._values_plot)
|
||||
self.management.graphs[self.valuewidget.connected_figure].remove_external(self.valuewidget.selection_real)
|
||||
self.management.graphs[self.valuewidget.connected_figure].remove_external(self.valuewidget.selection_imag)
|
||||
|
||||
def _select_integralwidget(self, onoff: bool, pick_required: bool, block_window: bool) -> tuple[bool, bool]:
|
||||
if self.current_graph_widget is None:
|
||||
@ -777,12 +776,12 @@ class NMRMainWindow(QtWidgets.QMainWindow, Ui_BaseWindow):
|
||||
data, mask = self.management.get_data(sid)
|
||||
self.valuewidget.set_data(data, mask)
|
||||
|
||||
def plot_selected_values(self, gid: str, x: list, y: list):
|
||||
self._values_plot.setData(x=x, y=y)
|
||||
if gid != self.valuewidget.connected_figure and self.valuewidget.connected_figure is not None:
|
||||
self.management.graphs[self.valuewidget.connected_figure].remove_external(self._values_plot)
|
||||
self.management.graphs[gid].add_external(self._values_plot)
|
||||
self.valuewidget.connected_figure = gid
|
||||
def plot_selected_values(self, old_gid: str, new_gid: str):
|
||||
for pts in (self.valuewidget.selection_real, self.valuewidget.selection_imag):
|
||||
if old_gid:
|
||||
self.management.graphs[old_gid].remove_external(pts)
|
||||
if new_gid:
|
||||
self.management.graphs[new_gid].add_external(pts)
|
||||
|
||||
@QtCore.pyqtSlot(object, str)
|
||||
def item_to_graph(self, item, graph_id):
|
||||
|
@ -9,12 +9,13 @@ from nmreval.fit import data as fit_d
|
||||
from nmreval.fit.model import Model
|
||||
from nmreval.fit.result import FitResult
|
||||
from nmreval.fit.minimizer import FitRoutine
|
||||
from nmreval.lib.colors import TUColorsC, available_cycles
|
||||
from nmreval.lib.colors import available_cycles
|
||||
from nmreval.math.interpol import interpolate
|
||||
from nmreval.math.logfourier import logft
|
||||
from nmreval.math.smooth import smooth
|
||||
from nmreval.nmr.relaxation import Relaxation
|
||||
|
||||
from ..Qt import QtCore, QtWidgets
|
||||
from ..lib.undos import *
|
||||
from ..data.container import *
|
||||
from ..io.filereaders import QFileReader
|
||||
@ -112,6 +113,8 @@ class UpperManagement(QtCore.QObject):
|
||||
self.undostack = QtWidgets.QUndoStack()
|
||||
self.deleteData.connect(self.plot_from_graph)
|
||||
|
||||
self._filereader = None
|
||||
|
||||
def __setitem__(self, key: str, value, **kwargs):
|
||||
if isinstance(value, ExperimentContainer):
|
||||
item = value
|
||||
@ -148,7 +151,9 @@ class UpperManagement(QtCore.QObject):
|
||||
return _id
|
||||
|
||||
def load_files(self, fname: List[str], new_plot: str = None):
|
||||
ret_dic = QFileReader(manager=self).readfiles(fname)
|
||||
if self._filereader is None:
|
||||
self._filereader = QFileReader(manager=self)
|
||||
ret_dic = self._filereader.readfiles(fname)
|
||||
self.add_new_data(ret_dic, new_plot)
|
||||
|
||||
def _load_session(self, sets: dict, graphs: dict):
|
||||
@ -1000,9 +1005,9 @@ class UpperManagement(QtCore.QObject):
|
||||
if opts['axis1'] in ['t', 'invt1000']:
|
||||
t_p = opts['t_param']
|
||||
if len(t_p) == 2:
|
||||
from ...models import Arrhenius as Func
|
||||
from nmreval.models import Arrhenius as Func
|
||||
else:
|
||||
from ...models import VFT as Func
|
||||
from nmreval.models import VFT as Func
|
||||
|
||||
_x = Func.func(x1, *t_p, invt=opts['axis1'])
|
||||
|
||||
@ -1078,7 +1083,7 @@ class UpperManagement(QtCore.QObject):
|
||||
raise ValueError('No file extension detected')
|
||||
|
||||
if suffix == '.nmr':
|
||||
from ...io.sessionwriter import NMRWriter
|
||||
from nmreval.io.sessionwriter import NMRWriter
|
||||
NMRWriter(self.graphs, self.data).export(path)
|
||||
|
||||
return
|
||||
|
Reference in New Issue
Block a user