WIP: figure generating in threads partly working

This commit is contained in:
2017-05-12 11:03:41 +02:00
parent f58d17be14
commit 184983bc87
7 changed files with 84 additions and 49 deletions

View File

@@ -1271,11 +1271,13 @@ class PickDlg(QDialog):
class TuneAutopicker(QWidget):
update = QtCore.Signal(str)
def __init__(self, ap, fig_dict, parent=None):
QtGui.QWidget.__init__(self, parent, 1)
self.ap = ap
self.parent = parent
self.station = 'AH11' ############# justs for testing
self.station = 'TMO53' ############# justs for testing
self.fig_dict = fig_dict
self.layout = QtGui.QHBoxLayout()
self.parameter_layout = QtGui.QVBoxLayout()
@@ -1293,8 +1295,8 @@ class TuneAutopicker(QWidget):
self.p_tabs = QtGui.QTabWidget()
self.s_tabs = QtGui.QTabWidget()
self.layout.insertWidget(0, self.main_tabs)
self.init_tab_names()
self.fill_tabs()
#self.init_tab_names()
#self.fill_tabs(None)
def add_parameter(self):
self.parameters = AutoPickParaBox(self.ap)
@@ -1307,13 +1309,22 @@ class TuneAutopicker(QWidget):
self.parameter_layout.addWidget(self.pick_button)
def call_picker(self):
self.pb_thread = Thread(self, self._hover, arg=None, progressText='Picking trace...')
self.pb_thread.start()
self.ap = self.update_params()
picks = autoPyLoT(self.ap, fnames='None', iplot=2, self.fig_dict)
args = {'parameter': self.ap,
'fnames': 'None',
'iplot': 2,
'fig_dict': self.fig_dict}
self.ap_thread = Thread(self, autoPyLoT, arg=args, progressText='Picking trace...')
self.ap_thread.finished.connect(self.finish_picker)
self.ap_thread.start()
#picks = autoPyLoT(self.ap, fnames='None', iplot=2, fig_dict=self.fig_dict)
def finish_picker(self):
self.picks = self.ap_thread.data
self.main_tabs.setParent(None)
self.init_figure_tabs()
self.set_stretch()
self.update.emit('Update')
def update_params(self):
ap = self.parameters.update_params()
@@ -1329,37 +1340,35 @@ class TuneAutopicker(QWidget):
self.ptb_names = ['aicFig', 'slenght', 'checkZ4S', 'refPpick', 'el_Ppick', 'fm_picker']
self.stb_names = ['aicARHfig', 'refSpick', 'el_S1pick', 'el_S2pick']
def fill_tabs(self):
def fill_tabs(self, canvas_dict):
try:
main_fig = self.fd['mainFig']
self.main_tabs.addTab(main_fig.canvas, 'Overview')
self.main_tabs.addTab(canvas_dict['mainFig'], 'Overview')
except Exception as e:
self.main_tabs.addTab(QtGui.QWidget(), 'Overview')
self.main_tabs.addTab(self.p_tabs, 'P')
self.main_tabs.addTab(self.s_tabs, 'S')
self.fill_p_tabs()
self.fill_s_tabs()
self.fill_p_tabs(canvas_dict)
self.fill_s_tabs(canvas_dict)
try:
main_fig.tight_layout()
except:
pass
def fill_p_tabs(self):
def fill_p_tabs(self, canvas_dict):
for name in self.ptb_names:
try:
figure = self.fd[name]
id = self.p_tabs.addTab(figure.canvas, name)
id = self.p_tabs.addTab(canvas_dict[name], name)
self.p_tabs.setTabEnabled(id, True)
figure.tight_layout()
except Exception as e:
id = self.p_tabs.addTab(QtGui.QWidget(), name)
self.p_tabs.setTabEnabled(id, False)
def fill_s_tabs(self):
def fill_s_tabs(self, canvas_dict):
for name in self.stb_names:
try:
figure = self.fd[name]
id = self.s_tabs.addTab(figure.canvas, name)
figure = self.fig_dict[name]
id = self.s_tabs.addTab(canvas_dict[name], name)
self.s_tabs.setTabEnabled(id, True)
figure.tight_layout()
except Exception as e: