Example #1
0
    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()
Example #2
0
    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()
Example #3
0
    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()
Example #4
0
    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()
Example #5
0
    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()
Example #6
0
    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)