WeatherParameters: automatic selection when we open the window + monoselection in default tab

monopk-ic-adistt
JeaDylan 2026-07-09 15:44:32 +02:00
parent b5ae352af5
commit 2dca5d2905
1 changed files with 18 additions and 7 deletions

View File

@ -148,6 +148,7 @@ class WeatherParametersWindow(PamhyrWindow):
self.table_default.setModel(self._table)
self.table_default.setSelectionBehavior(QAbstractItemView.SelectRows)
self.table_default.setSelectionMode(QAbstractItemView.SingleSelection)
self.table_default.horizontalHeader().setSectionResizeMode(
QHeaderView.Stretch
)
@ -211,21 +212,31 @@ class WeatherParametersWindow(PamhyrWindow):
)
self.table_spec.scrollTo(index)
default_selection = self.table_default.selectionModel()
default_index = self.table_default.model().index(0, 0)
default_selection.select(
default_index,
self._selected_default_row_index = 0
self.select_table_default_row(0)
def select_table_default_row(self, row):
model = self.table_default.model()
if model is None or model.rowCount() == 0:
return
row = max(0, min(row, model.rowCount() - 1))
index = model.index(row, 0)
self.table_default.setCurrentIndex(index)
self.table_default.selectionModel().select(
index,
QItemSelectionModel.Rows |
QItemSelectionModel.ClearAndSelect |
QItemSelectionModel.Select
)
self.table_default.scrollTo(default_index)
self.table_default.scrollTo(index)
def on_table_default_selection_changed(self, selected, deselected):
rows = self.table_default.selectionModel().selectedRows()
if len(rows) == 0:
self._selected_default_row_index = None
return None
self.select_table_default_row(self._selected_default_row_index)
return self._selected_default_row_index
self._selected_default_row_index = rows[0].row()