From 09029dc993c6fdbb580d905ad65a1821144bd68b Mon Sep 17 00:00:00 2001 From: Theophile Terraz <theophile.terraz@inrae.fr> Date: Wed, 29 Jan 2025 14:29:28 +0100 Subject: [PATCH] add copy AdisTS results table --- src/View/Results/TableAdisTS.py | 22 ++++++++++++---------- src/View/Results/WindowAdisTS.py | 30 +++++++++++++++++++++--------- 2 files changed, 33 insertions(+), 19 deletions(-) diff --git a/src/View/Results/TableAdisTS.py b/src/View/Results/TableAdisTS.py index f88ce179..0453fc0a 100644 --- a/src/View/Results/TableAdisTS.py +++ b/src/View/Results/TableAdisTS.py @@ -99,16 +99,18 @@ class TableModel(PamhyrTableModel): v = self._lst[row].get_ts_key( self._timestamp, "pols")[pol_index][0] return f"{v:.4f}" - if (self._headers[column] == pol + " Mass" - and self._type_pol[pol_index] == 7): - m1 = self._lst[row].get_ts_key( - self._timestamp, "pols")[pol_index][1] - m2 = self._lst[row].get_ts_key( - self._timestamp, "pols")[pol_index][2] - m3 = self._lst[row].get_ts_key( - self._timestamp, "pols")[pol_index][3] - v = m1 + m2 + m3 - return f"{v:.4f}" + if self._headers[column] == pol + " Mass": + if self._type_pol[pol_index] == 7: + m1 = self._lst[row].get_ts_key( + self._timestamp, "pols")[pol_index][1] + m2 = self._lst[row].get_ts_key( + self._timestamp, "pols")[pol_index][2] + m3 = self._lst[row].get_ts_key( + self._timestamp, "pols")[pol_index][3] + v = m1 + m2 + m3 + return f"{v:.4f}" + else: + return "" return QVariant() diff --git a/src/View/Results/WindowAdisTS.py b/src/View/Results/WindowAdisTS.py index f09028b3..75347a99 100644 --- a/src/View/Results/WindowAdisTS.py +++ b/src/View/Results/WindowAdisTS.py @@ -554,14 +554,7 @@ class ResultsWindowAdisTS(PamhyrWindow): self.update(pol_id=rows) def _set_current_profile_raw_data(self): - table = self.find(QTableView, f"tableView_raw_data") - indexes = table.selectedIndexes() - if len(indexes) == 0: - return - - ind = indexes[0].row() - self.update(profile_id=ind) - self._slider_profile.setValue(ind) + return def _set_current_timestamp(self): timestamp = self._timestamps[self._slider_time.value()] @@ -597,7 +590,26 @@ class ResultsWindowAdisTS(PamhyrWindow): self._reload_slider() def _copy(self): - logger.info("TODO: copy") + # focus on raw data table + if self.find(QTabWidget, f"tabWidget").currentIndex() == 0: + table = self.find(QTableView, f"tableView_raw_data") + model = self._table["raw_data"] + + coltext = [] + for index in sorted(table.selectionModel().selectedRows()): + row = index.row() + rowtext = [] + for column in range(model.columnCount()): + i = model.createIndex(row, column) + try: + rowtext.append(str(model.data(i))) + except AttributeError: + rowtext.append("") + coltext.append(rowtext) + + self.copyTableIntoClipboard(coltext) + else: + logger.info("TODO: copy") def _paste(self): logger.info("TODO: paste") -- GitLab