Changeset 6a3e1fe in sasview for src/sas/qtgui/Perspectives/Inversion/InversionPerspective.py
- Timestamp:
- Nov 17, 2017 6:59:52 AM (6 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:
- 0261bc1
- Parents:
- 84df556
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/qtgui/Perspectives/Inversion/InversionPerspective.py
- Property mode changed from 100755 to 100644
rd4881f6a r6a3e1fe 132 132 """Connect the use controls to their appropriate methods""" 133 133 self.dataList.currentIndexChanged.connect(self.displayChange) 134 self.calculateAllButton.clicked.connect(self.startThreadAll)135 self.calculateThisButton.clicked.connect(self.startThread)134 #self.calculateAllButton.clicked.connect(self.startThreadAll) 135 #self.calculateThisButton.clicked.connect(self.startThread) 136 136 self.removeButton.clicked.connect(self.removeData) 137 137 self.helpButton.clicked.connect(self.help) … … 208 208 # Main Buttons 209 209 self.mapper.addMapping(self.removeButton, WIDGETS.W_REMOVE) 210 self.mapper.addMapping(self.calculateAllButton, WIDGETS.W_CALCULATE_ALL)211 self.mapper.addMapping(self.calculateThisButton,212 WIDGETS.W_CALCULATE_VISIBLE)210 #self.mapper.addMapping(self.calculateAllButton, WIDGETS.W_CALCULATE_ALL) 211 #self.mapper.addMapping(self.calculateThisButton, 212 # WIDGETS.W_CALCULATE_VISIBLE) 213 213 self.mapper.addMapping(self.helpButton, WIDGETS.W_HELP) 214 214 … … 269 269 self.removeButton.setEnabled(self.logic.data_is_loaded) 270 270 self.explorerButton.setEnabled(self.logic.data_is_loaded) 271 self.calculateAllButton.setEnabled(self.logic.data_is_loaded)272 self.calculateThisButton.setEnabled(self.logic.data_is_loaded)271 #self.calculateAllButton.setEnabled(self.logic.data_is_loaded) 272 #self.calculateThisButton.setEnabled(self.logic.data_is_loaded) 273 273 274 274 def populateDataComboBox(self, filename, data_ref): … … 278 278 :param data_ref: QStandardItem reference for data set to be added 279 279 """ 280 qt_item = QtCore.QString.fromUtf8(filename) 281 ref = QtCore.QVariant(data_ref) 282 self.dataList.addItem(qt_item, ref) 280 self.dataList.addItem(filename, data_ref) 283 281 284 282 def acceptNoTerms(self): … … 294 292 def displayChange(self): 295 293 variant_ref = self.dataList.itemData(self.dataList.currentIndex()) 296 self.setCurrentData(variant_ref .toPyObject())294 self.setCurrentData(variant_ref) 297 295 298 296 def removeData(self): … … 326 324 if self.pr_plot is not None: 327 325 title = self.pr_plot.name 328 GuiUtils.updateModelItemWithPlot( 329 self._data, QtCore.QVariant(self.pr_plot), title) 326 GuiUtils.updateModelItemWithPlot(self._data, self.pr_plot, title) 330 327 if self.data_plot is not None: 331 328 title = self.data_plot.name 332 GuiUtils.updateModelItemWithPlot( 333 self._data, QtCore.QVariant(self.data_plot), title) 329 GuiUtils.updateModelItemWithPlot(self._data, self.data_plot, title) 334 330 self.mapper.toFirst() 335 331 … … 383 379 for data in data_item: 384 380 # Create initial internal mappings 385 # TODO: in PyQt5 QStandardItem no longer can be used as dict key 386 # Possibly the easiest solution is to subclass QStandardItem 387 # and reimplement __hash__() method so it can be hashed. 388 self._data_list[data] = self._calculator.clone() #<- this crashes 381 self._data_list[data] = self._calculator.clone() 389 382 self._data_set = GuiUtils.dataFromItem(data) 390 383 self.data_plot_list[data] = self.data_plot 391 384 self.pr_plot_list[data] = self.pr_plot 392 ref_var = QtCore.QVariant(data) 393 self.populateDataComboBox(self._data_set.filename, ref_var) 385 self.populateDataComboBox(self._data_set.filename, data) 394 386 self.setCurrentData(data) 395 387 … … 400 392 # Estimate q range 401 393 qmin, qmax = self.logic.computeDataRange() 402 self.model.setItem(WIDGETS.W_QMIN, QtGui.QStandardItem( 403 "{:.4g}".format(qmin))) 404 self.model.setItem(WIDGETS.W_QMAX, QtGui.QStandardItem( 405 "{:.4g}".format(qmax))) 394 self.model.setItem(WIDGETS.W_QMIN, QtGui.QStandardItem("{:.4g}".format(qmin))) 395 self.model.setItem(WIDGETS.W_QMAX, QtGui.QStandardItem("{:.4g}".format(qmax))) 406 396 407 397 self.enableButtons() … … 409 399 def getNFunc(self): 410 400 """Get the n_func value from the GUI object""" 411 return int( UI.TabbedInversionUI._fromUtf8(self.noOfTermsInput.text()))401 return int(self.noOfTermsInput.text()) 412 402 413 403 def setCurrentData(self, data_ref): 414 404 """Get the current data and display as necessary""" 405 406 if data_ref is None: 407 return 415 408 416 409 if not isinstance(data_ref, QtGui.QStandardItem): … … 424 417 self.pr_plot = self.pr_plot_list[data_ref] 425 418 self.data_plot = self.data_plot_list[data_ref] 419 # Rerun the calculations for the current set 420 self.startThread() 421 self.model_changed() 426 422 427 423 ###################################################################### … … 512 508 """ 513 509 # Save useful info 514 self.model.setItem(WIDGETS.W_COMP_TIME, 515 QtGui.QStandardItem(str(elapsed))) 516 self.regConstantSuggestionButton.setText(QtCore.QString(str(alpha))) 510 self.model.setItem(WIDGETS.W_COMP_TIME, QtGui.QStandardItem(str(elapsed))) 511 self.regConstantSuggestionButton.setText("{:-3.2g}".format(alpha)) 517 512 self.regConstantSuggestionButton.setEnabled(True) 518 513 if message: … … 531 526 """ 532 527 # Save useful info 533 self.noOfTermsSuggestionButton.setText(QtCore.QString( 534 "{:n}".format(nterms))) 528 self.noOfTermsSuggestionButton.setText("{:n}".format(nterms)) 535 529 self.noOfTermsSuggestionButton.setEnabled(True) 536 self.regConstantSuggestionButton.setText(QtCore.QString( 537 "{:.3g}".format(alpha))) 530 self.regConstantSuggestionButton.setText("{:.3g}".format(alpha)) 538 531 self.regConstantSuggestionButton.setEnabled(True) 539 self.model.setItem(WIDGETS.W_COMP_TIME, 540 QtGui.QStandardItem(str(elapsed))) 541 self.PrTabWidget.setCurrentIndex(0) 532 self.model.setItem(WIDGETS.W_COMP_TIME, QtGui.QStandardItem(str(elapsed))) 533 #self.PrTabWidget.setCurrentIndex(0) 542 534 if message: 543 535 logging.info(message) … … 563 555 # TODO: Connect self._calculator to GUI - two-to-one connection possible? 564 556 self.model.setItem(WIDGETS.W_RG, QtGui.QStandardItem(str(pr.rg(out)))) 565 self.model.setItem(WIDGETS.W_I_ZERO, 566 QtGui.QStandardItem(str(pr.iq0(out)))) 557 self.model.setItem(WIDGETS.W_I_ZERO, QtGui.QStandardItem(str(pr.iq0(out)))) 567 558 self.model.setItem(WIDGETS.W_BACKGROUND_INPUT, 568 559 QtGui.QStandardItem("{:.3f}".format(pr.est_bck))) 569 self.model.setItem(WIDGETS.W_BACKGROUND_OUTPUT, 570 QtGui.QStandardItem(str(pr.background))) 571 self.model.setItem(WIDGETS.W_CHI_SQUARED, 572 QtGui.QStandardItem(str(pr.chi2[0]))) 573 self.model.setItem(WIDGETS.W_COMP_TIME, 574 QtGui.QStandardItem(str(elapsed))) 575 self.model.setItem(WIDGETS.W_OSCILLATION, 576 QtGui.QStandardItem(str(pr.oscillations(out)))) 577 self.model.setItem(WIDGETS.W_POS_FRACTION, 578 QtGui.QStandardItem(str(pr.get_positive(out)))) 560 self.model.setItem(WIDGETS.W_BACKGROUND_OUTPUT, QtGui.QStandardItem(str(pr.background))) 561 self.model.setItem(WIDGETS.W_CHI_SQUARED, QtGui.QStandardItem(str(pr.chi2[0]))) 562 self.model.setItem(WIDGETS.W_COMP_TIME, QtGui.QStandardItem(str(elapsed))) 563 self.model.setItem(WIDGETS.W_OSCILLATION, QtGui.QStandardItem(str(pr.oscillations(out)))) 564 self.model.setItem(WIDGETS.W_POS_FRACTION, QtGui.QStandardItem(str(pr.get_positive(out)))) 579 565 self.model.setItem(WIDGETS.W_SIGMA_POS_FRACTION, 580 566 QtGui.QStandardItem(str(pr.get_pos_err(out, cov)))) 581 567 582 568 # Display results tab 583 self.PrTabWidget.setCurrentIndex(1)569 #self.PrTabWidget.setCurrentIndex(1) 584 570 # Save Pr invertor 585 571 self._calculator = pr
Note: See TracChangeset
for help on using the changeset viewer.