mirror of https://gitlab.com/pamhyr/pamhyr2
WeatherParameters: automatic selection when we open the window + monoselection in default tab
parent
b5ae352af5
commit
2dca5d2905
|
|
@ -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()
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue