dev #297
| @@ -14,29 +14,19 @@ from PyQt5 import QtCore, QtGui, QtWidgets | ||||
| class Ui_Form(object): | ||||
|     def setupUi(self, Form): | ||||
|         Form.setObjectName("Form") | ||||
|         Form.resize(498, 746) | ||||
|         self.gridLayout_2 = QtWidgets.QGridLayout(Form) | ||||
|         self.gridLayout_2.setVerticalSpacing(9) | ||||
|         self.gridLayout_2.setObjectName("gridLayout_2") | ||||
|         self.horizontalLayout_2 = QtWidgets.QHBoxLayout() | ||||
|         self.horizontalLayout_2.setObjectName("horizontalLayout_2") | ||||
|         self.lineEdit_2 = QtWidgets.QLineEdit(Form) | ||||
|         self.lineEdit_2.setObjectName("lineEdit_2") | ||||
|         self.horizontalLayout_2.addWidget(self.lineEdit_2) | ||||
|         self.lineEdit = QtWidgets.QLineEdit(Form) | ||||
|         self.lineEdit.setObjectName("lineEdit") | ||||
|         self.horizontalLayout_2.addWidget(self.lineEdit) | ||||
|         self.comboBox_2 = QtWidgets.QComboBox(Form) | ||||
|         self.comboBox_2.setObjectName("comboBox_2") | ||||
|         self.comboBox_2.addItem("") | ||||
|         self.comboBox_2.addItem("") | ||||
|         self.horizontalLayout_2.addWidget(self.comboBox_2) | ||||
|         self.gridLayout_2.addLayout(self.horizontalLayout_2, 4, 1, 1, 1) | ||||
|         self.comboBox = QtWidgets.QComboBox(Form) | ||||
|         self.comboBox.setObjectName("comboBox") | ||||
|         self.comboBox.addItem("") | ||||
|         self.comboBox.addItem("") | ||||
|         self.gridLayout_2.addWidget(self.comboBox, 7, 1, 1, 1) | ||||
|         Form.resize(417, 746) | ||||
|         self.gridLayout = QtWidgets.QGridLayout(Form) | ||||
|         self.gridLayout.setObjectName("gridLayout") | ||||
|         self.label_2 = QtWidgets.QLabel(Form) | ||||
|         self.label_2.setObjectName("label_2") | ||||
|         self.gridLayout.addWidget(self.label_2, 0, 0, 1, 2) | ||||
|         self.peaktable = QtWidgets.QListWidget(Form) | ||||
|         self.peaktable.setEditTriggers(QtWidgets.QAbstractItemView.DoubleClicked|QtWidgets.QAbstractItemView.EditKeyPressed) | ||||
|         self.peaktable.setObjectName("peaktable") | ||||
|         self.gridLayout.addWidget(self.peaktable, 1, 0, 1, 2) | ||||
|         self.special_checkbox = QtWidgets.QCheckBox(Form) | ||||
|         self.special_checkbox.setObjectName("special_checkbox") | ||||
|         self.gridLayout.addWidget(self.special_checkbox, 3, 0, 1, 1) | ||||
|         self.special_comboBox = QtWidgets.QComboBox(Form) | ||||
|         self.special_comboBox.setEnabled(False) | ||||
|         self.special_comboBox.setObjectName("special_comboBox") | ||||
| @@ -44,59 +34,29 @@ class Ui_Form(object): | ||||
|         self.special_comboBox.addItem("") | ||||
|         self.special_comboBox.addItem("") | ||||
|         self.special_comboBox.addItem("") | ||||
|         self.gridLayout_2.addWidget(self.special_comboBox, 3, 1, 1, 1) | ||||
|         self.graph_checkbox = QtWidgets.QCheckBox(Form) | ||||
|         self.graph_checkbox.setChecked(True) | ||||
|         self.graph_checkbox.setObjectName("graph_checkbox") | ||||
|         self.gridLayout_2.addWidget(self.graph_checkbox, 8, 0, 1, 1) | ||||
|         self.label = QtWidgets.QLabel(Form) | ||||
|         self.label.setObjectName("label") | ||||
|         self.gridLayout_2.addWidget(self.label, 7, 0, 1, 1) | ||||
|         self.graph_combobox = QtWidgets.QComboBox(Form) | ||||
|         self.graph_combobox.setEnabled(False) | ||||
|         self.graph_combobox.setObjectName("graph_combobox") | ||||
|         self.gridLayout_2.addWidget(self.graph_combobox, 8, 1, 1, 1) | ||||
|         self.deleteButton = QtWidgets.QPushButton(Form) | ||||
|         icon = QtGui.QIcon.fromTheme("dialog-cancel") | ||||
|         self.deleteButton.setIcon(icon) | ||||
|         self.deleteButton.setObjectName("deleteButton") | ||||
|         self.gridLayout_2.addWidget(self.deleteButton, 2, 0, 1, 2) | ||||
|         self.peaktable = QtWidgets.QListWidget(Form) | ||||
|         self.peaktable.setEditTriggers(QtWidgets.QAbstractItemView.DoubleClicked|QtWidgets.QAbstractItemView.EditKeyPressed) | ||||
|         self.peaktable.setObjectName("peaktable") | ||||
|         self.gridLayout_2.addWidget(self.peaktable, 1, 0, 1, 2) | ||||
|         self.checkBox = QtWidgets.QCheckBox(Form) | ||||
|         self.checkBox.setObjectName("checkBox") | ||||
|         self.gridLayout_2.addWidget(self.checkBox, 3, 0, 1, 1) | ||||
|         self.okButton = QtWidgets.QPushButton(Form) | ||||
|         icon = QtGui.QIcon.fromTheme("dialog-ok") | ||||
|         self.okButton.setIcon(icon) | ||||
|         self.okButton.setObjectName("okButton") | ||||
|         self.gridLayout_2.addWidget(self.okButton, 9, 0, 1, 2) | ||||
|         self.label_5 = QtWidgets.QLabel(Form) | ||||
|         self.label_5.setObjectName("label_5") | ||||
|         self.gridLayout_2.addWidget(self.label_5, 5, 0, 1, 1) | ||||
|         self.horizontalLayout = QtWidgets.QHBoxLayout() | ||||
|         self.horizontalLayout.setObjectName("horizontalLayout") | ||||
|         self.xbutton = QtWidgets.QCheckBox(Form) | ||||
|         self.xbutton.setObjectName("xbutton") | ||||
|         self.horizontalLayout.addWidget(self.xbutton) | ||||
|         self.ybutton = QtWidgets.QCheckBox(Form) | ||||
|         self.ybutton.setChecked(True) | ||||
|         self.ybutton.setObjectName("ybutton") | ||||
|         self.horizontalLayout.addWidget(self.ybutton) | ||||
|         self.gridLayout_2.addLayout(self.horizontalLayout, 6, 1, 1, 1) | ||||
|         spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) | ||||
|         self.gridLayout_2.addItem(spacerItem, 10, 0, 1, 1) | ||||
|         self.gridLayout.addWidget(self.special_comboBox, 3, 1, 1, 1) | ||||
|         spacerItem = QtWidgets.QSpacerItem(20, 30, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) | ||||
|         self.gridLayout.addItem(spacerItem, 4, 0, 1, 1) | ||||
|         self.label_3 = QtWidgets.QLabel(Form) | ||||
|         self.label_3.setObjectName("label_3") | ||||
|         self.gridLayout_2.addWidget(self.label_3, 4, 0, 1, 1) | ||||
|         self.label_4 = QtWidgets.QLabel(Form) | ||||
|         self.label_4.setObjectName("label_4") | ||||
|         self.gridLayout_2.addWidget(self.label_4, 6, 0, 1, 1) | ||||
|         self.label_2 = QtWidgets.QLabel(Form) | ||||
|         self.label_2.setObjectName("label_2") | ||||
|         self.gridLayout_2.addWidget(self.label_2, 0, 0, 1, 2) | ||||
|         self.gridLayout.addWidget(self.label_3, 5, 0, 1, 1) | ||||
|         self.horizontalLayout_2 = QtWidgets.QHBoxLayout() | ||||
|         self.horizontalLayout_2.setObjectName("horizontalLayout_2") | ||||
|         self.left_limit = QtWidgets.QLineEdit(Form) | ||||
|         self.left_limit.setObjectName("left_limit") | ||||
|         self.horizontalLayout_2.addWidget(self.left_limit) | ||||
|         self.right_limit = QtWidgets.QLineEdit(Form) | ||||
|         self.right_limit.setObjectName("right_limit") | ||||
|         self.horizontalLayout_2.addWidget(self.right_limit) | ||||
|         self.limit_combobox = QtWidgets.QComboBox(Form) | ||||
|         self.limit_combobox.setObjectName("limit_combobox") | ||||
|         self.limit_combobox.addItem("") | ||||
|         self.limit_combobox.addItem("") | ||||
|         self.horizontalLayout_2.addWidget(self.limit_combobox) | ||||
|         self.gridLayout.addLayout(self.horizontalLayout_2, 5, 1, 1, 1) | ||||
|         self.label_5 = QtWidgets.QLabel(Form) | ||||
|         self.label_5.setObjectName("label_5") | ||||
|         self.gridLayout.addWidget(self.label_5, 6, 0, 1, 1) | ||||
|         self.average_combobox = QtWidgets.QComboBox(Form) | ||||
|         sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed) | ||||
|         sizePolicy.setHorizontalStretch(0) | ||||
| @@ -108,52 +68,93 @@ class Ui_Form(object): | ||||
|         self.average_combobox.addItem("") | ||||
|         self.average_combobox.addItem("") | ||||
|         self.average_combobox.addItem("") | ||||
|         self.gridLayout_2.addWidget(self.average_combobox, 5, 1, 1, 1) | ||||
|         self.label.setBuddy(self.comboBox) | ||||
|         self.gridLayout.addWidget(self.average_combobox, 6, 1, 1, 1) | ||||
|         self.label_4 = QtWidgets.QLabel(Form) | ||||
|         self.label_4.setObjectName("label_4") | ||||
|         self.gridLayout.addWidget(self.label_4, 7, 0, 1, 1) | ||||
|         self.horizontalLayout = QtWidgets.QHBoxLayout() | ||||
|         self.horizontalLayout.setObjectName("horizontalLayout") | ||||
|         self.xbutton = QtWidgets.QCheckBox(Form) | ||||
|         self.xbutton.setObjectName("xbutton") | ||||
|         self.horizontalLayout.addWidget(self.xbutton) | ||||
|         self.ybutton = QtWidgets.QCheckBox(Form) | ||||
|         self.ybutton.setChecked(True) | ||||
|         self.ybutton.setObjectName("ybutton") | ||||
|         self.horizontalLayout.addWidget(self.ybutton) | ||||
|         self.gridLayout.addLayout(self.horizontalLayout, 7, 1, 1, 1) | ||||
|         self.label = QtWidgets.QLabel(Form) | ||||
|         self.label.setObjectName("label") | ||||
|         self.gridLayout.addWidget(self.label, 8, 0, 1, 1) | ||||
|         self.group_box = QtWidgets.QComboBox(Form) | ||||
|         self.group_box.setObjectName("group_box") | ||||
|         self.group_box.addItem("") | ||||
|         self.group_box.addItem("") | ||||
|         self.gridLayout.addWidget(self.group_box, 8, 1, 1, 1) | ||||
|         spacerItem1 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred) | ||||
|         self.gridLayout.addItem(spacerItem1, 9, 0, 1, 1) | ||||
|         self.graph_checkbox = QtWidgets.QCheckBox(Form) | ||||
|         self.graph_checkbox.setChecked(True) | ||||
|         self.graph_checkbox.setObjectName("graph_checkbox") | ||||
|         self.gridLayout.addWidget(self.graph_checkbox, 10, 0, 1, 1) | ||||
|         self.graph_combobox = QtWidgets.QComboBox(Form) | ||||
|         self.graph_combobox.setEnabled(False) | ||||
|         self.graph_combobox.setObjectName("graph_combobox") | ||||
|         self.gridLayout.addWidget(self.graph_combobox, 10, 1, 1, 1) | ||||
|         spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) | ||||
|         self.gridLayout.addItem(spacerItem2, 12, 0, 1, 1) | ||||
|         self.okButton = QtWidgets.QPushButton(Form) | ||||
|         icon = QtGui.QIcon.fromTheme("dialog-ok") | ||||
|         self.okButton.setIcon(icon) | ||||
|         self.okButton.setObjectName("okButton") | ||||
|         self.gridLayout.addWidget(self.okButton, 11, 0, 1, 2) | ||||
|         self.deleteButton = QtWidgets.QPushButton(Form) | ||||
|         icon = QtGui.QIcon.fromTheme("dialog-cancel") | ||||
|         self.deleteButton.setIcon(icon) | ||||
|         self.deleteButton.setObjectName("deleteButton") | ||||
|         self.gridLayout.addWidget(self.deleteButton, 2, 0, 1, 2) | ||||
|         self.label_2.setBuddy(self.peaktable) | ||||
|         self.label_5.setBuddy(self.average_combobox) | ||||
|         self.label_4.setBuddy(self.xbutton) | ||||
|         self.label_2.setBuddy(self.peaktable) | ||||
|         self.label.setBuddy(self.group_box) | ||||
|  | ||||
|         self.retranslateUi(Form) | ||||
|         QtCore.QMetaObject.connectSlotsByName(Form) | ||||
|         Form.setTabOrder(self.peaktable, self.checkBox) | ||||
|         Form.setTabOrder(self.checkBox, self.special_comboBox) | ||||
|         Form.setTabOrder(self.special_comboBox, self.comboBox_2) | ||||
|         Form.setTabOrder(self.comboBox_2, self.average_combobox) | ||||
|         Form.setTabOrder(self.peaktable, self.limit_combobox) | ||||
|         Form.setTabOrder(self.limit_combobox, self.average_combobox) | ||||
|         Form.setTabOrder(self.average_combobox, self.xbutton) | ||||
|         Form.setTabOrder(self.xbutton, self.ybutton) | ||||
|         Form.setTabOrder(self.ybutton, self.comboBox) | ||||
|         Form.setTabOrder(self.comboBox, self.graph_checkbox) | ||||
|         Form.setTabOrder(self.ybutton, self.group_box) | ||||
|         Form.setTabOrder(self.group_box, self.graph_checkbox) | ||||
|         Form.setTabOrder(self.graph_checkbox, self.graph_combobox) | ||||
|  | ||||
|     def retranslateUi(self, Form): | ||||
|         _translate = QtCore.QCoreApplication.translate | ||||
|         Form.setWindowTitle(_translate("Form", "Form")) | ||||
|         self.comboBox_2.setItemText(0, _translate("Form", "points")) | ||||
|         self.comboBox_2.setItemText(1, _translate("Form", "range")) | ||||
|         self.comboBox.setItemText(0, _translate("Form", "\"Group\" value")) | ||||
|         self.comboBox.setItemText(1, _translate("Form", "x value")) | ||||
|         self.label_2.setText(_translate("Form", "Selected points and regions")) | ||||
|         self.peaktable.setToolTip(_translate("Form", "Edit by entering new value: \n" | ||||
| "Single number for points (e.g. 1e-6); \n" | ||||
| "two numbers separated by space for regions (e.g. 1e-6 5e-6). \n" | ||||
| "Changing between regions and points is NOT possible")) | ||||
|         self.special_checkbox.setText(_translate("Form", "Use special value")) | ||||
|         self.special_comboBox.setToolTip(_translate("Form", "Automatic selection of respective points")) | ||||
|         self.special_comboBox.setItemText(0, _translate("Form", "max(y)")) | ||||
|         self.special_comboBox.setItemText(1, _translate("Form", "max(abs(y))")) | ||||
|         self.special_comboBox.setItemText(2, _translate("Form", "min(y)")) | ||||
|         self.special_comboBox.setItemText(3, _translate("Form", "min(abs(y))")) | ||||
|         self.graph_checkbox.setText(_translate("Form", "New graph?")) | ||||
|         self.label.setText(_translate("Form", "Group by")) | ||||
|         self.deleteButton.setText(_translate("Form", "Delete selection")) | ||||
|         self.peaktable.setToolTip(_translate("Form", "Edit by entering new value: \n" | ||||
| "Single number for points (e.g. 1e-6); \n" | ||||
| "two numbers separated by space for regions (e.g. 1e-6 5e-6). \n" | ||||
| "Changing between regions and points is NOT possible")) | ||||
|         self.checkBox.setText(_translate("Form", "Use special value")) | ||||
|         self.okButton.setText(_translate("Form", "Apply")) | ||||
|         self.label_5.setText(_translate("Form", "Aggregation")) | ||||
|         self.xbutton.setText(_translate("Form", "x")) | ||||
|         self.ybutton.setText(_translate("Form", "y")) | ||||
|         self.label_3.setText(_translate("Form", "Region around points")) | ||||
|         self.label_4.setText(_translate("Form", "New set based on")) | ||||
|         self.label_2.setText(_translate("Form", "Selected points and regions")) | ||||
|         self.limit_combobox.setItemText(0, _translate("Form", "points")) | ||||
|         self.limit_combobox.setItemText(1, _translate("Form", "range")) | ||||
|         self.label_5.setText(_translate("Form", "Aggregation")) | ||||
|         self.average_combobox.setItemText(0, _translate("Form", "Mean")) | ||||
|         self.average_combobox.setItemText(1, _translate("Form", "Sum")) | ||||
|         self.average_combobox.setItemText(2, _translate("Form", "Integral")) | ||||
|         self.average_combobox.setItemText(3, _translate("Form", "Std. deviation")) | ||||
|         self.label_4.setText(_translate("Form", "New set based on")) | ||||
|         self.xbutton.setText(_translate("Form", "x")) | ||||
|         self.ybutton.setText(_translate("Form", "y")) | ||||
|         self.label.setText(_translate("Form", "Group by")) | ||||
|         self.group_box.setItemText(0, _translate("Form", "\"Group\" value")) | ||||
|         self.group_box.setItemText(1, _translate("Form", "x value")) | ||||
|         self.graph_checkbox.setText(_translate("Form", "New graph?")) | ||||
|         self.okButton.setText(_translate("Form", "Apply")) | ||||
|         self.deleteButton.setText(_translate("Form", "Delete selection")) | ||||
|   | ||||
| @@ -27,14 +27,18 @@ class PointSelectWidget(QtWidgets.QWidget, Ui_Form): | ||||
|         self._last_item = None | ||||
|         self.connected_figure = '' | ||||
|  | ||||
|         self._avg_modes = ['mean', 'sum', 'integral', 'std'] | ||||
|         self._special_values = ['max', 'absmax', 'min', 'absmin'] | ||||
|         self._group_modes = ['group', 'x'] | ||||
|  | ||||
|         self.okButton.clicked.connect(self.apply) | ||||
|         self.deleteButton.clicked.connect(self.remove_points) | ||||
|  | ||||
|         self.peaktable.itemChanged.connect(self.editing_finished) | ||||
|         self.peaktable.itemDoubleClicked.connect(self.editing_started) | ||||
|  | ||||
|         self.lineEdit.setValidator(QtGui.QDoubleValidator()) | ||||
|         self.lineEdit_2.setValidator(QtGui.QDoubleValidator()) | ||||
|         self.left_limit.setValidator(QtGui.QDoubleValidator()) | ||||
|         self.right_limit.setValidator(QtGui.QDoubleValidator()) | ||||
|  | ||||
|     def keyPressEvent(self, e): | ||||
|         if e.key() == QtCore.Qt.Key.Key_Delete: | ||||
| @@ -107,28 +111,21 @@ class PointSelectWidget(QtWidgets.QWidget, Ui_Form): | ||||
|     @QtCore.pyqtSlot() | ||||
|     def apply(self) -> dict: | ||||
|         ret_dic = { | ||||
|             'avg_range': [self.left_pt.value(), self.right_pt.value()], | ||||
|             'avg_mode': {0: 'mean', 1: 'sum', 2: 'integral', 3: 'std'}[self.average_combobox.currentIndex()], | ||||
|             'avg_range': self.get_limits(), | ||||
|             'avg_mode': self._avg_modes[self.average_combobox.currentIndex()], | ||||
|             'special': None, | ||||
|             'idx': None, | ||||
|             'xy': (self.xbutton.isChecked(), self.ybutton.isChecked()), | ||||
|             'groupby': self._group_modes[self.group_box.currentIndex()], | ||||
|         } | ||||
|  | ||||
|         if self.groupBox_2.isChecked(): | ||||
|             ret_dic['special'] = { | ||||
|                 0: 'max', | ||||
|                 1: 'absmax', | ||||
|                 2: 'min', | ||||
|                 3: 'absmin' | ||||
|             }[self.special_comboBox.currentIndex()] | ||||
|         if self.special_checkbox.isChecked(): | ||||
|             ret_dic['special'] = self._special_values[self.special_comboBox.currentIndex()] | ||||
|  | ||||
|         if len(self.pts) != 0: | ||||
|             ret_dic['idx'] = self.pts | ||||
|  | ||||
|         if self.graph_checkbox.isChecked(): | ||||
|             gid = '' | ||||
|         else: | ||||
|             gid = self.graph_combobox.currentData() | ||||
|         gid = self.graph_combobox.currentData() if not self.graph_checkbox.isChecked() else '' | ||||
|  | ||||
|         self.points_selected.emit(ret_dic, gid) | ||||
|  | ||||
| @@ -213,9 +210,20 @@ class PointSelectWidget(QtWidgets.QWidget, Ui_Form): | ||||
|     def changed_state(self, checked): | ||||
|         self.graph_combobox.setEnabled(checked != QtCore.Qt.CheckState.Checked) | ||||
|  | ||||
|     @QtCore.pyqtSlot(int, name='on_comboBox_2_currentIndexChanged') | ||||
|     def change_limits(self, idx: int) -> None: | ||||
|         self.left_pt.setVisible(idx == 0) | ||||
|         self.right_pt.setVisible(idx == 0) | ||||
|         self.doubleSpinBox.setVisible(idx == 1) | ||||
|         self.doubleSpinBox_2.setVisible(idx == 1) | ||||
|     @QtCore.pyqtSlot(int, name='on_special_checkbox_stateChanged') | ||||
|     def changed_special(self, checked: int): | ||||
|         self.graph_combobox.setEnabled(checked != QtCore.Qt.CheckState.Checked) | ||||
|  | ||||
|     def get_limits(self) -> tuple[float, float, str]: | ||||
|         try: | ||||
|             left = float(self.left_limit.text()) | ||||
|         except ValueError: | ||||
|             left = 0. | ||||
|  | ||||
|         try: | ||||
|             right = float(self.right_limit.text()) | ||||
|         except ValueError: | ||||
|             right = 0. | ||||
|  | ||||
|         return left, right, self.limit_combobox.currentText() | ||||
|  | ||||
|   | ||||
| @@ -791,16 +791,27 @@ class UpperManagement(QtCore.QObject): | ||||
|         _active = self.graphs[self.current_graph].active | ||||
|  | ||||
|         new_datasets = {} | ||||
|         groupby = params.pop('groupby') | ||||
|  | ||||
|         for sid in _active: | ||||
|             data_i = self.data[sid] | ||||
|             if data_i.group not in new_datasets: | ||||
|                 new_datasets[data_i.group] = [], [] | ||||
|             new_x_axis, _temp = new_datasets[data_i.group] | ||||
|  | ||||
|             pts = data_i.points(params) | ||||
|             if pts: | ||||
|                 new_x_axis.append(data_i.value) | ||||
|                 _temp.append(pts) | ||||
|  | ||||
|             if groupby == 'group': | ||||
|                 if data_i.group not in new_datasets: | ||||
|                     new_datasets[data_i.group] = [], [] | ||||
|                 new_x_axis, _temp = new_datasets[data_i.group] | ||||
|                 if pts: | ||||
|                     new_x_axis.append(data_i.value) | ||||
|                     _temp.append(pts) | ||||
|  | ||||
|             else: | ||||
|                 for (_x, _y, _yerr) in pts: | ||||
|                     if _x not in new_datasets: | ||||
|                         new_datasets[_x] = [], [] | ||||
|                     new_x_axis, _temp = new_datasets[_x] | ||||
|                     new_x_axis.append(data_i.value) | ||||
|                     _temp.append([[_x, _y, _yerr]]) | ||||
|  | ||||
|         key_list = [] | ||||
|         for label, (new_x_axis, _temp) in new_datasets.items(): | ||||
|   | ||||
| @@ -273,9 +273,14 @@ class Points: | ||||
|     def length(self): | ||||
|         return len(self._x) | ||||
|  | ||||
|     def points(self, idx: list = None, special: str = None, | ||||
|                avg_range: tuple[int, int] = (0, 0), avg_mode: str = 'mean', | ||||
|                pts: list = None) -> list[tuple]: | ||||
|     def points( | ||||
|             self, | ||||
|             idx: list = None, | ||||
|             special: str = None, | ||||
|             avg_range: tuple[int, int] = (0, 0), | ||||
|             avg_mode: str = 'mean', | ||||
|             pts: list = None, | ||||
|     ) -> list[tuple]: | ||||
|         """ | ||||
|         Return (x, y) values at specified positions. | ||||
|  | ||||
|   | ||||
| @@ -6,53 +6,42 @@ | ||||
|    <rect> | ||||
|     <x>0</x> | ||||
|     <y>0</y> | ||||
|     <width>498</width> | ||||
|     <width>417</width> | ||||
|     <height>746</height> | ||||
|    </rect> | ||||
|   </property> | ||||
|   <property name="windowTitle"> | ||||
|    <string>Form</string> | ||||
|   </property> | ||||
|   <layout class="QGridLayout" name="gridLayout_2"> | ||||
|    <property name="verticalSpacing"> | ||||
|     <number>9</number> | ||||
|    </property> | ||||
|    <item row="4" column="1"> | ||||
|     <layout class="QHBoxLayout" name="horizontalLayout_2"> | ||||
|      <item> | ||||
|       <widget class="QLineEdit" name="lineEdit_2"/> | ||||
|      </item> | ||||
|      <item> | ||||
|       <widget class="QLineEdit" name="lineEdit"/> | ||||
|      </item> | ||||
|      <item> | ||||
|       <widget class="QComboBox" name="comboBox_2"> | ||||
|        <item> | ||||
|         <property name="text"> | ||||
|          <string>points</string> | ||||
|         </property> | ||||
|        </item> | ||||
|        <item> | ||||
|         <property name="text"> | ||||
|          <string>range</string> | ||||
|         </property> | ||||
|        </item> | ||||
|       </widget> | ||||
|      </item> | ||||
|     </layout> | ||||
|   <layout class="QGridLayout" name="gridLayout"> | ||||
|    <item row="0" column="0" colspan="2"> | ||||
|     <widget class="QLabel" name="label_2"> | ||||
|      <property name="text"> | ||||
|       <string>Selected points and regions</string> | ||||
|      </property> | ||||
|      <property name="buddy"> | ||||
|       <cstring>peaktable</cstring> | ||||
|      </property> | ||||
|     </widget> | ||||
|    </item> | ||||
|    <item row="7" column="1"> | ||||
|     <widget class="QComboBox" name="comboBox"> | ||||
|      <item> | ||||
|       <property name="text"> | ||||
|        <string>"Group" value</string> | ||||
|       </property> | ||||
|      </item> | ||||
|      <item> | ||||
|       <property name="text"> | ||||
|        <string>x value</string> | ||||
|       </property> | ||||
|      </item> | ||||
|    <item row="1" column="0" colspan="2"> | ||||
|     <widget class="QListWidget" name="peaktable"> | ||||
|      <property name="toolTip"> | ||||
|       <string>Edit by entering new value:  | ||||
| Single number for points (e.g. 1e-6);  | ||||
| two numbers separated by space for regions (e.g. 1e-6 5e-6).  | ||||
| Changing between regions and points is NOT possible</string> | ||||
|      </property> | ||||
|      <property name="editTriggers"> | ||||
|       <set>QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed</set> | ||||
|      </property> | ||||
|     </widget> | ||||
|    </item> | ||||
|    <item row="3" column="0"> | ||||
|     <widget class="QCheckBox" name="special_checkbox"> | ||||
|      <property name="text"> | ||||
|       <string>Use special value</string> | ||||
|      </property> | ||||
|     </widget> | ||||
|    </item> | ||||
|    <item row="3" column="1"> | ||||
| @@ -85,76 +74,54 @@ | ||||
|      </item> | ||||
|     </widget> | ||||
|    </item> | ||||
|    <item row="8" column="0"> | ||||
|     <widget class="QCheckBox" name="graph_checkbox"> | ||||
|      <property name="text"> | ||||
|       <string>New graph?</string> | ||||
|    <item row="4" column="0"> | ||||
|     <spacer name="verticalSpacer_2"> | ||||
|      <property name="orientation"> | ||||
|       <enum>Qt::Vertical</enum> | ||||
|      </property> | ||||
|      <property name="checked"> | ||||
|       <bool>true</bool> | ||||
|      <property name="sizeType"> | ||||
|       <enum>QSizePolicy::Preferred</enum> | ||||
|      </property> | ||||
|     </widget> | ||||
|    </item> | ||||
|    <item row="7" column="0"> | ||||
|     <widget class="QLabel" name="label"> | ||||
|      <property name="text"> | ||||
|       <string>Group by</string> | ||||
|      <property name="sizeHint" stdset="0"> | ||||
|       <size> | ||||
|        <width>20</width> | ||||
|        <height>30</height> | ||||
|       </size> | ||||
|      </property> | ||||
|      <property name="buddy"> | ||||
|       <cstring>comboBox</cstring> | ||||
|      </property> | ||||
|     </widget> | ||||
|    </item> | ||||
|    <item row="8" column="1"> | ||||
|     <widget class="QComboBox" name="graph_combobox"> | ||||
|      <property name="enabled"> | ||||
|       <bool>false</bool> | ||||
|      </property> | ||||
|     </widget> | ||||
|    </item> | ||||
|    <item row="2" column="0" colspan="2"> | ||||
|     <widget class="QPushButton" name="deleteButton"> | ||||
|      <property name="text"> | ||||
|       <string>Delete selection</string> | ||||
|      </property> | ||||
|      <property name="icon"> | ||||
|       <iconset theme="dialog-cancel"> | ||||
|        <normaloff>.</normaloff>.</iconset> | ||||
|      </property> | ||||
|     </widget> | ||||
|    </item> | ||||
|    <item row="1" column="0" colspan="2"> | ||||
|     <widget class="QListWidget" name="peaktable"> | ||||
|      <property name="toolTip"> | ||||
|       <string>Edit by entering new value:  | ||||
| Single number for points (e.g. 1e-6);  | ||||
| two numbers separated by space for regions (e.g. 1e-6 5e-6).  | ||||
| Changing between regions and points is NOT possible</string> | ||||
|      </property> | ||||
|      <property name="editTriggers"> | ||||
|       <set>QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed</set> | ||||
|      </property> | ||||
|     </widget> | ||||
|    </item> | ||||
|    <item row="3" column="0"> | ||||
|     <widget class="QCheckBox" name="checkBox"> | ||||
|      <property name="text"> | ||||
|       <string>Use special value</string> | ||||
|      </property> | ||||
|     </widget> | ||||
|    </item> | ||||
|    <item row="9" column="0" colspan="2"> | ||||
|     <widget class="QPushButton" name="okButton"> | ||||
|      <property name="text"> | ||||
|       <string>Apply</string> | ||||
|      </property> | ||||
|      <property name="icon"> | ||||
|       <iconset theme="dialog-ok"> | ||||
|        <normaloff>.</normaloff>.</iconset> | ||||
|      </property> | ||||
|     </widget> | ||||
|     </spacer> | ||||
|    </item> | ||||
|    <item row="5" column="0"> | ||||
|     <widget class="QLabel" name="label_3"> | ||||
|      <property name="text"> | ||||
|       <string>Region around points</string> | ||||
|      </property> | ||||
|     </widget> | ||||
|    </item> | ||||
|    <item row="5" column="1"> | ||||
|     <layout class="QHBoxLayout" name="horizontalLayout_2"> | ||||
|      <item> | ||||
|       <widget class="QLineEdit" name="left_limit"/> | ||||
|      </item> | ||||
|      <item> | ||||
|       <widget class="QLineEdit" name="right_limit"/> | ||||
|      </item> | ||||
|      <item> | ||||
|       <widget class="QComboBox" name="limit_combobox"> | ||||
|        <item> | ||||
|         <property name="text"> | ||||
|          <string>points</string> | ||||
|         </property> | ||||
|        </item> | ||||
|        <item> | ||||
|         <property name="text"> | ||||
|          <string>range</string> | ||||
|         </property> | ||||
|        </item> | ||||
|       </widget> | ||||
|      </item> | ||||
|     </layout> | ||||
|    </item> | ||||
|    <item row="6" column="0"> | ||||
|     <widget class="QLabel" name="label_5"> | ||||
|      <property name="text"> | ||||
|       <string>Aggregation</string> | ||||
| @@ -165,70 +132,6 @@ Changing between regions and points is NOT possible</string> | ||||
|     </widget> | ||||
|    </item> | ||||
|    <item row="6" column="1"> | ||||
|     <layout class="QHBoxLayout" name="horizontalLayout"> | ||||
|      <item> | ||||
|       <widget class="QCheckBox" name="xbutton"> | ||||
|        <property name="text"> | ||||
|         <string>x</string> | ||||
|        </property> | ||||
|       </widget> | ||||
|      </item> | ||||
|      <item> | ||||
|       <widget class="QCheckBox" name="ybutton"> | ||||
|        <property name="text"> | ||||
|         <string>y</string> | ||||
|        </property> | ||||
|        <property name="checked"> | ||||
|         <bool>true</bool> | ||||
|        </property> | ||||
|       </widget> | ||||
|      </item> | ||||
|     </layout> | ||||
|    </item> | ||||
|    <item row="10" column="0"> | ||||
|     <spacer name="verticalSpacer"> | ||||
|      <property name="orientation"> | ||||
|       <enum>Qt::Vertical</enum> | ||||
|      </property> | ||||
|      <property name="sizeType"> | ||||
|       <enum>QSizePolicy::Expanding</enum> | ||||
|      </property> | ||||
|      <property name="sizeHint" stdset="0"> | ||||
|       <size> | ||||
|        <width>20</width> | ||||
|        <height>40</height> | ||||
|       </size> | ||||
|      </property> | ||||
|     </spacer> | ||||
|    </item> | ||||
|    <item row="4" column="0"> | ||||
|     <widget class="QLabel" name="label_3"> | ||||
|      <property name="text"> | ||||
|       <string>Region around points</string> | ||||
|      </property> | ||||
|     </widget> | ||||
|    </item> | ||||
|    <item row="6" column="0"> | ||||
|     <widget class="QLabel" name="label_4"> | ||||
|      <property name="text"> | ||||
|       <string>New set based on</string> | ||||
|      </property> | ||||
|      <property name="buddy"> | ||||
|       <cstring>xbutton</cstring> | ||||
|      </property> | ||||
|     </widget> | ||||
|    </item> | ||||
|    <item row="0" column="0" colspan="2"> | ||||
|     <widget class="QLabel" name="label_2"> | ||||
|      <property name="text"> | ||||
|       <string>Selected points and regions</string> | ||||
|      </property> | ||||
|      <property name="buddy"> | ||||
|       <cstring>peaktable</cstring> | ||||
|      </property> | ||||
|     </widget> | ||||
|    </item> | ||||
|    <item row="5" column="1"> | ||||
|     <widget class="QComboBox" name="average_combobox"> | ||||
|      <property name="sizePolicy"> | ||||
|       <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed"> | ||||
| @@ -258,17 +161,141 @@ Changing between regions and points is NOT possible</string> | ||||
|      </item> | ||||
|     </widget> | ||||
|    </item> | ||||
|    <item row="7" column="0"> | ||||
|     <widget class="QLabel" name="label_4"> | ||||
|      <property name="text"> | ||||
|       <string>New set based on</string> | ||||
|      </property> | ||||
|      <property name="buddy"> | ||||
|       <cstring>xbutton</cstring> | ||||
|      </property> | ||||
|     </widget> | ||||
|    </item> | ||||
|    <item row="7" column="1"> | ||||
|     <layout class="QHBoxLayout" name="horizontalLayout"> | ||||
|      <item> | ||||
|       <widget class="QCheckBox" name="xbutton"> | ||||
|        <property name="text"> | ||||
|         <string>x</string> | ||||
|        </property> | ||||
|       </widget> | ||||
|      </item> | ||||
|      <item> | ||||
|       <widget class="QCheckBox" name="ybutton"> | ||||
|        <property name="text"> | ||||
|         <string>y</string> | ||||
|        </property> | ||||
|        <property name="checked"> | ||||
|         <bool>true</bool> | ||||
|        </property> | ||||
|       </widget> | ||||
|      </item> | ||||
|     </layout> | ||||
|    </item> | ||||
|    <item row="8" column="0"> | ||||
|     <widget class="QLabel" name="label"> | ||||
|      <property name="text"> | ||||
|       <string>Group by</string> | ||||
|      </property> | ||||
|      <property name="buddy"> | ||||
|       <cstring>group_box</cstring> | ||||
|      </property> | ||||
|     </widget> | ||||
|    </item> | ||||
|    <item row="8" column="1"> | ||||
|     <widget class="QComboBox" name="group_box"> | ||||
|      <item> | ||||
|       <property name="text"> | ||||
|        <string>"Group" value</string> | ||||
|       </property> | ||||
|      </item> | ||||
|      <item> | ||||
|       <property name="text"> | ||||
|        <string>x value</string> | ||||
|       </property> | ||||
|      </item> | ||||
|     </widget> | ||||
|    </item> | ||||
|    <item row="9" column="0"> | ||||
|     <spacer name="verticalSpacer_3"> | ||||
|      <property name="orientation"> | ||||
|       <enum>Qt::Vertical</enum> | ||||
|      </property> | ||||
|      <property name="sizeType"> | ||||
|       <enum>QSizePolicy::Preferred</enum> | ||||
|      </property> | ||||
|      <property name="sizeHint" stdset="0"> | ||||
|       <size> | ||||
|        <width>20</width> | ||||
|        <height>20</height> | ||||
|       </size> | ||||
|      </property> | ||||
|     </spacer> | ||||
|    </item> | ||||
|    <item row="10" column="0"> | ||||
|     <widget class="QCheckBox" name="graph_checkbox"> | ||||
|      <property name="text"> | ||||
|       <string>New graph?</string> | ||||
|      </property> | ||||
|      <property name="checked"> | ||||
|       <bool>true</bool> | ||||
|      </property> | ||||
|     </widget> | ||||
|    </item> | ||||
|    <item row="10" column="1"> | ||||
|     <widget class="QComboBox" name="graph_combobox"> | ||||
|      <property name="enabled"> | ||||
|       <bool>false</bool> | ||||
|      </property> | ||||
|     </widget> | ||||
|    </item> | ||||
|    <item row="12" column="0"> | ||||
|     <spacer name="verticalSpacer"> | ||||
|      <property name="orientation"> | ||||
|       <enum>Qt::Vertical</enum> | ||||
|      </property> | ||||
|      <property name="sizeType"> | ||||
|       <enum>QSizePolicy::Expanding</enum> | ||||
|      </property> | ||||
|      <property name="sizeHint" stdset="0"> | ||||
|       <size> | ||||
|        <width>20</width> | ||||
|        <height>40</height> | ||||
|       </size> | ||||
|      </property> | ||||
|     </spacer> | ||||
|    </item> | ||||
|    <item row="11" column="0" colspan="2"> | ||||
|     <widget class="QPushButton" name="okButton"> | ||||
|      <property name="text"> | ||||
|       <string>Apply</string> | ||||
|      </property> | ||||
|      <property name="icon"> | ||||
|       <iconset theme="dialog-ok"> | ||||
|        <normaloff>.</normaloff>.</iconset> | ||||
|      </property> | ||||
|     </widget> | ||||
|    </item> | ||||
|    <item row="2" column="0" colspan="2"> | ||||
|     <widget class="QPushButton" name="deleteButton"> | ||||
|      <property name="text"> | ||||
|       <string>Delete selection</string> | ||||
|      </property> | ||||
|      <property name="icon"> | ||||
|       <iconset theme="dialog-cancel"> | ||||
|        <normaloff>.</normaloff>.</iconset> | ||||
|      </property> | ||||
|     </widget> | ||||
|    </item> | ||||
|   </layout> | ||||
|  </widget> | ||||
|  <tabstops> | ||||
|   <tabstop>peaktable</tabstop> | ||||
|   <tabstop>checkBox</tabstop> | ||||
|   <tabstop>special_comboBox</tabstop> | ||||
|   <tabstop>comboBox_2</tabstop> | ||||
|   <tabstop>limit_combobox</tabstop> | ||||
|   <tabstop>average_combobox</tabstop> | ||||
|   <tabstop>xbutton</tabstop> | ||||
|   <tabstop>ybutton</tabstop> | ||||
|   <tabstop>comboBox</tabstop> | ||||
|   <tabstop>group_box</tabstop> | ||||
|   <tabstop>graph_checkbox</tabstop> | ||||
|   <tabstop>graph_combobox</tabstop> | ||||
|  </tabstops> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user