BC, LC: Add read only mode support.

scenarios
Pierre-Antoine Rouby 2024-09-06 10:04:21 +02:00
parent b3fd673f33
commit 3de96a8d9d
4 changed files with 45 additions and 20 deletions

View File

@ -147,6 +147,11 @@ class EditBoundaryConditionWindow(PamhyrWindow):
for h in self._data.header: for h in self._data.header:
headers[h] = table_headers[h] headers[h] = table_headers[h]
if self._study.is_editable():
editable_headers = self._data.header
else:
editable_headers = []
self._delegate_time = PamhyrExTimeDelegate( self._delegate_time = PamhyrExTimeDelegate(
data=self._data, data=self._data,
mode=self._study.time_system, mode=self._study.time_system,
@ -157,7 +162,7 @@ class EditBoundaryConditionWindow(PamhyrWindow):
self._table = TableModel( self._table = TableModel(
table_view=table, table_view=table,
table_headers=headers, table_headers=headers,
editable_headers=self._data.header, editable_headers=editable_headers,
delegates={ delegates={
# "time": self._delegate_time, # "time": self._delegate_time,
}, },
@ -190,6 +195,7 @@ class EditBoundaryConditionWindow(PamhyrWindow):
self.plot.draw() self.plot.draw()
def setup_connections(self): def setup_connections(self):
if self._study.is_editable():
self.find(QAction, "action_add").triggered.connect(self.add) self.find(QAction, "action_add").triggered.connect(self.add)
self.find(QAction, "action_del").triggered.connect(self.delete) self.find(QAction, "action_del").triggered.connect(self.delete)
self.find(QAction, "action_sort").triggered.connect(self.sort) self.find(QAction, "action_sort").triggered.connect(self.sort)
@ -198,6 +204,7 @@ class EditBoundaryConditionWindow(PamhyrWindow):
self._table.layoutChanged.connect(self.update) self._table.layoutChanged.connect(self.update)
if self._is_solid: if self._is_solid:
if self._study.is_editable():
self._d50sigma.d50Changed.connect(self.d50_changed) self._d50sigma.d50Changed.connect(self.d50_changed)
self._d50sigma.sigmaChanged.connect(self.sigma_changed) self._d50sigma.sigmaChanged.connect(self.sigma_changed)

View File

@ -94,6 +94,11 @@ class BoundaryConditionWindow(PamhyrWindow):
def setup_table(self): def setup_table(self):
self._table = {} self._table = {}
if self._study.is_editable():
editable_headers = ["name", "type", "node"]
else:
editable_headers = []
for t in ["liquid", "solid", "suspenssion"]: for t in ["liquid", "solid", "suspenssion"]:
self._delegate_type = ComboBoxDelegate( self._delegate_type = ComboBoxDelegate(
trad=self._trad, trad=self._trad,
@ -114,7 +119,7 @@ class BoundaryConditionWindow(PamhyrWindow):
self._table[t] = TableModel( self._table[t] = TableModel(
table_view=table, table_view=table,
table_headers=self._trad.get_dict("table_headers"), table_headers=self._trad.get_dict("table_headers"),
editable_headers=["name", "type", "node"], editable_headers=editable_headers,
delegates={ delegates={
"type": self._delegate_type, "type": self._delegate_type,
"node": self._delegate_node, "node": self._delegate_node,
@ -140,11 +145,13 @@ class BoundaryConditionWindow(PamhyrWindow):
self.graph_layout.addWidget(self.graph_widget) self.graph_layout.addWidget(self.graph_widget)
def setup_connections(self): def setup_connections(self):
if self._study.is_editable():
self.find(QAction, "action_add").triggered.connect(self.add) self.find(QAction, "action_add").triggered.connect(self.add)
self.find(QAction, "action_del").triggered.connect(self.delete) 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) self.find(QAction, "action_sort").triggered.connect(self.sort)
self.find(QAction, "action_edit").triggered.connect(self.edit)
def current_tab(self): def current_tab(self):
return self.find(QTabWidget, "tabWidget")\ return self.find(QTabWidget, "tabWidget")\
.currentWidget()\ .currentWidget()\

View File

@ -93,11 +93,16 @@ class EditLateralContributionWindow(PamhyrWindow):
for h in self._data.header: for h in self._data.header:
headers[h] = table_headers[h] headers[h] = table_headers[h]
if self._study.is_editable():
editable_headers = self._data.header
else:
editable_headers = []
table = self.find(QTableView, "tableView") table = self.find(QTableView, "tableView")
self._table = TableModel( self._table = TableModel(
table_view=table, table_view=table,
table_headers=headers, table_headers=headers,
editable_headers=self._data.header, editable_headers=editable_headers,
delegates={ delegates={
# "time": self._delegate_time, # "time": self._delegate_time,
}, },
@ -132,6 +137,7 @@ class EditLateralContributionWindow(PamhyrWindow):
self.plot.draw() self.plot.draw()
def setup_connections(self): def setup_connections(self):
if self._study.is_editable():
self.find(QAction, "action_add").triggered.connect(self.add) self.find(QAction, "action_add").triggered.connect(self.add)
self.find(QAction, "action_del").triggered.connect(self.delete) self.find(QAction, "action_del").triggered.connect(self.delete)
self.find(QAction, "action_sort").triggered.connect(self.sort) self.find(QAction, "action_sort").triggered.connect(self.sort)

View File

@ -88,9 +88,13 @@ class LateralContributionWindow(PamhyrWindow):
def setup_table(self): def setup_table(self):
self._table = {} self._table = {}
self._delegate_rk = [] 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"]: for t in ["liquid", "solid", "suspenssion"]:
self._delegate_type = ComboBoxDelegate( self._delegate_type = ComboBoxDelegate(
data=self._study.river, data=self._study.river,
@ -121,7 +125,7 @@ class LateralContributionWindow(PamhyrWindow):
self._table[t] = TableModel( self._table[t] = TableModel(
table_view=table, table_view=table,
table_headers=self._trad.get_dict("table_headers"), table_headers=self._trad.get_dict("table_headers"),
editable_headers=self._trad.get_dict("table_headers"), editable_headers=editable_headers,
delegates={ delegates={
"type": self._delegate_type, "type": self._delegate_type,
"edge": self._delegate_edge, "edge": self._delegate_edge,
@ -153,11 +157,12 @@ class LateralContributionWindow(PamhyrWindow):
) )
def setup_connections(self): def setup_connections(self):
if self._study.is_editable():
self.find(QAction, "action_add").triggered.connect(self.add) self.find(QAction, "action_add").triggered.connect(self.add)
self.find(QAction, "action_del").triggered.connect(self.delete) 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) 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) self.tabs.currentChanged.connect(self._set_current_reach)
for t in ["liquid", "solid", "suspenssion"]: for t in ["liquid", "solid", "suspenssion"]: