def _initInsertPositionTableWithExtents(self, axes, mx): positionTbl = self.positionWidget tblHeaders = ["insert at", "max"] positionTbl.setColumnCount(len(tblHeaders)) positionTbl.setHorizontalHeaderLabels(tblHeaders) positionTbl.resizeColumnsToContents() tagged_insert = collections.OrderedDict(zip(axes, self.imageOffsets)) tagged_max = collections.OrderedDict(zip(axes, mx)) self._tagged_insert = tagged_insert positionTbl.setRowCount(len(tagged_insert)) positionTbl.setVerticalHeaderLabels(tagged_insert.keys()) self._insert_position_boxes.clear() for row, (axis_key, extent) in enumerate(tagged_max.items()): # Init min/max spinboxes default_insert = tagged_insert[axis_key] or 0 default_max = tagged_max[axis_key] or extent insertBox = QSpinBox(self) maxBox = QLabel(str(default_max), self) insertBox.setValue(0) insertBox.setMinimum(0) insertBox.setMaximum(extent) insertBox.setEnabled(tagged_insert[axis_key] is not None) if insertBox.isEnabled(): insertBox.setValue(default_insert) # TODO: maxBox shouldn't be in tab list (but it still is) maxBox.setTextInteractionFlags(Qt.NoTextInteraction) maxBox.setFocusPolicy(Qt.NoFocus) maxBox.setEnabled(False) insertBox.valueChanged.connect(self._updatePosition) positionTbl.setCellWidget(row, 0, insertBox) positionTbl.setCellWidget(row, 1, maxBox) self._insert_position_boxes[axis_key] = (insertBox, maxBox) positionTbl.resizeColumnsToContents()
def _initInsertPositionTableWithExtents(self, axes, mx): positionTbl = self.positionWidget tblHeaders = ["insert at", "max"] positionTbl.setColumnCount(len(tblHeaders)) positionTbl.setHorizontalHeaderLabels(tblHeaders) positionTbl.resizeColumnsToContents() tagged_insert = collections.OrderedDict(zip(axes, self.imageOffsets)) tagged_max = collections.OrderedDict(zip(axes, mx)) self._tagged_insert = tagged_insert positionTbl.setRowCount(len(tagged_insert)) positionTbl.setVerticalHeaderLabels(tagged_insert.keys()) self._insert_position_boxes.clear() for row, (axis_key, extent) in enumerate(tagged_max.items()): # Init min/max spinboxes default_insert = tagged_insert[axis_key] or 0 default_max = tagged_max[axis_key] or extent insertBox = QSpinBox(self) maxBox = QLabel(str(default_max), self) insertBox.setValue(0) insertBox.setMinimum(0) insertBox.setMaximum(extent) insertBox.setEnabled( tagged_insert[axis_key] is not None ) if insertBox.isEnabled(): insertBox.setValue( default_insert ) # TODO: maxBox shouldn't be in tab list (but it still is) maxBox.setTextInteractionFlags(Qt.NoTextInteraction) maxBox.setFocusPolicy(Qt.NoFocus) maxBox.setEnabled(False) insertBox.valueChanged.connect( self._updatePosition ) positionTbl.setCellWidget( row, 0, insertBox ) positionTbl.setCellWidget( row, 1, maxBox ) self._insert_position_boxes[axis_key] = (insertBox, maxBox) positionTbl.resizeColumnsToContents()