Changeset 657e52c in sasview
- Timestamp:
- Dec 14, 2012 2:50:24 PM (12 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:
- 0203ade
- Parents:
- aa01d07b
- Files:
-
- 6 added
- 28 edited
Legend:
- Unmodified
- Added
- Removed
-
calculatorview/src/sans/perspectives/calculator/data_operator.py
r1d490fd r657e52c 645 645 self.position = (0.4, 0.5) 646 646 self.scale = 'linear' 647 self.prevXtrans = "x" 648 self.prevYtrans = "y" 649 self.viewModel = "--" 647 650 self.subplot.set_xticks([]) 648 651 self.subplot.set_yticks([]) … … 865 868 dial.view.Insert("--", 0) 866 869 dial.view.Insert("Linear y vs x", 1) 867 dial.xvalue.SetValue("x") 868 dial.yvalue.SetValue("y") 869 dial.view.SetValue("--") 870 dial.setValues(self.prevXtrans, self.prevYtrans, self.viewModel) 870 871 dial.Update() 871 872 if dial.ShowModal() == wx.ID_OK: … … 918 919 self.graph._yaxis_transformed("%s" % yname, "%s" % yunits) 919 920 item.transformView() 921 self.prevXtrans = self.xLabel 922 self.prevYtrans = self.yLabel 920 923 self.set_xscale(_xscale) 921 924 self.set_yscale(_yscale) -
calculatorview/src/sans/perspectives/calculator/model_editor.py
rea5fa58 r657e52c 628 628 Layout msg 629 629 """ 630 self._msg_box = wx.StaticText(self, -1, self._notes) 630 self._msg_box = wx.StaticText(self, -1, self._notes, 631 size=(PANEL_WIDTH, -1)) 631 632 self.msg_sizer.Add(self._msg_box, 0, wx.LEFT, 10) 632 633 … … 717 718 if len(title) > 20: 718 719 s_title = title[0:19] + '...' 719 self._notes += "Model function name set "720 self._notes += "Model function name is set " 720 721 self._notes += "to %s. \n" % str(s_title) 721 722 return True … … 783 784 pass 784 785 else: 785 msg = "Successful! !!"786 msg = "Successful! " 786 787 msg += " " + self._notes 787 788 msg += " Please look for it in the Customized Models." -
fittingview/src/sans/perspectives/fitting/basepage.py
ref67145 r657e52c 3364 3364 self.master_category_dict = pickle.load(cat_file) 3365 3365 self._regenerate_model_dict() 3366 cat_file.close() 3366 3367 3367 3368 except IOError: -
fittingview/src/sans/perspectives/fitting/fitting.py
rea5fa58 r657e52c 1795 1795 if new_plot.group_id == None: 1796 1796 new_plot.group_id = data.group_id 1797 new_plot.id = str(page_id) + " model-" + data.name1797 new_plot.id = str(page_id) + " " + data.name 1798 1798 #if new_plot.id in self.color_dict: 1799 1799 # new_plot.custom_color = self.color_dict[new_plot.id] … … 1871 1871 new_plot.name = model.name + '2d' 1872 1872 new_plot.title = "Analytical model 2D " 1873 new_plot.id = str(page_id) + " model-" + data.name1873 new_plot.id = str(page_id) + " " + data.name 1874 1874 new_plot.group_id = str(page_id) + " Model2D" 1875 1875 new_plot.detector = data.detector -
fittingview/src/sans/perspectives/fitting/models.py
rea5fa58 r657e52c 19 19 from sans.models.pluginmodel import Model1DPlugin 20 20 from sans.models.BaseComponent import BaseComponent 21 from sans.guiframe.CategoryInstaller import CategoryInstaller 21 22 22 23 PLUGIN_DIR = 'plugin_models' … … 937 938 """ 938 939 __modelmanager = ModelManagerBase() 940 cat_model_list = [model_name for model_name \ 941 in __modelmanager.model_dictionary.keys() \ 942 if model_name not in __modelmanager.stored_plugins.keys()] 943 944 CategoryInstaller.check_install(model_list=cat_model_list) 939 945 940 946 def findModels(self): -
inversionview/src/sans/perspectives/pr/inversion_panel.py
rc4ae1c2 r657e52c 968 968 """ 969 969 from sans.pr.invertor import help 970 wx.Dialog.__init__(self, parent, id, size=(400, 4 20))970 wx.Dialog.__init__(self, parent, id, size=(400, 450)) 971 971 self.SetTitle("P(r) help") 972 972 self.SetWindowVariant(variant=FONT_VARIANT) 973 973 974 974 vbox = wx.BoxSizer(wx.VERTICAL) … … 976 976 explanation = help() 977 977 978 label_explain = wx.StaticText(self, -1, explanation, size=(3 50, 320))978 label_explain = wx.StaticText(self, -1, explanation, size=(360, 350)) 979 979 980 980 vbox.Add(label_explain, 0, wx.ALL|wx.EXPAND, 15) -
inversionview/src/sans/perspectives/pr/inversion_state.py
r1e62361 r657e52c 33 33 ["slit_height", "height"], 34 34 ["qmin", "qmin"], 35 ["qmax", "qmax"]] 35 ["qmax", "qmax"], 36 ["estimate_bck", "estimate_bck"]] 36 37 37 38 ## List of P(r) inversion outputs -
plottools/src/danse/common/plottools/PlotPanel.py
rf866fb5 r657e52c 2 2 """ 3 3 import logging 4 import wx.lib.newevent 5 4 import wx 6 5 # Try a normal import first 7 6 # If it fails, try specifying a version -
plottools/src/danse/common/plottools/SimpleFont.py
r8f59e95 r657e52c 34 34 self.style = STYLE[0] 35 35 self.weight = WEIGHT[1] 36 36 self.tick_label = None 37 self.tick_label_check = None 37 38 self.InitUI() 38 39 self.Centre() 39 40 self.Show() 40 41 41 42 42 def InitUI(self): 43 43 vbox = wx.BoxSizer(wx.VERTICAL) … … 57 57 self.fontWeight = wx.ComboBox(self,pos=(300,60), 58 58 style=wx.CB_READONLY,size=(100,-1)) 59 59 self.tick_label_check = wx.CheckBox(self, -1, label='', pos=(80, 100), 60 size=(15, -1)) 61 self.tick_label_check.SetValue(False) 60 62 self.okButton = wx.Button(self,wx.ID_OK,'OK',pos=(215,100)) 61 63 self.closeButton = wx.Button(self,wx.ID_CANCEL,'Cancel',pos=(315,100)) 62 64 63 65 self._set_family_list() 64 66 self._set_style_list() 65 67 self._set_weight_list() 66 68 self._set_point_list() 67 69 68 70 familyText = wx.StaticText(self, label='Family:', pos=(10,12)) 69 71 sizeText = wx.StaticText(self, label='Size:',pos=(220,12)) 70 72 styleText = wx.StaticText(self, label='Style:',pos=(10,62)) 71 73 weightText = wx.StaticText(self, label='Weight:',pos=(220,62)) 72 74 tick_label_text = wx.StaticText(self,label='Tick label?', pos=(10, 100)) 75 tick_label_text.SetToolTipString("Apply to tick label too.") 76 73 77 def _set_family_list(self): 74 78 # list of font family … … 95 99 self.fontPoint.Append(str(list[idx]),idx) 96 100 101 def get_ticklabel_check(self): 102 """ 103 Get tick label check value 104 """ 105 self.tick_label = self.tick_label_check.GetValue() 106 return self.tick_label 107 108 def set_ticklabel_check(self, check=False): 109 """ 110 Set tick label check value 111 """ 112 self.tick_label_check.SetValue(check) 97 113 98 114 def set_default_font(self,font): … … 103 119 self.fontPoint.SetSelection(3) 104 120 self.fontStyle.SetSelection(0) 105 106 121 else: 107 self.fontWeight.SetStringSelection(font.get_weight()) 108 self.fontPoint.SetStringSelection(font.get_size()) 109 self.fontFamily.SetStringSelection(font.get_family()) 110 self.fontStyle.SetStringSelection(font.get_style()) 111 112 122 self.fontWeight.SetStringSelection(str(font.get_weight())) 123 self.fontPoint.SetStringSelection(str(int(font.get_size()))) 124 self.fontFamily.SetStringSelection(str(font.get_family()[0])) 125 self.fontStyle.SetStringSelection(str(font.get_style())) 126 113 127 def get_font(self): 114 128 FONT = FontProperties() 115 129 font = FONT.copy() 116 font.set_size(s elf.fontPoint.GetValue())130 font.set_size(str(self.fontPoint.GetValue())) 117 131 font.set_name(str(self.fontFamily.GetValue())) 118 132 font.set_slant(str(self.fontStyle.GetValue())) -
plottools/src/danse/common/plottools/TextDialog.py
r10bfeb3 r657e52c 97 97 self.fontSize.SetMinSize((_BOX_WIDTH, -1)) 98 98 self._set_size_list() 99 self.fontSize.SetSelection( 3)99 self.fontSize.SetSelection(5) 100 100 self.fontSize.SetToolTipString("Font size of the text.") 101 101 #font style -
sansguiframe/src/sans/guiframe/CategoryInstaller.py
rdad7cef r657e52c 123 123 124 124 @staticmethod 125 def check_install(homedir = None, defaultfile = None, 126 modelsdir = None, installed_models_dir = None): 125 def check_install(homedir = None, model_list=None): 127 126 """ 128 127 the main method of this class … … 130 129 compile it and install 131 130 :param homefile: Override the default home directory 132 :param defaultfile: Override the default file location 133 :param modelsfile: The file where models.py lives. This 134 MUST be overwritten in setup.py 135 :param installed_models_dir: Where installed_models.txt is to go: 131 :param model_list: List of model names except customized models 136 132 """ 137 model_list = [] 133 #model_list = [] 134 default_file = CategoryInstaller.get_default_file() 138 135 serialized_file = None 136 master_category_dict = defaultdict(list) 139 137 if homedir == None: 140 138 serialized_file = CategoryInstaller.get_user_file() 141 139 else: 142 140 serialized_file = os.path.join(homedir, USER_FILE) 143 144 if os.path.exists(serialized_file): 145 return 146 147 if installed_models_dir == None: 148 installed_models_dir = \ 149 CategoryInstaller._get_installed_model_dir() 141 if os.path.isfile(serialized_file): 142 cat_file = open(serialized_file, 'rb') 143 else: 144 cat_file = open(default_file, 'rb') 145 master_category_dict = pickle.Unpickler(cat_file).load() 146 (by_model_dict, model_enabled_dict) = \ 147 CategoryInstaller._regenerate_model_dict(master_category_dict) 148 cat_file.close() 149 add_list = model_list 150 del_name = False 151 for cat in master_category_dict.keys(): 152 for ind in range(len(master_category_dict[cat])): 153 model_name, enabled = master_category_dict[cat][ind] 154 if model_name not in model_list: 155 del_name = True 156 try: 157 by_model_dict.pop(model_name) 158 model_enabled_dict.pop(model_name) 159 except: 160 pass 161 else: 162 add_list.remove(model_name) 163 if del_name or (len(add_list) > 0): 164 for model in add_list: 165 model_enabled_dict[model]= True 166 by_model_dict[model].append('Uncategorized') 167 168 master_category_dict = \ 169 CategoryInstaller._regenerate_master_dict(by_model_dict, 170 model_enabled_dict) 171 172 pickle.dump( master_category_dict, 173 open(serialized_file, 'wb') ) 174 175 try: 176 #It happens only in source environment 177 shutil.copyfile(serialized_file, default_file) 178 except: 179 pass 150 180 151 installed_model_file = open(152 os.path.join(installed_models_dir,153 "installed_models.txt"), 'w')154 155 if modelsdir == None:156 modelsdir = CategoryInstaller._get_models_py_dir()157 python_model_file = open(os.path.join(modelsdir,158 "models.py"),159 'r')160 161 python_models = python_model_file.read()162 163 # we remove models that appear in the installed164 # model folder but not in models.py . the excess165 # hard coded ones on the end come from them being166 # present in models.py but not actual models, eg167 # TwoLorenzianModel contains the string 'Lorenzian'168 # but we don't actually want to include Lorenzian169 model_list = [mod for mod in model_list if \170 mod in python_models and \171 not 'init' in mod and \172 not 'BaseComponent' in mod \173 and not 'MultiplicationModel' in mod \174 and not 'pluginmodel' in mod \175 and mod != 'PowerLawModel' \176 and mod != 'Lorentzian']177 178 179 for mod in model_list:180 installed_model_file.write(mod + '\n')181 182 installed_model_file.close()183 184 # start sorting category stuff185 default_file = None186 if defaultfile == None:187 default_file = CategoryInstaller.get_default_file()188 else:189 default_file = defaultfile190 191 master_category_dict = pickle.load(open(default_file, 'rb'))192 193 (by_model_dict, model_enabled_dict) = \194 CategoryInstaller._regenerate_model_dict(master_category_dict)195 196 197 for found_model in model_list:198 if not found_model in by_model_dict:199 print found_model + ' : ' + str(by_model_dict[found_model])200 by_model_dict[found_model].append("Uncategorized")201 model_enabled_dict[found_model] = True202 203 # remove any stray models from categorization204 # that aren't stored anymore205 206 models_to_delete = []207 for model in by_model_dict:208 if not model in model_list:209 models_to_delete.append(model)210 211 for model in models_to_delete:212 by_model_dict.pop(model)213 214 master_category_dict = \215 CategoryInstaller._regenerate_master_dict(by_model_dict,216 model_enabled_dict)217 218 pickle.dump( master_category_dict,219 open(default_file, 'wb') )220 221 #shutil.copyfile(default_file, serialized_file) -
sansguiframe/src/sans/guiframe/CategoryManager.py
r6034e16 r657e52c 96 96 self.model_enabled_dict = defaultdict(bool) 97 97 98 wx.Frame.__init__(self, parent, win_id, title, size=(6 50, 400))98 wx.Frame.__init__(self, parent, win_id, title, size=(660, 400)) 99 99 100 100 panel = wx.Panel(self, -1) … … 299 299 300 300 pickle.dump( self.master_category_dict, cat_file ) 301 301 302 cat_file.close() 302 303 303 304 def _read_category_info(self): … … 313 314 cat_file = open(CategoryInstaller.get_default_file(), 'rb') 314 315 self.master_category_dict = pickle.load(cat_file) 316 cat_file.close() 315 317 except IOError: 316 318 print 'Problem reading in category file. Please review' -
sansguiframe/src/sans/guiframe/aboutbox.py
r1452132 r657e52c 107 107 self.bitmap_button_umd = wx.BitmapButton(self, -1, wx.NullBitmap) 108 108 self.bitmap_button_sns = wx.BitmapButton(self, -1, wx.NullBitmap) 109 self.bitmap_button_nsf = wx.BitmapButton(self, -1,110 wx.NullBitmap)111 self.bitmap_button_danse = wx.BitmapButton(self, -1, wx.NullBitmap)109 #self.bitmap_button_nsf = wx.BitmapButton(self, -1, 110 # wx.NullBitmap) 111 #self.bitmap_button_danse = wx.BitmapButton(self, -1, wx.NullBitmap) 112 112 self.bitmap_button_msu = wx.BitmapButton(self, -1, wx.NullBitmap) 113 114 self.bitmap_button_isis = wx.BitmapButton(self, -1, wx.NullBitmap) 115 self.bitmap_button_ess = wx.BitmapButton(self, -1, wx.NullBitmap) 116 self.bitmap_button_ill = wx.BitmapButton(self, -1, wx.NullBitmap) 117 113 118 self.static_line_3 = wx.StaticLine(self, -1) 114 119 self.button_OK = wx.Button(self, wx.ID_OK, "OK") … … 120 125 self.Bind(wx.EVT_BUTTON, self.onUmdLogo, self.bitmap_button_umd) 121 126 self.Bind(wx.EVT_BUTTON, self.onSnsLogo, self.bitmap_button_sns) 122 self.Bind(wx.EVT_BUTTON, self.onNsfLogo, self.bitmap_button_nsf)123 self.Bind(wx.EVT_BUTTON, self.onDanseLogo, self.bitmap_button_danse)127 #self.Bind(wx.EVT_BUTTON, self.onNsfLogo, self.bitmap_button_nsf) 128 #self.Bind(wx.EVT_BUTTON, self.onDanseLogo, self.bitmap_button_danse) 124 129 self.Bind(wx.EVT_BUTTON, self.onUTLogo, self.bitmap_button_msu) 130 self.Bind(wx.EVT_BUTTON, self.onIsisLogo, self.bitmap_button_isis) 131 self.Bind(wx.EVT_BUTTON, self.onEssLogo, self.bitmap_button_ess) 132 self.Bind(wx.EVT_BUTTON, self.onIllLogo, self.bitmap_button_ill) 125 133 # end wxGlade 126 134 # fill in acknowledgements … … 162 170 self.bitmap_button_sns.SetBitmapLabel(logo) 163 171 172 """ 164 173 image = file_dir + "/images/nsf_logo.png" 165 174 if os.path.isfile(config._nsf_logo): … … 173 182 logo = wx.Bitmap(image) 174 183 self.bitmap_button_danse.SetBitmapLabel(logo) 175 184 """ 176 185 image = file_dir + "/images/utlogo.gif" 177 186 if os.path.isfile(config._inst_logo): … … 180 189 self.bitmap_button_msu.SetBitmapLabel(logo) 181 190 191 image = file_dir + "/images/isis_logo.png" 192 if os.path.isfile(config._isis_logo): 193 image = config._isis_logo 194 logo = wx.Bitmap(image) 195 self.bitmap_button_isis.SetBitmapLabel(logo) 196 197 image = file_dir + "/images/ess_logo.png" 198 if os.path.isfile(config._ess_logo): 199 image = config._ess_logo 200 logo = wx.Bitmap(image) 201 self.bitmap_button_ess.SetBitmapLabel(logo) 202 203 image = file_dir + "/images/ill_logo.png" 204 if os.path.isfile(config._ill_logo): 205 image = config._ill_logo 206 logo = wx.Bitmap(image) 207 self.bitmap_button_ill.SetBitmapLabel(logo) 208 182 209 # resize dialog window to fit version number nicely 183 210 if wx.VERSION >= (2, 7, 2, 0): … … 201 228 self.bitmap_button_umd.SetSize(self.bitmap_button_umd.GetBestSize()) 202 229 self.bitmap_button_sns.SetSize(self.bitmap_button_sns.GetBestSize()) 203 self.bitmap_button_nsf.SetSize(self.bitmap_button_nsf.GetBestSize())204 self.bitmap_button_danse.SetSize(self.bitmap_button_danse.GetBestSize())230 #self.bitmap_button_nsf.SetSize(self.bitmap_button_nsf.GetBestSize()) 231 #self.bitmap_button_danse.SetSize(self.bitmap_button_danse.GetBestSize()) 205 232 self.bitmap_button_msu.SetSize(self.bitmap_button_msu.GetBestSize()) 233 self.bitmap_button_isis.SetSize(self.bitmap_button_isis.GetBestSize()) 234 self.bitmap_button_ess.SetSize(self.bitmap_button_ess.GetBestSize()) 235 self.bitmap_button_ill.SetSize(self.bitmap_button_ill.GetBestSize()) 206 236 # end wxGlade 207 237 … … 244 274 wx.LEFT|wx.TOP|wx.BOTTOM|wx.ADJUST_MINSIZE, 7) 245 275 sizer_main.Add(self.static_line_2, 0, wx.EXPAND, 0) 246 sizer_logos.Add(self.bitmap_button_nist, 0, wx.LEFT|wx.ADJUST_MINSIZE, 2) 247 sizer_logos.Add(self.bitmap_button_umd, 0, wx.LEFT|wx.ADJUST_MINSIZE, 2) 248 sizer_logos.Add(self.bitmap_button_sns, 0, wx.LEFT|wx.ADJUST_MINSIZE, 2) 249 sizer_logos.Add(self.bitmap_button_nsf, 0, wx.LEFT|wx.ADJUST_MINSIZE, 2) 250 sizer_logos.Add(self.bitmap_button_danse, 0, 251 wx.LEFT|wx.ADJUST_MINSIZE, 2) 252 sizer_logos.Add(self.bitmap_button_msu, 0, wx.LEFT|wx.ADJUST_MINSIZE, 2) 253 sizer_logos.Add((50, 50), 0, wx.ADJUST_MINSIZE, 0) 276 277 sizer_logos.Add(self.bitmap_button_msu, 0, 278 wx.LEFT|wx.ADJUST_MINSIZE, 2) 279 #sizer_logos.Add(self.bitmap_button_danse, 0, 280 # wx.LEFT|wx.ADJUST_MINSIZE, 2) 281 #sizer_logos.Add(self.bitmap_button_nsf, 0, 282 # wx.LEFT|wx.ADJUST_MINSIZE, 2) 283 sizer_logos.Add(self.bitmap_button_umd, 0, 284 wx.LEFT|wx.ADJUST_MINSIZE, 2) 285 sizer_logos.Add(self.bitmap_button_nist, 0, 286 wx.LEFT|wx.ADJUST_MINSIZE, 2) 287 sizer_logos.Add(self.bitmap_button_sns, 0, 288 wx.LEFT|wx.ADJUST_MINSIZE, 2) 289 sizer_logos.Add(self.bitmap_button_isis, 0, 290 wx.LEFT|wx.ADJUST_MINSIZE, 2) 291 sizer_logos.Add(self.bitmap_button_ess, 0, 292 wx.LEFT|wx.ADJUST_MINSIZE, 2) 293 sizer_logos.Add(self.bitmap_button_ill, 0, 294 wx.LEFT|wx.ADJUST_MINSIZE, 2) 295 296 sizer_logos.Add((10, 50), 0, wx.ADJUST_MINSIZE, 0) 254 297 sizer_main.Add(sizer_logos, 0, wx.EXPAND, 0) 255 298 sizer_main.Add(self.static_line_3, 0, wx.EXPAND, 0) 256 sizer_button.Add((20, 20), 1, wx.EXPAND|wx.ADJUST_MINSIZE, 0)299 sizer_button.Add((20, 40), 1, wx.EXPAND|wx.ADJUST_MINSIZE, 0) 257 300 sizer_button.Add(self.button_OK, 0, 258 wx.RIGHT|wx.ADJUST_MINSIZE|wx. BOTTOM, 10)301 wx.RIGHT|wx.ADJUST_MINSIZE|wx.CENTER, 10) 259 302 sizer_main.Add(sizer_button, 0, wx.EXPAND, 0) 260 303 self.SetAutoLayout(True) … … 306 349 event.Skip() 307 350 351 def onIsisLogo(self, event): 352 """ 353 """ 354 # wxGlade: DialogAbout.<event_handler> 355 launchBrowser(config._isis_url) 356 event.Skip() 357 358 def onEssLogo(self, event): 359 """ 360 """ 361 # wxGlade: DialogAbout.<event_handler> 362 launchBrowser(config._ess_url) 363 event.Skip() 364 365 def onIllLogo(self, event): 366 """ 367 """ 368 # wxGlade: DialogAbout.<event_handler> 369 launchBrowser(config._ill_url) 370 event.Skip() 371 308 372 # end of class DialogAbout 309 373 -
sansguiframe/src/sans/guiframe/config.py
r6e48fd0 r657e52c 9 9 __version__ = '0.0.0' 10 10 __build__ = '1' 11 __download_page__ = 'https://sourceforge.net/projects/sansviewproject/files/' 12 __update_URL__ = 'http://sansviewproject.svn.sourceforge.net/viewvc/sansviewproject/trunk/sansview.latestversion' 11 __download_page__ = 'http://sourceforge.net/projects/sasview/files/' 12 __update_URL__ = ['svn.code.sf.net', 13 '/p/sasview/code/trunk/sansview.latestversion'] 13 14 14 15 … … 32 33 33 34 ''' 34 _homepage = "http:// danse.chem.utk.edu"35 _download = "http:// danse.chem.utk.edu/sansview.html"35 _homepage = "http://www.sasview.org" 36 _download = "http://sourceforge.net/projects/sasview/files/" 36 37 _authors = [] 37 _paper = "http:// danse.us/trac/sans/newticket"38 _license = "mailto: sansdanse@gmail.com"38 _paper = "http://sourceforge.net/p/sasview/tickets/" 39 _license = "mailto:help@sasview.org" 39 40 _nsf_logo = "images/nsf_logo.png" 40 41 _danse_logo = "images/danse_logo.png" … … 43 44 _umd_logo = "images/umd_logo.png" 44 45 _sns_logo = "images/sns_logo.png" 46 _isis_logo = "images/isis_logo.png" 47 _ess_logo = "images/ess_logo.png" 48 _ill_logo = "images/ill_logo.png" 45 49 _nist_url = "http://www.nist.gov/" 46 50 _umd_url = "http://www.umd.edu/" … … 49 53 _danse_url = "http://www.cacr.caltech.edu/projects/danse/release/index.html" 50 54 _inst_url = "http://www.utk.edu" 55 _isis_url = "http://www.isis.stfc.ac.uk/" 56 _ess_url = "http://ess-scandinavia.eu/" 57 _ill_url = "http://www.ill.eu/" 51 58 _corner_image = "images/angles_flat.png" 52 59 _welcome_image = "images/SVwelcome.png" -
sansguiframe/src/sans/guiframe/data_manager.py
r709cd83 r657e52c 251 251 if theory_id in theory_list.keys(): 252 252 del theory_list[theory_id] 253 253 #del pure theory 254 self.delete_by_id(theory_id) 254 255 255 256 def delete_by_id(self, id_list=None): -
sansguiframe/src/sans/guiframe/data_panel.py
r4cc25e9 r657e52c 35 35 from sans.guiframe.events import NewBatchEvent 36 36 from sans.dataloader.loader import Loader 37 from sans.guiframe.local_perspectives.plotting.masking \ 38 import FloatPanel as QucikPlotDialog 37 39 38 40 import sans.guiframe.config as config … … 442 444 """ 443 445 data = self._get_data_selection(event) 444 from sans.guiframe.local_perspectives.plotting.masking \445 import FloatPanel as QucikPlotDialog446 446 if data.__class__.__name__ == "Data2D": 447 447 dimension = 2 -
sansguiframe/src/sans/guiframe/gui_manager.py
ref67145 r657e52c 23 23 warnings.simplefilter("ignore") 24 24 import logging 25 import urllib2 25 #import urllib2 26 import httplib 26 27 27 28 from sans.guiframe.events import EVT_CATEGORY … … 2254 2255 """ 2255 2256 try: 2256 f=urllib2.urlopen(config.__update_URL__, 2257 timeout=1.0) 2258 content = f.read() 2257 conn = httplib.HTTPConnection(config.__update_URL__[0], 2258 timeout=3.0) 2259 conn.request("GET", config.__update_URL__[1]) 2260 res = conn.getresponse() 2261 content = res.read() 2262 conn.close() 2263 #f=urllib2.urlopen(config.__update_URL__, 2264 # timeout=1.0) 2265 #content = f.read() 2259 2266 except: 2260 2267 content = "0.0.0" -
sansguiframe/src/sans/guiframe/local_perspectives/plotting/Plotter1D.py
rf866fb5 r657e52c 84 84 self.currColorIndex = "" 85 85 self._is_changed_legend_label = False 86 self.is_xtick = False 87 self.is_ytick = False 86 88 87 89 self.hide_menu = None … … 684 686 find_key(self.get_loc_label(), 685 687 self.legendLoc), 686 self.xcolor,self.ycolor) 688 self.xcolor, self.ycolor, 689 self.is_xtick, self.is_ytick) 687 690 self.graphApp.Bind(wx.EVT_CLOSE, self.on_graphApp_close) 688 691 … … 706 709 self.xaxis_unit = graph_app.get_xunit() 707 710 self.yaxis_unit = graph_app.get_yunit() 711 self.xaxis_font = graph_app.get_xfont() 712 self.yaxis_font = graph_app.get_yfont() 713 self.is_xtick = graph_app.get_xtick_check() 714 self.is_ytick = graph_app.get_ytick_check() 715 if self.is_xtick: 716 self.xaxis_tick = self.xaxis_font 717 if self.is_ytick: 718 self.yaxis_tick = self.yaxis_font 708 719 709 720 self.xaxis(self.xaxis_label, self.xaxis_unit, 710 graph_app.get_xfont(), graph_app.get_xcolor()) 721 graph_app.get_xfont(), graph_app.get_xcolor(), 722 self.xaxis_tick) 711 723 self.yaxis(self.yaxis_label, self.yaxis_unit, 712 graph_app.get_yfont(), graph_app.get_ycolor()) 724 graph_app.get_yfont(), graph_app.get_ycolor(), 725 self.yaxis_tick) 713 726 714 727 graph_app.Destroy() -
sansguiframe/src/sans/guiframe/local_perspectives/plotting/Plotter2D.py
r294a7bc r657e52c 418 418 Edit legend label 419 419 """ 420 selected_plot = self.plots[self.graph.selected_plottable] 420 try: 421 selected_plot = self.plots[self.graph.selected_plottable] 422 except: 423 selected_plot = self.plots[self.data2D.id] 421 424 label = selected_plot.label 422 425 dial = TextDialog(None, -1, 'Change Label', label) … … 638 641 new_plot.id = "Circ avg " + self.data2D.name 639 642 new_plot.is_data = True 640 self.parent.update_theory(data_id=self.data2D , \643 self.parent.update_theory(data_id=self.data2D.id, \ 641 644 theory=new_plot) 642 645 wx.PostEvent(self.parent, … … 792 795 self.xaxis_font,self.yaxis_font, 793 796 find_key(self.get_loc_label(),self.legendLoc), 794 self.xcolor,self.ycolor) 797 self.xcolor,self.ycolor, 798 self.is_xtick, self.is_ytick) 795 799 self.graphApp.Bind(wx.EVT_CLOSE, self.on_graphApp_close) 796 800 … … 807 811 self.xaxis_unit = self.graphApp.get_xunit() 808 812 self.yaxis_unit = self.graphApp.get_yunit() 809 810 self.xaxis(self.xaxis_label,self.xaxis_unit, 811 self.graphApp.get_xfont(),self.graphApp.get_xcolor()) 812 self.yaxis(self.yaxis_label,self.yaxis_unit, 813 self.graphApp.get_yfont(),self.graphApp.get_ycolor()) 813 self.xaxis_font = self.graphApp.get_xfont() 814 self.yaxis_font = self.graphApp.get_yfont() 815 self.is_xtick = self.graphApp.get_xtick_check() 816 self.is_ytick = self.graphApp.get_ytick_check() 817 if self.is_xtick: 818 self.xaxis_tick = self.xaxis_font 819 if self.is_ytick: 820 self.yaxis_tick = self.yaxis_font 821 822 self.xaxis(self.xaxis_label, self.xaxis_unit, 823 self.graphApp.get_xfont(), self.graphApp.get_xcolor(), 824 self.xaxis_tick) 825 self.yaxis(self.yaxis_label, self.yaxis_unit, 826 self.graphApp.get_yfont(), self.graphApp.get_ycolor(), 827 self.yaxis_tick) 814 828 815 829 self.graphApp.Destroy() -
sansguiframe/src/sans/guiframe/local_perspectives/plotting/SectorSlicer.py
r4752c31 r657e52c 186 186 new_plot.id = "SectorQ" + self.base.data2D.name 187 187 new_plot.is_data = True 188 self.base.parent.update_theory(data_id=data , \188 self.base.parent.update_theory(data_id=data.id, \ 189 189 theory=new_plot) 190 190 wx.PostEvent(self.base.parent, NewPlotEvent(plot=new_plot, -
sansguiframe/src/sans/guiframe/local_perspectives/plotting/graphAppearance.py
r9f51c2c r657e52c 36 36 self.xfont = None 37 37 self.yfont = None 38 self.is_xtick = False 39 self.is_ytick = False 38 40 39 41 … … 172 174 fonty = SimpleFont(self, wx.NewId(), title) 173 175 fonty.set_default_font(self.xfont) 176 fonty.set_ticklabel_check(self.is_xtick) 174 177 if(fonty.ShowModal() == wx.ID_OK): 175 178 self.xfont = fonty.get_font() 179 self.is_xtick = fonty.get_ticklabel_check() 176 180 177 181 def onyFont(self, e): … … 179 183 fonty = SimpleFont(self, wx.NewId(), title) 180 184 fonty.set_default_font(self.yfont) 185 fonty.set_ticklabel_check(self.is_ytick) 181 186 if(fonty.ShowModal() == wx.ID_OK): 182 187 self.yfont = fonty.get_font() 188 self.is_ytick = fonty.get_ticklabel_check() 183 189 184 190 def on_ok(self, e): … … 233 239 def setDefaults(self,grid,legend,xlab,ylab,xunit,yunit, 234 240 xaxis_font,yaxis_font,legend_loc, 235 xcolor,ycolor ):241 xcolor,ycolor, is_xtick, is_ytick): 236 242 self.toggle_grid.SetValue(grid) 237 243 if self.legend: … … 243 249 self.xfont = xaxis_font 244 250 self.yfont = yaxis_font 251 self.is_xtick = is_xtick 252 self.is_ytick = is_ytick 245 253 246 254 if not xcolor: … … 303 311 return self.yfont 304 312 313 def get_xtick_check(self): 314 return self.is_xtick 315 316 def get_ytick_check(self): 317 return self.is_ytick 318 305 319 306 320 if __name__ == '__main__': -
sansguiframe/src/sans/guiframe/local_perspectives/plotting/masking.py
r3f68e93 r657e52c 558 558 style=wx.TRANSPARENT_WINDOW) 559 559 self.plotpanel._SetInitialSize() 560 self.plotpanel.prevXtrans = "x" 561 self.plotpanel.prevYtrans = "y" 560 562 561 563 self.cmap = DEFAULT_CMAP -
sansguiframe/src/sans/guiframe/local_perspectives/plotting/profile_dialog.py
r808da5e r657e52c 213 213 self.window_name = "Scattering Length Density Profile" 214 214 self.window_caption = self.window_name 215 self.prevXtrans = "x" 216 self.prevYtrans = "y" 217 self.viewModel = "--" 215 218 # Internal list of plottable names (because graph 216 219 # doesn't have a dictionary of handles for the plottables) -
sansguiframe/src/sans/guiframe/startup_configuration.py
r6306f2f r657e52c 84 84 current_bt.SetValue(False) 85 85 current_bt.Bind(wx.EVT_RADIOBUTTON, self.OnCurrent) 86 msg = "\nThis new configuration will take effect after\n"87 msg += "r estarting the SansView application..."86 msg = "\nThis new configuration will take effect when\n" 87 msg += "running this application next time." 88 88 note_txt = wx.StaticText(panel, -1, msg, (15, 75)) 89 89 note_txt.SetForegroundColour("black") -
sansmodels/src/sans/models/media/model_functions.html
rb71a53b r657e52c 8 8 <li style="line-height: 115%;"><a href="#Introduction"><strong>Introduction</strong></a></li> 9 9 <li style="line-height: 115%;"><a href="#Shapes"><strong>Shapes</strong></a>: <a href="#SphereModel">SphereModel</a>, <a href="#BinaryHSModel">BinaryHSModel</a>, <a href="#FuzzySphereModel">FuzzySphereModel</a>, <a href="#RaspBerryModel">RaspBerryModel</a>, <a href="#CoreShellModel">CoreShellModel</a>, <a href="#Core2ndMomentModel">Core2ndMomentModel</a>, <a href="#CoreMultiShellModel">CoreMultiShellModel</a>, <a href="#VesicleModel">VesicleModel</a>, <a href="#MultiShellModel">MultiShellModel</a>, <a href="#OnionExpShellModel">OnionExpShellModel</a>, <a href="#SphericalSLDModel">SphericalSLDModel</a>, <a href="#LinearPearlsModel">LinearPearlsModel</a>, <a href="#PearlNecklaceModel">PearlNecklaceModel</a> , <a href="#CylinderModel">CylinderModel</a>, <a href="#CoreShellCylinderModel">CoreShellCylinderModel</a>, <a href="#CoreShellBicelleModel">CoreShellBicelleModel</a>,<a href="#HollowCylinderModel">HollowCylinderModel</a>, <a href="#FlexibleCylinderModel">FlexibleCylinderModel</a>, <a href="#FlexibleCylinderModel">FlexCylEllipXModel</a>, <a href="#StackedDisksModel">StackedDisksModel</a>, <a href="#ParallelepipedModel">ParallelepipedModel</a>, <a href="#CSParallelepipedModel">CSParallelepipedModel</a>, <a href="#EllipticalCylinderModel">EllipticalCylinderModel</a>, <a href="#BarBellModel">BarBellModel</a>, <a href="#CappedCylinderModel">CappedCylinderModel</a>, <a href="#EllipsoidModel">EllipsoidModel</a>, <a href="#CoreShellEllipsoidModel">CoreShellEllipsoidModel</a>, <a href="#TriaxialEllipsoidModel">TriaxialEllipsoidModel</a>, <a href="#LamellarModel">LamellarModel</a>, <a href="#LamellarFFHGModel">LamellarFFHGModel</a>, <a href="#LamellarPSModel">LamellarPSModel</a>, <a href="#LamellarPSHGModel">LamellarPSHGModel</a>, <a href="#LamellarPCrystalModel">LamellarPCrystalModel</a>, <a href="#SCCrystalModel">SCCrystalModel</a>, <a href="#FCCrystalModel">FCCrystalModel</a>, <a href="#BCCrystalModel">BCCrystalModel</a>.</li> 10 <li style="line-height: 115%;"><a href="#Shape-Independent"><strong>Shape-Independent</strong></a>: <a href="#Absolute%20Power_Law">AbsolutePower_Law</a>, <a href="#BEPolyelectrolyte">BEPolyelectrolyte</a>, <a href="#BroadPeakModel">BroadPeakModel,<span><span style="text-decoration: underline;"><span style="color: blue;">CorrLength</span></span></span><span>,</span></a> <a href="#DAB _Model">DAB_Model</a>, <a href="#Debye">Debye</a>, <a href="#Number_Density_Fractal">FractalModel</a>, <a href="#FractalCoreShell">FractalCoreShell</a>, <a href="#GaussLorentzGel">GaussLorentzGel</a>, <a href="#Guinier">Guinier</a>, <a href="#GuinierPorod">GuinierPorod</a>, <a href="#Lorentz">Lorentz</a>, <a href="#Mass_Fractal">MassFractalModel</a>, <a href="#MassSurface_Fractal">MassSurfaceFractal</a>, <a href="#Peak%20Gauss%20Model">PeakGaussModel</a>, <a href="#Peak%20Lorentz%20Model">PeakLorentzModel</a>, <a href="#Poly_GaussCoil">Poly_GaussCoil</a>, <a href="#PolymerExclVolume">PolyExclVolume</a>, <a href="#PorodModel">PorodModel</a>, <a href="#RPA10Model">RPA10Model</a>, <a href="#StarPolymer">StarPolymer</a>, <a href="#Surface_Fractal">SurfaceFractalModel</a>, <a href="#Teubner%20Strey">Teubner Strey</a>, <a href="#TwoLorentzian">TwoLorentzian</a>, <a href="#TwoPowerLaw">TwoPowerLaw</a>, <a href="#UnifiedPowerRg">UnifiedPowerRg</a>, <a href="#LineModel">LineModel</a>, <a href="#ReflectivityModel">ReflectivityModel</a>, <a href="#ReflectivityIIModel">ReflectivityIIModel</a>, <a href="#GelFitModel">GelFitModel</a>.</li>10 <li style="line-height: 115%;"><a href="#Shape-Independent"><strong>Shape-Independent</strong></a>: <a href="#Absolute%20Power_Law">AbsolutePower_Law</a>, <a href="#BEPolyelectrolyte">BEPolyelectrolyte</a>, <a href="#BroadPeakModel">BroadPeakModel,<span><span style="text-decoration: underline;"><span style="color: blue;">CorrLength</span></span></span><span>,</span></a> <a href="#DABModel">DAB_Model</a>, <a href="#Debye">Debye</a>, <a href="#Number_Density_Fractal">FractalModel</a>, <a href="#FractalCoreShell">FractalCoreShell</a>, <a href="#GaussLorentzGel">GaussLorentzGel</a>, <a href="#Guinier">Guinier</a>, <a href="#GuinierPorod">GuinierPorod</a>, <a href="#Lorentz">Lorentz</a>, <a href="#Mass_Fractal">MassFractalModel</a>, <a href="#MassSurface_Fractal">MassSurfaceFractal</a>, <a href="#Peak%20Gauss%20Model">PeakGaussModel</a>, <a href="#Peak%20Lorentz%20Model">PeakLorentzModel</a>, <a href="#Poly_GaussCoil">Poly_GaussCoil</a>, <a href="#PolymerExclVolume">PolyExclVolume</a>, <a href="#PorodModel">PorodModel</a>, <a href="#RPA10Model">RPA10Model</a>, <a href="#StarPolymer">StarPolymer</a>, <a href="#Surface_Fractal">SurfaceFractalModel</a>, <a href="#TeubnerStreyModel">Teubner Strey</a>, <a href="#TwoLorentzian">TwoLorentzian</a>, <a href="#TwoPowerLaw">TwoPowerLaw</a>, <a href="#UnifiedPowerRg">UnifiedPowerRg</a>, <a href="#LineModel">LineModel</a>, <a href="#ReflectivityModel">ReflectivityModel</a>, <a href="#ReflectivityIIModel">ReflectivityIIModel</a>, <a href="#GelFitModel">GelFitModel</a>.</li> 11 11 <li style="line-height: 115%;"><a href="#Model"><strong>Customized Models</strong></a>: <a href="#testmodel">testmodel</a>, <a href="#testmodel_2">testmodel_2</a>, <a href="#sum_p1_p2">sum_p1_p2</a>, <a href="#sum_Ap1_1_Ap2">sum_Ap1_1_Ap2</a>, <a href="#polynomial5">polynomial5</a>, <a href="#sph_bessel_jn">sph_bessel_jn</a>.</li> 12 12 <li style="line-height: 115%;"><a href="#Structure_Factors"><strong>Structure Factors</strong></a>: <a href="#HardsphereStructure">HardSphereStructure</a>, <a href="#SquareWellStructure">SquareWellStructure</a>, <a href="#HayterMSAStructure">HayterMSAStructure</a>, <a href="#StickyHSStructure">StickyHSStructure</a>.</li> … … 242 242 <p>where the amplitude A(q) is given as the typical sphere scattering convoluted with a Gaussian to get a gradual drop-off in the scattering length density:</p> 243 243 <p style="text-align: center;" align="center"><span style="position: relative; top: 18pt;"><img src="img/image011.PNG" alt="" /></span></p> 244 <br> 244 245 <p>Here A2(q) is the form factor, P(q). The ‘scale’ is equivalent to the volume fraction of spheres, each of volume, V. Contrast (<em><span style="font-family: 'Arial','sans-serif';">Δ</span>ρ</em> ) is the difference of scattering length densities of the sphere and the surrounding solvent.</p> 245 246 <p>The poly-dispersion in radius and in fuzziness is provided.</p> … … 4937 4938 <p style="text-align: center;" align="center"><strong><span style="font-size: 14pt;"><img id="Picture 75" src="img/image179.jpg" alt="" /></span></strong></p> 4938 4939 <p style="text-align: center;" align="center"><strong><span style="font-size: 14pt;"> </span>Figure. 1D plot using the default values (w/200 data point).</strong></p> 4939 <p style="margin-left: 0.55in; text-indent: -0.3in;"><strong><span style="font-size: 14pt;">3.5.</span></strong><strong><span style="font-size: 7pt;"> </span></strong><strong><span style="font-size: 14pt;"> <a name="DAB _Model"></a>DAB (Debye-Anderson-Brumberger)_Model</span></strong></p>4940 <p style="margin-left: 0.55in; text-indent: -0.3in;"><strong><span style="font-size: 14pt;">3.5.</span></strong><strong><span style="font-size: 7pt;"> </span></strong><strong><span style="font-size: 14pt;"> <a name="DABModel"></a>DAB (Debye-Anderson-Brumberger)_Model</span></strong></p> 4940 4941 <p style="margin-left: 0.55in;"><strong><span style="font-size: 14pt;"> </span></strong></p> 4941 4942 <p style="margin-left: 0.25in;">Calculates the scattering from a randomly distributed, two-phase system based on the Debye-Anderson-Brumberger (DAB) model for such systems. The two-phase system is characterized by a single length scale, the correlation length, which is a measure of the average spacing between regions of phase 1 and phase 2. The model also assumes smooth interfaces between the phases and hence exhibits Porod behavior (I ~ Q-4) at large Q (Q*correlation length >> 1).</p> … … 5060 5061 <p style="text-align: center;" align="center"><img id="Picture 77" src="img/image183.jpg" alt="" /></p> 5061 5062 <p style="text-align: center;" align="center"><strong>Figure. 1D plot using the default values (w/200 data point).</strong></p> 5062 <p style="margin-left: 0.55in; text-indent: -0.3in;"><strong><span style="font-size: 14pt;">3.7.</span></strong><strong><span style="font-size: 7pt;"> </span></strong><strong><span style="font-size: 14pt;"> <a name="Teubner Strey"></a>Teubner Strey (Model)</span></strong></p>5063 <p style="margin-left: 0.55in; text-indent: -0.3in;"><strong><span style="font-size: 14pt;">3.7.</span></strong><strong><span style="font-size: 7pt;"> </span></strong><strong><span style="font-size: 14pt;"> <a name="TeubnerStreyModel"></a>Teubner Strey (Model)</span></strong></p> 5063 5064 <p style="margin-left: 0.25in;">This function calculates the scattered intensity of a two-component system using the Teubner-Strey model.</p> 5064 5065 <p style="margin-left: 0.25in;"><strong><span style="font-size: 14pt;"> </span></strong></p> -
sansview/default_categories.p
r8e24480 r657e52c 211 211 I01 212 212 tp107 213 a(S'MassSurfaceFractal' 214 p108 215 I01 216 tp109 217 a(S'Core2ndMomentModel' 218 p110 219 I01 220 tp111 221 a(S'RPA10Model' 222 p112 223 I01 224 tp113 225 a(S'TwoLorentzianModel' 226 p114 227 I01 228 tp115 229 a(S'DebyeModel' 230 p116 231 I01 232 tp117 233 a(S'MassFractalModel' 234 p118 235 I01 236 tp119 213 237 a(S'GuinierPorodModel' 214 p108215 I01216 tp109217 a(S'MassSurfaceFractal'218 p110219 I01220 tp111221 a(S'Core2ndMomentModel'222 p112223 I01224 tp113225 a(S'RPA10Model'226 p114227 I01228 tp115229 a(S'TwoLorentzianModel'230 p116231 I01232 tp117233 a(S'DebyeModel'234 p118235 I01236 tp119237 a(S'MassFractalModel'238 238 p120 239 239 I01 240 240 tp121 241 a(S'CorrLengthModel' 242 p122 243 I01 244 tp123 245 a(S'PolymerExclVolume' 246 p124 247 I01 248 tp125 249 a(S'FractalModel' 250 p126 251 I01 252 tp127 253 a(S'ReflectivityModel' 254 p128 255 I01 256 tp129 257 a(S'PeakLorentzModel' 258 p130 259 I01 260 tp131 261 a(S'BroadPeakModel' 262 p132 263 I01 264 tp133 265 a(S'ReflectivityIIModel' 266 p134 267 I01 268 tp135 269 a(S'PeakGaussModel' 270 p136 271 I01 272 tp137 273 a(S'FractalCoreShellModel' 274 p138 275 I01 276 tp139 241 277 a(S'Poly_GaussCoil' 242 p122243 I01244 tp123245 a(S'CorrLengthModel'246 p124247 I01248 tp125249 a(S'PolymerExclVolume'250 p126251 I01252 tp127253 a(S'FractalModel'254 p128255 I01256 tp129257 a(S'ReflectivityModel'258 p130259 I01260 tp131261 a(S'PeakLorentzModel'262 p132263 I01264 tp133265 a(S'BroadPeakModel'266 p134267 I01268 tp135269 a(S'ReflectivityIIModel'270 p136271 I01272 tp137273 a(S'PeakGaussModel'274 p138275 I01276 tp139277 a(S'FractalCoreShellModel'278 278 p140 279 279 I01 -
sansview/local_config.py
r9cd75d7 r657e52c 12 12 __version__ = sans.sansview.__version__ 13 13 __build__ = sans.sansview.__build__ 14 __download_page__ = 'https://sourceforge.net/projects/sansviewproject/files/' 15 __update_URL__ = 'http://sansviewproject.svn.sourceforge.net/viewvc/sansviewproject/trunk/sansview.latestversion' 14 __download_page__ = 'http://sourceforge.net/projects/sasview/files/' 15 __update_URL__ = ['svn.code.sf.net', 16 '/p/sasview/code/trunk/sansview.latestversion'] 16 17 17 18 … … 35 36 36 37 ''' 37 _homepage = "http:// danse.chem.utk.edu"38 _download = "https://sourceforge.net/projects/sansviewproject/"38 _homepage = "http://www.sasview.org" 39 _download = __download_page__ 39 40 _authors = [] 40 _paper = "http://sourceforge.net/ apps/trac/sansviewproject/report"41 _license = "mailto: sansviewproject-developers@lists.sourceforge.net"41 _paper = "http://sourceforge.net/p/sasview/tickets/" 42 _license = "mailto:help@sasview.org" 42 43 43 44 … … 47 48 test_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "test")) 48 49 49 _nist_logo = "images/nist_logo.png" 50 _umd_logo = "images/umd_logo.png" 51 _sns_logo = "images/sns_logo.png" 50 _nist_logo = os.path.join(icon_path, "nist_logo.png") 51 _umd_logo = os.path.join(icon_path, "umd_logo.png") 52 _sns_logo = os.path.join(icon_path, "sns_logo.png") 53 _isis_logo = os.path.join(icon_path, "isis_logo.png") 54 _ess_logo = os.path.join(icon_path, "ess_logo.png") 55 _ill_logo = os.path.join(icon_path, "ill_logo.png") 52 56 _nsf_logo = os.path.join(icon_path, "nsf_logo.png") 53 57 _danse_logo = os.path.join(icon_path, "danse_logo.png") … … 57 61 _sns_url = "http://neutrons.ornl.gov/" 58 62 _nsf_url = "http://www.nsf.gov" 63 _isis_url = "http://www.isis.stfc.ac.uk/" 64 _ess_url = "http://ess-scandinavia.eu/" 65 _ill_url = "http://www.ill.eu/" 59 66 _danse_url = "http://www.cacr.caltech.edu/projects/danse/release/index.html" 60 67 _inst_url = "http://www.utk.edu" -
sansview/welcome_panel.py
r0b96d74 r657e52c 95 95 "Comments? Bugs? Requests?") 96 96 send_ticket = "Send us a ticket at: " 97 send_ticket += " sansviewproject-developers@lists.sourceforge.net"97 send_ticket += "help@sasview.org" 98 98 self.hyperlink_paper = wx.lib.hyperlink.HyperLinkCtrl(self, -1, 99 99 send_ticket, URL=config._license)
Note: See TracChangeset
for help on using the changeset viewer.