From c60912cb6c9c64fa227b29ded9c06969bb604d97 Mon Sep 17 00:00:00 2001 From: Zach Domke Date: Thu, 31 Oct 2024 16:09:34 -0700 Subject: [PATCH] ENH: Combine Y-axis name and label columns (TRC-79) --- trace/mixins/axis_table.py | 3 +++ trace/table_models/axis_model.py | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/trace/mixins/axis_table.py b/trace/mixins/axis_table.py index 2b13159..706d77a 100644 --- a/trace/mixins/axis_table.py +++ b/trace/mixins/axis_table.py @@ -18,6 +18,9 @@ def axis_table_init(self) -> None: self.axis_table_model = ArchiverAxisModel(self.ui.main_plot, self) self.ui.time_axis_tbl.setModel(self.axis_table_model) + label_col = self.axis_table_model.getColumnIndex("Y-Axis Label") + self.ui.time_axis_tbl.hideColumn(label_col) + hdr = self.ui.time_axis_tbl.horizontalHeader() hdr.setSectionResizeMode(QHeaderView.Stretch) del_col = self.axis_table_model.getColumnIndex("") diff --git a/trace/table_models/axis_model.py b/trace/table_models/axis_model.py index d6b344c..2f6252b 100644 --- a/trace/table_models/axis_model.py +++ b/trace/table_models/axis_model.py @@ -89,6 +89,12 @@ def setData(self, index: QModelIndex, value: Any, role=Qt.EditRole) -> bool: elif role == Qt.CheckStateRole and index.column() in self.checkable_col: return super().setData(index, value, Qt.EditRole) elif index.column() not in self.checkable_col: + # Changes to axis' name should change axis' label as well + if self._column_names[index.column()] == "Y-Axis Name": + label_col = self.getColumnIndex("Y-Axis Label") + label_index = self.index(index.row(), label_col) + self.setData(label_index, value, role) + return super().setData(index, value, role) return None