Changeset 4ec7089 in sasview for src/sas/sasgui/perspectives
- Timestamp:
- Nov 9, 2016 6:57:37 AM (8 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, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- 64c7f39
- Parents:
- 3d8c49a (diff), 61a2a0c (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. - Location:
- src/sas/sasgui/perspectives
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/sasgui/perspectives/calculator/model_editor.py
rcf1910f ra08b89b 632 632 self.reader = None 633 633 self.name = 'untitled' 634 self.overwrite_name = True634 self.overwrite_name = False 635 635 self.is_2d = False 636 636 self.fname = None … … 684 684 name_txt = wx.StaticText(self, -1, 'Function Name : ') 685 685 overwrite_cb = wx.CheckBox(self, -1, "Overwrite existing plugin model of this name?", (10, 10)) 686 overwrite_cb.SetValue( True)686 overwrite_cb.SetValue(False) 687 687 overwrite_cb.SetToolTipString("Overwrite it if already exists?") 688 688 wx.EVT_CHECKBOX(self, overwrite_cb.GetId(), self.on_over_cb) 689 #overwrite_cb.Show(False)690 689 self.name_tcl = wx.TextCtrl(self, -1, size=(PANEL_WIDTH * 3 / 5, -1)) 691 690 self.name_tcl.Bind(wx.EVT_TEXT_ENTER, self.on_change_name) 692 self.name_tcl.SetValue(' MyFunction')691 self.name_tcl.SetValue('') 693 692 self.name_tcl.SetFont(self.font) 694 693 hint_name = "Unique Model Function Name." … … 947 946 # First check for valid python name then if the name already exists 948 947 if not name or not bool(re.match('^[A-Za-z0-9_]*$', name)): 949 msg = "is not a valid python name. Name must not be empty and \n" 948 msg = '"%s" '%name 949 msg += "is not a valid model name. Name must not be empty and \n" 950 950 msg += "may include only alpha numeric or underline characters \n" 951 951 msg += "and no spaces" … … 1152 1152 1153 1153 _TreeLocation = "user/sasgui/perspectives/fitting/fitting_help.html" 1154 _PageAnchor = "# New_Plugin_Model"1154 _PageAnchor = "#new-plugin-model" 1155 1155 _doc_viewer = DocumentationWindow(self, -1, _TreeLocation, _PageAnchor, 1156 1156 "Plugin Model Editor Help") -
src/sas/sasgui/perspectives/fitting/basepage.py
rc8e1996 r3d8c49a 1157 1157 category_pos = int(state.categorycombobox) 1158 1158 except: 1159 state.formfactorcombobox = state.formfactorcombobox.lower() 1160 state.formfactorcombobox = \ 1161 state.formfactorcombobox.replace('model', '') 1162 state.formfactorcombobox = unicode(state.formfactorcombobox) 1159 if state.formfactorcombobox is not None: 1160 state._convert_to_sasmodels() 1163 1161 state.categorycombobox = unicode(state.categorycombobox) 1164 1162 if state.categorycombobox in self.categorybox.Items: … … 1528 1526 index_data = ((self.qmin_x <= self.data.x) & 1529 1527 (self.data.x <= self.qmax_x)) 1530 val = str(len( self.data.x[index_data is True]))1528 val = str(len([index_data is True])) 1531 1529 self.Npts_fit.SetValue(val) 1532 1530 else: -
src/sas/sasgui/perspectives/fitting/pagestate.py
rc8e1996 r3d8c49a 355 355 obj.saved_states[copy_name] = copy_state 356 356 return obj 357 358 def _convert_to_sasmodels(self): 359 """ 360 Convert parameters to a form usable by sasmodels converter 361 362 :return: None 363 """ 364 from sasmodels import convert 365 # Create conversion dictionary to send to sasmodels 366 p = dict() 367 for fittable, name, value, _, uncert, lower, upper, units in \ 368 self.parameters: 369 if not value: 370 value = numpy.nan 371 if not uncert or uncert[1] == '': 372 uncert[0] = False 373 uncert[1] = numpy.nan 374 if not upper or upper[1] == '': 375 upper[0] = False 376 upper[1] = numpy.nan 377 if not lower or lower[1] == '': 378 lower[0] = False 379 lower[1] = numpy.nan 380 p[name] = { 381 "fittable" : bool(fittable), 382 "value" : float(value), 383 "std" : float(uncert[1]), 384 "upper" : float(upper[1]), 385 "lower" : float(lower[1]), 386 "units" : units, 387 } 388 name, params = convert.convert_model(self.formfactorcombobox, p) 389 390 # Only convert if old != new, otherwise all the same 391 if name != self.formfactorcombobox: 392 self.formfactorcombobox = name 393 self.parameters = [] 394 for name, info in params.iteritems(): 395 if info.get("std") is not numpy.nan: 396 std = ['True', str(info.get("std"))] 397 else: 398 std = ['False', ''] 399 if info.get("lower") is not numpy.nan: 400 lower = ['True', str(info.get("lower"))] 401 else: 402 lower = ['False', ''] 403 if info.get("upper") is not numpy.nan: 404 upper = ['True', str(info.get("upper"))] 405 else: 406 upper = ['False', ''] 407 param_list = [info.get("fittable"), name, info.get("value"), 408 "+/-", std, lower, upper] 409 self.parameters.append(param_list) 410 357 411 358 412 def _repr_helper(self, list, rep):
Note: See TracChangeset
for help on using the changeset viewer.