WIP: figure generating in threads partly working
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user