diff --git a/src/View/ListedSubWindow.py b/src/View/ListedSubWindow.py index 3e46bbad09b6f335c687a8d98bb6c0eb6bb5041d..719de3d689c7b2e40ca87bddf2d76c778625c0e9 100644 --- a/src/View/ListedSubWindow.py +++ b/src/View/ListedSubWindow.py @@ -1,5 +1,7 @@ # -*- coding: utf-8 -*- +from functools import reduce + class ListedSubWindow(object): def __init__(self): super(ListedSubWindow, self).__init__() @@ -26,3 +28,10 @@ class ListedSubWindow(object): ) self.sub_win_cnt = len(self.sub_win_list) print(f"- {name} ({self.sub_win_cnt})") + + def sub_win_exists(self, name): + return reduce( + lambda acc, n: (acc or (n[0] == name)), + self.sub_win_list, + False + ) diff --git a/src/View/MainWindow.py b/src/View/MainWindow.py index c99c4e3a4d97b4085c9211f6368ded6165ca89d1..6f9a82be7d179637018342c61edd490e616a673b 100644 --- a/src/View/MainWindow.py +++ b/src/View/MainWindow.py @@ -289,11 +289,17 @@ class ApplicationWindow(QMainWindow, ListedSubWindow): Returns: Nothing """ - if not self.model is None: + if (self.model is not None and + not self.sub_win_exists("River network")): self.network = NetworkWindow(model=self.model, parent=self) self.network.show() def open_geometry(self): + """Open geometry window + + Returns: + Nothing + """ if not self.model is None: geometry = GeometryWindow(parent=self) geometry.show()