MCPcopy Create free account
hub / github.com/NSLS2/PyXRF / fill_table

Method fill_table

pyxrf/gui_module/wnd_image_wizard.py:115–180  ·  view source on GitHub ↗
(self, range_table, limit_table, show_table)

Source from the content-addressed store, hash-verified

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()

Callers 2

_setup_tableMethod · 0.95
slot_update_tableMethod · 0.95

Calls 8

_clear_tableMethod · 0.95
setBackgroundMethod · 0.95
set_rangeMethod · 0.95
set_selectionMethod · 0.95
setAlignmentMethod · 0.95
setTextColorMethod · 0.95
RangeManagerClass · 0.85

Tested by

no test coverage detected