(self, range_table, limit_table, show_table)
| 113 | self.table.itemChanged.connect(self.table_item_changed) |
| 114 | |
| 115 | def fill_table(self, range_table, limit_table, show_table): |
| 116 | self._enable_plot_updates = False |
| 117 | |
| 118 | self._clear_table() |
| 119 | # Copy the table (we want to keep a copy, it's small) |
| 120 | self._range_data = deepcopy(range_table) |
| 121 | self._limit_data = deepcopy(limit_table) |
| 122 | self._show_data = deepcopy(show_table) |
| 123 | |
| 124 | self.table.setRowCount(len(range_table)) |
| 125 | # Color is set for operation with Dark theme |
| 126 | pal = self.table.palette() |
| 127 | pal.setColor(QPalette.Text, Qt.black) |
| 128 | pal.setColor(QPalette.Base, Qt.white) |
| 129 | self.table.setPalette(pal) |
| 130 | |
| 131 | brightness = 200 |
| 132 | table_colors = [(255, brightness, brightness), (brightness, 255, brightness)] |
| 133 | |
| 134 | for nr, row in enumerate(range_table): |
| 135 | element, v_min, v_max = row[0], row[1], row[2] |
| 136 | sel_min, sel_max = self._limit_data[nr][1], self._limit_data[nr][2] |
| 137 | sel_show = self._show_data[nr][1] |
| 138 | rgb = table_colors[nr % 2] |
| 139 | |
| 140 | for nc in range(self.table.columnCount()): |
| 141 | if nc in (0, 2, 3): |
| 142 | if nc == 0: |
| 143 | item = QTableWidgetItem(element) |
| 144 | item.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled) |
| 145 | item.setCheckState(Qt.Checked if sel_show else Qt.Unchecked) |
| 146 | self._checkable_items.append(item) |
| 147 | elif nc == 2: |
| 148 | item = QTableWidgetItem(f"{self._format_table_range_value(v_min)}") |
| 149 | item.setTextAlignment(int(Qt.AlignRight | Qt.AlignVCenter)) |
| 150 | elif nc == 3: |
| 151 | item = QTableWidgetItem(f"{self._format_table_range_value(v_max)}") |
| 152 | item.setTextAlignment(int(Qt.AlignRight | Qt.AlignVCenter)) |
| 153 | |
| 154 | item.setFlags(item.flags() & ~Qt.ItemIsEditable) |
| 155 | |
| 156 | item.setBackground(QBrush(QColor(*rgb))) |
| 157 | self.table.setItem(nr, nc, item) |
| 158 | |
| 159 | elif nc == 1: |
| 160 | item = RangeManager(name=f"{nr}", add_sliders=True) |
| 161 | item.set_range(v_min, v_max) |
| 162 | item.set_selection(value_low=sel_min, value_high=sel_max) |
| 163 | item.setAlignment(Qt.AlignCenter) |
| 164 | item.setFixedWidth(400) |
| 165 | item.setBackground(rgb) |
| 166 | item.setTextColor([0, 0, 0]) # Color is set for operation with Dark theme |
| 167 | item.selection_changed.connect(self.table_range_item_changed) |
| 168 | self._range_items.append(item) |
| 169 | self.table.setCellWidget(nr, nc, item) |
| 170 | |
| 171 | self.table.resizeColumnsToContents() |
| 172 | self.table.resizeRowsToContents() |
no test coverage detected