def data(self, index, role=_Qt.DisplayRole): if not index.isValid() or not 0 <= index.row() < self.rowCount(): return _QVariant() row = index.row() col = index.column() if role == _Qt.DisplayRole: if col == TableModelLines._COL_COLOR: return str(self._model_data[row]['color']) elif col == TableModelLines._COL_ALPHA: return str(self._model_data[row]['alpha']) elif col == TableModelLines._COL_LINEWIDTH: return str(self._model_data[row]['linewidth']) elif col == TableModelLines._COL_LINESTYLE: ls = self._model_data[row]['linestyle'] return str(MplLines.LINESTYLE_DICT[ls]) elif col == TableModelLines._COL_MARKER: mk = self._model_data[row]['marker'] return str(MplMarkers.MARKER_DICT[mk]) elif col == TableModelLines._COL_MARKERSIZE: return str(self._model_data[row]['markersize']) elif col == TableModelLines._COL_LABEL: return str(self._model_data[row]['label']) elif col == TableModelLines._COL_DELETE: return '' elif role == _Qt.DecorationRole: if col == TableModelLines._COL_COLOR: color = self._model_data[row]['color'] color_256 = [color[0]*255, color[1]*255, color[2]*255] qcolor = _QColor(color_256[0], color_256[1], color_256[2]) pm = _QPixmap(20, 20) pm.fill(qcolor) icon = _QIcon(pm) return icon elif col == TableModelLines._COL_DELETE: color = [1, 0, 0] color_256 = [color[0]*255, color[1]*255, color[2]*255] qcolor = _QColor(color_256[0], color_256[1], color_256[2]) pm = _QPixmap(20, 20) pm.fill(qcolor) icon = _QIcon(pm) return icon else: pass else: return _QVariant()
def data(self, index, role=_Qt.DisplayRole): if not index.isValid() or not 0 <= index.row() < self.rowCount(): return _QVariant() row = index.row() col = index.column() if role == _Qt.DisplayRole: if col == TableModelLines._COL_COLOR: return str(round_list(self._model_data[row]['color'])) elif col == TableModelLines._COL_ALPHA: return str(self._model_data[row]['alpha']) elif col == TableModelLines._COL_LINEWIDTH: return str(self._model_data[row]['linewidth']) elif col == TableModelLines._COL_LINESTYLE: ls = self._model_data[row]['linestyle'] return str(MplLines.LINESTYLE_DICT[ls]) elif col == TableModelLines._COL_MARKER: mk = self._model_data[row]['marker'] return str(MplMarkers.MARKER_DICT[mk]) elif col == TableModelLines._COL_MARKERSIZE: return str(self._model_data[row]['markersize']) elif col == TableModelLines._COL_LABEL: return str(self._model_data[row]['label']) elif col == TableModelLines._COL_DELETE: return '' elif role == _Qt.DecorationRole: if col == TableModelLines._COL_COLOR: color = self._model_data[row]['color'] color_256 = [color[0] * 255, color[1] * 255, color[2] * 255] qcolor = _QColor(color_256[0], color_256[1], color_256[2]) pm = _QPixmap(20, 20) pm.fill(qcolor) icon = _QIcon(pm) return icon elif col == TableModelLines._COL_DELETE: color = [1, 0, 0] color_256 = [color[0] * 255, color[1] * 255, color[2] * 255] qcolor = _QColor(color_256[0], color_256[1], color_256[2]) pm = _QPixmap(20, 20) pm.fill(qcolor) icon = _QIcon(pm) return icon else: pass else: return _QVariant()
def data(self, index, role=_Qt.DisplayRole): if not index.isValid() or not 0 <= index.row() < self.rowCount(): return _QVariant() row = index.row() col = index.column() if role == _Qt.DisplayRole: if col == TableModelImages._COL_CMAP: return str(self._model_data[row]['cmap_name']) elif col == TableModelImages._COL_ALPHA: return str(self._model_data[row]['alpha']) elif col == TableModelImages._COL_CLIM_LOW: return str(self._model_data[row]['clim_low']) elif col == TableModelImages._COL_CLIM_HIGH: return str(self._model_data[row]['clim_high']) elif col == TableModelImages._COL_CBAR: # print('1') return str(self._model_data[row]['colorbar']) elif col == TableModelImages._COL_LABEL: return str(self._model_data[row]['label']) elif col == TableModelImages._COL_DELETE: return '' elif role == _Qt.DecorationRole: if col == TableModelImages._COL_DELETE: color = [1, 0, 0] color_256 = [color[0] * 255, color[1] * 255, color[2] * 255] qcolor = _QColor(color_256[0], color_256[1], color_256[2]) pm = _QPixmap(20, 20) pm.fill(qcolor) icon = _QIcon(pm) return icon else: return _QVariant()
def data(self, index, role=_Qt.DisplayRole): if not index.isValid() or not 0 <= index.row() < self.rowCount(): return _QVariant() row = index.row() col = index.column() if role == _Qt.DisplayRole: if col == TableModelImages._COL_CMAP: return str(self._model_data[row]['cmap_name']) elif col == TableModelImages._COL_ALPHA: return str(self._model_data[row]['alpha']) elif col == TableModelImages._COL_CLIM_LOW: return str(self._model_data[row]['clim_low']) elif col == TableModelImages._COL_CLIM_HIGH: return str(self._model_data[row]['clim_high']) elif col == TableModelImages._COL_CBAR: # print('1') return str(self._model_data[row]['colorbar']) elif col == TableModelImages._COL_LABEL: return str(self._model_data[row]['label']) elif col == TableModelImages._COL_DELETE: return '' elif role == _Qt.DecorationRole: if col == TableModelImages._COL_DELETE: color = [1, 0, 0] color_256 = [color[0]*255, color[1]*255, color[2]*255] qcolor = _QColor(color_256[0], color_256[1], color_256[2]) pm = _QPixmap(20, 20) pm.fill(qcolor) icon = _QIcon(pm) return icon else: return _QVariant()
def data(self, index, role=_Qt.DisplayRole): if not index.isValid() or not 0 <= index.row() < self.rowCount(): return _QVariant() row = index.row() col = index.column() if role == _Qt.DisplayRole: if col == TableModelBars._COL_FACECOLOR: return str(self._model_data[row]['facecolor']) elif col == TableModelBars._COL_ALPHA: return str(self._model_data[row]['alpha']) elif col == TableModelBars._COL_EDGECOLOR: return str(self._model_data[row]['edgecolor']) elif col == TableModelBars._COL_LINEWIDTH: return str(self._model_data[row]['linewidth']) elif col == TableModelBars._COL_WIDTH_FACTOR: return str(self._model_data[row]['width_factor']) elif col == TableModelBars._COL_LABEL: return str(self._model_data[row]['label']) elif col == TableModelBars._COL_DELETE: return '' elif role == _Qt.DecorationRole: if col == TableModelBars._COL_FACECOLOR: color = self._model_data[row]['facecolor'] elif col == TableModelBars._COL_EDGECOLOR: color = self._model_data[row]['edgecolor'] if (col == TableModelBars._COL_FACECOLOR or col == TableModelBars._COL_EDGECOLOR): color_256 = [color[0]*255, color[1]*255, color[2]*255] qcolor = _QColor(color_256[0], color_256[1], color_256[2]) pm = _QPixmap(20, 20) pm.fill(qcolor) icon = _QIcon(pm) return icon elif col == TableModelBars._COL_DELETE: color = [1, 0, 0] color_256 = [color[0]*255, color[1]*255, color[2]*255] qcolor = _QColor(color_256[0], color_256[1], color_256[2]) pm = _QPixmap(20, 20) pm.fill(qcolor) icon = _QIcon(pm) return icon else: pass else: return _QVariant()
def data(self, index, role=_Qt.DisplayRole): if not index.isValid() or not 0 <= index.row() < self.rowCount(): return _QVariant() row = index.row() col = index.column() if role == _Qt.DisplayRole: if col == TableModelBars._COL_FACECOLOR: return str(round_list(self._model_data[row]['facecolor'])) elif col == TableModelBars._COL_ALPHA: return str(self._model_data[row]['alpha']) elif col == TableModelBars._COL_EDGECOLOR: return str(round_list(self._model_data[row]['edgecolor'])) elif col == TableModelBars._COL_LINEWIDTH: return str(self._model_data[row]['linewidth']) elif col == TableModelBars._COL_WIDTH_FACTOR: return str(self._model_data[row]['width_factor']) elif col == TableModelBars._COL_LABEL: return str(self._model_data[row]['label']) elif col == TableModelBars._COL_DELETE: return '' elif role == _Qt.DecorationRole: if col == TableModelBars._COL_FACECOLOR: color = self._model_data[row]['facecolor'] elif col == TableModelBars._COL_EDGECOLOR: color = self._model_data[row]['edgecolor'] if (col == TableModelBars._COL_FACECOLOR or col == TableModelBars._COL_EDGECOLOR): color_256 = [color[0] * 255, color[1] * 255, color[2] * 255] qcolor = _QColor(color_256[0], color_256[1], color_256[2]) pm = _QPixmap(20, 20) pm.fill(qcolor) icon = _QIcon(pm) return icon elif col == TableModelBars._COL_DELETE: color = [1, 0, 0] color_256 = [color[0] * 255, color[1] * 255, color[2] * 255] qcolor = _QColor(color_256[0], color_256[1], color_256[2]) pm = _QPixmap(20, 20) pm.fill(qcolor) icon = _QIcon(pm) return icon else: pass else: return _QVariant()
def __init__(self, parent=None): """Set up the ui.""" super().__init__(parent) # setup the ui uifile = _utils.get_ui_file(self) self.ui = _uic.loadUi(uifile, self) self.assembly_data = _measurement.AssemblyData() self.timer1 = _QTimer() self.timer1.timeout.connect(self.periodic_update) # create object to use database function self.access_assembly_data = _database.DatabaseCollection( database_name=self.database_name, collection_name=_measurement.AssemblyData.collection_name, mongo=self.mongo, server=self.server) # properties self.assembly_id = -1 self.cassette_name = '' self.list_position = 0 self.block_count = 0 self.block_list = [] self.cassette_list = [ _utils.CASSETTE_1_NAME, _utils.CASSETTE_2_NAME, _utils.CASSETTE_3_NAME, _utils.CASSETTE_4_NAME ] # stylesheets for buttons self.button_on_stylesheet = "background-color: rgb(0,255,0);" self.button_off_stylesheet = "background-color: rgb(232,232,232);" # create dictionary of images for LEDs self.led_images = {} self.led_images['green'] = _QPixmap( _os.path.join('deltabench', 'resources', 'img', 'green_light.png')) self.led_images['red'] = _QPixmap( _os.path.join('deltabench', 'resources', 'img', 'red_light.png')) # create dictionary of images for magnet orientations self.block_types = {} # suffix indicating image of block reversed self.PREFIX_REV = '-Rev' self.block_types[_utils.PREFIX_BLOCK_TYPE_1] = (_QPixmap( _os.path.join('deltabench', 'resources', 'img', 'Block-BA.png'))) self.block_types[_utils.PREFIX_BLOCK_TYPE_2] = (_QPixmap( _os.path.join('deltabench', 'resources', 'img', 'Block-BB.png'))) self.block_types[_utils.PREFIX_BLOCK_TYPE_3] = (_QPixmap( _os.path.join('deltabench', 'resources', 'img', 'Block-BC.png'))) self.block_types[_utils.PREFIX_BLOCK_TYPE_4] = (_QPixmap( _os.path.join('deltabench', 'resources', 'img', 'Block-TA.png'))) self.block_types[_utils.PREFIX_BLOCK_TYPE_5] = (_QPixmap( _os.path.join('deltabench', 'resources', 'img', 'Block-TB.png'))) self.block_types[_utils.PREFIX_BLOCK_TYPE_6] = (_QPixmap( _os.path.join('deltabench', 'resources', 'img', 'Block-TC.png'))) self.block_types[_utils.PREFIX_BLOCK_TYPE_1 + self.PREFIX_REV] = (_QPixmap( _os.path.join('deltabench', 'resources', 'img', 'Block-BA-Rev.png'))) self.block_types[_utils.PREFIX_BLOCK_TYPE_2 + self.PREFIX_REV] = (_QPixmap( _os.path.join('deltabench', 'resources', 'img', 'Block-BB-Rev.png'))) self.block_types[_utils.PREFIX_BLOCK_TYPE_3 + self.PREFIX_REV] = (_QPixmap( _os.path.join('deltabench', 'resources', 'img', 'Block-BC-Rev.png'))) self.block_types[_utils.PREFIX_BLOCK_TYPE_4 + self.PREFIX_REV] = (_QPixmap( _os.path.join('deltabench', 'resources', 'img', 'Block-TA-Rev.png'))) self.block_types[_utils.PREFIX_BLOCK_TYPE_5 + self.PREFIX_REV] = (_QPixmap( _os.path.join('deltabench', 'resources', 'img', 'Block-TB-Rev.png'))) self.block_types[_utils.PREFIX_BLOCK_TYPE_6 + self.PREFIX_REV] = (_QPixmap( _os.path.join('deltabench', 'resources', 'img', 'Block-TC-Rev.png'))) self.block_types['end'] = _QPixmap( _os.path.join('deltabench', 'resources', 'img', 'check-circle-outline.png')) self.block_types['none'] = _QPixmap() # initialize sheet name combo box with cassette names self.ui.cmb_sheet_name.addItems(self.cassette_list) # set push buttons background to off style self.set_all_motion_pbt_stylesheet(self.button_off_stylesheet) # clear GUI displayed data self.reset_all_display_data() # connect widgets to functions self.connect_signal_slots() # start periodic info update self.timer1.start(self._update_interval * 1000)