- Timestamp:
- Oct 17, 2017 3:25:17 PM (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:
- f0bb711
- Parents:
- d6e5b31
- Location:
- src/sas/qtgui
- Files:
-
- 3 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/qtgui/GUITests.py
r01cda57 rd5c5d3d 38 38 from Calculators.UnitTesting import SlitSizeCalculatorTest 39 39 from Calculators.UnitTesting import ResolutionCalculatorPanelTest 40 from Calculators.UnitTesting import DataOperationUtilityTest 40 41 41 42 # Utilities … … 94 95 unittest.makeSuite(SlitSizeCalculatorTest.SlitSizeCalculatorTest, 'test'), 95 96 unittest.makeSuite(ResolutionCalculatorPanelTest.ResolutionCalculatorPanelTest, 'test'), 97 unittest.makeSuite(DataOperationUtilityTest.DataOperationUtilityTest, 'test'), 96 98 97 99 # Perspectives -
src/sas/qtgui/MainWindow/DataExplorer.py
r7d8bebf rd5c5d3d 93 93 self.communicator.activeGraphName.connect(self.updatePlotName) 94 94 self.communicator.plotUpdateSignal.connect(self.updatePlot) 95 95 96 self.cbgraph.editTextChanged.connect(self.enableGraphCombo) 96 97 self.cbgraph.currentIndexChanged.connect(self.enableGraphCombo) … … 869 870 self.txt_widget.setWindowIcon(QtGui.QIcon(":/res/ball.ico")) 870 871 self.txt_widget.setWindowTitle("Data Info: %s" % data.filename) 872 self.txt_widget.clear() 871 873 self.txt_widget.insertPlainText(text_to_show) 872 874 … … 1012 1014 self.model.appendRow(checkbox_item) 1013 1015 1014 1015 1016 def updateModelFromPerspective(self, model_item): 1016 1017 """ -
src/sas/qtgui/MainWindow/GuiManager.py
r01cda57 rd5c5d3d 31 31 from sas.qtgui.Calculators.GenericScatteringCalculator import GenericScatteringCalculator 32 32 from sas.qtgui.Calculators.ResolutionCalculatorPanel import ResolutionCalculatorPanel 33 33 from sas.qtgui.Calculators.DataOperationUtilityPanel import DataOperationUtilityPanel 34 34 35 35 # Perspectives … … 47 47 Main SasView window functionality 48 48 """ 49 49 50 def __init__(self, parent=None): 50 51 """ … … 142 143 self.GENSASCalculator = GenericScatteringCalculator(self) 143 144 self.ResolutionCalculator = ResolutionCalculatorPanel(self) 145 self.DataOperation = DataOperationUtilityPanel(self) 144 146 145 147 def statusBarSetup(self): … … 337 339 self.communicate.updateTheoryFromPerspectiveSignal.connect(self.updateTheoryFromPerspective) 338 340 self.communicate.plotRequestedSignal.connect(self.showPlot) 341 self.communicate.updateModelFromDataOperationPanelSignal.connect(self.updateModelFromDataOperationPanel) 339 342 340 343 def addTriggers(self): … … 531 534 """ 532 535 """ 533 print("actionData_Operation TRIGGERED") 534 pass 536 self.communicate.sendDataToPanel.emit(self._data_manager.get_all_data()) 537 538 self.DataOperation.show() 535 539 536 540 def actionSLD_Calculator(self): … … 731 735 self.filesWidget.updateTheoryFromPerspective(index) 732 736 737 def updateModelFromDataOperationPanel(self, new_item, new_datalist_item): 738 """ 739 :param new_item: item to be added to list of loaded files 740 :param new_datalist_item: 741 """ 742 if not isinstance(new_item, QtGui.QStandardItem) or \ 743 not isinstance(new_datalist_item, dict): 744 msg = "Wrong data type returned from calculations." 745 raise AttributeError, msg 746 747 self.filesWidget.model.appendRow(new_item) 748 self._data_manager.add_data(new_datalist_item) 749 733 750 def showPlot(self, plot): 734 751 """ … … 737 754 if hasattr(self, "filesWidget"): 738 755 self.filesWidget.displayData(plot) 739 -
src/sas/qtgui/Plotting/Plotter.py
rfef38e8 rd5c5d3d 58 58 self.title(title=value.name) 59 59 60 def plot(self, data=None, color=None, marker=None, hide_error=False ):60 def plot(self, data=None, color=None, marker=None, hide_error=False, show_legend=True): 61 61 """ 62 62 Add a new plot of self._data to the chart. … … 145 145 146 146 # Now add the legend with some customizations. 147 self.legend = ax.legend(loc='upper right', shadow=True) 148 if self.legend: 149 self.legend.set_picker(True) 147 if show_legend: 148 self.legend = ax.legend(loc='upper right', shadow=True) 149 if self.legend: 150 self.legend.set_picker(True) 150 151 151 152 # Current labels for axes -
src/sas/qtgui/Plotting/Plotter2D.py
r01cda57 rd5c5d3d 87 87 self._item = item 88 88 89 def plot(self, data=None, marker=None ):89 def plot(self, data=None, marker=None, show_colorbar=True): 90 90 """ 91 91 Plot 2D self._data … … 109 109 ymin=self.ymin, ymax=self.ymax, 110 110 cmap=self.cmap, zmin=zmin_2D_temp, 111 zmax=zmax_2D_temp )111 zmax=zmax_2D_temp, show_colorbar=show_colorbar) 112 112 113 113 def calculateDepth(self): … … 379 379 380 380 def showPlot(self, data, qx_data, qy_data, xmin, xmax, ymin, ymax, 381 zmin, zmax, label='data2D', cmap=DEFAULT_CMAP ):381 zmin, zmax, label='data2D', cmap=DEFAULT_CMAP, show_colorbar=True): 382 382 """ 383 383 Render and show the current data … … 457 457 self.vmax = cb.vmax 458 458 459 if show_colorbar is False: 460 cb.remove() 461 459 462 else: 460 463 # clear the previous 2D from memory -
src/sas/qtgui/Utilities/GuiUtils.py
re694f0f rd5c5d3d 230 230 dataDeletedSignal = QtCore.pyqtSignal(list) 231 231 232 # Send data to Data Operation Utility panel 233 sendDataToPanel = QtCore.pyqtSignal(dict) 234 235 # Send result of Data Operation Utility panel to Data Explorer 236 updateModelFromDataOperationPanelSignal = QtCore.pyqtSignal(QtGui.QStandardItem, dict) 232 237 233 238 def updateModelItemWithPlot(item, update_data, name=""): … … 430 435 text += 'X_min = %s: X_max = %s\n' % (xmin, max(data.x)) 431 436 text += 'Y_min = %s: Y_max = %s\n' % (ymin, max(data.y)) 432 if data.dy !=None:437 if data.dy is not None: 433 438 text += 'dY_min = %s: dY_max = %s\n' % (min(data.dy), max(data.dy)) 434 439 text += '\nData Points:\n' 435 440 x_st = "X" 436 441 for index in range(len(data.x)): 437 if data.dy !=None and len(data.dy) > index:442 if data.dy is not None and len(data.dy) > index: 438 443 dy_val = data.dy[index] 439 444 else: 440 445 dy_val = 0.0 441 if data.dx !=None and len(data.dx) > index:446 if data.dx is not None and len(data.dx) > index: 442 447 dx_val = data.dx[index] 443 448 else: 444 449 dx_val = 0.0 445 if data.dxl !=None and len(data.dxl) > index:450 if data.dxl is not None and len(data.dxl) > index: 446 451 if index == 0: 447 452 x_st = "Xl" 448 453 dx_val = data.dxl[index] 449 elif data.dxw !=None and len(data.dxw) > index:454 elif data.dxw is not None and len(data.dxw) > index: 450 455 if index == 0: 451 456 x_st = "Xw" … … 486 491 y_val = data.qy_data[index] 487 492 i_val = data.data[index] 488 if data.err_data !=None:493 if data.err_data is not None: 489 494 di_val = data.err_data[index] 490 if data.dqx_data !=None:495 if data.dqx_data is not None: 491 496 dx_val = data.dqx_data[index] 492 if data.dqy_data !=None:497 if data.dqy_data is not None: 493 498 dy_val = data.dqy_data[index] 494 499 -
src/sas/qtgui/Utilities/UnitTesting/GuiUtilsTest.py
r464cd07 rd5c5d3d 69 69 'progressBarUpdateSignal', 70 70 'activeGraphName', 71 'sendDataToPanel', 72 'updateModelFromDataOperationPanelSignal' 71 73 ] 72 74 … … 412 414 self.assertEqual(yscale, "log") 413 415 416 414 417 class FormulaValidatorTest(unittest.TestCase): 415 418 """ Test the formula validator """
Note: See TracChangeset
for help on using the changeset viewer.