Changes in / [60a4e71:343d7fd] in sasview
- Location:
- src/sas/qtgui
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/qtgui/MainWindow/DataExplorer.py
r8e674ccf r2b8286c 95 95 self.communicator.activeGraphsSignal.connect(self.updateGraphCount) 96 96 self.communicator.activeGraphName.connect(self.updatePlotName) 97 self.communicator.plotUpdateSignal.connect(self. displayData)97 self.communicator.plotUpdateSignal.connect(self.updatePlot) 98 98 self.communicator.maskEditorSignal.connect(self.showEditDataMask) 99 99 self.communicator.extMaskEditorSignal.connect(self.extShowEditDataMask) … … 572 572 # Each fitpage contains the name based on fit widget number 573 573 fitpage_name = "" if id is None else "M"+str(id) 574 # groups plots which move into an own window 575 new_plots = dict(int = [], res = [], pd = []) 574 new_plots = [] 576 575 for item, plot in plots.items(): 577 if (self.updatePlot(plot) and filename != plot.name) or plot.hidden:576 if self.updatePlot(plot) and filename != plot.name: 578 577 continue 579 578 # Don't plot intermediate results, e.g. P(Q), S(Q) 580 579 match = GuiUtils.theory_plot_ID_pattern.match(plot.id) 581 # 2nd match group contains the identifier for the intermediate 582 # result, if present (e.g. "[P(Q)]") 580 # 2nd match group contains the identifier for the intermediate result, if present (e.g. "[P(Q)]") 583 581 if match and match.groups()[1] != None: 584 582 continue 585 # Don't include plots from different fitpages, 586 # but always include the original data 583 # Don't include plots from different fitpages, but always include the original data 587 584 if fitpage_name in plot.name or filename == plot.name: 588 585 # 'sophisticated' test to generate standalone plot for residuals 589 # this should be done by some kind of grouping by lists590 # which helps to indicate which go into a single plot window591 586 if 'esiduals' in plot.title: 592 plot.yscale = 'linear' 593 new_plots['res'].append((item, plot)) 594 elif 'olydispersity' in plot.title: 595 plot.yscale = 'linear' 596 new_plots['pd'].append((item, plot)) 587 plot.yscale='linear' 588 self.plotData([(item, plot)]) 597 589 else: 598 new_plots['int'].append((item, plot)) 599 600 # create entirely new plots for those which could not be updated 601 for plots in new_plots.values(): 602 if len(plots): 603 self.plotData(plots) 590 new_plots.append((item, plot)) 591 592 if new_plots: 593 self.plotData(new_plots) 604 594 605 595 def displayData(self, data_list, id=None): … … 607 597 Forces display of charts for the given data set 608 598 """ 609 for plot_to_show in data_list: 610 # may there be duplicates? list(OrderedDict.fromkeys(data_list)) 611 # passed plot is used ONLY to figure out its title, 612 # so all the charts related by it can be pulled from 613 # the data explorer indices. 614 filename = plot_to_show.filename 615 self.displayFile(filename=filename, is_data=plot_to_show.is_data, id=id) 599 plot_to_show = data_list[0] 600 # passed plot is used ONLY to figure out its title, 601 # so all the charts related by it can be pulled from 602 # the data explorer indices. 603 filename = plot_to_show.filename 604 self.displayFile(filename=filename, is_data=plot_to_show.is_data, id=id) 616 605 617 606 def addDataPlot2D(self, plot_set, item): -
src/sas/qtgui/Perspectives/Fitting/FittingWidget.py
rf3cc979 rf3cc979 1088 1088 return True 1089 1089 1090 def updateDataVisibility(self, updateOnly):1091 self.dataUpdateOnly = updateOnly1092 for dataitem in self.all_data:1093 data = GuiUtils.dataFromItem(dataitem)1094 data.hidden = self.dataUpdateOnly1095 self.updateModelIndex(data)1096 1097 1090 def updateData(self): 1098 1091 """ … … 1100 1093 """ 1101 1094 # Update the chart 1102 self.updateDataVisibility(True)1103 1095 if self.data_is_loaded: 1104 1096 self.cmdPlot.setText("Show Plot") … … 1823 1815 self.cmdPlot.setText("Show Plot") 1824 1816 # Force data recalculation so existing charts are updated 1825 #self.showPlot()1817 self.showPlot() 1826 1818 # This is an important processEvent. 1827 1819 # This allows charts to be properly updated in order 1828 1820 # of plots being applied. 1829 #QtWidgets.QApplication.processEvents()1821 QtWidgets.QApplication.processEvents() 1830 1822 self.recalculatePlotData() 1831 1823 … … 2280 2272 Create a model or theory index with passed Data1D/Data2D 2281 2273 """ 2282 # set some flag which decides if new plots should be created or2283 # just existing ones updated, selectively hiding indiv. plot will also work2284 fitted_data.hidden = getattr(self, 'dataUpdateOnly', True)2285 2274 if self.data_is_loaded: 2286 2275 if not fitted_data.name: … … 2453 2442 for plot in new_plots: 2454 2443 self.communicate.plotUpdateSignal.emit([plot]) 2455 # enable plots to be shown next time if updateData() wasn't called2456 self.updateDataVisibility(False)2457 2444 2458 2445 def complete2D(self, return_data):
Note: See TracChangeset
for help on using the changeset viewer.