Changeset f4c0513 in sasview
- Timestamp:
- Jun 29, 2015 2:13:16 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:
- 60d08fd
- Parents:
- eddf6af5 (diff), 5a73356a (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:
-
- 2 added
- 1 deleted
- 21 edited
Legend:
- Unmodified
- Added
- Removed
-
docs/sphinx-docs/build_sphinx.py
r9bf64f6 r2fb09c4 27 27 SASVIEW_BUILD = os.path.abspath(os.path.join(CURRENT_SCRIPT_DIR, "..", "..", "build", "lib"+platform)) 28 28 SASVIEW_DOCS = os.path.join(SASVIEW_BUILD, "doc") 29 SASVIEW_TEST = os.path.join(SASVIEW_SRC, "..", "sasview", "test", "media") 29 30 30 31 SPHINX_BUILD = os.path.join(CURRENT_SCRIPT_DIR, "build") … … 34 35 SPHINX_SOURCE_MODELS = os.path.join(SPHINX_SOURCE, "user", "models") 35 36 SPHINX_SOURCE_PERSPECTIVES = os.path.join(SPHINX_SOURCE, "user", "perspectives") 37 SPHINX_SOURCE_TEST = os.path.join(SPHINX_SOURCE, "test") 36 38 37 39 BUMPS_DOCS = os.path.join(CURRENT_SCRIPT_DIR, "..", "..", "..", … … 55 57 _remove_dir(SPHINX_SOURCE_MODELS) 56 58 _remove_dir(SPHINX_SOURCE_PERSPECTIVES) 59 _remove_dir(SPHINX_SOURCE_TEST) 57 60 58 61 def retrieve_user_docs(): … … 87 90 88 91 copy_tree(docs, dest_dir) 92 93 # Now pickup testdata_help.rst 94 # print os.path.abspath(SASVIEW_TEST) 95 # print os.path.abspath(SPHINX_SOURCE_TEST) 96 if os.path.exists(SASVIEW_TEST): 97 print "Found docs folder at ", SASVIEW_TEST 98 shutil.copytree(SASVIEW_TEST, SPHINX_SOURCE_TEST) 89 99 90 100 def retrieve_bumps_docs(): -
docs/sphinx-docs/source/conf.py
reddf6af5 rf4c0513 53 53 # General information about the project. 54 54 project = u'SasView' 55 copyright = u'201 3, The SasView Project'55 copyright = u'2015, The SasView Project' 56 56 57 57 # The version info for the project you're documenting, acts as replacement for … … 60 60 # 61 61 # The short X.Y version. 62 version = '3. 0.0'62 version = '3.1.0' 63 63 # The full version, including alpha/beta/rc tags. 64 release = '3. 0.0'64 release = '3.1.0' 65 65 66 66 # The language for content autogenerated by Sphinx. Refer to documentation -
docs/sphinx-docs/source/index.rst
r8042dbb r5a73356a 4 4 contain the root `toctree` directive. 5 5 6 SasView Documentation 7 ===================== 6 SasView Documentation Index 7 =========================== 8 8 9 9 .. toctree:: 10 10 :maxdepth: 1 11 11 12 Model Documentation <user/models/model_functions>13 14 12 User Documentation <user/user> 15 13 -
docs/sphinx-docs/source/user/user.rst
r28812b8 r2e5ca08 1 User Documentation 2 ================== 1 SasView User Documentation 2 ========================== 3 4 .. note:: In Windows use [Alt]-[Cursor left] to return to the previous page 3 5 4 6 .. toctree:: … … 37 39 Python Shell Tool <perspectives/calculator/python_shell_help> 38 40 39 Test Data < test/testdata.rst>41 Test Data <../test/testdata_help.rst> -
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 rd47b9ce 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: 22 * A generic scattering calculator which takes an atomic, magnetic or 23 SLD distribution in space and generates the appropriate 2D 24 scattering pattern. In some cases the orientationally averaged 25 (powder) 1D scattering can also be computed. Supported formats 26 include: SLD or text, PDB, and OMF magnetic moment distribution 27 file. 28 * An image viewer/converter for data in image format; this reads in 29 an image file and will attempt to convert the image pixels to 30 data. Supported formats include: TIFF, TIF, PNG, BMP, JPG 31 32 - New in Version 2.2.1 33 - Minor patch to support CanSAS XML v1.1 file format 34 - Added DataInfo for data in the DataExplorer and plots 35 - Added Maximize/Restore button in the title bar of the graphs 36 - Added a hide button in the toolbar of the graph panel 37 - The 'x' button now deletes a graph 38 - Edit SUM Model from the menubar can now generate and save more than one sum model 39 - Reports can now be saved in pdf format on WIN and MAC 40 - Made significant improvements to the batch/grid panel and fixed several bugs 41 - Fixed a number of other minor bugs 42 43 - New in Version 2.2.0 44 - Application name changed to SasView 45 - New fully customizable Category Manager added for better management of 46 increasing number of models 47 - Improved the Grid Window functionality in the batch fitting mode 48 - Added a simpler Graph/Plot modification interface 49 - Added a new 'Data Operation' tool for addition, subtraction, multiplication, 50 division, of two data sets. 51 - The 'Sum Model' editor was extended and renamed 'Summation and Multiplication' 52 editor 53 - Added more plot symbols options for 1d plots 54 - Added improved trapping of compiling errors to the 'New model editor' 55 - Added some intelligent outputs (e.g., Rg, background, or rod diameter depending on the choice of axis scale of the plot) to the linear fits 56 - Added more models 57 58 - Feature set from Previous Versions: 4 1- Features 5 =========== 6 7 - New in Version 3.1.0 8 -------------------- 9 - The documentation/help has had a complete overhaul including: 10 - A completely new presentation interface (Sphinx). 11 - Proof reading! 12 - Updating for latest features. 13 - A Help (or sometimes ?) button has been added to every panel, and some 14 sub panels if appropriate, linking to the appropriate section in the 15 documentation. 16 - The model help has been split so that the Details button now brings up 17 a very short pop-up giving the equation being used while HELP goes to 18 the section in the full documentation describing the model. 19 - Extensive help has also been added for the new optimizer engine (see 20 below) including rules of thumb on how and when to choose a given 21 optimizer and what the parameters do. 22 - The optimizer engine has been completely replaced. The new optimizer 23 still defaults to the standard Levenberg-Marquardt algorithm. However 4 24 other optimizers are now also available. Each starts with a set of default 25 parameters which can be tuned. The DREAM optimizer takes the longest but 26 is the most powerful and yields rich information including full parameter 27 correlation and uncertainty plots. A results panel has been added to 28 accommodate this. 29 - The five new optimizers are: 30 - A Levenberg-Marquardt optimizer 31 - A Quasi-Newton BFGS optimizer 32 - A Nelder-Mead Simplex optimizer 33 - A Differential Evolution optimizer 34 - A Monte Carlo optimizer (DREAM) 35 - New models were added: 36 - MicelleSphCoreModel (currently residing in the Uncategorized category) 37 - Existing models were updated: 38 - RectangularPrismModel 39 - RectangularHollowPrismModel 40 - RectangularHollowPrismInfThinWallsModel 41 - Infrastructure to allow SESANS data to be fit with models was added. This 42 will become available in a future release but can currently be used from 43 the command line with some caveats. 44 - A number of bugs were fixed including a thread crashing issue and an 45 incorrect slit smearing resolution calculation. 46 - Implemented much more robust error logging to enable much easier 47 debugging in general but particularly the debugging of issues reported by 48 SasView users. 49 - A number of infrastructure tasks under the hood to enhance maintainability 50 - Upgrade from Wx 2.8 to Wx 3.0.2 which allows several new features but 51 required significant additional rework as well. 52 - Fully implemented Sphinx to the build process to produce both better 53 user documentation and developer documentation. 54 - Restructuring of the code base to more unified nomenclature and structure 55 so that the source installation tree more closely matches the installer 56 version tree. 57 - Code cleanup (an ongoing task) . 58 - Migration of the repository to github simplifying contributions from 59 non-project personnel through pull requests. 60 61 - New in Version 3.0.0 62 -------------------- 63 - The GUI look and feel has been refactored to be more familiar for 64 Windows users by using MDI frames. Graph windows are also now free- 65 floating. 66 - Five new models have been added: PringlesModel, CoreShellEllipsoidXTModel, 67 RectangularPrismModel, RectangularHollowPrismModel and 68 RectangularHollowPrismInfThinWallsModel. 69 - The data loader now supports ILL DAT data files and reads the full meta 70 information from canSAS file formats. 71 - Redefined convention for specifying angular parameters for anisotropic 72 models. 73 - A number of minor features have been added such as permitting a log 74 distribution of points when using a model to simulate data, and the 75 addition of a Kratky plot option to the linear plots. 76 - A number of bugs have also been fixed. 77 - Save Project and Save Analysis now work more reliably. 78 - BETA: Magnetic contrast supporting full polarization analysis has been 79 implemented for some spherical and cylindrical models. 80 - BETA: Two new tools have been added: 81 - A generic scattering calculator which takes an atomic, magnetic or 82 SLD distribution in space and generates the appropriate 2D 83 scattering pattern. In some cases the orientationally averaged 84 (powder) 1D scattering can also be computed. Supported formats 85 include: SLD or text, PDB, and OMF magnetic moment distribution 86 file. 87 - An image viewer/converter for data in image format; this reads in 88 an image file and will attempt to convert the image pixels to 89 data. Supported formats include: TIFF, TIF, PNG, BMP, JPG. 90 91 - New in Version 2.2.1 92 -------------------- 93 - Minor patch to support CanSAS XML v1.1 file format 94 - Added DataInfo for data in the DataExplorer and plots 95 - Added Maximize/Restore button in the title bar of the graphs 96 - Added a hide button in the toolbar of the graph panel 97 - The 'x' button now deletes a graph 98 - Edit SUM Model from the menubar can now generate and save more than one sum model 99 - Reports can now be saved in pdf format on WIN and MAC 100 - Made significant improvements to the batch/grid panel and fixed several bugs 101 - Fixed a number of other minor bugs 102 103 - New in Version 2.2.0 104 -------------------- 105 - Application name changed to SasView 106 - New fully customizable Category Manager added for better management of 107 increasing number of models 108 - Improved the Grid Window functionality in the batch fitting mode 109 - Added a simpler Graph/Plot modification interface 110 - Added a new 'Data Operation' tool for addition, subtraction, multiplication, 111 division, of two data sets. 112 - The 'Sum Model' editor was extended and renamed 'Summation and Multiplication' 113 editor 114 - Added more plot symbols options for 1d plots 115 - Added improved trapping of compiling errors to the 'New model editor' 116 - Added some intelligent outputs (e.g., Rg, background, or rod diameter 117 depending on the choice of axis scale of the plot) to the linear fits 118 - Added more models 119 120 - Feature set from previous versions 121 ----------------------------------- 122 - Perspectives Available 123 - Invariant calculator: Calculates the invariant, volume fraction, and 124 specific surface area. 125 - P(r) inversion calculator: Indirect Fourier transformation method. 126 - Fitting: the tool used for modeling and fitting 1D and 2D data to 127 analytical model functions 128 - Tools: provides a number of useful supplementary tools such as SLD 129 calculation 59 130 60 - Perspectives Available 61 - Invariant calculator: Calculates the invariant, volume fraction, and 62 specific surface area. 63 - P(r) inversion calculator: Indirect Fourier transformation method. 64 - Fitting: the tool used for modeling and fitting 1D and 2D data to 65 analytical model functions 66 - Tools: provides a number of useful supplementary tools such as SLD 67 calculation 68 69 - Fitting 70 - Includes a large number of model functions, both form factors and structure factors. 71 - Support P(Q)*S(Q) for form factors that flag they can be so multiplied. 72 - Supports Gaussian, lognormal, Shulz, rectangular and custom distribution 73 functions for models that need to include polydispersity or for orientational 74 distributions if appropriate. 75 - Anisotropic shapes and magnetic moment modeling in 2D allow for a non-uniform 76 distribution of orientations of a given axis leading to modeling and fitting 77 capabilities of non azimuthaly symmetric data. 78 - User can choose to weight fits or not. If using weights, the user can choose 79 the error bar on each point if provided in the file, the square root 80 of the intensity or the intensity itself. 81 - Instrumental resolution smearing of model or fits is provided with several 82 options: read the resolution/point fromt he file. Input a pinhole resolution 83 or a slit resolution. 84 - Users can define the Qrange (Qmin and Qmax) for both 1D and 2D data for 85 fitting and modeling, but not graphically. The range can be reset to the 86 defaults (limits of q in data set for a fit) with the reset button. 87 - A mask can be applied to 2D calculation and fitting. 88 - Normalized residual plots are provided with every fit. 89 - Model function help available through detail button or from the fitting panel. 90 - Simultaneous/(advanced)constrained fitting allows for fitting a single 91 data set or several different sets simultaneously with the application 92 of advanced constraints relating fit parameters to functions of other 93 parameters (including from a different set). For example thickness of 94 shell = sin(30) times the length. 95 - Models that are the sum of two other models can be easily generated through the 96 SUM Model menubar item. 97 - New Python models can be added on the fly by creating an appropriate Python 98 file in the model plugin directory. Two tools are provided to help: 99 An easy to use custom model editor allows the quick generation of new Python 100 models by supplying only the parameters and their default value (box 1) 101 and the mathematical function of the model (box 2) and generating the 102 necessary *.py file. A separate advanced model editor provides a full Python 103 file editor. Either way once saved the model becomes immediately available 104 to the application. 105 - A batch fittng capability allows for the analysis of a series of data sets to 106 a sinble model and provides the results in a tabular form suitable for saving 107 or plotting the evolution of the fit parameters with error bars (from within 108 the application). 131 - Fitting 132 - Includes a large number of model functions, both form factors and structure factors. 133 - Support P(Q)*S(Q) for form factors that flag they can be so multiplied. 134 - Supports Gaussian, lognormal, Shulz, rectangular and custom distribution 135 functions for models that need to include polydispersity or for orientational 136 distributions if appropriate. 137 - Anisotropic shapes and magnetic moment modeling in 2D allow for a non-uniform 138 distribution of orientations of a given axis leading to modeling and fitting 139 capabilities of non azimuthaly symmetric data. 140 - User can choose to weight fits or not. If using weights, the user can choose 141 the error bar on each point if provided in the file, the square root 142 of the intensity or the intensity itself. 143 - Instrumental resolution smearing of model or fits is provided with several 144 options: read the resolution/point fromt he file. Input a pinhole resolution 145 or a slit resolution. 146 - Users can define the Qrange (Qmin and Qmax) for both 1D and 2D data for 147 fitting and modeling, but not graphically. The range can be reset to the 148 defaults (limits of q in data set for a fit) with the reset button. 149 - A mask can be applied to 2D calculation and fitting. 150 - Normalized residual plots are provided with every fit. 151 - Model function help available through detail button or from the fitting panel. 152 - Simultaneous/(advanced)constrained fitting allows for fitting a single 153 data set or several different sets simultaneously with the application 154 of advanced constraints relating fit parameters to functions of other 155 parameters (including from a different set). For example thickness of 156 shell = sin(30) times the length. 157 - Models that are the sum of two other models can be easily generated through the 158 SUM Model menubar item. 159 - New Python models can be added on the fly by creating an appropriate Python 160 file in the model plugin directory. Two tools are provided to help: 161 An easy to use custom model editor allows the quick generation of new Python 162 models by supplying only the parameters and their default value (box 1) 163 and the mathematical function of the model (box 2) and generating the 164 necessary *.py file. A separate advanced model editor provides a full Python 165 file editor. Either way once saved the model becomes immediately available 166 to the application. 167 - A batch fitting capability allows for the analysis of a series of data sets to 168 a single model and provides the results in a tabular form suitable for saving 169 or plotting the evolution of the fit parameters with error bars (from within 170 the application). 109 171 110 - Tools 111 - A scattering length density calculator,including some X-ray information 112 is provided. 113 - A density to vol. fraction converter is provided 114 - In application access to a Python shell/editor (PyCrust) is provided 115 - An instrument resolution calculator, including possible gravitational and 116 TOF effects is provided 117 - A slit size calculator optimized for Anton Paar Saxess is provided. 118 - A kiessig fringe thickness calculator is provided 119 - Plots and plot management 120 - A 3D graphing option (for 2d data/results) is provided with the view 121 controlled by the mouse 122 - 2D plots are shown with an intensity color bar. 2D Color map can be user 123 adjusted. 124 - Supports output of plot to a variety of graphic formats. Supported formats 125 include: png, eps, emf, jpg/jpeg, pdf, ps, tif/tiff, rawRGBbitmap(raw, rgba), 126 and scalable vector graphic (svg/svgz) 127 - Supports ouput of data in plot (1 or 2D) to limited data formats 128 - Multiple data sets can be loaded into a single graph for viewing (but a fit 129 plot can currently only have a single plot). 130 - Extensive context sensitive plot/fitting/manipulation options are available 131 through a right mouse click pop-up menu on plots. 132 - Data management 133 - Supports 2 + column 1D ASCII data, NIST 1D and 2D data, and canSAS data 134 via plug-in mechanism which can easily allow other readers as appropriate. 135 - 2D data is expected in Q space but for historical reasons accepts the 136 NIST 2D raw pixel format and will do conversion internally. 137 - The full data and metadata available to SasView is viewable in ASCII via 138 right clicking on a data set and choosing Data Info in the DataExplorer 139 or on the plots 140 - Supports loading a single file, multiple files, or a whole folder 141 - An optional Data Explorer is provided (default) which simplifies managing, 142 plotting, deleting, or setup for computation. Most functions however do 143 not require access to the explorer/manager and can be accessed through 144 right click menus and the toolbar. The data explorer can be re-started 145 from the menu bar. 146 - Data manipulation 147 - Support various 2D averaging methods : Circular, sectors, annular, 148 boxsum, boxQx and boxQy. 149 - A 2D data maks editor is provided 150 - 2D mask can be applied to the circular averaging. 151 - Miscellaneous features 152 - limited reports can be generated in pdf format 153 - Provides multiprocessor support(Windows only) 154 - Limited startup customization currently includes default startup 155 data folder and choice of default starting with data manager 156 - Limited support for saving(opening) a SasView project or a SasView analysis 157 (subproject) is provided. 158 - SasView can be launched and loaded with a file of interesty by double-clicking 159 on that file (recognized extension) 160 - A data file or data folder can be passed to SasView when launched from 161 the command line. 162 - Limited bookmarking capability to later recall the results of a fit calculation 163 is provided. 164 - Extensive help is provided through context sensitive mouse roll-over, 165 information bar (at the bottom of the panel), the console menu, and 166 access to the help files in several different ways. 167 172 - Tools 173 - A scattering length density calculator,including some X-ray information 174 is provided. 175 - A density to vol. fraction converter is provided 176 - In application access to a Python shell/editor (PyCrust) is provided 177 - An instrument resolution calculator, including possible gravitational and 178 TOF effects is provided 179 - A slit size calculator optimized for Anton Paar Saxess is provided. 180 - A kiessig fringe thickness calculator is provided 181 182 - Plots and plot management 183 - A 3D graphing option (for 2d data/results) is provided with the view 184 controlled by the mouse 185 - 2D plots are shown with an intensity color bar. 2D Color map can be user 186 adjusted. 187 - Supports output of plot to a variety of graphic formats. Supported formats 188 include: png, eps, emf, jpg/jpeg, pdf, ps, tif/tiff, rawRGBbitmap(raw, rgba), 189 and scalable vector graphic (svg/svgz) 190 - Supports ouput of data in plot (1 or 2D) to limited data formats 191 - Multiple data sets can be loaded into a single graph for viewing (but a fit 192 plot can currently only have a single plot). 193 - Extensive context sensitive plot/fitting/manipulation options are available 194 through a right mouse click pop-up menu on plots. 195 196 - Data management 197 - Supports 2 + column 1D ASCII data, NIST 1D and 2D data, and canSAS data 198 via plug-in mechanism which can easily allow other readers as appropriate. 199 - 2D data is expected in Q space but for historical reasons accepts the 200 NIST 2D raw pixel format and will do conversion internally. 201 - The full data and metadata available to SasView is viewable in ASCII via 202 right clicking on a data set and choosing Data Info in the DataExplorer 203 or on the plots 204 - Supports loading a single file, multiple files, or a whole folder 205 - An optional Data Explorer is provided (default) which simplifies managing, 206 plotting, deleting, or setup for computation. Most functions however do 207 not require access to the explorer/manager and can be accessed through 208 right click menus and the toolbar. The data explorer can be re-started 209 from the menu bar. 210 211 - Data manipulation 212 - Support various 2D averaging methods : Circular, sectors, annular, 213 boxsum, boxQx and boxQy. 214 - A 2D data maks editor is provided 215 - 2D mask can be applied to the circular averaging. 216 217 - Miscellaneous features 218 - limited reports can be generated in pdf format 219 - Provides multiprocessor support(Windows only) 220 - Limited startup customization currently includes default startup 221 data folder and choice of default starting with data manager 222 - Limited support for saving(opening) a SasView project or a SasView analysis 223 (subproject) is provided. 224 - SasView can be launched and loaded with a file of interesty by double-clicking 225 on that file (recognized extension) 226 - A data file or data folder can be passed to SasView when launched from 227 the command line. 228 - Limited bookmarking capability to later recall the results of a fit calculation 229 is provided. 230 - Extensive help is provided through context sensitive mouse roll-over, 231 information bar (at the bottom of the panel), the console menu, and 232 access to the help files in several different ways. 168 233 169 234 170 235 2- Downloading and Installing 236 ============================= 171 237 172 173 174 175 176 177 178 179 180 2.1- System Requirements:238 *** Note 1: Much more information is available at www.sasview.org under links. 239 Look in the 'For Developers' section and particularly the wiki at 240 www.sasview.org/trac/wiki. 241 *** Note 2: If you have EXE or ZIP SasView installer, you won't need any of 242 the following. However it is highly recommended that any 243 previous versions be un-installed prior to installing the 244 new version. 245 246 2.1- System Requirements 181 247 - Python version >= 2.5 and < 3.0 should be running on the system 182 - We currently use Python 2.6 183 184 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 188 - run 'python setup.py install' under the 'sasview-x.x.x' folder 189 - 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 201 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) 248 - We currently use Python 2.7 249 250 2.2- Installing from source 251 - Get the code from GitHub at https://github.com/SasView/sasview.git 252 for this release version use: https://github.com/SasView/sasview/releases 253 - run 'python setup.py install' under the 'sasview-x.x.x' folder 254 - run 'python sasview.py' under the 'sasview' folder. 255 256 - The following modules are required (version numbers are what are used 257 in the windows release build): 258 259 - Common Packages 260 - reportlab 3.1.44 261 - lxml 3.4.4.0 (MAC 3.4.2.0) 262 - PIL 1.1.7 263 - xhtml2pdf 3.0.33 (MAC = not installed on build server) 264 - unittest-xml-reporting 1.12.0 (MAC 1.10.0) 265 - matplotlib Version Installed: 1.4.3 (MAC 1.1.1) 266 - bumps Version Installed: 0.7.5.6 267 - scipy Version Installed: 0.16.0b2 (MAC 0.11.0) 268 - periodictable Version Installed: 1.4.1 269 - setuptools Version Installed: 7.0 (MAC 12.0.5) 270 - sphinx Version Installed: 1.3.1 (MAC 1.3b2) 271 - pyparsing Version Installed: 2.0.3 272 - numpy Version Installed: 1.9.2 (MAC 1.6.2) 273 - html5lib Version Installed: 0.99999 274 - wx Version Installed: 3.0.2.0 275 276 - Windows Specific Packages 277 - pywin 219 278 - py2exe 0.6.9 279 - comtypes 1.1.1 280 - MinGW w/ gcc version 4.6.1 (WIN) 214 281 - vcredist_x86.exe (version 9.0.21022.8 -microsoft visual C 2008 215 282 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). 283 - Innosetup (WIN - isetup 5.4.2-unicode) - used to create distributable 284 285 *** Note: Windows build dependencies can be set up using anaconda. Instructions 286 can be found at http://trac.sasview.org/wiki/AnacondaSetup 219 287 220 (On Windows, the following site has all the dependencies nicely packaged)221 http://www.lfd.uci.edu/~gohlke/pythonlibs/222 288 - MAC Specifc Packages 289 - py2app 0.7.1 290 223 291 224 292 3- Known Issues 225 226 3.1- All systems: 227 - very old computers may not be able to run 228 - polydispersity on multiple parameters included in a simultaneous/ 293 =============== 294 295 3.1- All systems: 296 - The documentation window may take a few seconds to load the first time 297 it is called. Also, an internet connection is required before 298 equations will render properly. Until then they will show in their 299 original TeX format. 300 - If the documentation window remains stubbornly blank, try installing a 301 different browser and set that as your default browser. Issues have 302 been noted with Internet Explorer 11. 303 - The copy and paste functions (^C, ^V) in the batch mode results grid 304 require two clicks: one to select the cell and a second to select the 305 contents of the cell. 306 - The tutorial has not yet been updated and is somewhat out of date 307 - Very old computers may struggle to run the 3.x and later releases 308 - Polydispersity on multiple parameters included in a simultaneous/ 229 309 constrained fit will likely not be correct 310 - Constrained/simultaneous fit page does not have a stop button 311 - Constrained/simultaneous fit do not accept min/max limits 230 312 - Save project does not store the state of all the windows 231 313 - Loading projects can be very slow 232 314 - Save Project only works once a data set has been associated with 233 315 a model. Error is reported on status bar. 234 235 3.2- Windows: 316 - There is a numerical precision problem with the multishell model when 317 the iner radius gets large enough (ticket #288) 318 - The angular distribution angles are not clearly defined and may in 319 some cases lead to incorrect calculations(ticket #332) 320 321 3.2- Windows: 236 322 - If installed to same directory as old version without first removing 237 323 the old version, the old desktop icon will remain but point to the … … 240 326 safest to uninstall old version prior to installing new version anyway. 241 327 242 3.3- MAC: 243 - multiprocessing does not currently work on MAC OS 328 3.3- MAC: 329 - Application normally starts up hidden. Click icon in Dock to view/use 330 application. 331 - Multiprocessing does not currently work on MAC OS 244 332 245 3.4- Linux: 246 - None 333 3.4- Linux: 334 - Not well tested 335 247 336 248 337 4- SasView website 249 250 - www.sasview.org. This main project site is the gateway to all 251 information about the sasview project. It includes information 252 about the project, a FAQ page and links to all developer and user 253 information, tools and resources. 338 ================== 339 340 - www.sasview.org. This main project site is the gateway to all 341 information about the sasview project. It includes information 342 about the project, a FAQ page and links to all developer and user 343 information, tools and resources. 344 254 345 255 346 5- Frequently Asked Questions 256 257 - www.sasview.org/faq.html 347 ============================= 348 349 - www.sasview.org/faq.html 350 258 351 259 352 6- Installer download website 260 261 - Latest release Version 262 - http://sourceforge.net/projects/sasview/files/ 263 - Latest developer Windows or Ubuntu build 264 - http://build.sasview.org/ 265 - Latest developer Mac OS build 266 - http://download.mantidproject.org/jenkins/view/All/job/sasview_snowleopard_32bit/ 353 ============================= 354 355 - Latest release Version 356 - https://github.com/SasView/sasview/releases 357 - Latest developer builds 358 - https://jenkins.esss.dk/sasview/view/Master-Builds/ 267 359 268 360 -
sasview/local_config.py
r0ea31ca r5846bb5 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__ = ['raw.githubusercontent.com', 16 '/SasView/sasview/master/sasview.latestversion'] 17 17 18 18 … … 24 24 25 25 # Debug message should be written to a file? 26 __EVT_DEBUG_2_FILE__ 26 __EVT_DEBUG_2_FILE__ = False 27 27 __EVT_DEBUG_FILENAME__ = "debug.log" 28 28 … … 39 39 '''Reference the following website: http://www.sasview.org''' 40 40 _acknowledgement_preamble_bullet3 =\ 41 '''Send us your reference for our records: sansdanse@gmail.com''' 41 '''Reference the model you used if appropriate (see documentation for refs)''' 42 _acknowledgement_preamble_bullet4 =\ 43 '''Send us your reference for our records: developers@sasview.org''' 42 44 _acknowledgement_publications = \ 43 '''This work benefited from the use of the SasView application, originally 45 '''This work benefited from the use of the SasView application, originally 44 46 developed under NSF award DMR-0520547. 45 47 ''' 46 48 _acknowledgement = \ 47 49 '''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 50 under grant DMR-0520547, and currently maintained by NIST, UMD, ORNL, ISIS, ESS 49 51 and ILL. 50 52 … … 60 62 logging.info("icon path: %s" % icon_path) 61 63 media_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "media")) 62 test_path = 64 test_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "test")) 63 65 64 66 _nist_logo = os.path.join(icon_path, "nist_logo.png") … … 92 94 PLUGIN_STATE_EXTENSIONS = ['.fitv', '.inv', '.prv'] 93 95 PLUGINS_WLIST = ['Fitting files (*.fitv)|*.fitv', 94 95 96 'Invariant files (*.inv)|*.inv', 97 'P(r) files (*.prv)|*.prv'] 96 98 PLOPANEL_WIDTH = 415 97 99 PLOPANEL_HEIGTH = 370 98 100 DATAPANEL_WIDTH = 235 99 101 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")102 SPLASH_SCREEN_PATH = os.path.join(icon_path, "SVwelcome_mini.png") 103 TUTORIAL_PATH = os.path.join(media_path, "Tutorial.pdf") 102 104 DEFAULT_STYLE = GUIFRAME.MULTIPLE_APPLICATIONS|GUIFRAME.MANAGER_ON\ 103 105 |GUIFRAME.CALCULATOR_ON|GUIFRAME.TOOLBAR_ON … … 105 107 SPLASH_SCREEN_HEIGHT = 366 106 108 SS_MAX_DISPLAY_TIME = 2000 107 WELCOME_PANEL_ON 109 WELCOME_PANEL_ON = True 108 110 WELCOME_PANEL_SHOW = False 109 111 CLEANUP_PLOT = False … … 131 133 def printEVT(message): 132 134 if __EVT_DEBUG__: 135 """ 136 :TODO - Need method doc string 137 """ 133 138 print "%g: %s" % (time.clock(), message) 134 139 135 140 if __EVT_DEBUG_2_FILE__: 136 141 out = open(__EVT_DEBUG_FILENAME__, 'a') 137 142 out.write("%10g: %s\n" % (time.clock(), message)) 138 143 out.close() 139 -
sasview/setup_exe.py
rc971c98 r4cf8db9 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: … … 370 389 #initialize category stuff 371 390 #from sas.guiframe.CategoryInstaller import CategoryInstaller 372 #CategoryInstaller.check_install( )391 #CategoryInstaller.check_install(s) 373 392 374 393 setup( -
sasview/test/media/testdata_help.rst
re5160aa ra32aa3e 23 23 the results for every active analysis. 24 24 25 Some of the available test data is described below. 26 25 27 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 26 28 27 .. note:: This help document was last changed by Steve King, 17Jun2015 29 1D Test Data 30 ^^^^^^^^^^^^ 31 32 AOT_Microemulsion 33 - Aerosol-OT surfactant stabilised oil-in-water microemulsion data at three 34 contrasts: core (oil core), drop (oil core + surfactant layer), and shell 35 (surfactant layer). 36 - Suitable for testing simultaneous fitting. 37 38 hSDS_D2O 39 - h25-sodium dodecyl sulphate solutions at two concentrations: 0.5wt% (just 40 above the cmc), 2wt% (well above the cmc), and 2wt% but with 0.2mM NaCl 41 electrolyte. 42 - Suitable for testing charged S(Q) models. 43 44 P123_D2O 45 - Lyotropic liquid crystalline solutions of non-ionic ABA block copolymer 46 Pluronic P123 in water at three concentrations: 10wt%, 30wt%, and 40wt%. 47 - Suitable for testing paracrystal models. 48 49 ISIS_Polymer_Blend_TK49 50 - Monodisperse (Mw/Mn~1.02) 49wt% d8-polystyrene : 51wt% h8-polystyrene 51 polymer blend. 52 - Suitable for testing Poly_GaussCoil and RPA10 models. 53 54 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 55 56 2D Test Data 57 ^^^^^^^^^^^^ 58 59 P123_D2O 60 - Lyotropic liquid crystalline solutions of non-ionic ABA block copolymer 61 Pluronic P123 in water at three concentrations: 10wt%, 30wt%, and 40wt%. 62 - Suitable for testing paracrystal models. 63 64 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 65 66 Saved State Test Data 67 ^^^^^^^^^^^^^^^^^^^^^ 68 69 _phi_weights.txt 70 71 _radius_dist.txt 72 73 _THETA_weights.txt 74 75 fitstate.fitv 76 77 newone.svs 78 79 prstate.prv 80 81 sld_file.sld 82 83 test.inv 84 85 test002.inv 86 87 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 88 89 Other Test Data 90 ^^^^^^^^^^^^^^^ 91 92 1000A_sphere_sm.xml 93 94 diamond.pdb 95 96 dna.pdb 97 98 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 99 100 .. note:: This help document was last changed by Steve King, 26Jun2015 -
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 r5846bb5 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__ = ['raw.githubusercontent.com', 13 '/SasView/sasview/master/sasview.latestversion'] 14 14 15 15 … … 21 21 22 22 # Debug message should be written to a file? 23 __EVT_DEBUG_2_FILE__ 23 __EVT_DEBUG_2_FILE__ = False 24 24 __EVT_DEBUG_FILENAME__ = "debug.log" 25 25 … … 36 36 '''Reference the following website: http://www.sasview.org''' 37 37 _acknowledgement_preamble_bullet3 =\ 38 '''Send us your reference for our records: sansdanse@gmail.com''' 38 '''Reference the model you used if appropriate (see documentation for refs)''' 39 _acknowledgement_preamble_bullet4 =\ 40 '''Send us your reference for our records: developers@sasview.org''' 39 41 _acknowledgement_publications = \ 40 '''This work benefited from the use of the SasView application, originally 42 '''This work benefited from the use of the SasView application, originally 41 43 developed under NSF award DMR-0520547. 42 44 ''' 43 45 _acknowledgement = \ 44 46 '''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 47 under grant DMR-0520547, and currently maintained by NIST, UMD, ORNL, ISIS, ESS 46 48 and ILL. 47 49 … … 85 87 PLUGINS_WLIST = [] 86 88 PLUGIN_STATE_EXTENSIONS = [] 87 SPLASH_SCREEN_PATH = "images/danse_logo.png" 89 SPLASH_SCREEN_PATH = "images/danse_logo.png" 88 90 DEFAULT_STYLE = GUIFRAME.SINGLE_APPLICATION 89 91 SPLASH_SCREEN_WIDTH = 500 90 92 SPLASH_SCREEN_HEIGHT = 300 91 WELCOME_PANEL_ON 93 WELCOME_PANEL_ON = False 92 94 TUTORIAL_PATH = None 93 95 SS_MAX_DISPLAY_TIME = 1500 … … 125 127 126 128 def printEVT(message): 129 """ 130 :TODO - need method documentation 131 """ 127 132 if __EVT_DEBUG__: 128 133 print "%g: %s" % (time.clock(), message) 129 134 130 135 if __EVT_DEBUG_2_FILE__: 131 136 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 r7a508b6 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 … … 4 19 import webbrowser 5 20 import urllib 21 import sys 6 22 7 wx_supports_html2 = True 23 SPHINX_DOC_ENV = "SASVIEW_DOC_PATH" 24 WX_SUPPORTS_HTML2 = True 8 25 try: 9 26 import wx.html2 as html 10 27 except: 11 wx_supports_html2 = False 28 WX_SUPPORTS_HTML2 = False 29 12 30 13 31 from gui_manager import get_app_dir … … 15 33 16 34 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) 35 """ 36 DocumentationWindow inherits from wx.Frame and provides a centralized 37 coherent framework for all help documentation. Help files must be html 38 files stored in an properly organized tree below the top 'doc' folder. In 39 order to display the appropriate help file from anywhere in the gui, the 40 code simply needs to know the location below the top level where the 41 help file resides along with the name of the help file. 42 called 43 (self, parent, dummy_id, path, url_instruction, title, size=(850, 540)) 19 44 20 SPHINX_DOC_ENV = "SASVIEW_DOC_PATH" 45 :param path: path to html file beginning AFTER /doc/ and ending in the 46 file.html 47 :param url_instructions: anchor string or other query e.g. '#MyAnchor 48 :param title - text to place in the title bar of the help panel 49 """ 50 def __init__(self, parent, dummy_id, path, url_instruction, title, size=(850, 540)): 51 wx.Frame.__init__(self, parent, dummy_id, title, size=size) 52 21 53 if SPHINX_DOC_ENV in os.environ: 22 54 docs_path = os.path.join(os.environ[SPHINX_DOC_ENV]) … … 27 59 docs_path = os.path.join(get_app_dir(), "doc") 28 60 61 #note that filepath for mac OS, at least in bundle starts with a 62 #forward slash as /Application, while the PC string begins C:\ 63 #It seems that mac OS is happy with four slashes as in file:////App... 64 #Two slashes is not sufficient to indicate path from root. Thus for now 65 #we use "file:///" +... If the mac behavior changes may need to make the 66 #file:/// be another constant at the beginning that yields // for Mac 67 #and /// for PC. 68 #Note added June 21, 2015 PDB 29 69 file_path = os.path.join(docs_path, path) 30 url = "file:///" + urllib.quote(file_path, '\:')+ url_instruction70 url = "file:///" + urllib.quote(file_path, r'/\:')+ url_instruction 31 71 32 72 if not os.path.exists(file_path): 33 73 logging.error("Could not find Sphinx documentation at %s \ 34 74 -- has it been built?", file_path) 35 elif wx_supports_html2:75 elif WX_SUPPORTS_HTML2: 36 76 # Complete HTML/CSS support! 37 77 self.view = html.WebView.New(self) 38 78 self.view.LoadURL(url) 39 79 self.Show() 40 else: 80 else: 41 81 logging.error("No html2 support, popping up a web browser") 42 82 #For cases that do not build against current version dependency 43 # Wx 3.0 we provide a webbrowser call - this is particularly for 83 # Wx 3.0 we provide a webbrowser call - this is particularly for 44 84 #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. 85 #does not deal with issue of math in docs of course. 46 86 webbrowser.open_new_tab(url) 47 87 48 88 def main(): 89 """ 90 main loop function if running alone for testing. 91 """ 49 92 app = wx.App() 50 93 DocumentationWindow(None, -1, "index.html", "", "Documentation",) -
src/sas/guiframe/gui_manager.py
r7801df8 raceae8c 24 24 import logging 25 25 import httplib 26 import traceback 26 27 27 28 … … 1296 1297 #replace or add a new menu for the current plugin 1297 1298 pos = self._menubar.FindMenu(str(self._applications_menu_name)) 1299 if pos == -1 and self._applications_menu_pos > 0: 1300 pos = self._applications_menu_pos 1298 1301 if pos != -1: 1299 1302 menu_list = self._current_perspective.populate_menu(self) … … 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) … … 2036 2041 """ 2037 2042 try: 2038 conn = httplib.HTTP Connection(config.__update_URL__[0],2043 conn = httplib.HTTPSConnection(config.__update_URL__[0], 2039 2044 timeout=3.0) 2040 2045 conn.request("GET", config.__update_URL__[1]) … … 2042 2047 content = res.read() 2043 2048 conn.close() 2049 logging.info("connected to GitHub. sasview.latestversion = %s" 2050 % (content)) 2044 2051 except: 2052 msg = traceback.format_exc() 2053 logging.info(msg) 2054 logging.info("failed to connect to GitHub") 2045 2055 content = "0.0.0" 2046 2056 2047 2057 version = content.strip() 2058 logging.info("Latest SasView version number: %s" % (version)) 2048 2059 if len(re.findall('\d+\.\d+\.\d+$', version)) < 0: 2049 2060 content = "0.0.0" … … 2166 2177 # different place than they would otherwise. 2167 2178 from documentation_window import DocumentationWindow 2168 DocumentationWindow(self, -1, "index.html", "", "SasView Documentation") 2179 _TreeLocation = "user/user.html" 2180 DocumentationWindow(self, -1, _TreeLocation, "", "SasView Documentation") 2169 2181 2170 2182 def set_manager(self, manager): -
src/sas/models/media/model_functions.rst
r5e880fe1 ree9fa94 20 20 21 21 22 .. note:: The contents of this document are awaiting proof reading. Feb2015 22 .. note:: The contents of this document are presented in good faith and are 23 believed to be mostly correct and accurate, however they have not 24 yet been rigorously checked for errors. June2015 23 25 24 26 … … 83 85 ======================= 84 86 85 Contents86 --------87 1. Background_88 89 2. Model_ Functions90 91 2.1 Shape-based_ Functions92 93 2.2 Shape-independent_ Functions94 95 2.3 Structure-factor_ Functions96 97 2.4 Customised_ Functions98 99 3. References_100 101 102 103 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ104 105 106 107 87 .. _Background: 108 88 … … 290 270 - sph_bessel_jn_ 291 271 272 Also see the documentation on :ref:`Adding_your_own_models` under Fitting Data. 273 292 274 293 275 -
src/sas/perspectives/fitting/basepage.py
r7116dffd r2c8dc19 2850 2850 if self.model != None: 2851 2851 name = self.formfactorbox.GetValue() 2852 _PageAnchor = '#' + name 2852 _PageAnchor = '#' + name.lower() 2853 2853 _doc_viewer = DocumentationWindow(self, -1, _TreeLocation, 2854 _PageAnchor, name + " Help")2854 _PageAnchor, name + " Help") 2855 2855 else: 2856 2856 _doc_viewer = DocumentationWindow(self, -1, _TreeLocation, "", -
src/sas/perspectives/fitting/fitpage.py
rf3dc56c r2b58fa5 3115 3115 mag_on_button.Show(True) 3116 3116 mag_help_button.Show(False) 3117 mag_angle_help_button.Show(False) 3117 3118 if mag_on_button.IsShown(): 3118 3119 if self.magnetic_on: -
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 -
src/sas/perspectives/fitting/pagestate.py
racf8e4a5 ra15e754 545 545 paramval_string += CENTRE % param + "\n" 546 546 547 text_string = "\n\n\n" + title + "\n\n" + file + \ 548 "\n" + q_name + \ 549 "\n" + chi2 + \ 550 "\n\n" + paramval 547 text_string = "\n\n\n%s\n\n%s\n%s\n%s\n\n%s" % (title, file, q_name, chi2, paramval) 551 548 552 549 title_name = self._check_html_format(title_name) -
src/sas/perspectives/fitting/report_dialog.py
r2f4b430 ra15e754 44 44 self.report_html = self.report_list[0] % \ 45 45 "memory:img_fit0.png" 46 elif len(self.report_list ) == 2:46 elif len(self.report_list[2]) == 2: 47 47 self.report_html = self.report_list[0] % \ 48 48 ("memory:img_fit0.png",
Note: See TracChangeset
for help on using the changeset viewer.