forked from IPKM/nmreval
bugfixes (#192)
closes #123 Co-authored-by: Dominik Demuth <dominik.demuth@physik.tu-darmstadt.de> Reviewed-on: IPKM/nmreval#192
This commit is contained in:
parent
694d47267d
commit
24bba43b40
@ -410,6 +410,7 @@ class DataTree(QtWidgets.QTreeWidget):
|
|||||||
self.ctx_sets(evt, menu)
|
self.ctx_sets(evt, menu)
|
||||||
|
|
||||||
def ctx_graphs(self, evt, menu):
|
def ctx_graphs(self, evt, menu):
|
||||||
|
copy_action = menu.addAction('Replicate graph!')
|
||||||
del_action = menu.addAction('Exterminate graph!')
|
del_action = menu.addAction('Exterminate graph!')
|
||||||
|
|
||||||
sort_menu = menu.addMenu('Sort sets')
|
sort_menu = menu.addMenu('Sort sets')
|
||||||
@ -436,6 +437,10 @@ class DataTree(QtWidgets.QTreeWidget):
|
|||||||
for gid in graphs:
|
for gid in graphs:
|
||||||
self.management.delete_graph(gid)
|
self.management.delete_graph(gid)
|
||||||
|
|
||||||
|
elif action == copy_action:
|
||||||
|
for gid in graphs:
|
||||||
|
self.management.copy_graph(gid)
|
||||||
|
|
||||||
elif action.parent() == col_menu:
|
elif action.parent() == col_menu:
|
||||||
for gid in graphs:
|
for gid in graphs:
|
||||||
self.management.set_cycle(self.management.graphs[gid].sets, action.text())
|
self.management.set_cycle(self.management.graphs[gid].sets, action.text())
|
||||||
|
@ -781,7 +781,7 @@ class QGraphWindow(QtWidgets.QGraphicsView, Ui_GraphWindow):
|
|||||||
|
|
||||||
graph.graphic.showGrid(x=state['grid'], y=state['grid'])
|
graph.graphic.showGrid(x=state['grid'], y=state['grid'])
|
||||||
|
|
||||||
graph.checkBox.setCheckState(QtCore.Qt.Checked if state['legend'] else QtCore.Qt.Unchecked)
|
graph.checkBox.setCheckState(QtCore.Qt.CheckState.Checked if state['legend'] else QtCore.Qt.CheckState.Unchecked)
|
||||||
|
|
||||||
graph.real_button.setChecked(state['plots'][0])
|
graph.real_button.setChecked(state['plots'][0])
|
||||||
graph.imag_button.setChecked(state['plots'][1])
|
graph.imag_button.setChecked(state['plots'][1])
|
||||||
|
@ -279,13 +279,16 @@ class UpperManagement(QtCore.QObject):
|
|||||||
|
|
||||||
@QtCore.pyqtSlot()
|
@QtCore.pyqtSlot()
|
||||||
@QtCore.pyqtSlot(list, str)
|
@QtCore.pyqtSlot(list, str)
|
||||||
def copy_sets(self, sets: list = None, src: str = None):
|
def copy_sets(self, sets: list = None, src: str = None, dest: str = None):
|
||||||
if sets is None:
|
|
||||||
sets = self.graphs[self.current_graph].active[:]
|
|
||||||
|
|
||||||
if src is None:
|
if src is None:
|
||||||
src = self.current_graph
|
src = self.current_graph
|
||||||
|
|
||||||
|
if sets is None:
|
||||||
|
sets = self.graphs[src].active[:]
|
||||||
|
|
||||||
|
if dest is None:
|
||||||
|
dest = src
|
||||||
|
|
||||||
new_ids = []
|
new_ids = []
|
||||||
for s in sets:
|
for s in sets:
|
||||||
copy_of_s = self.data[s].copy(full=True)
|
copy_of_s = self.data[s].copy(full=True)
|
||||||
@ -293,10 +296,23 @@ class UpperManagement(QtCore.QObject):
|
|||||||
new_ids.append(copy_of_s.id)
|
new_ids.append(copy_of_s.id)
|
||||||
self.data[copy_of_s.id] = copy_of_s
|
self.data[copy_of_s.id] = copy_of_s
|
||||||
|
|
||||||
self.newData.emit(new_ids, src)
|
self.newData.emit(new_ids, dest)
|
||||||
|
|
||||||
return new_ids
|
return new_ids
|
||||||
|
|
||||||
|
def copy_graph(self, gid):
|
||||||
|
# Use state of old graph but removes actual references to old graph
|
||||||
|
src_state = self.graphs[gid].get_state()
|
||||||
|
src_state.pop('id')
|
||||||
|
src_state['children'] = []
|
||||||
|
src_state['active'] = []
|
||||||
|
|
||||||
|
new_graph = QGraphWindow.set_state(src_state)
|
||||||
|
self.graphs[new_graph.id] = new_graph
|
||||||
|
self.restoreGraph.emit(new_graph.id)
|
||||||
|
|
||||||
|
self.copy_sets(src=gid, dest=new_graph.id)
|
||||||
|
|
||||||
@QtCore.pyqtSlot(list)
|
@QtCore.pyqtSlot(list)
|
||||||
@QtCore.pyqtSlot(str)
|
@QtCore.pyqtSlot(str)
|
||||||
@QtCore.pyqtSlot()
|
@QtCore.pyqtSlot()
|
||||||
|
Loading…
Reference in New Issue
Block a user