diff --git a/src/View/BoundaryCondition/Edit/Window.py b/src/View/BoundaryCondition/Edit/Window.py index 94557ddd..728660da 100644 --- a/src/View/BoundaryCondition/Edit/Window.py +++ b/src/View/BoundaryCondition/Edit/Window.py @@ -147,6 +147,11 @@ class EditBoundaryConditionWindow(PamhyrWindow): for h in self._data.header: headers[h] = table_headers[h] + if self._study.is_editable(): + editable_headers = self._data.header + else: + editable_headers = [] + self._delegate_time = PamhyrExTimeDelegate( data=self._data, mode=self._study.time_system, @@ -157,7 +162,7 @@ class EditBoundaryConditionWindow(PamhyrWindow): self._table = TableModel( table_view=table, table_headers=headers, - editable_headers=self._data.header, + editable_headers=editable_headers, delegates={ # "time": self._delegate_time, }, @@ -190,16 +195,18 @@ class EditBoundaryConditionWindow(PamhyrWindow): self.plot.draw() def setup_connections(self): - self.find(QAction, "action_add").triggered.connect(self.add) - self.find(QAction, "action_del").triggered.connect(self.delete) - self.find(QAction, "action_sort").triggered.connect(self.sort) + if self._study.is_editable(): + self.find(QAction, "action_add").triggered.connect(self.add) + self.find(QAction, "action_del").triggered.connect(self.delete) + self.find(QAction, "action_sort").triggered.connect(self.sort) self._table.dataChanged.connect(self.update) self._table.layoutChanged.connect(self.update) if self._is_solid: - self._d50sigma.d50Changed.connect(self.d50_changed) - self._d50sigma.sigmaChanged.connect(self.sigma_changed) + if self._study.is_editable(): + self._d50sigma.d50Changed.connect(self.d50_changed) + self._d50sigma.sigmaChanged.connect(self.sigma_changed) def d50_changed(self, value): self._undo_stack.push( diff --git a/src/View/BoundaryCondition/Window.py b/src/View/BoundaryCondition/Window.py index f9ba4c13..1d515e2b 100644 --- a/src/View/BoundaryCondition/Window.py +++ b/src/View/BoundaryCondition/Window.py @@ -94,6 +94,11 @@ class BoundaryConditionWindow(PamhyrWindow): def setup_table(self): self._table = {} + if self._study.is_editable(): + editable_headers = ["name", "type", "node"] + else: + editable_headers = [] + for t in ["liquid", "solid", "suspenssion"]: self._delegate_type = ComboBoxDelegate( trad=self._trad, @@ -114,7 +119,7 @@ class BoundaryConditionWindow(PamhyrWindow): self._table[t] = TableModel( table_view=table, table_headers=self._trad.get_dict("table_headers"), - editable_headers=["name", "type", "node"], + editable_headers=editable_headers, delegates={ "type": self._delegate_type, "node": self._delegate_node, @@ -140,10 +145,12 @@ class BoundaryConditionWindow(PamhyrWindow): self.graph_layout.addWidget(self.graph_widget) def setup_connections(self): - self.find(QAction, "action_add").triggered.connect(self.add) - self.find(QAction, "action_del").triggered.connect(self.delete) + if self._study.is_editable(): + self.find(QAction, "action_add").triggered.connect(self.add) + self.find(QAction, "action_del").triggered.connect(self.delete) + self.find(QAction, "action_sort").triggered.connect(self.sort) + self.find(QAction, "action_edit").triggered.connect(self.edit) - self.find(QAction, "action_sort").triggered.connect(self.sort) def current_tab(self): return self.find(QTabWidget, "tabWidget")\ diff --git a/src/View/LateralContribution/Edit/Window.py b/src/View/LateralContribution/Edit/Window.py index 1b5beec7..37813a2e 100644 --- a/src/View/LateralContribution/Edit/Window.py +++ b/src/View/LateralContribution/Edit/Window.py @@ -93,11 +93,16 @@ class EditLateralContributionWindow(PamhyrWindow): for h in self._data.header: headers[h] = table_headers[h] + if self._study.is_editable(): + editable_headers = self._data.header + else: + editable_headers = [] + table = self.find(QTableView, "tableView") self._table = TableModel( table_view=table, table_headers=headers, - editable_headers=self._data.header, + editable_headers=editable_headers, delegates={ # "time": self._delegate_time, }, @@ -132,9 +137,10 @@ class EditLateralContributionWindow(PamhyrWindow): self.plot.draw() def setup_connections(self): - self.find(QAction, "action_add").triggered.connect(self.add) - self.find(QAction, "action_del").triggered.connect(self.delete) - self.find(QAction, "action_sort").triggered.connect(self.sort) + if self._study.is_editable(): + self.find(QAction, "action_add").triggered.connect(self.add) + self.find(QAction, "action_del").triggered.connect(self.delete) + self.find(QAction, "action_sort").triggered.connect(self.sort) self._table.dataChanged.connect(self.update) self._table.layoutChanged.connect(self.update) diff --git a/src/View/LateralContribution/Window.py b/src/View/LateralContribution/Window.py index db8b2791..0c482433 100644 --- a/src/View/LateralContribution/Window.py +++ b/src/View/LateralContribution/Window.py @@ -88,9 +88,13 @@ class LateralContributionWindow(PamhyrWindow): def setup_table(self): self._table = {} - self._delegate_rk = [] + if self._study.is_editable(): + editable_headers = self._trad.get_dict("table_headers") + else: + editable_headers = [] + for t in ["liquid", "solid", "suspenssion"]: self._delegate_type = ComboBoxDelegate( data=self._study.river, @@ -121,7 +125,7 @@ class LateralContributionWindow(PamhyrWindow): self._table[t] = TableModel( table_view=table, table_headers=self._trad.get_dict("table_headers"), - editable_headers=self._trad.get_dict("table_headers"), + editable_headers=editable_headers, delegates={ "type": self._delegate_type, "edge": self._delegate_edge, @@ -153,11 +157,12 @@ class LateralContributionWindow(PamhyrWindow): ) def setup_connections(self): - self.find(QAction, "action_add").triggered.connect(self.add) - self.find(QAction, "action_del").triggered.connect(self.delete) - self.find(QAction, "action_edit").triggered.connect(self.edit) - self.find(QAction, "action_sort").triggered.connect(self.sort) + if self._study.is_editable(): + self.find(QAction, "action_add").triggered.connect(self.add) + self.find(QAction, "action_del").triggered.connect(self.delete) + self.find(QAction, "action_sort").triggered.connect(self.sort) + self.find(QAction, "action_edit").triggered.connect(self.edit) self.tabs.currentChanged.connect(self._set_current_reach) for t in ["liquid", "solid", "suspenssion"]: