Changes in / [44880ac:f331852] in sasview
- Location:
- src/sas/qtgui
- Files:
-
- 3 added
- 8 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 r1420066 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) … … 280 281 # Use 'while' so the row count is forced at every iteration 281 282 deleted_indices = [] 283 deleted_names = [] 282 284 while ind < self.model.rowCount(): 283 285 ind += 1 284 286 item = self.model.item(ind) 287 285 288 if item and item.isCheckable() and item.checkState() == QtCore.Qt.Checked: 286 289 # Delete these rows from the model 290 deleted_names.append(str(self.model.item(ind).text())) 287 291 deleted_indices.append(item) 292 288 293 self.model.removeRow(ind) 289 294 # Decrement index since we just deleted it … … 292 297 # Let others know we deleted data 293 298 self.communicator.dataDeletedSignal.emit(deleted_indices) 299 300 # update stored_data 301 self.manager.update_stored_data(deleted_names) 294 302 295 303 def deleteTheory(self, event): … … 869 877 self.txt_widget.setWindowIcon(QtGui.QIcon(":/res/ball.ico")) 870 878 self.txt_widget.setWindowTitle("Data Info: %s" % data.filename) 879 self.txt_widget.clear() 871 880 self.txt_widget.insertPlainText(text_to_show) 872 881 … … 1012 1021 self.model.appendRow(checkbox_item) 1013 1022 1014 1015 1023 def updateModelFromPerspective(self, model_item): 1016 1024 """ -
src/sas/qtgui/MainWindow/DataManager.py
rdc5ef15 r1420066 275 275 del self.stored_data[id] 276 276 277 278 277 def get_by_name(self, name_list=None): 279 278 """ … … 295 294 if data_state.data.name == selected_name: 296 295 del self.stored_data[id] 296 297 def update_stored_data(self, name_list=None): 298 """ update stored data after deleting files in Data Explorer """ 299 for selected_name in name_list: 300 for idx in self.stored_data.keys(): 301 if str(selected_name) in str(idx): 302 print selected_name, idx 303 del self.stored_data[idx] 297 304 298 305 def get_data_state(self, data_id): -
src/sas/qtgui/MainWindow/GuiManager.py
r01cda57 rf0bb711 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.sendDataToPanelSignal.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 rf0bb711 145 145 146 146 # Now add the legend with some customizations. 147 147 148 self.legend = ax.legend(loc='upper right', shadow=True) 148 149 if self.legend: -
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 rf0bb711 144 144 # custom open_path 145 145 open_folder = custom_config.DEFAULT_OPEN_FOLDER 146 if open_folder !=None and os.path.isdir(open_folder):146 if open_folder is not None and os.path.isdir(open_folder): 147 147 DEFAULT_OPEN_FOLDER = os.path.abspath(open_folder) 148 148 else: … … 230 230 dataDeletedSignal = QtCore.pyqtSignal(list) 231 231 232 # Send data to Data Operation Utility panel 233 sendDataToPanelSignal = 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 … … 523 528 has_errors = False 524 529 if has_errors: 525 if data.dx !=None and data.dx != []:530 if data.dx is not None and data.dx != []: 526 531 out.write("<X> <Y> <dY> <dX>\n") 527 532 else: … … 532 537 for i in range(len(data.x)): 533 538 if has_errors: 534 if data.dx !=None and data.dx != []:539 if data.dx is not None and data.dx != []: 535 540 if data.dx[i] != None: 536 541 out.write("%g %g %g %g\n" % (data.x[i], -
src/sas/qtgui/Utilities/UnitTesting/GuiUtilsTest.py
r464cd07 rf0bb711 69 69 'progressBarUpdateSignal', 70 70 'activeGraphName', 71 'sendDataToPanelSignal', 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.