diff --git a/src/View/Results/Table.py b/src/View/Results/Table.py index 668619f0..1a97e7d1 100644 --- a/src/View/Results/Table.py +++ b/src/View/Results/Table.py @@ -74,74 +74,75 @@ class TableModel(PamhyrTableModel): row = index.row() column = index.column() + p = self._lst[row] + if self._opt_data == "reach": if self._headers[column] == "name": - v = self._lst[row].name + v = p.name return str(v) elif self._opt_data == "profile": if self._headers[column] == "name": - v = self._lst[row].name + v = p.name return str(v) elif self._headers[column] == "rk": - v = self._lst[row].rk + v = p.rk return f"{v:.4f}" elif self._opt_data == "solver": if self._headers[column] == "solver": - v = self._lst[row] + v = p if v is None: v = self._data[0].solver_name return str(v) elif self._opt_data == "raw_data": - p = self._lst[row] if self._headers[column] == "name": if p.name == "": return f"{p.rk:.4f}" return f"{p.name}" elif self._headers[column] == "water_elevation": - v = self._lst[row].get_ts_key(self._timestamp, "Z") + v = p.get_ts_key(self._timestamp, "Z") if v is None: v = 0.0 return f"{v:.4f}" elif self._headers[column] == "discharge": - v = self._lst[row].get_ts_key(self._timestamp, "Q") + v = p.get_ts_key(self._timestamp, "Q") if v is None: v = 0.0 return f"{v:.4f}" elif self._headers[column] == "velocity": - v = self._lst[row].get_ts_key(self._timestamp, "V") + v = p.get_ts_key(self._timestamp, "V") if v is None: v = 0.0 return f"{v:.4f}" elif self._headers[column] == "width": - z = self._lst[row].get_ts_key(self._timestamp, "Z") - v = self._lst[row].geometry.wet_width(z) + z = p.get_ts_key(self._timestamp, "Z") + v = p.geometry.wet_width(z) return f"{v:.4f}" elif self._headers[column] == "depth": - z = self._lst[row].get_ts_key(self._timestamp, "Z") - v = self._lst[row].geometry.max_water_depth(z) + z = p.get_ts_key(self._timestamp, "Z") + v = p.geometry.max_water_depth(z) return f"{v:.4f}" elif self._headers[column] == "mean_depth": - z = self._lst[row].get_ts_key(self._timestamp, "Z") - v = self._lst[row].geometry.mean_water_depth(z) + z = p.get_ts_key(self._timestamp, "Z") + v = p.geometry.mean_water_depth(z) return f"{v:.4f}" elif self._headers[column] == "wet_area": - z = self._lst[row].get_ts_key(self._timestamp, "Z") - v = self._lst[row].geometry.wet_area(z) + z = p.get_ts_key(self._timestamp, "Z") + v = p.geometry.wet_area(z) return f"{v:.4f}" elif self._headers[column] == "wet_perimeter": - z = self._lst[row].get_ts_key(self._timestamp, "Z") - v = self._lst[row].geometry.wet_perimeter(z) + z = p.get_ts_key(self._timestamp, "Z") + v = p.geometry.wet_perimeter(z) return f"{v:.4f}" elif self._headers[column] == "hydraulic_radius": - z = self._lst[row].get_ts_key(self._timestamp, "Z") - v = self._lst[row].geometry.wet_radius(z) + z = p.get_ts_key(self._timestamp, "Z") + v = p.geometry.wet_radius(z) return f"{v:.4f}" elif self._headers[column] == "froude": - q = self._lst[row].get_ts_key(self._timestamp, "Q") - z = self._lst[row].get_ts_key(self._timestamp, "Z") - v = self._lst[row].get_ts_key(self._timestamp, "V") - a = self._lst[row].geometry.wet_area(z) - b = self._lst[row].geometry.wet_width(z) + q = p.get_ts_key(self._timestamp, "Q") + z = p.get_ts_key(self._timestamp, "Z") + v = p.get_ts_key(self._timestamp, "V") + a = p.geometry.wet_area(z) + b = p.geometry.wet_width(z) if b == 0.0 or a == 0.0: froude = 0.0 else: