Compare commits

...

16 Commits

Author SHA1 Message Date
Dominik Demuth
0d00ea2638 export drawings to agr 2023-04-02 16:46:23 +02:00
Dominik Demuth
8d2bfacaca display drawings of graphs 2023-04-01 20:25:44 +02:00
Dominik Demuth
c31f52cefe multi-points drawing 2023-04-01 18:58:16 +02:00
Dominik Demuth
2d42a8cd46 ellipses done 2023-04-01 18:23:49 +02:00
Dominik Demuth
3ddc81dbfa rectangles done 2023-04-01 17:21:12 +02:00
Dominik Demuth
9681d09ed4 edit existing lines 2023-03-13 20:14:04 +01:00
Dominik Demuth
62f3839b20 move to listwidget 2023-03-13 17:59:12 +01:00
Dominik Demuth
b31dec4c7b move to combobox + list instead of tree 2023-02-24 17:39:45 +01:00
Dominik Demuth
bd4b88102a graph title is displayed when maximized 2023-02-22 18:57:39 +01:00
Dominik Demuth
a17a4e0c01 add graph title 2023-02-21 18:55:41 +01:00
Dominik Demuth
3bb99f4406 basics are working 2023-02-05 15:29:31 +01:00
Dominik Demuth
72d2fc5018 outsource ui creation 2023-02-04 19:19:15 +01:00
Dominik Demuth
67332cc9b9 rerun of ui->py make 2023-02-04 18:02:52 +01:00
Dominik Demuth
cab35e45a3 add objects to graph 2023-02-04 16:42:12 +01:00
Dominik Demuth
793786fda8 first objects added 2023-02-04 16:36:55 +01:00
Dominik Demuth
8e2fdcef4c redesigned widget for drawing object 2023-02-04 16:27:26 +01:00
94 changed files with 2021 additions and 743 deletions

View File

