source: sasview/src/sas/qtgui/Perspectives/Fitting/Fitting.py @ 4c7dd9f

ESS_GUIESS_GUI_DocsESS_GUI_batch_fittingESS_GUI_bumps_abstractionESS_GUI_iss1116ESS_GUI_iss879ESS_GUI_iss959ESS_GUI_openclESS_GUI_orderingESS_GUI_sync_sascalc
Last change on this file since 4c7dd9f was 4c7dd9f, checked in by Piotr Rozyczko <rozyczko@…>, 7 years ago

Fitting perspective mockup

  • Property mode set to 100755
File size: 6.1 KB
RevLine 
[4c7dd9f]1import sys
2from PyQt4 import QtGui
3from PyQt4 import QtCore
4
5from UI.fitting import Ui_Dialog
6
7class prototype(QtGui.QDialog, Ui_Dialog):
8    def __init__(self):
9        super(prototype, self).__init__()
10        self._model_model = QtGui.QStandardItemModel()
11        self._poly_model = QtGui.QStandardItemModel()
12        self.setupUi(self)
13
14        self.tableView.setModel(self._model_model)
15        self.setModelModel()
16
17        self.pushButton.setEnabled(False)
18        self.checkBox_3.setEnabled(False)
19        self.checkBox_4.setEnabled(False)
20        self.label_20.setText("---")
21        self.label_21.setText("---")
22        self.label_24.setText("---")
23
24        #self.setTableProperties(self.tableView)
25
26        self.tableView_2.setModel(self._poly_model)
27        self.setPolyModel()
28        self.setTableProperties(self.tableView_2)
29
30        for row in range(2):
31            c = QtGui.QComboBox()
32            c.addItems(['rectangle','array','lognormal','gaussian','schulz',])
33            i = self.tableView_2.model().index(row,6)
34            self.tableView_2.setIndexWidget(i,c)
35
36       
37    def setModelModel(self):
38        # Crete/overwrite model items
39
40        parameters=[]
41        p=["scale", "1", "0", "inf", ""]
42        for i in xrange(1):
43            #for parameter in parameters.keys():
44            item1 = QtGui.QStandardItem("background")
45            item1.setCheckable(True)
46            item2 = QtGui.QStandardItem("0.001")
47            item3 = QtGui.QStandardItem("-inf")
48            item4 = QtGui.QStandardItem("inf")
49            item5 = QtGui.QStandardItem("1/cm")
50            self._model_model.appendRow([item1, item2, item3, item4, item5])
51
52            item1 = QtGui.QStandardItem("l_radius")
53            item1.setCheckable(True)
54            item2 = QtGui.QStandardItem("100")
55            item3 = QtGui.QStandardItem("0")
56            item4 = QtGui.QStandardItem("inf")
57            item5 = QtGui.QStandardItem("A")
58            self._model_model.appendRow([item1, item2, item3, item4, item5])
59
60            item1 = QtGui.QStandardItem("ls_sld")
61            item1.setCheckable(True)
62            item2 = QtGui.QStandardItem("3.5e-06")
63            item3 = QtGui.QStandardItem("0")
64            item4 = QtGui.QStandardItem("inf")
65            item5 = QtGui.QStandardItem("1/A^2")
66            self._model_model.appendRow([item1, item2, item3, item4, item5])
67
68            item1 = QtGui.QStandardItem("s_radius")
69            item1.setCheckable(True)
70            item2 = QtGui.QStandardItem("25")
71            item3 = QtGui.QStandardItem("0")
72            item4 = QtGui.QStandardItem("inf")
73            item5 = QtGui.QStandardItem("A")
74            self._model_model.appendRow([item1, item2, item3, item4, item5])
75
76            item1 = QtGui.QStandardItem("solvent_sld")
77            item1.setCheckable(True)
78            item2 = QtGui.QStandardItem("6.36e-06")
79            item3 = QtGui.QStandardItem("0")
80            item4 = QtGui.QStandardItem("inf")
81            item5 = QtGui.QStandardItem("1/A^2")
82            self._model_model.appendRow([item1, item2, item3, item4, item5])
83
84            item1 = QtGui.QStandardItem("vol_frac_ls")
85            item1.setCheckable(True)
86            item2 = QtGui.QStandardItem("0.1")
87            item3 = QtGui.QStandardItem("0")
88            item4 = QtGui.QStandardItem("inf")
89            item5 = QtGui.QStandardItem("")
90            self._model_model.appendRow([item1, item2, item3, item4, item5])
91
92        self._model_model.setHeaderData(0, QtCore.Qt.Horizontal, QtCore.QVariant("Parameter"))
93        self._model_model.setHeaderData(1, QtCore.Qt.Horizontal, QtCore.QVariant("Value"))
94        self._model_model.setHeaderData(2, QtCore.Qt.Horizontal, QtCore.QVariant("Min"))
95        self._model_model.setHeaderData(3, QtCore.Qt.Horizontal, QtCore.QVariant("Max"))
96        self._model_model.setHeaderData(4, QtCore.Qt.Horizontal, QtCore.QVariant("[Units]"))
97
98    def setTableProperties(self, table):
99
100        table.setStyleSheet("background-image: url(model.png);")
101
102        # Table properties
103        table.verticalHeader().setVisible(False)
104        table.setAlternatingRowColors(True)
105        table.setSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Expanding)
106        table.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
107        # Header
108        header = table.horizontalHeader()
109        header.setResizeMode(QtGui.QHeaderView.Stretch)
110        header.setStretchLastSection(True)
111
112    def setPolyModel(self):
113        item1 = QtGui.QStandardItem("Distribution of radius")
114        item1.setCheckable(True)
115        item2 = QtGui.QStandardItem("0")
116        item3 = QtGui.QStandardItem("")
117        item4 = QtGui.QStandardItem("")
118        item5 = QtGui.QStandardItem("35")
119        item6 = QtGui.QStandardItem("3")
120        item7 = QtGui.QStandardItem("")
121        self._poly_model.appendRow([item1, item2, item3, item4, item5, item6, item7])
122        item1 = QtGui.QStandardItem("Distribution of thickness")
123        item1.setCheckable(True)
124        item2 = QtGui.QStandardItem("0")
125        item3 = QtGui.QStandardItem("")
126        item4 = QtGui.QStandardItem("")
127        item5 = QtGui.QStandardItem("35")
128        item6 = QtGui.QStandardItem("3")
129        item7 = QtGui.QStandardItem("")
130        self._poly_model.appendRow([item1, item2, item3, item4, item5, item6, item7])
131
132        self._poly_model.setHeaderData(0, QtCore.Qt.Horizontal, QtCore.QVariant("Parameter"))
133        self._poly_model.setHeaderData(1, QtCore.Qt.Horizontal, QtCore.QVariant("PD[ratio]"))
134        self._poly_model.setHeaderData(2, QtCore.Qt.Horizontal, QtCore.QVariant("Min"))
135        self._poly_model.setHeaderData(3, QtCore.Qt.Horizontal, QtCore.QVariant("Max"))
136        self._poly_model.setHeaderData(4, QtCore.Qt.Horizontal, QtCore.QVariant("Npts"))
137        self._poly_model.setHeaderData(5, QtCore.Qt.Horizontal, QtCore.QVariant("Nsigs"))
138        self._poly_model.setHeaderData(6, QtCore.Qt.Horizontal, QtCore.QVariant("Function"))
139
140        self.tableView_2.resizeColumnsToContents()
141        header = self.tableView_2.horizontalHeader()
142        header.ResizeMode(QtGui.QHeaderView.Stretch)
143        header.setStretchLastSection(True)
144
145
146if __name__ == "__main__":
147    app = QtGui.QApplication([])
148    dlg = prototype()
149    dlg.show()
150    sys.exit(app.exec_())
Note: See TracBrowser for help on using the repository browser.