diff --git a/grum/mainwin.py b/grum/mainwin.py index 6d51f55..a0eaf0f 100644 --- a/grum/mainwin.py +++ b/grum/mainwin.py @@ -22,8 +22,7 @@ DESC_TYPE_TO_MDI_SUB_TYPE = { class MainWindow(QMainWindow): - sig_make_new_plot = pyqtSignal(str, Description) - sig_make_new_image = pyqtSignal(str, Description) + sig_make_new_subwin = pyqtSignal(str, Description) def __init__(self, *args, title="grum", host="localhost", port=8000, offline=False, add_examples=False, window_mode=MDIWindowMode.MULTI, **kwargs): super().__init__(*args, **kwargs) @@ -97,8 +96,7 @@ class MainWindow(QMainWindow): rst.server.register_function(self.set_data) rst.server.register_function(self.new_image) - self.sig_make_new_plot.connect(self.on_make_new_plot) - self.sig_make_new_image.connect(self.on_make_new_image) + self.sig_make_new_subwin.connect(self.on_make_new_subwin) def keyPressEvent(self, event): @@ -117,7 +115,7 @@ class MainWindow(QMainWindow): desc = self.add_new_desc_to_list(PlotDescription, name, cfg) if self.menu_settings.checkboxes["Open new plots"].isChecked(): if not self.mdi.findSubWindow(name): - self.sig_make_new_plot.emit(name, desc) + self.sig_make_new_subwin.emit(name, desc) def append_data(self, name, point): """ @@ -161,16 +159,15 @@ class MainWindow(QMainWindow): if sub: sub.pw.setImage(desc.data) #TODO lacks the list sync else: - self.sig_make_new_image.emit(name, desc) + self.sig_make_new_subwin.emit(name, desc) # Signal callbacks - def on_make_new_plot(self, name, desc): - self.make_subwin(MDISubPlot, name, desc) - - def on_make_new_image(self, name, desc): - self.make_subwin(MDISubImage, name, desc) + def on_make_new_subwin(self, name, desc): + DescType = type(desc) + MDISubType = DESC_TYPE_TO_MDI_SUB_TYPE[DescType] + self.make_subwin(MDISubType, name, desc) def on_dclick_list_item(self, item): self.plot_single_item(item)