Changeset 6a6d687 in sasview
- Timestamp:
- Jun 22, 2015 1:23:56 PM (9 years ago)
- Branches:
- master, 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, costrafo411, magnetic_scatt, release-4.1.1, release-4.1.2, release-4.2.2, release_4.0.1, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- 4cf8db9
- Parents:
- 0c17d96 (diff), 038ccfe6 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent. - Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
docs/sphinx-docs/build_sphinx.py
- Property mode changed from 100644 to 100755
rc2ee2b1 r9bf64f6 1 #!/usr/bin/env python 1 2 """ 2 3 Functions for building sphinx docs. … … 148 149 149 150 if __name__ == "__main__": 150 main()151 rebuild() -
sasmodels/setup.py
r3a39c2e r038ccfe6 111 111 version = VERSION, 112 112 description = "Python module for SAS scattering models", 113 author = "S AS/DANSE",114 author_email = " sansdanse@gmail.gov",115 url = "http ://sansviewproject.svn.sourceforge.net",113 author = "SasView Team", 114 author_email = "developers@sasview.org", 115 url = "https://github.com/SasView/sasview.git", 116 116 117 117 # Place this module under the sas package -
sasview/README.txt
r79492222 r74d5dbf 2 2 ============= 3 3 4 SasView 3.0.0 5 6 - The GUI look and feel has been refactored to be more familiar for Windows 7 users by using MDI frames. Graph windows are also now free-floating 8 - Five new models have been added: PringlesModel, CoreShellEllipsoidXTModel, 9 RectangularPrismModel, RectangularHollowPrismModel and 10 RectangularHollowPrismInfThinWallsModel 11 - The data loader now supports ILL DAT data files and reads the full meta 12 information from canSAS file formats 13 - Redefined convention for specifying angular parameters for anisotropic models 14 - A number of minor features have been added such as permitting a log 15 distribution of points when using a model to simulate data, and the 16 addition of a Kratky plot option to the linear plots 17 - A number of bugs have also been fixed 18 - Save Project and Save Analysis now work more reliably 19 - BETA: Magnetic contrast supporting full polarization analysis has been 20 implemented for some spherical and cylindrical models 21 - BETA: Two new tools have been added: 4 SasView 3.1.0 5 -The documentation/help has had a complete overhaul including 6 - A completely new interface. 7 - The text has had a clean-up and been brought up to date with the latest 8 features. 9 - A Help (or sometimes ?) button has been added to every panel, and some 10 sub panels if appropriate, linking to the appropriate section in the 11 documentation. 12 - The model help has been split so that the details button now brings up 13 a very short pop-up giving the equation being used while HELP goes to 14 the section in the full documentation describing the model. 15 - Extensive help has also been added for the new optimizer engine (see 16 below) including rules of thumb on how and when to choose a given 17 optimizer and what the parameter do. 18 - The optimizer package has been completely replaced. The new optimizer 19 still defaults to the standard Levenberg-Marquardt algorithm. However 4 20 other optimizers are now available. Each starts with a set of default 21 parameters which can be tuned. The DREAM optimizer takes the longest but 22 is the most powerful and yields rich information including full parameter 23 correlation and uncertainty plots. A results panel has been added to 24 accommodate this. The five optimizers are: 25 - A Levenberg-Marquardt optimizer 26 - A Quasi-Newton BFGS optimizer 27 - A Nelder-Mead Simplex optimizer 28 - A Differential Evolution optimizer 29 - A Monte Carlo optimizer DREAM optimizer 30 - Several new models added (what are they) 31 - Infrastructure to allow SESANS data to bit fit with models in a future 32 release was added and can currently be used from command line with some 33 caveats. 34 - A number of bugs were fixed including a thread crashing issue and a 35 incorrect resolution slit smearing. 36 - Implemented much more robust error logging to better enable much easier 37 debugging in general and particularly debugging an issue reported by 38 SasView user. 39 - A number of infrastructure tasks under the hood to enhance maintainability 40 - Upgrade from Wx 2.9 to 3.0.2 which allows several new features but 41 required significant other rework as well. 42 - Fully implemented Sphinx to the build process to produce both better 43 user documentation and developer documentation. 44 - Restructuring of code base to more unified nomenclature and structure 45 so that source installation tree more closely matches the installer 46 version tree. 47 - Code cleanup (an ongoing task) 48 - Migration of repository to github simplifying contributions from 49 non-project personnel through pull requests 50 51 52 - New in Version 3.0.0 53 - The GUI look and feel has been refactored to be more familiar for 54 Windows users by using MDI frames. Graph windows are also now free- 55 floating. 56 - Five new models have been added: PringlesModel, CoreShellEllipsoidXTModel, 57 RectangularPrismModel, RectangularHollowPrismModel and 58 RectangularHollowPrismInfThinWallsModel. 59 - The data loader now supports ILL DAT data files and reads the full meta 60 information from canSAS file formats. 61 - Redefined convention for specifying angular parameters for anisotropic 62 models. 63 - A number of minor features have been added such as permitting a log 64 distribution of points when using a model to simulate data, and the 65 addition of a Kratky plot option to the linear plots. 66 - A number of bugs have also been fixed. 67 - Save Project and Save Analysis now work more reliably. 68 - BETA: Magnetic contrast supporting full polarization analysis has been 69 implemented for some spherical and cylindrical models. 70 - BETA: Two new tools have been added: 22 71 * A generic scattering calculator which takes an atomic, magnetic or 23 72 SLD distribution in space and generates the appropriate 2D … … 28 77 * An image viewer/converter for data in image format; this reads in 29 78 an image file and will attempt to convert the image pixels to 30 data. Supported formats include: TIFF, TIF, PNG, BMP, JPG 79 data. Supported formats include: TIFF, TIF, PNG, BMP, JPG. 31 80 32 81 - New in Version 2.2.1 … … 180 229 2.1- System Requirements: 181 230 - Python version >= 2.5 and < 3.0 should be running on the system 182 - We currently use Python 2. 6231 - We currently use Python 2.7 183 232 184 233 2.2- Installing from source: 185 - Get the code from sourceforge at https://svn.code.sf.net/p/sasview/code/ 186 for trunk end with code/trunk for a this release version end in 187 code/releases/sasview-3.0.0 234 - Get the code from sourceforge at https://github.com/SasView/sasview.git 235 for this release version use: https://github.com/SasView/sasview/releases 188 236 - run 'python setup.py install' under the 'sasview-x.x.x' folder 189 237 - run 'python sasview.py' under the 'sasview' folder. 190 - The following modules are required (version numbers are what are used in the release build): 191 - wxPython 2.8.12.1 (NOTE: do NOT use version 2.9) 192 - matplotlib 1.1.0 193 - SciPy 0.10.1 (NOTE: Mac build uses 0.10.0) 194 - pisa 3.0.27 (DO NOT USE ver 3.0.33 on windows: it will not work!) 195 - setuptools 0.6c11 196 197 (The following three are easily installed using easy_install) 198 - lxml 2.3.0.0 (NOTE: Mac build uses 3.1.0.0) 199 - numpy 1.6.1 (NOTE: Mac build uses version 1.6.2) 200 - periodictable 1.3.0 238 - The following modules are required (version numbers are what are used 239 in the windows release build): 240 - Common Packages 241 - reportlab 3.1.44 242 - lxml 3.4.4.0 (MAC 3.4.2.0) 243 - PIL 1.1.7 244 - xhtml2pdf 3.0.33 (MAC = not installed on build server) 245 - unittest-xml-reporting 1.12.0 (MAC 1.10.0) 246 - matplotlib Version Installed: 1.4.3 (MAC 1.1.1) 247 - bumps Version Installed: 0.7.5.6 248 - scipy Version Installed: 0.16.0b2 (MAC 0.11.0) 249 - periodictable Version Installed: 1.4.1 250 - setuptools Version Installed: 7.0 (MAC 12.0.5) 251 - sphinx Version Installed: 1.3.1 (MAC 1.3b2) 252 - pyparsing Version Installed: 2.0.3 253 - numpy Version Installed: 1.9.2 (MAC 1.6.2) 254 - html5lib Version Installed: 0.99999 255 - wx Version Installed: 3.0.2.0 256 257 258 - Windows Specific Packages: 259 - pywin 219 260 - py2exe 0.6.9 261 - comtypes 1.1.1 262 - MinGW w/ gcc version 4.6.1 (WIN) 263 - vcredist_x86.exe (version 9.0.21022.8 -microsoft visual C 2008 264 re-distributable) 265 - Innosetup (WIN - isetup 5.4.2-unicode) - used to create distributalbe 201 266 202 (The following are additional dependencies for Mac) 203 - py2app 0.7.1 204 205 (The following are additional dependencies for Windows) 206 - comtypes 0.6.2 (for PDF support on windows systems) 207 - pywin32 build 217 (to read ms office) 208 - html5lib 0.95-dev 209 - reportlab 2.5 (NOTE: Mab build uses 2.6 though should not be needed) 210 - pyparsing 1.5.5 (required for periodictable and bundling 211 NOTE: is ALSO present on Mac Build) 212 - PIL 1.1.7 (Python Image Library - NOTE: is also present on Mac build) 213 - py2exe 0.6.9 (WIN) 214 - vcredist_x86.exe (version 9.0.21022.8 -microsoft visual C 2008 215 re-distributable) 216 - subversion -1.6.0 (<1.6.1) 217 - MinGW w/ gcc version 4.6.1 (WIN) 218 - Innosetup (WIN - isetup 5.4.2-unicode). 219 220 (On Windows, the following site has all the dependencies nicely packaged) 221 http://www.lfd.uci.edu/~gohlke/pythonlibs/ 267 - MAC Specifci Packages: 268 - py2app 0.7.1 269 - Windows build dependencies can be set up using anaconda. Instructions 270 can be found at http://trac.sasview.org/wiki/AnacondaSetup 222 271 223 272 … … 225 274 226 275 3.1- All systems: 227 - very old computers may not be able to run 228 - polydispersity on multiple parameters included in a simultaneous/ 276 - Tutorial has not yet been updated and is somewhat out of date 277 - Very old computers may not be able to run 278 - Polydispersity on multiple parameters included in a simultaneous/ 229 279 constrained fit will likely not be correct 280 - Constrained/simultaneous fit page does not have a stop button 281 - Constrained/simultaneous fit do not accept min/max limits 230 282 - Save project does not store the state of all the windows 231 283 - Loading projects can be very slow 232 284 - Save Project only works once a data set has been associated with 233 285 a model. Error is reported on status bar. 286 - There is a numerical precision problem with the multishell model when 287 the iner radius gets large enough (ticket #288) 288 - The angular distribution angles are not clearly defined and may in 289 some cases lead to incorrect calculations(ticket #332) 290 234 291 235 292 3.2- Windows: … … 244 301 245 302 3.4- Linux: 246 - No ne303 - Not well tested 247 304 248 305 4- SasView website -
sasview/local_config.py
r0ea31ca rc8d22ec 12 12 __version__ = sas.sasview.__version__ 13 13 __build__ = sas.sasview.__build__ 14 __download_page__ = 'http://sourceforge.net/projects/sasview/files/' 15 __update_URL__ = ['svn.code.sf.net', 16 '/p/sasview/code/trunk/sasview.latestversion'] 14 __download_page__ = 'https://github.com/SasView/sasview/releases' 15 __update_URL__ = ['https://github.com/SasView/sasview.git'] 17 16 18 17 … … 24 23 25 24 # Debug message should be written to a file? 26 __EVT_DEBUG_2_FILE__ 25 __EVT_DEBUG_2_FILE__ = False 27 26 __EVT_DEBUG_FILENAME__ = "debug.log" 28 27 … … 39 38 '''Reference the following website: http://www.sasview.org''' 40 39 _acknowledgement_preamble_bullet3 =\ 41 '''Send us your reference for our records: sansdanse@gmail.com''' 40 '''Reference the model you used if appropriate (see documentation for refs)''' 41 _acknowledgement_preamble_bullet4 =\ 42 '''Send us your reference for our records: developers@sasview.org''' 42 43 _acknowledgement_publications = \ 43 '''This work benefited from the use of the SasView application, originally 44 '''This work benefited from the use of the SasView application, originally 44 45 developed under NSF award DMR-0520547. 45 46 ''' 46 47 _acknowledgement = \ 47 48 '''This work originally developed as part of the DANSE project funded by the NSF 48 under grant DMR-0520547, and currently maintained by NIST, UMD, ORNL, ISIS, ESS 49 under grant DMR-0520547, and currently maintained by NIST, UMD, ORNL, ISIS, ESS 49 50 and ILL. 50 51 … … 60 61 logging.info("icon path: %s" % icon_path) 61 62 media_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "media")) 62 test_path = 63 test_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "test")) 63 64 64 65 _nist_logo = os.path.join(icon_path, "nist_logo.png") … … 92 93 PLUGIN_STATE_EXTENSIONS = ['.fitv', '.inv', '.prv'] 93 94 PLUGINS_WLIST = ['Fitting files (*.fitv)|*.fitv', 94 95 95 'Invariant files (*.inv)|*.inv', 96 'P(r) files (*.prv)|*.prv'] 96 97 PLOPANEL_WIDTH = 415 97 98 PLOPANEL_HEIGTH = 370 98 99 DATAPANEL_WIDTH = 235 99 100 DATAPANEL_HEIGHT = 700 100 SPLASH_SCREEN_PATH = os.path.join(icon_path, "SVwelcome_mini.png")101 TUTORIAL_PATH = os.path.join(media_path, "Tutorial.pdf")101 SPLASH_SCREEN_PATH = os.path.join(icon_path, "SVwelcome_mini.png") 102 TUTORIAL_PATH = os.path.join(media_path, "Tutorial.pdf") 102 103 DEFAULT_STYLE = GUIFRAME.MULTIPLE_APPLICATIONS|GUIFRAME.MANAGER_ON\ 103 104 |GUIFRAME.CALCULATOR_ON|GUIFRAME.TOOLBAR_ON … … 105 106 SPLASH_SCREEN_HEIGHT = 366 106 107 SS_MAX_DISPLAY_TIME = 2000 107 WELCOME_PANEL_ON 108 WELCOME_PANEL_ON = True 108 109 WELCOME_PANEL_SHOW = False 109 110 CLEANUP_PLOT = False … … 131 132 def printEVT(message): 132 133 if __EVT_DEBUG__: 134 """ 135 :TODO - Need method doc string 136 """ 133 137 print "%g: %s" % (time.clock(), message) 134 138 135 139 if __EVT_DEBUG_2_FILE__: 136 140 out = open(__EVT_DEBUG_FILENAME__, 'a') 137 141 out.write("%10g: %s\n" % (time.clock(), message)) 138 142 out.close() 139 -
setup.py
rc2ee2b1 r038ccfe6 375 375 version = VERSION, 376 376 description = "SasView application", 377 author = " University of Tennessee",378 author_email = " sansdanse@gmail.com",377 author = "SasView Team", 378 author_email = "developers@sasview.org", 379 379 url = "http://sasview.org", 380 380 license = "PSF", 381 381 keywords = "small-angle x-ray and neutron scattering analysis", 382 download_url = "https:// sourceforge.net/projects/sansviewproject/files/",382 download_url = "https://github.com/SasView/sasview.git", 383 383 package_dir = package_dir, 384 384 packages = packages, -
src/sas/guiframe/acknowledgebox.py
r0ea31ca rc8d22ec 21 21 (os.path.isfile("%s/%s.pyc" % (path, 'local_config'))): 22 22 fObj, path, descr = imp.find_module('local_config', [path]) 23 config = imp.load_module('local_config', fObj, path, descr) 23 config = imp.load_module('local_config', fObj, path, descr) 24 24 else: 25 25 # Try simply importing local_config 26 26 import local_config as config 27 27 except: 28 # Didn't find local config, load the default 28 # Didn't find local config, load the default 29 29 import config 30 30 31 31 32 32 class DialogAcknowledge(wx.Dialog): 33 33 """ 34 34 "Acknowledgement" Dialog Box 35 35 36 36 Shows the current method for acknowledging SasView in 37 37 scholarly publications. 38 38 39 39 """ 40 40 41 41 def __init__(self, *args, **kwds): 42 42 43 43 kwds["style"] = wx.DEFAULT_DIALOG_STYLE 44 44 wx.Dialog.__init__(self, *args, **kwds) 45 45 46 46 self.ack = wx.TextCtrl(self, style=wx.TE_LEFT|wx.TE_MULTILINE|wx.TE_BESTWRAP|wx.TE_READONLY|wx.TE_NO_VSCROLL) 47 47 self.ack.SetValue(config._acknowledgement_publications) 48 self.ack.SetMinSize((-1, 55))48 self.ack.SetMinSize((-1, 55)) 49 49 self.preamble = wx.StaticText(self, -1, config._acknowledgement_preamble) 50 50 items = [config._acknowledgement_preamble_bullet1, 51 51 config._acknowledgement_preamble_bullet2, 52 config._acknowledgement_preamble_bullet3] 52 config._acknowledgement_preamble_bullet3, 53 config._acknowledgement_preamble_bullet4] 53 54 self.list1 = wx.StaticText(self, -1, "\t(1) " + items[0]) 54 55 self.list2 = wx.StaticText(self, -1, "\t(2) " + items[1]) 55 56 self.list3 = wx.StaticText(self, -1, "\t(3) " + items[2]) 57 self.list4 = wx.StaticText(self, -1, "\t(4) " + items[3]) 56 58 self.static_line = wx.StaticLine(self, 0) 57 59 self.__set_properties() 58 60 self.__do_layout() 59 61 60 62 def __set_properties(self): 61 63 """ 64 :TODO - add method documentation 62 65 """ 63 66 # begin wxGlade: DialogAbout.__set_properties … … 70 73 def __do_layout(self): 71 74 """ 75 :TODO - add method documentation 72 76 """ 73 77 # begin wxGlade: DialogAbout.__do_layout … … 78 82 sizer_titles.Add(self.list2, 0, wx.ALL|wx.EXPAND, 5) 79 83 sizer_titles.Add(self.list3, 0, wx.ALL|wx.EXPAND, 5) 84 sizer_titles.Add(self.list4, 0, wx.ALL|wx.EXPAND, 5) 80 85 sizer_titles.Add(self.static_line, 0, wx.ALL|wx.EXPAND, 0) 81 86 sizer_titles.Add(self.ack, 0, wx.ALL|wx.EXPAND, 5) … … 86 91 self.Centre() 87 92 # end wxGlade 88 93 89 94 90 95 ##### testing code ############################################################ 91 96 class MyApp(wx.App): 92 97 """ 98 Class for running module as stand alone for testing 93 99 """ 94 100 def OnInit(self): 95 101 """ 102 Defines an init when running as standalone 96 103 """ 97 104 wx.InitAllImageHandlers() -
src/sas/guiframe/config.py
r0ea31ca rc8d22ec 9 9 __version__ = '0.0.0' 10 10 __build__ = '1' 11 __download_page__ = 'http://sourceforge.net/projects/sasview/files/' 12 __update_URL__ = ['svn.code.sf.net', 13 '/p/sasview/code/trunk/sasview.latestversion'] 11 __download_page__ = 'https://github.com/SasView/sasview/releases' 12 __update_URL__ = ['https://github.com/SasView/sasview.git'] 14 13 15 14 … … 21 20 22 21 # Debug message should be written to a file? 23 __EVT_DEBUG_2_FILE__ 22 __EVT_DEBUG_2_FILE__ = False 24 23 __EVT_DEBUG_FILENAME__ = "debug.log" 25 24 … … 36 35 '''Reference the following website: http://www.sasview.org''' 37 36 _acknowledgement_preamble_bullet3 =\ 38 '''Send us your reference for our records: sansdanse@gmail.com''' 37 '''Reference the model you used if appropriate (see documentation for refs)''' 38 _acknowledgement_preamble_bullet4 =\ 39 '''Send us your reference for our records: developers@sasview.org''' 39 40 _acknowledgement_publications = \ 40 '''This work benefited from the use of the SasView application, originally 41 '''This work benefited from the use of the SasView application, originally 41 42 developed under NSF award DMR-0520547. 42 43 ''' 43 44 _acknowledgement = \ 44 45 '''This work originally developed as part of the DANSE project funded by the NSF 45 under grant DMR-0520547, and currently maintained by NIST, UMD, ORNL, ISIS, ESS 46 under grant DMR-0520547, and currently maintained by NIST, UMD, ORNL, ISIS, ESS 46 47 and ILL. 47 48 … … 85 86 PLUGINS_WLIST = [] 86 87 PLUGIN_STATE_EXTENSIONS = [] 87 SPLASH_SCREEN_PATH = "images/danse_logo.png" 88 SPLASH_SCREEN_PATH = "images/danse_logo.png" 88 89 DEFAULT_STYLE = GUIFRAME.SINGLE_APPLICATION 89 90 SPLASH_SCREEN_WIDTH = 500 90 91 SPLASH_SCREEN_HEIGHT = 300 91 WELCOME_PANEL_ON 92 WELCOME_PANEL_ON = False 92 93 TUTORIAL_PATH = None 93 94 SS_MAX_DISPLAY_TIME = 1500 … … 125 126 126 127 def printEVT(message): 128 """ 129 :TODO - need method documentation 130 """ 127 131 if __EVT_DEBUG__: 128 132 print "%g: %s" % (time.clock(), message) 129 133 130 134 if __EVT_DEBUG_2_FILE__: 131 135 out = open(__EVT_DEBUG_FILENAME__, 'a') -
src/sas/guiframe/data_processor.py
rc85b0ae re54dbc3e 141 141 self.Bind(wx.grid.EVT_GRID_CELL_LEFT_CLICK, self.OnLeftClick) 142 142 self.Bind(wx.grid.EVT_GRID_CELL_RIGHT_CLICK, self.OnRightClick) 143 self.Bind(wx.grid.EVT_GRID_CELL_LEFT_DCLICK, self.OnLeftDoubleClick)143 #self.Bind(wx.grid.EVT_GRID_CELL_LEFT_DCLICK, self.OnLeftDoubleClick) 144 144 self.Bind(wx.grid.EVT_GRID_RANGE_SELECT, self.OnRangeSelect) 145 145 self.Bind(wx.grid.EVT_GRID_ROW_SIZE, self.OnRowSize) … … 187 187 if self.GetNumberCols() > 0: 188 188 self.default_col_width = self.GetColSize(0) 189 self.Bind(wx.grid.EVT_GRID_LABEL_LEFT_CLICK, self.on_left_click) 190 self.Bind(wx.grid.EVT_GRID_LABEL_RIGHT_CLICK, self.on_right_click) 191 self.Bind(wx.grid.EVT_GRID_CELL_LEFT_CLICK, self.on_selected_cell) 192 self.Bind(wx.grid.EVT_GRID_CMD_CELL_CHANGE, self.on_edit_cell) 193 self.Bind(wx.grid.EVT_GRID_CELL_RIGHT_CLICK, self.onContextMenu) 194 189 #self.Bind(wx.grid.EVT_GRID_LABEL_LEFT_CLICK, self.on_left_click) 190 #self.Bind(wx.grid.EVT_GRID_LABEL_RIGHT_CLICK, self.on_right_click) 191 #self.Bind(wx.grid.EVT_GRID_CELL_LEFT_CLICK, self.on_selected_cell) 192 #self.Bind(wx.grid.EVT_GRID_CMD_CELL_CHANGE, self.on_edit_cell) 193 #self.Bind(wx.grid.EVT_GRID_CELL_RIGHT_CLICK, self.onContextMenu) 194 195 def OnLeftClick(self, event): 196 sheet.CSheet.OnLeftClick(self, event) 197 self.on_selected_cell(event) 198 195 199 def on_edit_cell(self, event): 196 200 """ … … 211 215 row, col = event.GetRow(), event.GetCol() 212 216 cell = (row, col) 213 event.Skip()214 217 if not flag and not flag_shift: 215 218 self.selected_cols = [] … … 273 276 if cell_row > 0 and cell_row < self.max_row_touse: 274 277 self.axis_value.append(self.GetCellValue(cell_row, cell_col)) 278 event.Skip() 275 279 276 280 def on_left_click(self, event): … … 278 282 Catch the left click on label mouse event 279 283 """ 280 event.Skip()281 284 flag = event.CmdDown() or event.ControlDown() 282 285 … … 317 320 if not self.axis_label: 318 321 self.axis_label = " " 322 event.Skip() 319 323 320 324 def on_right_click(self, event): … … 1385 1389 wx.EVT_MENU(self, self.save_menu.GetId(), self.on_save_page) 1386 1390 1391 # To add the edit menu, call add_edit_menu() here. 1392 self.edit = None 1393 self.Bind(wx.EVT_MENU_OPEN, self.on_menu_open) 1394 1395 self.Bind(wx.EVT_CLOSE, self.on_close) 1396 1397 def add_edit_menu(self, menubar): 1387 1398 self.edit = wx.Menu() 1388 1399 … … 1414 1425 self.remove_menu = self.edit.Append(-1, 'Remove Column', hint) 1415 1426 wx.EVT_MENU(self, self.remove_menu.GetId(), self.on_remove_column) 1416 1417 self.Bind(wx.EVT_MENU_OPEN, self.on_menu_open)1418 1427 menubar.Append(self.edit, "&Edit") 1419 self.Bind(wx.EVT_CLOSE, self.on_close)1420 1428 1421 1429 def on_copy(self, event): -
src/sas/guiframe/documentation_window.py
re82a901 rc8d22ec 1 """ 2 documentation module provides a simple means to add help throughout the 3 application. It checks for the existence of html2 package needed to support 4 fully html panel which supports css. The class defined here takes a title for 5 the particular help panel, a pointer to the html documentation file of interest 6 within the documentation tree along with a 'command' string such as a page 7 anchor or a query string etc. The path to the doc directory is retrieved 8 automatically by the class itself. Thus with these three pieces of information 9 the class generates a panel with the appropriate title bar and help file 10 formatted according the style sheets called in the html file. Finally, if an 11 old version of Python is running and the html2 package is not available the 12 class brings up the default browser and passes the file:/// string to it. In 13 this case however the instruction portion is usually not passed for security 14 reasons. 15 """ 1 16 import os 2 17 import logging … … 5 20 import urllib 6 21 7 wx_supports_html2 = True 22 SPHINX_DOC_ENV = "SASVIEW_DOC_PATH" 23 WX_SUPPORTS_HTML2 = True 8 24 try: 9 25 import wx.html2 as html 10 26 except: 11 wx_supports_html2 = False 27 WX_SUPPORTS_HTML2 = False 28 12 29 13 30 from gui_manager import get_app_dir … … 15 32 16 33 class DocumentationWindow(wx.Frame): 17 def __init__(self, parent, id, path, url_instruction, title, size=(850, 540)): 18 wx.Frame.__init__(self, parent, id, title, size=size) 34 """ 35 DocumentationWindow inherits from wx.Frame and provides a centralized 36 coherent framework for all help documentation. Help files must be html 37 files stored in an properly organized tree below the top 'doc' folder. In 38 order to display the appropriate help file from anywhere in the gui, the 39 code simply needs to know the location below the top level where the 40 help file resides along with the name of the help file. 41 called 42 (self, parent, dummy_id, path, url_instruction, title, size=(850, 540)) 19 43 20 SPHINX_DOC_ENV = "SASVIEW_DOC_PATH" 44 :param path: path to html file beginning AFTER /doc/ and ending in the 45 file.html 46 :param url_instructions: anchor string or other query e.g. '#MyAnchor 47 :param title - text to place in the title bar of the help panel 48 """ 49 def __init__(self, parent, dummy_id, path, url_instruction, title, size=(850, 540)): 50 wx.Frame.__init__(self, parent, dummy_id, title, size=size) 51 21 52 if SPHINX_DOC_ENV in os.environ: 22 53 docs_path = os.path.join(os.environ[SPHINX_DOC_ENV]) … … 27 58 docs_path = os.path.join(get_app_dir(), "doc") 28 59 60 #note that filepath for mac OS, at least in bundle starts with a 61 #forward slash as /Application, while the PC string begins C:\ 62 #It seems that mac OS is happy with four slashes as in file:////App... 63 #Two slashes is not sufficient to indicate path from root. Thus for now 64 #we use "file:///" +... If the mac behavior changes may need to make the 65 #file:/// be another constant at the beginning that yields // for Mac 66 #and /// for PC. 67 #Note added June 21, 2015 PDB 29 68 file_path = os.path.join(docs_path, path) 30 url = "file:///" + urllib.quote(file_path, '\:')+ url_instruction69 url = "file:///" + urllib.quote(file_path, r'/\:')+ url_instruction 31 70 32 71 if not os.path.exists(file_path): 33 72 logging.error("Could not find Sphinx documentation at %s \ 34 73 -- has it been built?", file_path) 35 elif wx_supports_html2:74 elif WX_SUPPORTS_HTML2: 36 75 # Complete HTML/CSS support! 37 76 self.view = html.WebView.New(self) 38 77 self.view.LoadURL(url) 39 78 self.Show() 40 else: 79 else: 41 80 logging.error("No html2 support, popping up a web browser") 42 81 #For cases that do not build against current version dependency 43 # Wx 3.0 we provide a webbrowser call - this is particularly for 82 # Wx 3.0 we provide a webbrowser call - this is particularly for 44 83 #Red hat used at SNS for which Wx 3.0 is not available. This 45 #does not deal with issue of math in docs of course. 84 #does not deal with issue of math in docs of course. 46 85 webbrowser.open_new_tab(url) 47 86 48 87 def main(): 88 """ 89 main loop function if running alone for testing. 90 """ 49 91 app = wx.App() 50 92 DocumentationWindow(None, -1, "index.html", "", "Documentation",) -
src/sas/guiframe/gui_manager.py
r7801df8 r3c2011e 1296 1296 #replace or add a new menu for the current plugin 1297 1297 pos = self._menubar.FindMenu(str(self._applications_menu_name)) 1298 if pos == -1 and self._applications_menu_pos > 0: 1299 pos = self._applications_menu_pos 1298 1300 if pos != -1: 1299 1301 menu_list = self._current_perspective.populate_menu(self) 1300 1302 if menu_list: 1301 1303 for (menu, name) in menu_list: 1304 print "[%s]" % name 1302 1305 self._menubar.Replace(pos, menu, name) 1303 1306 self._applications_menu_name = name 1307 self._applications_menu_pos = pos 1304 1308 else: 1305 1309 self._menubar.Remove(pos) 1306 1310 self._applications_menu_name = None 1307 #get the position of the menu when it first added 1308 self._applications_menu_pos = pos 1311 self._applications_menu_pos = -1 1309 1312 else: 1310 1313 menu_list = self._current_perspective.populate_menu(self) … … 1316 1319 if help_pos == -1: 1317 1320 self._menubar.Append(menu, name) 1321 self._applications_menu_pos = -1 1318 1322 else: 1319 1323 self._menubar.Insert(help_pos-1, menu, name) 1324 self._applications_menu_pos = help_pos - 1 1320 1325 else: 1321 1326 self._menubar.Insert(self._applications_menu_pos, menu, name) -
src/sas/perspectives/fitting/media/fitting.rst
rb404a3de rd896039 17 17 Polarisation/Magnetic Scattering <mag_help> 18 18 19 Information on the SasView Optimisers - Local <optimizer.rst> 20 21 Information on the SasView Optimisers - Web <https://github.com/bumps/bumps/blob/master/doc/guide/optimizer.rst> 19 Information on the SasView Optimisers <optimizer.rst> 22 20 -
sasview/setup_exe.py
rc971c98 r0c17d96 231 231 images_dir = os.path.join(path, "images") 232 232 test_dir = os.path.join(path, "test") 233 test_1d_dir = os.path.join(path, "test\\1d_data") 234 test_2d_dir = os.path.join(path, "test\\2d_data") 235 test_save_dir = os.path.join(path, "test\\save_states") 236 test_upcoming_dir = os.path.join(path, "test\\upcoming_formats") 233 237 234 238 matplotlibdatadir = matplotlib.get_data_path() … … 290 294 291 295 # Copying the sample data user data 292 for f in findall(test_dir): 293 if not ".svn" in f: 294 data_files.append(("test", [f])) 296 for f in findall(test_1d_dir): 297 if not ".svn" in f: 298 data_files.append(("test\\1d_data", [f])) 299 300 # Copying the sample data user data 301 for f in findall(test_2d_dir): 302 if not ".svn" in f: 303 data_files.append(("test\\2d_data", [f])) 304 305 # Copying the sample data user data 306 for f in findall(test_save_dir): 307 if not ".svn" in f: 308 data_files.append(("test\\save_states", [f])) 309 310 # Copying the sample data user data 311 for f in findall(test_upcoming_dir): 312 if not ".svn" in f: 313 data_files.append(("test\\upcoming_formats", [f])) 314 295 315 296 316 # See if the documentation has been built, and if so include it. … … 310 330 # install the MSVC 9 runtime dll's into the application folder 311 331 data_files.append(("Microsoft.VC90.CRT", py26MSdll_x86)) 312 313 332 314 333 # NOTE: … … 335 354 packages.append('periodictable.core') # not found automatically 336 355 #packages.append('IPython') 337 includes = ['site', 'lxml._elementpath', 'lxml.etree' ]356 includes = ['site', 'lxml._elementpath', 'lxml.etree', 'zmq.backend.cython'] 338 357 339 358 # Exclude packages that are not needed but are often found on build systems 340 excludes = ['Tkinter', 'PyQt4', '_ssl', '_tkagg', 'sip', 'pytz' ]359 excludes = ['Tkinter', 'PyQt4', '_ssl', '_tkagg', 'sip', 'pytz', 'zmq.libzmq'] 341 360 342 361 … … 353 372 # accidental links to msys/cygwin binaries; shouldn't be needed 354 373 'cygwin1.dll', 374 'libzmq.pyd' 355 375 ] 356 376 … … 370 390 #initialize category stuff 371 391 #from sas.guiframe.CategoryInstaller import CategoryInstaller 372 #CategoryInstaller.check_install() 392 #CategoryInstaller.check_install(s) 393 394 sys.setrecursionlimit(10000) 373 395 374 396 setup(
Note: See TracChangeset
for help on using the changeset viewer.