def add_entry_to_table(self, row_entries):
        assert len(row_entries) == self.grouping_table.columnCount()

        row_position = self.grouping_table.rowCount()
        self.grouping_table.insertRow(row_position)
        for i, entry in enumerate(row_entries):
            item = QtWidgets.QTableWidgetItem(entry)
            if group_table_columns[i] == group_table_columns[0]:
                # column 0 : group name
                group_name_widget = table_utils.ValidatedTableItem(self._validate_group_name_entry)
                group_name_widget.setText(entry)
                self.grouping_table.setItem(row_position, 0, group_name_widget)
                self.grouping_table.item(row_position, 0).setToolTip(entry)
                item.setFlags(QtCore.Qt.ItemIsEnabled)
                item.setFlags(QtCore.Qt.ItemIsSelectable)
            if group_table_columns[i] == group_table_columns[1]:
                # column 1 : detector IDs
                detector_widget = table_utils.ValidatedTableItem(self._validate_detector_ID_entry)
                detector_widget.setText(entry)
                self.grouping_table.setItem(row_position, 1, detector_widget)
                self.grouping_table.item(row_position, 1).setToolTip(entry)
            if group_table_columns[i] == group_table_columns[2]:
                # column 2 : number of detectors
                item.setFlags(QtCore.Qt.ItemIsEnabled)
                item.setFlags(QtCore.Qt.ItemIsSelectable)
            self.grouping_table.setItem(row_position, i, item)
Esempio n. 2
0
    def add_entry_to_table(self, row_entries):
        assert len(row_entries) == self.grouping_table.columnCount()
        row_position = self.grouping_table.rowCount()
        self.grouping_table.insertRow(row_position)
        for i, entry in enumerate(row_entries):
            item = QtWidgets.QTableWidgetItem(entry)
            if group_table_columns[i] == 'group_name':
                # column 0 : group name
                group_name_widget = table_utils.ValidatedTableItem(
                    self._validate_group_name_entry)
                group_name_widget.setText(entry)
                self.grouping_table.setItem(row_position, i, group_name_widget)
                self.grouping_table.item(row_position, i).setToolTip(entry)
            if group_table_columns[i] == 'to_analyse':
                # columns 1 : whether to analyse this group
                if entry:
                    item.setCheckState(QtCore.Qt.Checked)
                else:
                    item.setCheckState(QtCore.Qt.Unchecked)
            if group_table_columns[i] == 'detector_ids':
                # column 2 : detector IDs
                detector_widget = table_utils.ValidatedTableItem()
                detector_widget.setText(entry)
                self.grouping_table.setItem(row_position, i, detector_widget)
                self.grouping_table.item(row_position, i).setToolTip(entry)
                detector_widget.set_validator(self._validate_detector_ID_entry)
                item.setFlags(QtCore.Qt.ItemIsEnabled
                              | QtCore.Qt.ItemIsEnabled)

            if group_table_columns[i] == 'number_of_detectors':
                # column 3 : number of detector
                item.setFlags(QtCore.Qt.ItemIsEnabled)
                item.setFlags(QtCore.Qt.ItemIsSelectable)
            self.grouping_table.setItem(row_position, i, item)
    def add_entry_to_table(self,
                           row_entries,
                           color=(255, 255, 255),
                           tooltip=''):
        assert len(row_entries) == self.pairing_table.columnCount() - 1
        q_color = QtGui.QColor(*color, alpha=127)
        q_brush = QtGui.QBrush(q_color)

        row_position = self.pairing_table.rowCount()
        self.pairing_table.insertRow(row_position)
        for i, entry in enumerate(row_entries):
            item = QtWidgets.QTableWidgetItem(entry)
            item.setBackground(q_brush)
            item.setToolTip(tooltip)
            if pair_columns[i] == 'pair_name':
                pair_name_widget = table_utils.ValidatedTableItem(
                    self._validate_pair_name_entry)
                pair_name_widget.setText(entry)
                self.pairing_table.setItem(row_position, i, pair_name_widget)
                item.setFlags(QtCore.Qt.ItemIsEnabled)
                item.setFlags(QtCore.Qt.ItemIsSelectable)
            if pair_columns[i] == 'group_1':
                group1_selector_widget = self._group_selection_cell_widget()
                # ensure changing the selection sends an update signal
                group1_selector_widget.currentIndexChanged.connect(
                    lambda: self.on_cell_changed(row_position, 2))
                index = self.get_index_of_text(group1_selector_widget, entry)
                group1_selector_widget.setCurrentIndex(index)
                self.pairing_table.setCellWidget(row_position, i,
                                                 group1_selector_widget)
            if pair_columns[i] == 'group_2':
                group2_selector_widget = self._group_selection_cell_widget()
                # ensure changing the selection sends an update signal
                group2_selector_widget.currentIndexChanged.connect(
                    lambda: self.on_cell_changed(row_position, 3))
                index = self.get_index_of_text(group2_selector_widget, entry)
                group2_selector_widget.setCurrentIndex(index)
                self.pairing_table.setCellWidget(row_position, i,
                                                 group2_selector_widget)
            if pair_columns[i] == 'alpha':
                alpha_widget = table_utils.ValidatedTableItem(
                    self._validate_alpha)
                alpha_widget.setText(entry)
                self.pairing_table.setItem(row_position, i, alpha_widget)
            if pair_columns[i] == 'to_analyse':
                if entry:
                    item.setCheckState(QtCore.Qt.Checked)
                else:
                    item.setCheckState(QtCore.Qt.Unchecked)
            self.pairing_table.setItem(row_position, i, item)
        # guess alpha button
        guess_alpha_widget = self._guess_alpha_button()
        guess_alpha_widget.clicked.connect(
            lambda: self.guess_alpha_clicked_from_row(row_position))
        self.pairing_table.setCellWidget(row_position, 5, guess_alpha_widget)
