Changes in src/sas/sasgui/plottools/PlotPanel.py [1ed6be7:1a8e2e8e] in sasview
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/sasgui/plottools/PlotPanel.py
r1ed6be7 r1a8e2e8e 15 15 import os 16 16 import transform 17 from plottables import Data1D18 17 #TODO: make the plottables interactive 19 18 from binder import BindArtist … … 151 150 #List of texts currently on the plot 152 151 self.textList = [] 152 self.selectedText = None 153 153 #User scale 154 154 if xtransform != None: … … 190 190 191 191 # new data for the fit 192 from sas.sasgui.guiframe.dataFitting import Data1D 192 193 self.fit_result = Data1D(x=[], y=[], dy=None) 193 194 self.fit_result.symbol = 13 … … 352 353 self.leftdown = True 353 354 ax = event.inaxes 355 for text in self.textList: 356 if text.contains(event)[0]: # If user has clicked on text 357 self.selectedText = text 358 return 359 354 360 if ax != None: 355 361 self.xInit, self.yInit = event.xdata, event.ydata … … 373 379 self.mousemotion = False 374 380 self.leftup = True 381 self.selectedText = None 375 382 376 383 #release the legend … … 448 455 self._on_legend_motion(event) 449 456 return 457 458 if self.leftdown and self.selectedText is not None: 459 # User has clicked on text and is dragging 460 ax = event.inaxes 461 if ax != None: 462 # Only move text if mouse is within axes 463 self.selectedText.set_position((event.xdata, event.ydata)) 464 self._dragHelper(0, 0) 465 else: 466 # User has dragged outside of axes 467 self.selectedText = None 468 return 469 450 470 if self.enable_toolbar: 451 471 #Disable dragging without the toolbar to allow zooming with toolbar … … 646 666 dlg.setFitRange(self.xminView, self.xmaxView, 647 667 self.xmin, self.xmax) 668 else: 669 xlim = self.subplot.get_xlim() 670 ylim = self.subplot.get_ylim() 671 dlg.setFitRange(xlim[0], xlim[1], ylim[0], ylim[1]) 648 672 # It would be nice for this to NOT be modal (i.e. Show). 649 673 # Not sure about other ramifications - for example … … 1725 1749 if remove_fit: 1726 1750 self.graph.delete(self.fit_result) 1751 if hasattr(self, 'plots'): 1752 if 'fit' in self.plots.keys(): 1753 del self.plots['fit'] 1727 1754 self.ly = None 1728 1755 self.q_ctrl = None … … 1738 1765 _yscale = 'linear' 1739 1766 for item in list: 1767 if item.id == 'fit': 1768 continue 1740 1769 item.setLabel(self.xLabel, self.yLabel) 1741 1770 # control axis labels from the panel itself … … 1869 1898 1870 1899 """ 1900 xlim = self.subplot.get_xlim() 1901 ylim = self.subplot.get_ylim() 1902 1871 1903 # Saving value to redisplay in Fit Dialog when it is opened again 1872 1904 self.Avalue, self.Bvalue, self.ErrAvalue, \ … … 1892 1924 self.graph.render(self) 1893 1925 self._offset_graph() 1926 if hasattr(self, 'plots'): 1927 # Used by Plotter1D 1928 fit_id = 'fit' 1929 self.fit_result.id = fit_id 1930 self.fit_result.title = 'Fit' 1931 self.fit_result.name = 'Fit' 1932 self.plots[fit_id] = self.fit_result 1933 self.subplot.set_xlim(xlim) 1934 self.subplot.set_ylim(ylim) 1894 1935 self.subplot.figure.canvas.draw_idle() 1895 1936
Note: See TracChangeset
for help on using the changeset viewer.