@ -5,10 +5,10 @@ PYUIC = pyuic5
PYRCC = pyrcc5
#Directory with ui files
RESOURCE_DIR = resources/_ui
RESOURCE_DIR = src/resources/_ui
#Directory for compiled resources
COMPILED_DIR = nmreval/gui_qt/_py
#Directory for compiled ui
COMPILED_DIR = src/gui_qt/_py
#UI files to compile, uses every *.ui found in RESOURCE_DIR
UI_FILES = $(foreach dir, $(RESOURCE_DIR), $(notdir $(wildcard $(dir)/*.ui)))

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file '_ui/agroptiondialog.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/agroptiondialog.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
@ -289,8 +290,8 @@ class Ui_Dialog(object):
self.retranslateUi(Dialog)
self.tabWidget.setCurrentIndex(0)
self.buttonBox.accepted.connect(Dialog.accept)
self.buttonBox.rejected.connect(Dialog.reject)
self.buttonBox.accepted.connect(Dialog.accept) # type: ignore
self.buttonBox.rejected.connect(Dialog.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file '_ui/apod_dialog.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/apod_dialog.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
@ -63,8 +64,8 @@ class Ui_ApodEdit(object):
self.gridLayout.addWidget(self.eqn_label, 0, 1, 1, 1)
self.retranslateUi(ApodEdit)
self.buttonBox.accepted.connect(ApodEdit.accept)
self.buttonBox.rejected.connect(ApodEdit.close)
self.buttonBox.accepted.connect(ApodEdit.accept) # type: ignore
self.buttonBox.rejected.connect(ApodEdit.close) # type: ignore
QtCore.QMetaObject.connectSlotsByName(ApodEdit)
def retranslateUi(self, ApodEdit):

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file '_ui/axisConfigTemplate.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/axisConfigTemplate.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file '_ui/baseline_dialog.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/baseline_dialog.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
@ -54,8 +55,8 @@ class Ui_SignalEdit(object):
self.gridLayout.addWidget(self.graphicsView, 0, 2, 1, 1)
self.retranslateUi(SignalEdit)
self.buttonBox.accepted.connect(SignalEdit.accept)
self.buttonBox.rejected.connect(SignalEdit.close)
self.buttonBox.accepted.connect(SignalEdit.accept) # type: ignore
self.buttonBox.rejected.connect(SignalEdit.close) # type: ignore
QtCore.QMetaObject.connectSlotsByName(SignalEdit)
def retranslateUi(self, SignalEdit):

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'src/resources/_ui/basewindow.ui'
# Form implementation generated from reading ui file '/autohome/dominik/nmreval-gitea/src/resources/_ui/basewindow.ui'
#
# Created by: PyQt5 UI code generator 5.15.7
#
@ -257,13 +257,13 @@ class Ui_BaseWindow(object):
self.actionGuide_lines.setObjectName("actionGuide_lines")
self.actionMaximize = QtWidgets.QAction(BaseWindow)
self.actionMaximize.setCheckable(True)
self.actionMaximize.setVisible(False)
self.actionMaximize.setVisible(True)
self.actionMaximize.setObjectName("actionMaximize")
self.actionTile = QtWidgets.QAction(BaseWindow)
self.actionTile.setObjectName("actionTile")
self.actionMinimize = QtWidgets.QAction(BaseWindow)
self.actionMinimize.setCheckable(True)
self.actionMinimize.setVisible(False)
self.actionMinimize.setVisible(True)
self.actionMinimize.setObjectName("actionMinimize")
self.actionNew_window = QtWidgets.QAction(BaseWindow)
self.actionNew_window.setObjectName("actionNew_window")
@ -506,7 +506,7 @@ class Ui_BaseWindow(object):
self.menuMethod.setTitle(_translate("BaseWindow", "Method"))
self.menuLimits.setTitle(_translate("BaseWindow", "Limits"))
self.menuOptions.setTitle(_translate("BaseWindow", "Options"))
self.menuWindow.setTitle(_translate("BaseWindow", "Plots"))
self.menuWindow.setTitle(_translate("BaseWindow", "&Plots"))
self.menuView.setTitle(_translate("BaseWindow", "View"))
self.menuNMR.setTitle(_translate("BaseWindow", "NMR"))
self.menuBDS.setTitle(_translate("BaseWindow", "BDS"))
@ -568,6 +568,7 @@ class Ui_BaseWindow(object):
self.actionTile.setText(_translate("BaseWindow", "Tile windows"))
self.actionMinimize.setText(_translate("BaseWindow", "Minimize"))
self.actionNew_window.setText(_translate("BaseWindow", "New graph"))
self.actionNew_window.setShortcut(_translate("BaseWindow", "Ctrl+N"))
self.actionDelete_window.setText(_translate("BaseWindow", "Delete graph"))
self.actionCascade_windows.setText(_translate("BaseWindow", "Cascade windows"))
self.actionNext_window.setText(_translate("BaseWindow", "Next"))
@ -582,6 +583,7 @@ class Ui_BaseWindow(object):
self.action_mean_t1.setText(_translate("BaseWindow", "Convert mean values..."))
self.actionFilon.setText(_translate("BaseWindow", "Log FT..."))
self.action_new_set.setText(_translate("BaseWindow", "New set"))
self.action_new_set.setShortcut(_translate("BaseWindow", "Ctrl+Shift+N"))
self.action_magnitude.setText(_translate("BaseWindow", "Calculate magnitude"))
self.actionCenterMax.setText(_translate("BaseWindow", "Center on max"))
self.action_depake.setText(_translate("BaseWindow", "De-paked spectrum"))

View File

@ -1,13 +1,16 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/bdsdialog.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/bdsdialog.ui'
#
# Created by: PyQt5 UI code generator 5.9.2
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
@ -93,8 +96,8 @@ class Ui_Dialog(object):
self.gridLayout.addWidget(self.label, 0, 0, 1, 2)
self.retranslateUi(Dialog)
self.buttonBox.accepted.connect(Dialog.accept)
self.buttonBox.rejected.connect(Dialog.reject)
self.buttonBox.accepted.connect(Dialog.accept) # type: ignore
self.buttonBox.rejected.connect(Dialog.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(Dialog)
Dialog.setTabOrder(self.freq_button, self.temp_button)
Dialog.setTabOrder(self.temp_button, self.eps_checkBox)
@ -117,4 +120,3 @@ class Ui_Dialog(object):
self.temp_checkBox.setText(_translate("Dialog", "Meas. temperature"))
self.time_checkBox.setText(_translate("Dialog", "Meas. time"))
self.label.setText(_translate("Dialog", "Found entries"))

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/color_palette.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/color_palette.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
@ -88,8 +89,8 @@ class Ui_Dialog(object):
self.label_2.setBuddy(self.color_combobox)
self.retranslateUi(Dialog)
self.buttonBox.accepted.connect(Dialog.accept)
self.buttonBox.rejected.connect(Dialog.reject)
self.buttonBox.accepted.connect(Dialog.accept) # type: ignore
self.buttonBox.rejected.connect(Dialog.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/coupling_calculator.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/coupling_calculator.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
@ -46,8 +47,8 @@ class Ui_coupling_calc_dialog(object):
self.verticalLayout.addWidget(self.buttonBox)
self.retranslateUi(coupling_calc_dialog)
self.buttonBox.accepted.connect(coupling_calc_dialog.accept)
self.buttonBox.rejected.connect(coupling_calc_dialog.reject)
self.buttonBox.accepted.connect(coupling_calc_dialog.accept) # type: ignore
self.buttonBox.rejected.connect(coupling_calc_dialog.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(coupling_calc_dialog)
def retranslateUi(self, coupling_calc_dialog):

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/coupling_t1_from_tau.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/coupling_t1_from_tau.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/datawidget.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/datawidget.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,13 +1,16 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/dscfile_dialog.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/dscfile_dialog.ui'
#
# Created by: PyQt5 UI code generator 5.9.2
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
@ -189,8 +192,8 @@ class Ui_Dialog(object):
self.gridLayout_2.addLayout(self.gridLayout, 0, 1, 1, 1)
self.retranslateUi(Dialog)
self.buttonBox.accepted.connect(Dialog.accept)
self.buttonBox.rejected.connect(Dialog.reject)
self.buttonBox.accepted.connect(Dialog.accept) # type: ignore
self.buttonBox.rejected.connect(Dialog.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
@ -209,5 +212,4 @@ class Ui_Dialog(object):
self.none_radioButton.setText(_translate("Dialog", "None"))
self.ref_add_pushButton.setText(_translate("Dialog", "Add reference"))
self.ref_remove_pushButton.setText(_translate("Dialog", "Remove reference"))
from pyqtgraph import PlotWidget

View File

@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'src/resources/_ui/editsignalwidget.ui'
#
# Created by: PyQt5 UI code generator 5.15.2
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.

View File

@ -0,0 +1,67 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'src/resources/_ui/ellipsewidget.ui'
#
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_ellipsewidget(object):
def setupUi(self, ellipsewidget):
ellipsewidget.setObjectName("ellipsewidget")
ellipsewidget.resize(400, 300)
self.gridLayout = QtWidgets.QGridLayout(ellipsewidget)
self.gridLayout.setObjectName("gridLayout")
self.height_line = QtWidgets.QLineEdit(ellipsewidget)
self.height_line.setObjectName("height_line")
self.gridLayout.addWidget(self.height_line, 3, 2, 1, 1)
self.center_x = QtWidgets.QLineEdit(ellipsewidget)
self.center_x.setObjectName("center_x")
self.gridLayout.addWidget(self.center_x, 2, 1, 1, 1)
self.axes_label = QtWidgets.QLabel(ellipsewidget)
self.axes_label.setObjectName("axes_label")
self.gridLayout.addWidget(self.axes_label, 3, 0, 1, 1)
self.color_label = QtWidgets.QLabel(ellipsewidget)
self.color_label.setObjectName("color_label")
self.gridLayout.addWidget(self.color_label, 0, 0, 1, 1)
self.center_y = QtWidgets.QLineEdit(ellipsewidget)
self.center_y.setObjectName("center_y")
self.gridLayout.addWidget(self.center_y, 2, 2, 1, 1)
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.gridLayout.addItem(spacerItem, 4, 0, 1, 1)
self.center_label = QtWidgets.QLabel(ellipsewidget)
self.center_label.setObjectName("center_label")
self.gridLayout.addWidget(self.center_label, 2, 0, 1, 1)
self.width_line = QtWidgets.QLineEdit(ellipsewidget)
self.width_line.setObjectName("width_line")
self.gridLayout.addWidget(self.width_line, 3, 1, 1, 1)
self.color_box = ColorListEditor(ellipsewidget)
self.color_box.setObjectName("color_box")
self.gridLayout.addWidget(self.color_box, 0, 1, 1, 2)
self.fill_box = ColorListEditor(ellipsewidget)
self.fill_box.setObjectName("fill_box")
self.gridLayout.addWidget(self.fill_box, 1, 1, 1, 2)
self.fill_label = QtWidgets.QLabel(ellipsewidget)
self.fill_label.setObjectName("fill_label")
self.gridLayout.addWidget(self.fill_label, 1, 0, 1, 1)
self.retranslateUi(ellipsewidget)
QtCore.QMetaObject.connectSlotsByName(ellipsewidget)
def retranslateUi(self, ellipsewidget):
_translate = QtCore.QCoreApplication.translate
ellipsewidget.setWindowTitle(_translate("ellipsewidget", "Form"))
self.height_line.setPlaceholderText(_translate("ellipsewidget", "axis 2"))
self.center_x.setPlaceholderText(_translate("ellipsewidget", "x"))
self.axes_label.setText(_translate("ellipsewidget", "Axes"))
self.color_label.setText(_translate("ellipsewidget", "Color"))
self.center_y.setPlaceholderText(_translate("ellipsewidget", "y"))
self.center_label.setText(_translate("ellipsewidget", "Center"))
self.width_line.setPlaceholderText(_translate("ellipsewidget", "axis 1"))
self.fill_label.setText(_translate("ellipsewidget", "Fill color"))
from gui_qt.lib.delegates import ColorListEditor

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/eval_expr_dialog.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/eval_expr_dialog.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/evalexpression.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/evalexpression.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
@ -153,8 +154,8 @@ class Ui_CalcDialog(object):
self.retranslateUi(CalcDialog)
self.tabWidget.setCurrentIndex(0)
self.buttonBox.accepted.connect(CalcDialog.accept)
self.buttonBox.rejected.connect(CalcDialog.reject)
self.buttonBox.accepted.connect(CalcDialog.accept) # type: ignore
self.buttonBox.rejected.connect(CalcDialog.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(CalcDialog)
def retranslateUi(self, CalcDialog):

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/expandablewidget.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/expandablewidget.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/exportConfigTemplate.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/exportConfigTemplate.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/fcreader.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/fcreader.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
@ -167,8 +168,8 @@ class Ui_FCEval_dialog(object):
self.label_6.setBuddy(self.m0_cb)
self.retranslateUi(FCEval_dialog)
self.buttonBox.accepted.connect(FCEval_dialog.accept)
self.buttonBox.rejected.connect(FCEval_dialog.reject)
self.buttonBox.accepted.connect(FCEval_dialog.accept) # type: ignore
self.buttonBox.rejected.connect(FCEval_dialog.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(FCEval_dialog)
def retranslateUi(self, FCEval_dialog):

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/filedialog.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/filedialog.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/fitcreationdialog.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/fitcreationdialog.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
@ -63,8 +63,8 @@ class Ui_Dialog(object):
self.retranslateUi(Dialog)
self.tabWidget.setCurrentIndex(0)
self.buttonBox.accepted.connect(Dialog.accept)
self.buttonBox.rejected.connect(Dialog.reject)
self.buttonBox.accepted.connect(Dialog.accept) # type: ignore
self.buttonBox.rejected.connect(Dialog.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/fitdialog.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/fitdialog.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/fitdialog_window.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/fitdialog_window.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/fitfunctionwidget.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/fitfunctionwidget.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/fitfuncwidget_old.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/fitfuncwidget_old.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/fitmodelfixwidget.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/fitmodelfixwidget.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/fitmodelwidget.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/fitmodelwidget.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/fitparametertable.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/fitparametertable.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
@ -40,8 +41,8 @@ class Ui_FitParameterDialog(object):
self.verticalLayout.addLayout(self.horizontalLayout)
self.retranslateUi(FitParameterDialog)
self.buttonBox.accepted.connect(FitParameterDialog.accept)
self.buttonBox.rejected.connect(FitParameterDialog.reject)
self.buttonBox.accepted.connect(FitParameterDialog.accept) # type: ignore
self.buttonBox.rejected.connect(FitParameterDialog.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(FitParameterDialog)
def retranslateUi(self, FitParameterDialog):

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/fitparameterwidget.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/fitparameterwidget.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file './resources/_ui/fitresult.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/fitresult.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/ftdialog.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/ftdialog.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
@ -45,8 +46,8 @@ class Ui_Dialog(object):
self.verticalLayout.addWidget(self.buttonBox)
self.retranslateUi(Dialog)
self.buttonBox.accepted.connect(Dialog.accept)
self.buttonBox.rejected.connect(Dialog.reject)
self.buttonBox.accepted.connect(Dialog.accept) # type: ignore
self.buttonBox.rejected.connect(Dialog.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/function_tree_widget.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/function_tree_widget.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/gol.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/gol.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/gracemsgdialog.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/gracemsgdialog.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/gracereader.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/gracereader.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
@ -71,8 +72,8 @@ class Ui_Dialog(object):
self.verticalLayout.addWidget(self.buttonBox)
self.retranslateUi(Dialog)
self.buttonBox.accepted.connect(Dialog.accept)
self.buttonBox.rejected.connect(Dialog.reject)
self.buttonBox.accepted.connect(Dialog.accept) # type: ignore
self.buttonBox.rejected.connect(Dialog.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/graph.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/graph.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
@ -13,7 +14,7 @@ from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_GraphWindow(object):
def setupUi(self, GraphWindow):
GraphWindow.setObjectName("GraphWindow")
GraphWindow.resize(680, 520)
GraphWindow.resize(865, 520)
GraphWindow.setBaseSize(QtCore.QSize(300, 10))
self.verticalLayout = QtWidgets.QVBoxLayout(GraphWindow)
self.verticalLayout.setContentsMargins(3, 3, 3, 3)
@ -95,6 +96,12 @@ class Ui_GraphWindow(object):
self.horizontalLayout.addWidget(self.line_3)
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout.addItem(spacerItem)
self.graph_label = QtWidgets.QLabel(self.widget)
self.graph_label.setText("")
self.graph_label.setObjectName("graph_label")
self.horizontalLayout.addWidget(self.graph_label)
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout.addItem(spacerItem1)
self.limit_button = QtWidgets.QToolButton(self.widget)
self.limit_button.setCheckable(True)
self.limit_button.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon)
@ -138,8 +145,8 @@ class Ui_GraphWindow(object):
self.xmax_lineedit = QtWidgets.QLineEdit(self.limit_widget)
self.xmax_lineedit.setObjectName("xmax_lineedit")
self.horizontalLayout_2.addWidget(self.xmax_lineedit)
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_2.addItem(spacerItem1)
spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_2.addItem(spacerItem2)
self.label_3 = QtWidgets.QLabel(self.limit_widget)
self.label_3.setObjectName("label_3")
self.horizontalLayout_2.addWidget(self.label_3)
@ -175,16 +182,16 @@ class Ui_GraphWindow(object):
self.title_lineedit = QtWidgets.QLineEdit(self.label_widget)
self.title_lineedit.setObjectName("title_lineedit")
self.horizontalLayout_3.addWidget(self.title_lineedit)
spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_3.addItem(spacerItem2)
spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_3.addItem(spacerItem3)
self.label_6 = QtWidgets.QLabel(self.label_widget)
self.label_6.setObjectName("label_6")
self.horizontalLayout_3.addWidget(self.label_6)
self.xaxis_linedit = QtWidgets.QLineEdit(self.label_widget)
self.xaxis_linedit.setObjectName("xaxis_linedit")
self.horizontalLayout_3.addWidget(self.xaxis_linedit)
spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_3.addItem(spacerItem3)
spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_3.addItem(spacerItem4)
self.label_7 = QtWidgets.QLabel(self.label_widget)
self.label_7.setObjectName("label_7")
self.horizontalLayout_3.addWidget(self.label_7)

View File

@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file '/autohome/dominik/nmreval/src/resources/_ui/guidelinewidget.ui'
# Form implementation generated from reading ui file '/autohome/dominik/nmreval-gitea/src/resources/_ui/guidelinewidget.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
@ -14,173 +14,77 @@ from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(459, 830)
Form.resize(316, 678)
self.verticalLayout_2 = QtWidgets.QVBoxLayout(Form)
self.verticalLayout_2.setContentsMargins(3, 3, 3, 3)
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.graph_comboBox = QtWidgets.QComboBox(Form)
self.graph_comboBox.setObjectName("graph_comboBox")
self.verticalLayout_2.addWidget(self.graph_comboBox)
self.listWidget_2 = QtWidgets.QListWidget(Form)
self.listWidget_2.setObjectName("listWidget_2")
self.verticalLayout_2.addWidget(self.listWidget_2)
self.graph_combobox = QtWidgets.QComboBox(Form)
self.graph_combobox.setObjectName("graph_combobox")
self.verticalLayout_2.addWidget(self.graph_combobox)
self.listWidget = QtWidgets.QListWidget(Form)
self.listWidget.setObjectName("listWidget")
self.verticalLayout_2.addWidget(self.listWidget)
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
self.pushButton = QtWidgets.QPushButton(Form)
self.pushButton.setObjectName("pushButton")
self.horizontalLayout.addWidget(self.pushButton)
self.pushButton_2 = QtWidgets.QPushButton(Form)
self.pushButton_2.setObjectName("pushButton_2")
self.horizontalLayout.addWidget(self.pushButton_2)
self.pushButton_3 = QtWidgets.QPushButton(Form)
self.pushButton_3.setObjectName("pushButton_3")
self.horizontalLayout.addWidget(self.pushButton_3)
self.newButton = QtWidgets.QPushButton(Form)
self.newButton.setObjectName("newButton")
self.horizontalLayout.addWidget(self.newButton)
self.editButton = QtWidgets.QPushButton(Form)
self.editButton.setObjectName("editButton")
self.horizontalLayout.addWidget(self.editButton)
self.verticalLayout_2.addLayout(self.horizontalLayout)
self.frame = QtWidgets.QFrame(Form)
self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame.setObjectName("frame")
self.formLayout = QtWidgets.QFormLayout(self.frame)
self.formLayout.setContentsMargins(-1, -1, -1, 6)
self.formLayout.setObjectName("formLayout")
self.type_label = QtWidgets.QLabel(self.frame)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.type_label.sizePolicy().hasHeightForWidth())
self.type_label.setSizePolicy(sizePolicy)
self.type_label.setObjectName("type_label")
self.formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.type_label)
self.mode_comboBox = QtWidgets.QComboBox(self.frame)
self.mode_comboBox.setObjectName("mode_comboBox")
self.mode_comboBox.addItem("")
self.mode_comboBox.addItem("")
self.mode_comboBox.addItem("")
self.mode_comboBox.addItem("")
self.mode_comboBox.addItem("")
self.formLayout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.mode_comboBox)
self.label_12 = QtWidgets.QLabel(self.frame)
self.label_12.setObjectName("label_12")
self.formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label_12)
self.label_6 = QtWidgets.QLabel(self.frame)
self.label_6.setObjectName("label_6")
self.formLayout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label_6)
self.comment_lineEdit = QtWidgets.QLineEdit(self.frame)
self.comment_lineEdit.setObjectName("comment_lineEdit")
self.formLayout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.comment_lineEdit)
self.label_2 = QtWidgets.QLabel(self.frame)
self.label_2.setObjectName("label_2")
self.formLayout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.label_2)
self.color_comboBox = ColorListEditor(self.frame)
self.color_comboBox.setObjectName("color_comboBox")
self.formLayout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.color_comboBox)
self.stackedWidget = QtWidgets.QStackedWidget(self.frame)
self.stackedWidget.setFrameShape(QtWidgets.QFrame.NoFrame)
self.stackedWidget.setObjectName("stackedWidget")
self.page = QtWidgets.QWidget()
self.page.setObjectName("page")
self.formLayout_2 = QtWidgets.QFormLayout(self.page)
self.formLayout_2.setObjectName("formLayout_2")
self.label_13 = QtWidgets.QLabel(self.page)
self.label_13.setObjectName("label_13")
self.formLayout_2.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label_13)
self.lineEdit_8 = QtWidgets.QLineEdit(self.page)
self.lineEdit_8.setObjectName("lineEdit_8")
self.formLayout_2.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.lineEdit_8)
self.label = QtWidgets.QLabel(self.page)
self.label.setObjectName("label")
self.formLayout_2.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label)
self.infiniteline_angle_spinbox = QtWidgets.QSpinBox(self.page)
self.infiniteline_angle_spinbox.setWrapping(True)
self.infiniteline_angle_spinbox.setMaximum(179)
self.infiniteline_angle_spinbox.setObjectName("infiniteline_angle_spinbox")
self.formLayout_2.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.infiniteline_angle_spinbox)
self.stackedWidget.addWidget(self.page)
self.page_2 = QtWidgets.QWidget()
self.page_2.setObjectName("page_2")
self.verticalLayout = QtWidgets.QVBoxLayout(self.page_2)
self.verticalLayout.setObjectName("verticalLayout")
self.listWidget = QtWidgets.QListWidget(self.page_2)
self.listWidget.setObjectName("listWidget")
self.verticalLayout.addWidget(self.listWidget)
self.stackedWidget.addWidget(self.page_2)
self.page_3 = QtWidgets.QWidget()
self.page_3.setObjectName("page_3")
self.formLayout_3 = QtWidgets.QFormLayout(self.page_3)
self.formLayout_3.setObjectName("formLayout_3")
self.label_5 = QtWidgets.QLabel(self.page_3)
self.label_5.setObjectName("label_5")
self.formLayout_3.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label_5)
self.lineEdit = QtWidgets.QLineEdit(self.page_3)
self.lineEdit.setObjectName("lineEdit")
self.formLayout_3.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.lineEdit)
self.label_3 = QtWidgets.QLabel(self.page_3)
self.label_3.setObjectName("label_3")
self.formLayout_3.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label_3)
self.lineEdit_2 = QtWidgets.QLineEdit(self.page_3)
self.lineEdit_2.setObjectName("lineEdit_2")
self.formLayout_3.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.lineEdit_2)
self.label_9 = QtWidgets.QLabel(self.page_3)
self.label_9.setObjectName("label_9")
self.formLayout_3.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.label_9)
self.lineEdit_3 = QtWidgets.QLineEdit(self.page_3)
self.lineEdit_3.setObjectName("lineEdit_3")
self.formLayout_3.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.lineEdit_3)
self.label_4 = QtWidgets.QLabel(self.page_3)
self.label_4.setObjectName("label_4")
self.formLayout_3.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.label_4)
self.spinBox = QtWidgets.QSpinBox(self.page_3)
self.spinBox.setObjectName("spinBox")
self.formLayout_3.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.spinBox)
self.stackedWidget.addWidget(self.page_3)
self.page_4 = QtWidgets.QWidget()
self.page_4.setObjectName("page_4")
self.formLayout_4 = QtWidgets.QFormLayout(self.page_4)
self.formLayout_4.setObjectName("formLayout_4")
self.label_7 = QtWidgets.QLabel(self.page_4)
self.label_7.setObjectName("label_7")
self.formLayout_4.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label_7)
self.lineEdit_4 = QtWidgets.QLineEdit(self.page_4)
self.lineEdit_4.setObjectName("lineEdit_4")
self.formLayout_4.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.lineEdit_4)
self.label_8 = QtWidgets.QLabel(self.page_4)
self.label_8.setObjectName("label_8")
self.formLayout_4.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label_8)
self.lineEdit_5 = QtWidgets.QLineEdit(self.page_4)
self.lineEdit_5.setObjectName("lineEdit_5")
self.formLayout_4.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.lineEdit_5)
self.label_10 = QtWidgets.QLabel(self.page_4)
self.label_10.setObjectName("label_10")
self.formLayout_4.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.label_10)
self.lineEdit_6 = QtWidgets.QLineEdit(self.page_4)
self.lineEdit_6.setObjectName("lineEdit_6")
self.formLayout_4.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.lineEdit_6)
self.label_11 = QtWidgets.QLabel(self.page_4)
self.label_11.setObjectName("label_11")
self.formLayout_4.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.label_11)
self.lineEdit_7 = QtWidgets.QLineEdit(self.page_4)
self.lineEdit_7.setObjectName("lineEdit_7")
self.formLayout_4.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.lineEdit_7)
self.stackedWidget.addWidget(self.page_4)
self.formLayout.setWidget(3, QtWidgets.QFormLayout.SpanningRole, self.stackedWidget)
self.formLayout.setWidget(1, QtWidgets.QFormLayout.SpanningRole, self.stackedWidget)
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
self.createButton = QtWidgets.QPushButton(self.frame)
self.createButton.setObjectName("createButton")
self.horizontalLayout_2.addWidget(self.createButton)
self.cancelbutton = QtWidgets.QPushButton(self.frame)
self.cancelbutton.setObjectName("cancelbutton")
self.horizontalLayout_2.addWidget(self.cancelbutton)
self.formLayout.setLayout(2, QtWidgets.QFormLayout.SpanningRole, self.horizontalLayout_2)
self.verticalLayout_2.addWidget(self.frame)
self.label_6.setBuddy(self.comment_lineEdit)
self.label_2.setBuddy(self.color_comboBox)
self.retranslateUi(Form)
self.stackedWidget.setCurrentIndex(3)
self.stackedWidget.setCurrentIndex(-1)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "Form"))
self.pushButton.setText(_translate("Form", "New object"))
self.pushButton_2.setText(_translate("Form", "Edit"))
self.pushButton_3.setText(_translate("Form", "Delete"))
self.newButton.setText(_translate("Form", "New object"))
self.editButton.setText(_translate("Form", "Edit"))
self.type_label.setText(_translate("Form", "Type"))
self.mode_comboBox.setItemText(0, _translate("Form", "Infinite Line"))
self.mode_comboBox.setItemText(1, _translate("Form", "Multiple points"))
self.mode_comboBox.setItemText(2, _translate("Form", "Rectangle"))
self.mode_comboBox.setItemText(3, _translate("Form", "Ellipse"))
self.label_12.setText(_translate("Form", "Type"))
self.label_6.setText(_translate("Form", "Comment"))
self.label_2.setText(_translate("Form", "Color"))
self.label_13.setText(_translate("Form", "Position"))
self.label.setText(_translate("Form", "Angle"))
self.infiniteline_angle_spinbox.setSuffix(_translate("Form", "°"))
self.label_5.setText(_translate("Form", "Lower left"))
self.label_3.setText(_translate("Form", "Width"))
self.label_9.setText(_translate("Form", "Height"))
self.label_4.setText(_translate("Form", "Angle"))
self.label_7.setText(_translate("Form", "Centre"))
self.label_8.setText(_translate("Form", "Axis"))
self.label_10.setText(_translate("Form", "Axis"))
self.label_11.setText(_translate("Form", "Angle"))
from ..lib.delegates import ColorListEditor
self.mode_comboBox.setItemText(2, _translate("Form", "Text"))
self.mode_comboBox.setItemText(3, _translate("Form", "Rectangle"))
self.mode_comboBox.setItemText(4, _translate("Form", "Ellipse"))
self.createButton.setText(_translate("Form", "Apply"))
self.cancelbutton.setText(_translate("Form", "Cancel"))

View File

@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/hdftree.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/hdftree.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
@ -67,8 +67,8 @@ class Ui_Hdf_Dialog(object):
self.verticalLayout_2.addWidget(self.buttonBox)
self.retranslateUi(Hdf_Dialog)
self.buttonBox.rejected.connect(Hdf_Dialog.close)
self.buttonBox.accepted.connect(Hdf_Dialog.accept)
self.buttonBox.rejected.connect(Hdf_Dialog.close) # type: ignore
self.buttonBox.accepted.connect(Hdf_Dialog.accept) # type: ignore
QtCore.QMetaObject.connectSlotsByName(Hdf_Dialog)
def retranslateUi(self, Hdf_Dialog):

View File

@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file '/autohome/dominik/nmreval/src/resources/_ui/integral_widget.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/integral_widget.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/integratederive_dialog.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/integratederive_dialog.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
@ -67,8 +68,8 @@ class Ui_Dialog(object):
self.verticalLayout.addWidget(self.buttonBox)
self.retranslateUi(Dialog)
self.buttonBox.accepted.connect(Dialog.accept)
self.buttonBox.rejected.connect(Dialog.reject)
self.buttonBox.accepted.connect(Dialog.accept) # type: ignore
self.buttonBox.rejected.connect(Dialog.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/interpol_dialog.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/interpol_dialog.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
@ -130,8 +131,8 @@ class Ui_Dialog(object):
self.label_8.setBuddy(self.dest_combobox)
self.retranslateUi(Dialog)
self.buttonBox.accepted.connect(Dialog.accept)
self.buttonBox.rejected.connect(Dialog.reject)
self.buttonBox.accepted.connect(Dialog.accept) # type: ignore
self.buttonBox.rejected.connect(Dialog.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(Dialog)
Dialog.setTabOrder(self.listWidget, self.ylog_checkBox)
Dialog.setTabOrder(self.ylog_checkBox, self.interp_comboBox)

View File

@ -0,0 +1,54 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'src/resources/_ui/linedrawwidget.ui'
#
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_linewidget(object):
def setupUi(self, linewidget):
linewidget.setObjectName("linewidget")
linewidget.resize(400, 300)
self.gridLayout = QtWidgets.QGridLayout(linewidget)
self.gridLayout.setObjectName("gridLayout")
self.pos_lineedit = QtWidgets.QLineEdit(linewidget)
self.pos_lineedit.setObjectName("pos_lineedit")
self.gridLayout.addWidget(self.pos_lineedit, 1, 1, 1, 1)
self.orientation_label = QtWidgets.QLabel(linewidget)
self.orientation_label.setObjectName("orientation_label")
self.gridLayout.addWidget(self.orientation_label, 2, 0, 1, 1)
self.orient_combobox = QtWidgets.QComboBox(linewidget)
self.orient_combobox.setObjectName("orient_combobox")
self.orient_combobox.addItem("")
self.orient_combobox.addItem("")
self.gridLayout.addWidget(self.orient_combobox, 2, 1, 1, 1)
self.color_label = QtWidgets.QLabel(linewidget)
self.color_label.setObjectName("color_label")
self.gridLayout.addWidget(self.color_label, 0, 0, 1, 1)
self.pos_label = QtWidgets.QLabel(linewidget)
self.pos_label.setObjectName("pos_label")
self.gridLayout.addWidget(self.pos_label, 1, 0, 1, 1)
self.color_box = ColorListEditor(linewidget)
self.color_box.setObjectName("color_box")
self.gridLayout.addWidget(self.color_box, 0, 1, 1, 1)
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.gridLayout.addItem(spacerItem, 3, 1, 1, 1)
self.retranslateUi(linewidget)
QtCore.QMetaObject.connectSlotsByName(linewidget)
def retranslateUi(self, linewidget):
_translate = QtCore.QCoreApplication.translate
linewidget.setWindowTitle(_translate("linewidget", "Form"))
self.orientation_label.setText(_translate("linewidget", "Orientation"))
self.orient_combobox.setItemText(0, _translate("linewidget", "Horizontal"))
self.orient_combobox.setItemText(1, _translate("linewidget", "Vertical"))
self.color_label.setText(_translate("linewidget", "Color"))
self.pos_label.setText(_translate("linewidget", "Position"))
from gui_qt.lib.delegates import ColorListEditor

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/lineedit_dialog.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/lineedit_dialog.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
@ -29,8 +30,8 @@ class Ui_LineEdit_Dialog(object):
self.formLayout.setWidget(1, QtWidgets.QFormLayout.SpanningRole, self.buttonBox)
self.retranslateUi(LineEdit_Dialog)
self.buttonBox.accepted.connect(LineEdit_Dialog.accept)
self.buttonBox.rejected.connect(LineEdit_Dialog.reject)
self.buttonBox.accepted.connect(LineEdit_Dialog.accept) # type: ignore
self.buttonBox.rejected.connect(LineEdit_Dialog.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(LineEdit_Dialog)
def retranslateUi(self, LineEdit_Dialog):

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/mean_form.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/mean_form.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/meandialog.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/meandialog.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/modelwidget.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/modelwidget.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/move_dialog.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/move_dialog.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -0,0 +1,62 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'src/resources/_ui/multipointwidget.ui'
#
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_multipointwidget(object):
def setupUi(self, multipointwidget):
multipointwidget.setObjectName("multipointwidget")
multipointwidget.resize(400, 300)
self.gridLayout = QtWidgets.QGridLayout(multipointwidget)
self.gridLayout.setObjectName("gridLayout")
self.loop_checkbox = QtWidgets.QCheckBox(multipointwidget)
self.loop_checkbox.setObjectName("loop_checkbox")
self.gridLayout.addWidget(self.loop_checkbox, 1, 0, 1, 2)
self.addButton = QtWidgets.QPushButton(multipointwidget)
self.addButton.setObjectName("addButton")
self.gridLayout.addWidget(self.addButton, 3, 0, 1, 1)
self.color_label = QtWidgets.QLabel(multipointwidget)
self.color_label.setObjectName("color_label")
self.gridLayout.addWidget(self.color_label, 0, 0, 1, 1)
self.table_widget = QtWidgets.QTableWidget(multipointwidget)
self.table_widget.setObjectName("table_widget")
self.table_widget.setColumnCount(2)
self.table_widget.setRowCount(0)
item = QtWidgets.QTableWidgetItem()
self.table_widget.setHorizontalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.table_widget.setHorizontalHeaderItem(1, item)
self.table_widget.horizontalHeader().setStretchLastSection(True)
self.gridLayout.addWidget(self.table_widget, 2, 0, 1, 2)
self.color_box = ColorListEditor(multipointwidget)
self.color_box.setObjectName("color_box")
self.gridLayout.addWidget(self.color_box, 0, 1, 1, 1)
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.gridLayout.addItem(spacerItem, 4, 0, 1, 1)
self.removeButton = QtWidgets.QPushButton(multipointwidget)
self.removeButton.setObjectName("removeButton")
self.gridLayout.addWidget(self.removeButton, 3, 1, 1, 1)
self.retranslateUi(multipointwidget)
QtCore.QMetaObject.connectSlotsByName(multipointwidget)
def retranslateUi(self, multipointwidget):
_translate = QtCore.QCoreApplication.translate
multipointwidget.setWindowTitle(_translate("multipointwidget", "Form"))
self.loop_checkbox.setText(_translate("multipointwidget", "Close loop"))
self.addButton.setText(_translate("multipointwidget", "Add point"))
self.color_label.setText(_translate("multipointwidget", "Color"))
item = self.table_widget.horizontalHeaderItem(0)
item.setText(_translate("multipointwidget", "x"))
item = self.table_widget.horizontalHeaderItem(1)
item.setText(_translate("multipointwidget", "y"))
self.removeButton.setText(_translate("multipointwidget", "Remove last point"))
from gui_qt.lib.delegates import ColorListEditor

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/namespace_widget.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/namespace_widget.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/option_selection.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/option_selection.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/parameterform.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/parameterform.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/phase_corr_dialog.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/phase_corr_dialog.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
@ -83,8 +83,8 @@ class Ui_SignalEdit(object):
self.gridLayout.addItem(spacerItem1, 1, 5, 1, 1)
self.retranslateUi(SignalEdit)
self.buttonBox.accepted.connect(SignalEdit.accept)
self.buttonBox.rejected.connect(SignalEdit.close)
self.buttonBox.accepted.connect(SignalEdit.accept) # type: ignore
self.buttonBox.rejected.connect(SignalEdit.close) # type: ignore
QtCore.QMetaObject.connectSlotsByName(SignalEdit)
def retranslateUi(self, SignalEdit):

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/plotConfigTemplate.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/plotConfigTemplate.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/pokemon.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/pokemon.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
@ -93,7 +94,7 @@ class Ui_Dialog(object):
self.retranslateUi(Dialog)
self.tabWidget.setCurrentIndex(-1)
self.buttonBox.rejected.connect(Dialog.reject)
self.buttonBox.rejected.connect(Dialog.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/propwidget.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/propwidget.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/ptstab.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/ptstab.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/qfiledialog.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/qfiledialog.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -0,0 +1,67 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'src/resources/_ui/rectanglewidget.ui'
#
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_rectanglewidget(object):
def setupUi(self, rectanglewidget):
rectanglewidget.setObjectName("rectanglewidget")
rectanglewidget.resize(400, 300)
self.gridLayout = QtWidgets.QGridLayout(rectanglewidget)
self.gridLayout.setObjectName("gridLayout")
self.color_label = QtWidgets.QLabel(rectanglewidget)
self.color_label.setObjectName("color_label")
self.gridLayout.addWidget(self.color_label, 0, 0, 1, 1)
self.left_x = QtWidgets.QLineEdit(rectanglewidget)
self.left_x.setObjectName("left_x")
self.gridLayout.addWidget(self.left_x, 2, 1, 1, 1)
self.left_y = QtWidgets.QLineEdit(rectanglewidget)
self.left_y.setObjectName("left_y")
self.gridLayout.addWidget(self.left_y, 2, 2, 1, 1)
self.right_x = QtWidgets.QLineEdit(rectanglewidget)
self.right_x.setObjectName("right_x")
self.gridLayout.addWidget(self.right_x, 3, 1, 1, 1)
self.color_box = ColorListEditor(rectanglewidget)
self.color_box.setObjectName("color_box")
self.gridLayout.addWidget(self.color_box, 0, 1, 1, 2)
self.left_label = QtWidgets.QLabel(rectanglewidget)
self.left_label.setObjectName("left_label")
self.gridLayout.addWidget(self.left_label, 2, 0, 1, 1)
self.right_y = QtWidgets.QLineEdit(rectanglewidget)
self.right_y.setObjectName("right_y")
self.gridLayout.addWidget(self.right_y, 3, 2, 1, 1)
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.gridLayout.addItem(spacerItem, 4, 0, 1, 1)
self.right_label = QtWidgets.QLabel(rectanglewidget)
self.right_label.setObjectName("right_label")
self.gridLayout.addWidget(self.right_label, 3, 0, 1, 1)
self.fill_label = QtWidgets.QLabel(rectanglewidget)
self.fill_label.setObjectName("fill_label")
self.gridLayout.addWidget(self.fill_label, 1, 0, 1, 1)
self.fill_box = ColorListEditor(rectanglewidget)
self.fill_box.setObjectName("fill_box")
self.gridLayout.addWidget(self.fill_box, 1, 1, 1, 2)
self.retranslateUi(rectanglewidget)
QtCore.QMetaObject.connectSlotsByName(rectanglewidget)
def retranslateUi(self, rectanglewidget):
_translate = QtCore.QCoreApplication.translate
rectanglewidget.setWindowTitle(_translate("rectanglewidget", "Form"))
self.color_label.setText(_translate("rectanglewidget", "Color"))
self.left_x.setPlaceholderText(_translate("rectanglewidget", "x"))
self.left_y.setPlaceholderText(_translate("rectanglewidget", "y"))
self.right_x.setPlaceholderText(_translate("rectanglewidget", "x"))
self.left_label.setText(_translate("rectanglewidget", "Lower left"))
self.right_y.setPlaceholderText(_translate("rectanglewidget", "y"))
self.right_label.setText(_translate("rectanglewidget", "Upper right"))
self.fill_label.setText(_translate("rectanglewidget", "Fill color"))
from gui_qt.lib.delegates import ColorListEditor

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/save_fit_parameter.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/save_fit_parameter.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
@ -105,8 +106,8 @@ class Ui_fitparameter_save_dialog(object):
self.label.setBuddy(self.missing_value_line)
self.retranslateUi(fitparameter_save_dialog)
self.buttonBox.accepted.connect(fitparameter_save_dialog.accept)
self.buttonBox.rejected.connect(fitparameter_save_dialog.reject)
self.buttonBox.accepted.connect(fitparameter_save_dialog.accept) # type: ignore
self.buttonBox.rejected.connect(fitparameter_save_dialog.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(fitparameter_save_dialog)
fitparameter_save_dialog.setTabOrder(self.save_path_button, self.save_path_line)
fitparameter_save_dialog.setTabOrder(self.save_path_line, self.tableWidget)

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/save_fitmodel_dialog.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/save_fitmodel_dialog.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
@ -52,8 +53,8 @@ class Ui_SaveDialog(object):
self.gridLayout.addWidget(self.frame, 2, 1, 1, 1)
self.retranslateUi(SaveDialog)
self.buttonBox.accepted.connect(SaveDialog.accept)
self.buttonBox.rejected.connect(SaveDialog.reject)
self.buttonBox.accepted.connect(SaveDialog.accept) # type: ignore
self.buttonBox.rejected.connect(SaveDialog.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(SaveDialog)
def retranslateUi(self, SaveDialog):

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/save_options.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/save_options.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/saveoptions.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/saveoptions.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/sdmodelwidget.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/sdmodelwidget.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/selection_widget.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/selection_widget.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/setbyfunction_dialog.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/setbyfunction_dialog.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
@ -184,8 +185,8 @@ class Ui_NewCurveDialog(object):
self.retranslateUi(NewCurveDialog)
self.comboBox.setCurrentIndex(-1)
self.comboBox_2.setCurrentIndex(-1)
self.buttonBox.accepted.connect(NewCurveDialog.accept)
self.buttonBox.rejected.connect(NewCurveDialog.reject)
self.buttonBox.accepted.connect(NewCurveDialog.accept) # type: ignore
self.buttonBox.rejected.connect(NewCurveDialog.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(NewCurveDialog)
NewCurveDialog.setTabOrder(self.lineEdit_3, self.lineEdit_4)
NewCurveDialog.setTabOrder(self.lineEdit_4, self.lineEdit_5)

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/shift_scale_dialog.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/shift_scale_dialog.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
@ -267,8 +268,8 @@ class Ui_shift_dialog(object):
self.retranslateUi(shift_dialog)
self.tabWidget.setCurrentIndex(0)
self.buttonBox.accepted.connect(shift_dialog.accept)
self.buttonBox.rejected.connect(shift_dialog.reject)
self.buttonBox.accepted.connect(shift_dialog.accept) # type: ignore
self.buttonBox.rejected.connect(shift_dialog.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(shift_dialog)
shift_dialog.setTabOrder(self.tabWidget, self.shift_table)
shift_dialog.setTabOrder(self.shift_table, self.x_shift_spinbox)

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/skipdialog.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/skipdialog.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
@ -77,8 +78,8 @@ class Ui_SkipDialog(object):
self.label.setBuddy(self.offset_spinbox)
self.retranslateUi(SkipDialog)
self.buttonBox.accepted.connect(SkipDialog.accept)
self.buttonBox.rejected.connect(SkipDialog.reject)
self.buttonBox.accepted.connect(SkipDialog.accept) # type: ignore
self.buttonBox.rejected.connect(SkipDialog.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(SkipDialog)
SkipDialog.setTabOrder(self.step_spinbox, self.offset_spinbox)
SkipDialog.setTabOrder(self.offset_spinbox, self.invert_check)

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/smoothdialog.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/smoothdialog.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
@ -91,8 +92,8 @@ class Ui_SmoothDialog(object):
self.label.setBuddy(self.polynom_spinBox)
self.retranslateUi(SmoothDialog)
self.buttonBox.accepted.connect(SmoothDialog.accept)
self.buttonBox.rejected.connect(SmoothDialog.reject)
self.buttonBox.accepted.connect(SmoothDialog.accept) # type: ignore
self.buttonBox.rejected.connect(SmoothDialog.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(SmoothDialog)
SmoothDialog.setTabOrder(self.comboBox, self.frac_spinBox)
SmoothDialog.setTabOrder(self.frac_spinBox, self.polynom_spinBox)

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/t1_calc_dialog.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/t1_calc_dialog.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
@ -271,8 +272,8 @@ class Ui_Dialog(object):
self.gridLayout_2.addWidget(self.groupBox, 0, 0, 1, 1)
self.retranslateUi(Dialog)
self.buttonBox.accepted.connect(Dialog.accept)
self.buttonBox.rejected.connect(Dialog.reject)
self.buttonBox.accepted.connect(Dialog.accept) # type: ignore
self.buttonBox.rejected.connect(Dialog.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/t1_dock.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/t1_dock.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/t1_tau_calculation.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/t1_tau_calculation.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/t1dialog.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/t1dialog.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -0,0 +1,55 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'src/resources/_ui/textdrawidget.ui'
#
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_textwidget(object):
def setupUi(self, textwidget):
textwidget.setObjectName("textwidget")
textwidget.resize(400, 300)
self.gridLayout = QtWidgets.QGridLayout(textwidget)
self.gridLayout.setObjectName("gridLayout")
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.gridLayout.addItem(spacerItem, 3, 0, 1, 1)
self.color_label = QtWidgets.QLabel(textwidget)
self.color_label.setObjectName("color_label")
self.gridLayout.addWidget(self.color_label, 0, 0, 1, 1)
self.center_x = QtWidgets.QLineEdit(textwidget)
self.center_x.setObjectName("center_x")
self.gridLayout.addWidget(self.center_x, 1, 1, 1, 1)
self.center_y = QtWidgets.QLineEdit(textwidget)
self.center_y.setObjectName("center_y")
self.gridLayout.addWidget(self.center_y, 1, 2, 1, 1)
self.center_label = QtWidgets.QLabel(textwidget)
self.center_label.setObjectName("center_label")
self.gridLayout.addWidget(self.center_label, 1, 0, 1, 1)
self.color_box = ColorListEditor(textwidget)
self.color_box.setObjectName("color_box")
self.gridLayout.addWidget(self.color_box, 0, 1, 1, 2)
self.text_label = QtWidgets.QLabel(textwidget)
self.text_label.setObjectName("text_label")
self.gridLayout.addWidget(self.text_label, 2, 0, 1, 1)
self.text_lineedit = QtWidgets.QLineEdit(textwidget)
self.text_lineedit.setObjectName("text_lineedit")
self.gridLayout.addWidget(self.text_lineedit, 2, 1, 1, 2)
self.retranslateUi(textwidget)
QtCore.QMetaObject.connectSlotsByName(textwidget)
def retranslateUi(self, textwidget):
_translate = QtCore.QCoreApplication.translate
textwidget.setWindowTitle(_translate("textwidget", "Form"))
self.color_label.setText(_translate("textwidget", "Color"))
self.center_x.setPlaceholderText(_translate("textwidget", "x"))
self.center_y.setPlaceholderText(_translate("textwidget", "y"))
self.center_label.setText(_translate("textwidget", "Center"))
self.text_label.setText(_translate("textwidget", "Text"))
from gui_qt.lib.delegates import ColorListEditor

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/tntdialog.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/tntdialog.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
@ -115,8 +116,8 @@ class Ui_tntdialog(object):
self.gridLayout.addWidget(self.frame_2, 4, 1, 1, 2)
self.retranslateUi(tntdialog)
self.buttonBox.accepted.connect(tntdialog.accept)
self.buttonBox.rejected.connect(tntdialog.reject)
self.buttonBox.accepted.connect(tntdialog.accept) # type: ignore
self.buttonBox.rejected.connect(tntdialog.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(tntdialog)
def retranslateUi(self, tntdialog):

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/typeconversion.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/typeconversion.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/untitled.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/untitled.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/userfitassist.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/userfitassist.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
@ -77,8 +78,8 @@ class Ui_Dialog(object):
self.parameterLabel.setBuddy(self.parameterLineEdit)
self.retranslateUi(Dialog)
self.buttonBox.accepted.connect(Dialog.accept)
self.buttonBox.rejected.connect(Dialog.reject)
self.buttonBox.accepted.connect(Dialog.accept) # type: ignore
self.buttonBox.rejected.connect(Dialog.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):

View File

@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/usermodeleditor.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/usermodeleditor.ui'
#
# Created by: PyQt5 UI code generator 5.12.3
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING! All changes made in this file will be lost!
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets

View File

@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/_ui/valueeditor.ui'
# Form implementation generated from reading ui file 'src/resources/_ui/valueeditor.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.

View File

@ -0,0 +1,217 @@
from __future__ import annotations
from PyQt5 import QtCore, QtGui, QtWidgets
from .._py.ellipsewidget import Ui_ellipsewidget
from .._py.linedrawwidget import Ui_linewidget
from .._py.rectanglewidget import Ui_rectanglewidget
from .._py.multipointwidget import Ui_multipointwidget
from .._py.textdrawidget import Ui_textwidget
__all__ = ['LineWidget', 'MultiPointWidget', 'RectangleWidget', 'EllipseWidget', 'TextWidget']
def parse_point(x_widget: QtWidgets.QLineEdit, y_widget: QtWidgets.QLineEdit) -> None | tuple[float, float]:
x = x_widget.text()
if not x:
return
y = y_widget.text()
if not y:
return
try:
return float(x), float(y)
except ValueError:
return
class LineWidget(QtWidgets.QWidget, Ui_linewidget):
def __init__(self, parent=None):
super().__init__(parent=parent)
self.setupUi(self)
self.pos_lineedit.setValidator(QtGui.QDoubleValidator())
def collect_args(self) -> dict | None:
pos = self.pos_lineedit.text()
try:
pos = float(pos)
except ValueError:
return
dic = {
'color': self.color_box.currentData(),
'pos': pos,
'angle': self.orient_combobox.currentIndex() * 90
}
return dic
def set_args(self, pos: float = None, angle: int = None, color = None):
self.pos_lineedit.setText(str(pos))
self.orient_combobox.setCurrentIndex(angle%90)
self.color_box.setCurrentIndex(self.color_box.findData(color))
class MultiPointWidget(QtWidgets.QWidget, Ui_multipointwidget):
def __init__(self, parent=None):
super().__init__(parent=parent)
self.setupUi(self)
self.new_point()
self.new_point()
@QtCore.pyqtSlot(name='on_addButton_clicked')
def new_point(self):
row = self.table_widget.rowCount()
self.table_widget.setRowCount(row+1)
placeholder = ['x', 'y']
for column in range(2):
line_edit = QtWidgets.QLineEdit()
line_edit.setFrame(False)
line_edit.setPlaceholderText(placeholder[column])
line_edit.setValidator(QtGui.QDoubleValidator())
self.table_widget.setCellWidget(row, column, line_edit)
@QtCore.pyqtSlot(name='on_removeButton_clicked')
def less_point(self):
if self.table_widget.rowCount() > 2:
self.table_widget.removeRow(self.table_widget.rowCount()-1)
def collect_args(self) -> dict | None:
pts = []
if self.table_widget.rowCount() < 2:
return
for row in range(self.table_widget.rowCount()):
next_pt = parse_point(self.table_widget.cellWidget(row, 0), self.table_widget.cellWidget(row, 1))
if next_pt is None:
return
pts.append(next_pt)
dic = {
'color': self.color_box.currentData(QtCore.Qt.UserRole),
'pts': pts,
'closed': self.loop_checkbox.isChecked(),
}
return dic
def set_args(self, x: tuple = None, y: tuple = None, closed: bool = True, color=None):
self.table_widget.clear()
self.table_widget.setRowCount(0)
for row, (x_i, y_i) in enumerate(zip(x, y)):
self.new_point()
self.table_widget.cellWidget(row, 0).setText(str(x_i))
self.table_widget.cellWidget(row, 1).setText(str(y_i))
self.loop_checkbox.setChecked(closed)
self.color_box.setCurrentIndex(self.color_box.findData(color))
class RectangleWidget(QtWidgets.QWidget, Ui_rectanglewidget):
def __init__(self, parent=None):
super().__init__(parent=parent)
self.setupUi(self)
self.fill_box.insertItem(0, 'No fill', None)
self.fill_box.setCurrentIndex(0)
self.left_x.setValidator(QtGui.QDoubleValidator())
self.left_y.setValidator(QtGui.QDoubleValidator())
self.right_x.setValidator(QtGui.QDoubleValidator())
self.right_y.setValidator(QtGui.QDoubleValidator())
def set_args(self, left: tuple = (0, 0), right: tuple = (1, 1), color=None, fill=None):
self.left_x.setText(str(left[0]))
self.left_y.setText(str(left[1]))
self.right_x.setText(str(right[0]))
self.right_y.setText(str(right[1]))
self.color_box.setCurrentIndex(self.color_box.findData(color, QtCore.Qt.UserRole))
self.fill_box.setCurrentIndex(self.fill_box.findData(fill, QtCore.Qt.UserRole))
def collect_args(self) -> dict | None:
left = parse_point(self.left_x, self.left_y)
if left is None:
return
right = parse_point(self.right_x, self.right_y)
if right is None:
return
dic = {
'color': self.color_box.currentData(QtCore.Qt.UserRole),
'fill': self.fill_box.currentData(QtCore.Qt.UserRole),
'left': left,
'right': right,
}
return dic
class EllipseWidget(QtWidgets.QWidget, Ui_ellipsewidget):
def __init__(self, parent=None):
super().__init__(parent=parent)
self.setupUi(self)
self.fill_box.insertItem(0, 'No fill', None)
self.fill_box.setCurrentIndex(0)
self.center_x.setValidator(QtGui.QDoubleValidator())
self.center_y.setValidator(QtGui.QDoubleValidator())
self.width_line.setValidator(QtGui.QDoubleValidator())
self.height_line.setValidator(QtGui.QDoubleValidator())
def set_args(self, center: tuple = (0, 0), axes: tuple = (1, 1), color=None, fill=None):
self.center_x.setText(str(center[0]))
self.center_y.setText(str(center[1]))
self.width_line.setText(str(axes[0]))
self.width_line.setText(str(axes[1]))
self.color_box.setCurrentIndex(self.color_box.findData(color, QtCore.Qt.UserRole))
self.fill_box.setCurrentIndex(self.fill_box.findData(fill, QtCore.Qt.UserRole))
def collect_args(self) -> dict | None:
centre = parse_point(self.center_x, self.center_y)
if centre is None:
return
axes = parse_point(self.width_line, self.height_line)
if axes is None:
return
dic = {
'color': self.color_box.currentData(QtCore.Qt.UserRole),
'fill': self.fill_box.currentData(QtCore.Qt.UserRole),
'center': centre,
'axes': axes,
}
return dic
class TextWidget(QtWidgets.QWidget, Ui_textwidget):
def __init__(self, parent=None):
super().__init__(parent=parent)
self.setupUi(self)
self.center_x.setValidator(QtGui.QDoubleValidator())
self.center_y.setValidator(QtGui.QDoubleValidator())
def collect_args(self) -> dict | None:
centre = parse_point(self.center_x, self.center_y)
if centre is None:
return
dic = {
'color': self.color_box.currentData(QtCore.Qt.UserRole),
'pos': centre,
'text': self.text_lineedit.text(),
}
return dic

View File

@ -0,0 +1,333 @@
from __future__ import annotations
import uuid
from pyqtgraph import TextItem, mkPen, GraphicsObject, mkBrush
from numpy import log10
from gui_qt.Qt import QtCore, QtGui
from gui_qt.lib.pg_objects import LogInfiniteLine, PlotItem
__all__ = ['LineObject', 'MultipointObject', 'RectangleObject', 'TextObject', 'EllipseObject']
from nmreval.lib.colors import BaseColor
class BaseObject:
def __init__(self, color=None):
self.id = str(uuid.uuid4())
self.color = color
self.drawing = None
def __str__(self):
raise NotImplementedError
def get_values(self):
raise NotImplementedError
def set_values(self, *args, **kwargs):
raise NotImplementedError
class LineObject(BaseObject):
def __init__(self, pos: float, angle: float, **kwargs):
super().__init__(**kwargs)
self.pos = pos
self.angle = angle
self.drawing = LogInfiniteLine(pos=self.pos, angle=self.angle, pen=mkPen(color=self.color.rgb()))
def __str__(self):
return f'{"x" if self.angle==90 else "y"}={self.pos}'
def get_values(self):
return {'type': 'line', 'color': self.color, 'pos': self.pos, 'angle': self.angle}
def set_values(self, pos=None, angle=None, color=None):
if pos != self.pos:
self.drawing.setPos(pos)
if angle != self.angle:
self.drawing.setAngle(angle)
if color != self.color:
self.drawing.setPen(mkPen(color.rgb()))
class MultipointObject(BaseObject):
def __init__(self, pts: list, closed: bool = False, **kwargs):
super().__init__(**kwargs)
x, y = zip(*pts)
self.closed = closed
if self.closed:
x += (x[0],)
y += (y[0],)
self._x = x
self._y = y
self.drawing = PlotItem(x=self._x, y=self._y, pen=mkPen(color=self.color.rgb()))
def __str__(self):
return f'{len(self._y)-int(self.closed)}-pts'
def get_values(self):
dic = {'type': 'multipts', 'color': self.color, 'x': None, 'y': None, 'closed': self.closed}
if self.closed:
dic['x'] = self._x[:-1]
dic['y'] = self._y[:-1]
else:
dic['x'] = self._x
dic['y'] = self._y
return dic
def set_values(self, pts: list, closed: bool = None, color=None):
if color != self.color:
self.drawing.setPen(mkPen(color.rgb()))
x, y = zip(*pts)
self._x = x
self._y = y
if closed:
self._x += (x[0],)
self._y += (y[0],)
self.drawing.setData(self._x, self._y)
class Rectangle(GraphicsObject):
# adapted from pyqtgraph example on custom objects
def __init__(self, left: tuple, right: tuple, color: BaseColor, fill: BaseColor):
GraphicsObject.__init__(self)
self.log_mode = [False, False]
self.setData(left, right, color, fill)
def generatePicture(self):
## pre-computing a QPicture object allows paint() to run much more quickly,
## rather than re-drawing the shapes every time.
print(self.x_disp, self.y_disp, self.dx, self.dy, self.color, self.fill)
self.picture = QtGui.QPicture()
p = QtGui.QPainter(self.picture)
if self.fill is not None:
p.setBrush(mkBrush(self.fill.rgb()))
p.setPen(mkPen(self.color.rgb()))
p.drawRect(QtCore.QRectF(self.x_disp, self.y_disp, self.dx, self.dy))
p.end()
def paint(self, p, *_):
p.drawPicture(0, 0, self.picture)
def boundingRect(self):
## boundingRect _must_ indicate the entire area that will be drawn on
## or else we will get artifacts and possibly crashing.
## (in this case, QPicture does all the work of computing the bouning rect for us)
return QtCore.QRectF(self.picture.boundingRect())
def setLogMode(self, x_mode, y_mode):
if self.log_mode == [x_mode, y_mode]:
return
if self.log_mode[0] != x_mode:
if x_mode:
x0 = self.p0[0]
xmax = log10(x0+self.delta[0])
self.x_disp = log10(x0)
self.dx = xmax - self.x_disp
else:
self.x_disp = self.p0[0]
self.dx = self.delta[0]
if self.log_mode[1] != y_mode:
if y_mode:
y0 = self.p0[1]
ymax = log10(y0 + self.delta[1])
self.y_disp = log10(y0)
self.dy = ymax - self.y_disp
else:
self.y_disp = self.p0[1]
self.dy = self.delta[1]
self.generatePicture()
self.log_mode = [x_mode, y_mode]
self.informViewBoundsChanged()
def setData(self, left, right, color, fill):
self.p0 = left
self.delta = [right[0]-self.p0[0], right[1]-self.p0[1]]
self.x_disp = self.p0[0]
self.dx = self.delta[0]
self.y_disp = self.p0[1]
self.dy = self.delta[1]
self.color = color
self.fill = fill
l = [self.log_mode[0], self.log_mode[1]]
self.log_mode = [None, None]
self.setLogMode(*l)
class RectangleObject(BaseObject):
def __init__(self, left: tuple, right: tuple, fill: BaseColor, **kwargs):
super().__init__(**kwargs)
self.fill = fill
self.left = left
self.right = right
self.drawing = Rectangle(left, right, self.color, self.fill)
def __str__(self):
return f'Rectangle {self.left} to {self.right}'
def get_values(self):
return {'type': 'rectangle', 'color': self.color, 'left': self.left, 'right': self.right, 'fill': self.fill}
def set_values(self, left=None, right=None, color=None, fill=None):
if left is not None:
self.left = left
if right is not None:
self.right = right
if fill is not None:
self.fill = fill
if color is not None:
self.color = color
self.drawing.setData(self.left, self.right, self.color, self.fill)
class TextObject(BaseObject):
def __init__(self, text, pos, **kwargs):
super().__init__(**kwargs)
self.pos = pos
self.drawing = TextItem(text, anchor=(0.5, 0.5), color=self.color.rgb())
self.drawing.setPos(*pos)
def __str__(self):
return f'{self.drawing.toPlainText()} at {self.pos}'
class EllipseObject(BaseObject):
def __init__(self, center: tuple, axes: tuple, fill: BaseColor, **kwargs):
super().__init__(**kwargs)
self.center = center
self.axes = axes
self.fill = fill
self.drawing = Ellipse(self.center, self.axes, self.color, self.fill)
def __str__(self):
return f'Ellipse at {self.center}'
def get_values(self):
return {'type': 'ellipse', 'color': self.color, 'center': self.center, 'axes': self.axes, 'fill': self.fill}
def set_values(self, center=None, axes=None, color=None, fill=None):
if center is not None:
self.center = center
if axes is not None:
self.axes = axes
if fill is not None:
self.fill = fill
if color is not None:
self.color = color
self.drawing.setData(self.center, self.axes, self.color, self.fill)
class Ellipse(GraphicsObject):
# adapted from pyqtgraph example on custom objects
def __init__(self, center: tuple, axes: tuple, color: BaseColor, fill: BaseColor):
GraphicsObject.__init__(self)
self.log_mode = [False, False]
self.setData(center, axes, color, fill)
self.generatePicture()
def generatePicture(self):
## pre-computing a QPicture object allows paint() to run much more quickly,
## rather than re-drawing the shapes every time.
self.picture = QtGui.QPicture()
p = QtGui.QPainter(self.picture)
p.setPen(mkPen(self.color.rgb()))
if self.fill is not None:
p.setBrush(mkBrush(self.fill.rgb()))
p.drawEllipse(QtCore.QPointF(*self.center_disp), *self.ax_disp)
p.end()
def paint(self, p, *_):
p.drawPicture(0, 0, self.picture)
def boundingRect(self):
## boundingRect _must_ indicate the entire area that will be drawn on
## or else we will get artifacts and possibly crashing.
## (in this case, QPicture does all the work of computing the bouning rect for us)
return QtCore.QRectF(self.picture.boundingRect())
def setLogMode(self, x_mode, y_mode):
if self.log_mode == [x_mode, y_mode]:
return
if self.log_mode[0] != x_mode:
if x_mode:
x0 = self.center[0]
xmax = log10(x0+self.ax[0])
self.center_disp = (log10(x0), self.center_disp[1])
self.ax_disp = (xmax, self.ax_disp[1])
else:
self.center_disp = (self.center[0], self.center_disp[1])
self.ax_disp = (self.ax[0], self.ax_disp[1])
if self.log_mode[1] != y_mode:
if y_mode:
y0 = self.center[1]
ymax = log10(y0+self.ax[1])
self.center_disp = (self.center_disp[0], log10(y0))
self.ax_disp = (self.ax_disp[0], ymax)
else:
self.ax_disp = (self.ax_disp[0], self.ax[1])
self.center_disp = (self.center_disp[0], self.center[1])
self.generatePicture()
self.log_mode = [x_mode, y_mode]
self.informViewBoundsChanged()
def setData(self, center, axes, color, fill):
self.center = center
self.ax = axes
self.center_disp = self.center
self.ax_disp = self.ax
self.color = color
self.fill = fill
l = [self.log_mode[0], self.log_mode[1]]
self.log_mode = [None, None]
self.setLogMode(*l)

View File

@ -1,5 +1,9 @@
from __future__ import annotations
from ..Qt import QtWidgets, QtCore
from .._py.guidelinewidget import Ui_Form
from .draw_inputs import *
from .draw_objects import *
class DrawingsWidget(QtWidgets.QWidget, Ui_Form):
@ -7,155 +11,97 @@ class DrawingsWidget(QtWidgets.QWidget, Ui_Form):
def __init__(self, parent=None):
super().__init__(parent=parent)
self.connected_figure=None
self.setupUi(self)
def __call__(self, graphs):
for gid, name in graphs:
self.graph_comboBox.addItem(name, userData=gid)
self.widgets = {
'line': LineWidget(self),
'multipts': MultiPointWidget(self),
'text': TextWidget(self),
'rectangle': RectangleWidget(self),
'ellipse': EllipseWidget(self),
}
for w in self.widgets.values():
self.stackedWidget.addWidget(w)
self.graphs = None
self._editmode = False
self.frame.setEnabled(False)
def update_tree(self):
for gid, windows in self.graphs.items():
self.graph_combobox.addItem(windows.title, userData=gid)
@QtCore.pyqtSlot(int, name='on_graph_combobox_currentIndexChanged')
def look_for_drawing(self, idx: int):
self.listWidget.clear()
graph_id = self.graph_combobox.itemData(idx)
for k, v in self.graphs[graph_id].drawings.items():
child = QtWidgets.QListWidgetItem(str(v))
child.setData(QtCore.Qt.UserRole, k)
self.listWidget.addItem(child)
@QtCore.pyqtSlot(name='on_newButton_clicked')
@QtCore.pyqtSlot(name='on_editButton_clicked')
def start_drawing(self):
self._editmode = self.sender() == self.editButton
if self._editmode:
graph_id, obj = self.get_item()
arguments = obj.get_values()
obj_type = arguments.pop('type')
self.widgets[obj_type].set_args(**arguments)
self.listWidget.setEnabled(False)
self.graph_combobox.setEnabled(False)
self.frame.setEnabled(True)
def clear(self):
self.graph_comboBox.clear()
self.graph_combobox.clear()
@QtCore.pyqtSlot(int, name='on_mode_comboBox_currentIndexChanged')
def change_draw_type(self, idx: int):
self.stackedWidget.setCurrentIndex(idx)
"""
self.lines = {}
self.comments = {}
self.vh_pos_lineEdit.setValidator(QtGui.QDoubleValidator())
self.tableWidget.installEventFilter(self)
@QtCore.pyqtSlot(name='on_pushButton_clicked')
def make_line(self):
invalid = True
idx = self.mode_comboBox.currentIndex()
try:
pos = float(self.vh_pos_lineEdit.text())
# Vertical: idx=0; horizontal: idx = 1
angle = 90*abs(1-idx)
invalid = False
except ValueError:
pos = None
angle = None
pass
if invalid:
QtWidgets.QMessageBox().information(self, 'Invalid input', 'Input is not a valid number')
@QtCore.pyqtSlot(name='on_createButton_clicked')
def make_drawing(self):
dic = self.stackedWidget.currentWidget().collect_args()
if dic is None:
QtWidgets.QMessageBox.information(self, 'Not working', 'Something is missing to create this object')
return
qcolor = QtGui.QColor.fromRgb(*self.color_comboBox.value.rgb())
comment = self.comment_lineEdit.text()
line = LogInfiniteLine(pos=pos, angle=angle, movable=self.drag_checkBox.isChecked(), pen=qcolor)
line.sigPositionChanged.connect(self.move_line)
graph_id, obj = self.get_item()
self.make_table_row(pos, angle, qcolor, comment)
graph_id = self.graph_comboBox.currentData()
try:
self.lines[graph_id].append(line)
self.comments[graph_id].append(comment)
except KeyError:
self.lines[graph_id] = [line]
self.comments[graph_id] = [comment]
self.line_created.emit(line, graph_id)
def set_graphs(self, graphs: list):
for graph_id, name in graphs:
self.graph_comboBox.addItem(name, userData=graph_id)
def remove_graph(self, graph_id: str):
idx = self.graph_comboBox.findData(graph_id)
if idx != -1:
self.graph_comboBox.removeItem(idx)
if graph_id in self.lines:
del self.lines[graph_id]
@QtCore.pyqtSlot(int, name='on_graph_comboBox_currentIndexChanged')
def change_graph(self, idx: int):
self.tableWidget.clear()
self.tableWidget.setRowCount(0)
graph_id = self.graph_comboBox.itemData(idx)
if graph_id in self.lines:
lines = self.lines[graph_id]
comments = self.comments[graph_id]
for i, line in enumerate(lines):
self.make_table_row(line.pos(), line.angle, line.pen.color(), comments[i])
def make_table_row(self, position, angle, color, comment):
if angle == 0:
try:
pos_label = 'x = ' + str(position.y())
except AttributeError:
pos_label = 'x = {position}'
elif angle == 90:
try:
pos_label = f'y = {position.x()}'
except AttributeError:
pos_label = f'y = {position}'
if self._editmode:
obj.set_values(**dic)
else:
raise ValueError('Only horizontal or vertical lines are supported')
new_obj = [LineObject, MultipointObject, TextObject, RectangleObject, EllipseObject][self.mode_comboBox.currentIndex()](**dic)
item = QtWidgets.QTableWidgetItem(pos_label)
item.setFlags(QtCore.Qt.ItemIsSelectable)
item.setForeground(QtGui.QBrush(QtGui.QColor('black')))
child = QtWidgets.QListWidgetItem(str(new_obj))
child.setData(QtCore.Qt.UserRole, new_obj.id)
self.listWidget.addItem(child)
row_count = self.tableWidget.rowCount()
self.tableWidget.setRowCount(row_count+1)
self.tableWidget.setItem(row_count, 0, item)
self.graphs[graph_id].addDrawing(new_obj)
item2 = QtWidgets.QTableWidgetItem(comment)
self.tableWidget.setItem(row_count, 1, item2)
self.graph_combobox.setEnabled(True)
self.listWidget.setEnabled(True)
self.frame.setEnabled(False)
colitem = QtWidgets.QTableWidgetItem(' ')
colitem.setBackground(QtGui.QBrush(color))
colitem.setFlags(QtCore.Qt.ItemIsSelectable)
self.tableWidget.setVerticalHeaderItem(row_count, colitem)
@QtCore.pyqtSlot(name='on_cancelbutton_clicked')
def cancel_edit(self):
self.graph_combobox.setEnabled(True)
self.listWidget.setEnabled(True)
self.frame.setEnabled(False)
def eventFilter(self, src: QtCore.QObject, evt: QtCore.QEvent) -> bool:
if evt.type() == QtCore.QEvent.KeyPress:
if evt.key() == QtCore.Qt.Key_Delete:
self.delete_line()
return True
def get_item(self):
edit_item = self.listWidget.currentItem()
graph_id = self.graph_combobox.currentData()
if edit_item is None:
return graph_id, None
return super().eventFilter(src, evt)
object_id = edit_item.data(QtCore.Qt.UserRole)
def delete_line(self):
remove_rows = sorted([item.row() for item in self.tableWidget.selectedItems()])
graph_id = self.graph_comboBox.currentData()
current_lines = self.lines[graph_id]
print(remove_rows)
for i in reversed(remove_rows):
print(i)
self.tableWidget.removeRow(i)
self.line_deleted.emit(current_lines[i], graph_id)
current_lines.pop(i)
self.comments[graph_id].pop(i)
@QtCore.pyqtSlot(object)
def move_line(self, line: InfiniteLine):
current_idx = self.graph_comboBox.currentData()
graphs = self.lines[current_idx]
i = -1
for i, line_i in enumerate(graphs):
if line == line_i:
break
pos = line.value()
text_item = self.tableWidget.item(i, 0)
text_item.setText(text_item.text()[:4]+f'{pos:.4g}')
"""
return graph_id, self.graphs[graph_id].drawings[object_id]

View File

@ -48,6 +48,7 @@ class QGraphWindow(QtWidgets.QGraphicsView, Ui_GraphWindow):
self.real_plots = {}
self.imag_plots = {}
self.error_plots = {}
self.drawings = {}
self._special_needs = []
self._external_items = []
@ -130,6 +131,8 @@ class QGraphWindow(QtWidgets.QGraphicsView, Ui_GraphWindow):
@title.setter
def title(self, value):
if self.graph_label.text() != '':
self.graph_label.setText(str(value))
self.setWindowTitle(str(value))
@property
@ -343,7 +346,12 @@ class QGraphWindow(QtWidgets.QGraphicsView, Ui_GraphWindow):
return True
def addDrawing(self, obj):
self.drawings[obj.id] = obj
self.graphic.addItem(obj.drawing)
def closeEvent(self, evt: QtGui.QCloseEvent):
print(self.parent())
if not self.closable:
evt.ignore()
return
@ -629,6 +637,10 @@ class QGraphWindow(QtWidgets.QGraphicsView, Ui_GraphWindow):
dic['in_legend'] = in_legend
dic['drawings'] = []
for d in self.drawings:
dic['drawings'].append(d.get_value())
return dic
def get_state(self) -> dict:
@ -741,3 +753,13 @@ class QGraphWindow(QtWidgets.QGraphicsView, Ui_GraphWindow):
temp = self._fgcolor, self._bgcolor
self.set_color(foreground=self._prev_colors[0], background=self._prev_colors[1])
self._prev_colors = temp
@QtCore.pyqtSlot(QtCore.Qt.WindowStates, QtCore.Qt.WindowStates)
def state_changed(self, old_state: QtCore.Qt.WindowStates, new_state: QtCore.Qt.WindowStates):
old_maximized = old_state & QtCore.Qt.WindowMaximized
new_maximized = new_state & QtCore.Qt.WindowMaximized
if old_maximized and not new_maximized:
self.graph_label.setText('')
elif not old_maximized and new_maximized:
self.graph_label.setText(self.title)

View File

@ -91,6 +91,10 @@ class GraceExporter:
else:
data.data = c_[item['x'], item['y']]
for item in self.__opts['drawings']:
print(item)
draw = self.__agr.new_drawing()
for c in new_colors:
self.__agr.set_color(c[1], c[2], idx=c[0])

View File

@ -341,6 +341,7 @@ class NMRMainWindow(QtWidgets.QMainWindow, Ui_BaseWindow):
for w in self.area.subWindowList():
wdgt = w.widget()
if wdgt.id == gid:
w.disconnect()
wdgt.disconnect()
wdgt.scene.disconnect()
if wdgt == self.current_graph_widget:
@ -396,6 +397,8 @@ class NMRMainWindow(QtWidgets.QMainWindow, Ui_BaseWindow):
subwindow.setOption(QtWidgets.QMdiSubWindow.RubberBandResize, True)
subwindow.setMinimumHeight(400)
subwindow.setMinimumWidth(600)
subwindow.windowStateChanged.connect(w.state_changed)
self.datawidget.blockSignals(True)
self.datawidget.tree.blockSignals(True)
@ -413,11 +416,12 @@ class NMRMainWindow(QtWidgets.QMainWindow, Ui_BaseWindow):
self.ptsselectwidget.set_graphs(graph_list)
@QtCore.pyqtSlot(QtWidgets.QMdiSubWindow, name='on_area_subWindowActivated')
def change_window(self, wd):
def change_window(self, wd: QtWidgets.QMdiSubWindow | None):
""" Called every time focus moves from or to a subwindow. Returns None if current focus is not on a subwindow"""
if wd is not None:
if self.current_graph_widget is not None:
self.current_graph_widget.closable = True
self.current_graph_widget.graph_label.setText('')
if self.ptsselectwidget.isVisible():
self._select_ptswidget(False, False, False)
@ -431,6 +435,11 @@ class NMRMainWindow(QtWidgets.QMainWindow, Ui_BaseWindow):
self.change_mouse_mode(self.actionMouse_behaviour.isChecked())
if wd.isMaximized():
self.current_graph_widget.graph_label.setText(self.current_graph_widget.title)
else:
self.current_graph_widget.graph_label.setText('')
pick = False
block = False
if self.ptsselectwidget.isVisible():

View File

@ -80,6 +80,12 @@ class GraceEditor:
return self.graphs[-1]
def new_drawing(self, dtype: str = 'line'):
obj = GraceDrawing(dtype)
self.drawing_objects.append(obj)
return self.drawing_objects[-1]
def new_set(self, graph):
s = None
g_idx = -1
@ -193,6 +199,8 @@ class GraceEditor:
self.graphs[-1].append(line)
print(self.drawing_objects)
def _make_graph(self, line: str):
m = self._RE_GRAPH_START.match(line)
g_idx = int(m.group(1))
@ -324,6 +332,86 @@ class GraceEditor:
class GraceDrawing(list):
type_map = {'text': 'string', 'rectangle': 'box'}
def __init__(self, draw_type: str):
super().__init__()
if draw_type not in ['rectangle', 'line', 'ellipse', 'multipts', 'text']:
raise ValueError(f'Unknown drawing object {draw_type}')
draw_type = GraceDrawing.type_map.get(draw_type, draw_type)
self._type = draw_type
def _create_box(self):
text = """\
@with box
@ box on
@ box loctype world
@ box 0.0, 0.0, 1.0, 1.0
@ box linestyle 1
@ box linewidth 1.0
@ box color 1
@ box fill color 1
@ box fill pattern 0'
@box def
"""
for line in text.split('\n'):
self.append(line + '\n')
def _create_ellipse(self):
text = """\
@with ellipse
@ ellipse on
@ ellipse loctype world
@ ellipse 0.0, 0.0, 1.0, 1.0
@ ellipse linestyle 1
@ ellipse linewidth 1.0
@ ellipse color 1
@ ellipse fill color 1
@ ellipse fill pattern 0
@ellipse def
"""
for line in text.split('\n'):
self.append(line + '\n')
def _create_line(self):
text = """\
@with string
@ string on
@ string loctype world
@ string 0.0, 0.0
@ string color 1
@ string rot 0
@ string font 0
@ string just 0
@ string char size 1.000000
@ string def ""
"""
def _create_line(self):
text = """\
@with line
@ line on
@ line loctype world
@ line g0
@ line 0.0, 0.0, 1.0, 1.0
@ line linewidth 1.0
@ line linestyle 1
@ line color 1
@ line arrow 0
@ line arrow type 0
@ line arrow length 1.000000
@ line arrow layout 1.000000, 1.000000
@line def
"""
for line in text.split('\n'):
self.append(line + '\n')
def __str__(self):
return ''.join(self)
@ -605,7 +693,6 @@ class GraceSetProps(GraceProperties):
self.set_property(**_kwargs)
def set_symbol(self, **kwargs):
_kwargs = {'symbol '+k: v for k, v in kwargs.items()}
if 'symbol' in kwargs:
_kwargs['symbol'] = kwargs['symbol']

View File

@ -266,7 +266,7 @@
</widget>
<widget class="QMenu" name="menuWindow">
<property name="title">
<string>Plots</string>
<string>&amp;Plots</string>
</property>
<widget class="QMenu" name="menuView">
<property name="title">
@ -734,7 +734,7 @@
<string>Maximize</string>
</property>
<property name="visible">
<bool>false</bool>
<bool>true</bool>
</property>
</action>
<action name="actionTile">
@ -750,13 +750,16 @@
<string>Minimize</string>
</property>
<property name="visible">
<bool>false</bool>
<bool>true</bool>
</property>
</action>
<action name="actionNew_window">
<property name="text">
<string>New graph</string>
</property>
<property name="shortcut">
<string>Ctrl+N</string>
</property>
</action>
<action name="actionDelete_window">
<property name="text">
@ -823,6 +826,9 @@
<property name="text">
<string>New set</string>
</property>
<property name="shortcut">
<string>Ctrl+Shift+N</string>
</property>
</action>
<action name="action_magnitude">
<property name="text">

View File

@ -0,0 +1,103 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>ellipsewidget</class>
<widget class="QWidget" name="ellipsewidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="3" column="2">
<widget class="QLineEdit" name="height_line">
<property name="placeholderText">
<string>axis 2</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="center_x">
<property name="placeholderText">
<string>x</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="axes_label">
<property name="text">
<string>Axes</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="color_label">
<property name="text">
<string>Color</string>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QLineEdit" name="center_y">
<property name="placeholderText">
<string>y</string>
</property>
</widget>
</item>
<item row="4" column="0">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="2" column="0">
<widget class="QLabel" name="center_label">
<property name="text">
<string>Center</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="width_line">
<property name="placeholderText">
<string>axis 1</string>
</property>
</widget>
</item>
<item row="0" column="1" colspan="2">
<widget class="ColorListEditor" name="color_box"/>
</item>
<item row="1" column="1" colspan="2">
<widget class="ColorListEditor" name="fill_box"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="fill_label">
<property name="text">
<string>Fill color</string>
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>ColorListEditor</class>
<extends>QComboBox</extends>
<header>gui_qt.lib.delegates</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>

View File

@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>680</width>
<width>865</width>
<height>520</height>
</rect>
</property>
@ -250,6 +250,26 @@
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_5">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="graph_label">
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">

View File

@ -6,43 +6,48 @@
<rect>
<x>0</x>
<y>0</y>
<width>459</width>
<height>830</height>
<width>316</width>
<height>678</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="leftMargin">
<number>3</number>
</property>
<property name="topMargin">
<number>3</number>
</property>
<property name="rightMargin">
<number>3</number>
</property>
<property name="bottomMargin">
<number>3</number>
</property>
<item>
<widget class="QComboBox" name="graph_comboBox"/>
<widget class="QComboBox" name="graph_combobox"/>
</item>
<item>
<widget class="QListWidget" name="listWidget_2"/>
<widget class="QListWidget" name="listWidget"/>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="pushButton">
<widget class="QPushButton" name="newButton">
<property name="text">
<string>New object</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_2">
<widget class="QPushButton" name="editButton">
<property name="text">
<string>Edit</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_3">
<property name="text">
<string>Delete</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
@ -54,6 +59,22 @@
<enum>QFrame::Raised</enum>
</property>
<layout class="QFormLayout" name="formLayout">
<property name="bottomMargin">
<number>6</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="type_label">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Type</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="mode_comboBox">
<item>
@ -66,6 +87,11 @@
<string>Multiple points</string>
</property>
</item>
<item>
<property name="text">
<string>Text</string>
</property>
</item>
<item>
<property name="text">
<string>Rectangle</string>
@ -78,190 +104,56 @@
</item>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_12">
<property name="text">
<string>Type</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Comment</string>
</property>
<property name="buddy">
<cstring>comment_lineEdit</cstring>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="comment_lineEdit"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Color</string>
</property>
<property name="buddy">
<cstring>color_comboBox</cstring>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="ColorListEditor" name="color_comboBox"/>
</item>
<item row="3" column="0" colspan="2">
<item row="1" column="0" colspan="2">
<widget class="QStackedWidget" name="stackedWidget">
<property name="currentIndex">
<number>3</number>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="currentIndex">
<number>-1</number>
</property>
<widget class="QWidget" name="page">
<layout class="QFormLayout" name="formLayout_2">
<item row="0" column="0">
<widget class="QLabel" name="label_13">
<property name="text">
<string>Position</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="lineEdit_8"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Angle</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QSpinBox" name="infiniteline_angle_spinbox">
<property name="wrapping">
<bool>true</bool>
</property>
<property name="suffix">
<string>°</string>
</property>
<property name="maximum">
<number>179</number>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_2">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QListWidget" name="listWidget"/>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_3">
<layout class="QFormLayout" name="formLayout_3">
<item row="0" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Lower left</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="lineEdit"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Width</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="lineEdit_2"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_9">
<property name="text">
<string>Height</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="lineEdit_3"/>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Angle</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QSpinBox" name="spinBox"/>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_4">
<layout class="QFormLayout" name="formLayout_4">
<item row="0" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Centre</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="lineEdit_4"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>Axis</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="lineEdit_5"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_10">
<property name="text">
<string>Axis</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="lineEdit_6"/>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_11">
<property name="text">
<string>Angle</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="lineEdit_7"/>
</item>
</layout>
</widget>
</widget>
</item>
<item row="2" column="0" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QPushButton" name="createButton">
<property name="text">
<string>Apply</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="cancelbutton">
<property name="text">
<string>Cancel</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>ColorListEditor</class>
<extends>QComboBox</extends>
<header>..lib.delegates</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
<buttongroups>
<buttongroup name="buttonGroup"/>
</buttongroups>
<designerdata>
<property name="gridDeltaX">
<number>10</number>
</property>
<property name="gridDeltaY">
<number>10</number>
</property>
<property name="gridSnapX">
<bool>true</bool>
</property>
<property name="gridSnapY">
<bool>true</bool>
</property>
<property name="gridVisible">
<bool>true</bool>
</property>
</designerdata>
</ui>

View File

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>linewidget</class>
<widget class="QWidget" name="linewidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="1" column="1">
<widget class="QLineEdit" name="pos_lineedit"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="orientation_label">
<property name="text">
<string>Orientation</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QComboBox" name="orient_combobox">
<item>
<property name="text">
<string>Horizontal</string>
</property>
</item>
<item>
<property name="text">
<string>Vertical</string>
</property>
</item>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="color_label">
<property name="text">
<string>Color</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="pos_label">
<property name="text">
<string>Position</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="ColorListEditor" name="color_box"/>
</item>
<item row="3" column="1">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>ColorListEditor</class>
<extends>QComboBox</extends>
<header>gui_qt.lib.delegates</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>

View File

@ -0,0 +1,89 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>multipointwidget</class>
<widget class="QWidget" name="multipointwidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="1" column="0" colspan="2">
<widget class="QCheckBox" name="loop_checkbox">
<property name="text">
<string>Close loop</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QPushButton" name="addButton">
<property name="text">
<string>Add point</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="color_label">
<property name="text">
<string>Color</string>
</property>
</widget>
</item>
<item row="2" column="0" colspan="2">
<widget class="QTableWidget" name="table_widget">
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
<column>
<property name="text">
<string>x</string>
</property>
</column>
<column>
<property name="text">
<string>y</string>
</property>
</column>
</widget>
</item>
<item row="0" column="1">
<widget class="ColorListEditor" name="color_box"/>
</item>
<item row="4" column="0">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="3" column="1">
<widget class="QPushButton" name="removeButton">
<property name="text">
<string>Remove last point</string>
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>ColorListEditor</class>
<extends>QComboBox</extends>
<header>gui_qt.lib.delegates</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>

View File

@ -0,0 +1,103 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>rectanglewidget</class>
<widget class="QWidget" name="rectanglewidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="color_label">
<property name="text">
<string>Color</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="left_x">
<property name="placeholderText">
<string>x</string>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QLineEdit" name="left_y">
<property name="placeholderText">
<string>y</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="right_x">
<property name="placeholderText">
<string>x</string>
</property>
</widget>
</item>
<item row="0" column="1" colspan="2">
<widget class="ColorListEditor" name="color_box"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="left_label">
<property name="text">
<string>Lower left</string>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QLineEdit" name="right_y">
<property name="placeholderText">
<string>y</string>
</property>
</widget>
</item>
<item row="4" column="0">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="3" column="0">
<widget class="QLabel" name="right_label">
<property name="text">
<string>Upper right</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="fill_label">
<property name="text">
<string>Fill color</string>
</property>
</widget>
</item>
<item row="1" column="1" colspan="2">
<widget class="ColorListEditor" name="fill_box"/>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>ColorListEditor</class>
<extends>QComboBox</extends>
<header>gui_qt.lib.delegates</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>

View File

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>textwidget</class>
<widget class="QWidget" name="textwidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="3" column="0">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="0">
<widget class="QLabel" name="color_label">
<property name="text">
<string>Color</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="center_x">
<property name="placeholderText">
<string>x</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QLineEdit" name="center_y">
<property name="placeholderText">
<string>y</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="center_label">
<property name="text">
<string>Center</string>
</property>
</widget>
</item>
<item row="0" column="1" colspan="2">
<widget class="ColorListEditor" name="color_box"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="text_label">
<property name="text">
<string>Text</string>
</property>
</widget>
</item>
<item row="2" column="1" colspan="2">
<widget class="QLineEdit" name="text_lineedit"/>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>ColorListEditor</class>
<extends>QComboBox</extends>
<header>gui_qt.lib.delegates</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>