added and use MDIArea.findSubWindow
This commit is contained in:
29
mainwin.py
29
mainwin.py
@ -44,30 +44,25 @@ class MainWindow(QMainWindow):
|
||||
def new_plot(self, name, cfg):
|
||||
desc = PlotDescription(**cfg)
|
||||
self.lst.add(name, desc)
|
||||
for sub in self.mdi.subWindowList():
|
||||
if sub.windowTitle() == name:
|
||||
return
|
||||
self.sig_make_new_plot.emit(name, desc)
|
||||
if not self.mdi.findSubWindow(name):
|
||||
self.sig_make_new_plot.emit(name, desc)
|
||||
|
||||
|
||||
def append_data(self, name, point):
|
||||
lst = self.lst
|
||||
lst.append(name, point)
|
||||
for sub in self.mdi.subWindowList():
|
||||
if sub.windowTitle() == name:
|
||||
desc = lst.data[name]
|
||||
sub.plot.setData(*desc.data)
|
||||
self.lst.append(name, point)
|
||||
sub = self.mdi.findSubWindow(name)
|
||||
if sub:
|
||||
desc = self.lst.data[name]
|
||||
sub.plot.setData(*desc.data)
|
||||
|
||||
|
||||
def on_select_list_item(self, index):
|
||||
name, desc = self.lst.get(index)
|
||||
|
||||
for sub in self.mdi.subWindowList():
|
||||
if sub.windowTitle() == name:
|
||||
self.mdi.setActiveSubWindow(sub)
|
||||
return
|
||||
|
||||
self.on_make_new_plot(name, desc)
|
||||
sub = self.mdi.findSubWindow(name)
|
||||
if sub:
|
||||
self.mdi.setActiveSubWindow(sub)
|
||||
else:
|
||||
self.on_make_new_plot(name, desc)
|
||||
|
||||
|
||||
def on_make_new_plot(self, *args, **kwargs):
|
||||
|
Reference in New Issue
Block a user