1 | """ |
---|
2 | Allows users to modify the box slicer parameters. |
---|
3 | """ |
---|
4 | from PyQt5 import QtCore |
---|
5 | from PyQt5 import QtGui |
---|
6 | from PyQt5 import QtWidgets |
---|
7 | |
---|
8 | # Local UI |
---|
9 | from sas.qtgui.UI import main_resources_rc |
---|
10 | from sas.qtgui.Plotting.UI.BoxSumUI import Ui_BoxSumUI |
---|
11 | |
---|
12 | class BoxSum(QtWidgets.QDialog, Ui_BoxSumUI): |
---|
13 | apply_signal = QtCore.pyqtSignal(tuple, str) |
---|
14 | def __init__(self, parent=None, model=None): |
---|
15 | super(BoxSum, self).__init__() |
---|
16 | |
---|
17 | self.setupUi(self) |
---|
18 | assert isinstance(model, QtGui.QStandardItemModel) |
---|
19 | |
---|
20 | self.txtBoxHeight.setValidator(QtGui.QDoubleValidator()) |
---|
21 | self.txtBoxWidth.setValidator(QtGui.QDoubleValidator()) |
---|
22 | self.txtCenterX.setValidator(QtGui.QDoubleValidator()) |
---|
23 | self.txtCenterY.setValidator(QtGui.QDoubleValidator()) |
---|
24 | |
---|
25 | self.model = model |
---|
26 | self.mapper = QtGui.QDataWidgetMapper() |
---|
27 | self.mapper.setModel(self.model) |
---|
28 | |
---|
29 | # Map model items onto widget controls |
---|
30 | self.mapper.addMapping(self.txtBoxHeight, 0) |
---|
31 | self.mapper.addMapping(self.txtBoxWidth, 1) |
---|
32 | self.mapper.addMapping(self.txtCenterX, 2) |
---|
33 | self.mapper.addMapping(self.txtCenterY, 3) |
---|
34 | self.mapper.addMapping(self.lblAvg, 4, "text") |
---|
35 | self.mapper.addMapping(self.lblAvgErr, 5, "text") |
---|
36 | self.mapper.addMapping(self.lblSum, 6, "text") |
---|
37 | self.mapper.addMapping(self.lblSumErr, 7, "text") |
---|
38 | self.mapper.addMapping(self.lblNumPoints, 8, "text") |
---|
39 | |
---|
40 | # Populate the widgets with data from the first column |
---|
41 | self.mapper.toFirst() |
---|
42 | |
---|
43 | self.setFixedSize(self.minimumSizeHint()) |
---|
44 | |
---|