Changeset e32b120 in sasview for src/sas/qtgui/Perspectives/PrInversion/PrInversionPerspective.py
- Timestamp:
- Oct 26, 2017 8:54:02 AM (7 years ago)
- Branches:
- ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc
- Children:
- 8045572
- Parents:
- d2d0441e
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/qtgui/Perspectives/PrInversion/PrInversionPerspective.py
rd2d0441e re32b120 1 import logging 2 1 3 from PyQt4 import QtGui, QtCore, QtWebKit 2 4 3 5 # sas-global 4 #import sas.qtgui.Utilities.GuiUtils as GuiUtils6 import sas.qtgui.Utilities.GuiUtils as GuiUtils 5 7 6 8 # pr inversion gui elements 7 from sas.qtgui.Perspectives.PrInversion.UI.TabbedPrInversionUI import \8 9 from PrInversionUtils import WIDGETS 10 from UI.TabbedPrInversionUI import Ui_PrInversion 9 11 10 12 class PrInversionWindow(QtGui.QTabWidget, Ui_PrInversion): … … 21 23 22 24 self._manager = parent 23 24 25 self._model_item = QtGui.QStandardItem() 25 26 self._helpView = QtWebKit.QWebView() … … 29 30 self._allow_close = False 30 31 32 # Set initial values 33 self._path = "" 34 self._background = 0.0 35 self._qmin = 0.0 36 self._qmax = 1.0 37 self._slit_height = 0.0 38 self._slit_width = 0.0 39 self._terms = 10 40 self._regularization = 0.0001 41 self._max_distance = 140 42 self._bgd_input = False 43 self._terms_button = False 44 self._reg_button = False 45 # Set results 46 self._rg = 0.0 47 self._i_0 = 0.0 48 self._comp_time = 0.0 49 self._chi_dof = 0.0 50 self._oscillations = 0.0 51 self._pos_fraction = 0.0 52 self._sigma_pos_fraction = 0.0 53 31 54 # Let's choose the Standard Item Model. 32 55 self.model = QtGui.QStandardItemModel(self) 56 # Set up the Widget Map 57 self.setupMapper() 58 # Set values 59 self.setupModel() 60 # Link user interactions with methods 61 self.setupLinks() 62 63 self.communicate = GuiUtils.Communicate() 64 logging.debug("P(r) Inversion Perspective loaded") 33 65 34 66 def allowBatch(self): … … 54 86 # Maybe we should just minimize 55 87 self.setWindowState(QtCore.Qt.WindowMinimized) 88 89 def setupLinks(self): 90 self.calculateButton.clicked.connect(self.calculatePrInversion) 91 self.statusButton.clicked.connect(self.status) 92 self.helpButton.clicked.connect(self.help) 93 self.estimateBgd.toggled.connect(self.toggleBgd) 94 self.manualBgd.toggled.connect(self.toggleBgd) 95 self.explorerButton.clicked.connect(self.openExplorerWindow) 96 pass 97 98 def setupMapper(self): 99 # Set up the mapper. 100 self.mapper = QtGui.QDataWidgetMapper(self) 101 self.mapper.setOrientation(QtCore.Qt.Vertical) 102 self.mapper.setModel(self.model) 103 104 # Filename 105 self.mapper.addMapping(self.dataFileName, WIDGETS.W_FILENAME) 106 # Background 107 self.mapper.addMapping(self.backgroundInput, WIDGETS.W_BACKGROUND) 108 self.mapper.addMapping(self.estimateBgd, WIDGETS.W_ESTIMATE) 109 self.mapper.addMapping(self.manualBgd, WIDGETS.W_MANUAL_INPUT) 110 111 # Qmin/Qmax 112 self.mapper.addMapping(self.minQInput, WIDGETS.W_QMIN) 113 self.mapper.addMapping(self.maxQInput, WIDGETS.W_QMAX) 114 115 # Slit Parameter items 116 self.mapper.addMapping(self.slitWidthInput, WIDGETS.W_SLIT_WIDTH) 117 self.mapper.addMapping(self.slitHeightInput, WIDGETS.W_SLIT_HEIGHT) 118 119 # Parameter Items 120 self.mapper.addMapping(self.regularizationConstantInput, WIDGETS.W_REGULARIZATION) 121 self.mapper.addMapping(self.regConstantSuggestionButton, WIDGETS.W_REGULARIZATION_SUGGEST) 122 self.mapper.addMapping(self.explorerButton, WIDGETS.W_EXPLORE) 123 self.mapper.addMapping(self.maxDistanceInput, WIDGETS.W_MAX_DIST) 124 self.mapper.addMapping(self.noOfTermsInput, WIDGETS.W_NO_TERMS) 125 self.mapper.addMapping(self.noOfTermsSuggestionButton, WIDGETS.W_NO_TERMS_SUGGEST) 126 127 # Output 128 self.mapper.addMapping(self.rgValue, WIDGETS.W_RG) 129 self.mapper.addMapping(self.iQ0Value, WIDGETS.W_I_ZERO) 130 self.mapper.addMapping(self.backgroundValue, WIDGETS.W_BACKGROUND) 131 self.mapper.addMapping(self.computationTimeValue, WIDGETS.W_COMP_TIME) 132 self.mapper.addMapping(self.chiDofValue, WIDGETS.W_CHI_SQUARED) 133 self.mapper.addMapping(self.oscillationValue, WIDGETS.W_OSCILLATION) 134 self.mapper.addMapping(self.posFractionValue, WIDGETS.W_POS_FRACTION) 135 self.mapper.addMapping(self.sigmaPosFractionValue, WIDGETS.W_SIGMA_POS_FRACTION) 136 137 # Main Buttons 138 self.mapper.addMapping(self.calculateButton, WIDGETS.W_CALCULATE) 139 self.mapper.addMapping(self.statusButton, WIDGETS.W_STATUS) 140 self.mapper.addMapping(self.helpButton, WIDGETS.W_HELP) 141 142 self.mapper.toFirst() 143 144 def setupModel(self): 145 """ 146 Update boxes with latest values 147 """ 148 item = QtGui.QStandardItem(self._path) 149 self.model.setItem(WIDGETS.W_FILENAME, item) 150 item = QtGui.QStandardItem(self._background) 151 self.model.setItem(WIDGETS.W_BACKGROUND, item) 152 self.estimateBgd.click() 153 self.backgroundInput.setEnabled(self._bgd_input) 154 item = QtGui.QStandardItem(self._qmin) 155 self.model.setItem(WIDGETS.W_QMIN, item) 156 item = QtGui.QStandardItem(self._qmax) 157 self.model.setItem(WIDGETS.W_QMAX, item) 158 item = QtGui.QStandardItem(self._slit_width) 159 self.model.setItem(WIDGETS.W_SLIT_WIDTH, item) 160 item = QtGui.QStandardItem(self._slit_height) 161 self.model.setItem(WIDGETS.W_SLIT_HEIGHT, item) 162 item = QtGui.QStandardItem(self._terms) 163 self.model.setItem(WIDGETS.W_NO_TERMS, item) 164 item = QtGui.QStandardItem(self._regularization) 165 self.model.setItem(WIDGETS.W_REGULARIZATION, item) 166 item = QtGui.QStandardItem(self._max_distance) 167 self.model.setItem(WIDGETS.W_MAX_DIST, item) 168 item = QtGui.QStandardItem(self._rg) 169 self.model.setItem(WIDGETS.W_RG, item) 170 item = QtGui.QStandardItem(self._i_0) 171 self.model.setItem(WIDGETS.W_I_ZERO, item) 172 item = QtGui.QStandardItem(self._background) 173 self.model.setItem(WIDGETS.W_BACKGROUND, item) 174 item = QtGui.QStandardItem(self._comp_time) 175 self.model.setItem(WIDGETS.W_COMP_TIME, item) 176 item = QtGui.QStandardItem(self._chi_dof) 177 self.model.setItem(WIDGETS.W_CHI_SQUARED, item) 178 item = QtGui.QStandardItem(self._oscillations) 179 self.model.setItem(WIDGETS.W_OSCILLATION, item) 180 item = QtGui.QStandardItem(self._pos_fraction) 181 self.model.setItem(WIDGETS.W_POS_FRACTION, item) 182 item = QtGui.QStandardItem(self._sigma_pos_fraction) 183 self.model.setItem(WIDGETS.W_SIGMA_POS_FRACTION, item) 184 185 # GUI Actions 186 def calculatePrInversion(self): 187 pass 188 189 def status(self): 190 pass 191 192 def help(self): 193 pass 194 195 def toggleBgd(self, item): 196 pass 197 198 def openExplorerWindow(self): 199 # TODO: This depends on SVCC-45 200 pass
Note: See TracChangeset
for help on using the changeset viewer.