Esempio n. 4
0
    def add_phasequad_to_table(self,
                               name,
                               to_analyse_re=True,
                               to_analyse_im=True):
        row_position = self.phasequad_table.rowCount()
        self.phasequad_table.insertRow(row_position)
        name_item = QtWidgets.QTableWidgetItem(name)
        phasequad_name_widget = table_utils.ValidatedTableItem()
        phasequad_name_widget.setText(name)
        self.phasequad_table.setItem(row_position, 0, phasequad_name_widget)
        name_item.setFlags(QtCore.Qt.ItemIsEnabled
                           | QtCore.Qt.ItemIsSelectable)
        self.phasequad_table.setItem(row_position, 0, name_item)

        for index, to_analyse in enumerate([to_analyse_re, to_analyse_im],
                                           start=1):
            analyse_item = QtWidgets.QTableWidgetItem(to_analyse)
            if to_analyse_re:
                analyse_item.setCheckState(QtCore.Qt.Checked)
            else:
                analyse_item.setCheckState(QtCore.Qt.Unchecked)
            self.phasequad_table.setItem(row_position, index, analyse_item)
            analyse_item.setFlags(QtCore.Qt.ItemIsUserCheckable
                                  | QtCore.Qt.ItemIsEnabled)
            self.phasequad_table.setItem(row_position, index, analyse_item)
    def add_entry_to_table(self, row_entries):
        assert len(row_entries) == self.pairing_table.columnCount() - 1

        row_position = self.pairing_table.rowCount()
        self.pairing_table.insertRow(row_position)
        for i, entry in enumerate(row_entries):
            item = QtWidgets.QTableWidgetItem(entry)
            if pair_columns[i] == 'pair_name':
                pair_name_widget = table_utils.ValidatedTableItem(
                    self._validate_pair_name_entry)
                pair_name_widget.setText(entry)
                self.pairing_table.setItem(row_position, i, pair_name_widget)
                item.setFlags(QtCore.Qt.ItemIsEnabled)
                item.setFlags(QtCore.Qt.ItemIsSelectable)
            if pair_columns[i] == 'group_1':
                group1_selector_widget = self._group_selection_cell_widget()
                # ensure changing the selection sends an update signal
                group1_selector_widget.currentIndexChanged.connect(
                    lambda: self.on_cell_changed(row_position, 1))
                index = self.get_index_of_text(group1_selector_widget, entry)
                group1_selector_widget.setCurrentIndex(index)
                self.pairing_table.setCellWidget(row_position, i,
                                                 group1_selector_widget)
            if pair_columns[i] == 'group_2':
                group2_selector_widget = self._group_selection_cell_widget()
                # ensure changing the selection sends an update signal
                group2_selector_widget.currentIndexChanged.connect(
                    lambda: self.on_cell_changed(row_position, 2))
                index = self.get_index_of_text(group2_selector_widget, entry)
                group2_selector_widget.setCurrentIndex(index)
                self.pairing_table.setCellWidget(row_position, i,
                                                 group2_selector_widget)
            if pair_columns[i] == 'alpha':
                alpha_widget = table_utils.ValidatedTableItem(
                    self._validate_alpha)
                alpha_widget.setText(entry)
                self.pairing_table.setItem(row_position, i, alpha_widget)
            self.pairing_table.setItem(row_position, i, item)
        # guess alpha button
        guess_alpha_widget = self._guess_alpha_button()
        guess_alpha_widget.clicked.connect(
            lambda: self.guess_alpha_clicked_from_row(row_position))
        self.pairing_table.setCellWidget(row_position, 4, guess_alpha_widget)