Changeset 49b7efa in sasview for sansview/perspectives/fitting/models.py
- Timestamp:
- Sep 11, 2008 3:13:32 PM (16 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:
- 388309d
- Parents:
- b30f001
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sansview/perspectives/fitting/models.py
rb30f001 r49b7efa 5 5 6 6 (ModelEvent, EVT_MODEL) = wx.lib.newevent.NewEvent() 7 class ModelInfo(object): 8 def __init__(self,model,description=None): 9 self.model=model 10 self.description=description 11 def set_description(self, descrition): 12 self.description =str(description) 13 def get_description(self): 14 return self.description 7 15 def log(message): 8 16 print message … … 52 60 ## Dictionary of models 53 61 model_list = {} 62 indep_model_list = {} 54 63 model_list_box = {} 55 64 custom_models={} 56 65 plugins=[] 66 indep_model=[] 57 67 ## Event owner 58 68 event_owner = None … … 68 78 self.model_list = {} 69 79 self.model_list_box = {} 80 model_info="shape-based models" 70 81 from sans.models.CylinderModel import CylinderModel 71 self.model_list[str(wx.NewId())] = CylinderModel82 self.model_list[str(wx.NewId())] = ModelInfo(CylinderModel , model_info) 72 83 73 84 from sans.models.SphereModel import SphereModel 74 self.model_list[str(wx.NewId())] = SphereModel85 self.model_list[str(wx.NewId())] = ModelInfo(SphereModel , model_info) 75 86 76 87 from sans.guitools.LineModel import LineModel 77 self.model_list[str(wx.NewId())] = LineModel 78 self.plugins =findModels() 88 self.model_list[str(wx.NewId())] = ModelInfo(LineModel , model_info) 89 model_info="shape-independent models" 90 from sans.models.Lorentzian import Lorentzian 91 self.indep_model.append( ModelInfo(Lorentzian , model_info) ) 79 92 80 print "models: plugings",self.plugins 93 #Looking for plugins 94 self.plugins = findModels() 95 81 96 return 0 82 97 … … 91 106 @return: the next free event ID following the new menu events 92 107 """ 93 94 108 self._getModelList() 95 109 self.event_owner = event_owner 110 96 111 shape_submenu= wx.Menu() 97 112 indep_submenu = wx.Menu() 98 113 added_models = wx.Menu() 114 99 115 for id_str,value in self.model_list.iteritems(): 100 116 item = self.model_list[id_str] 101 102 name = item.__name__ 117 name = item.model.__name__ 103 118 if hasattr(item, "name"): 104 name = item.name 105 106 self.model_list_box[name] =value 107 108 119 name = item.model.name 120 self.model_list_box[name] =value.model 109 121 shape_submenu.Append(int(id_str), name, name) 110 122 wx.EVT_MENU(event_owner, int(id_str), self._on_model) 111 123 modelmenu.AppendMenu(wx.NewId(), "Shapes...", shape_submenu, "List of shape-based models") 112 modelmenu.AppendMenu(wx.NewId(), "Shape-independent...", indep_submenu, "List of shape-independent models")113 124 114 125 id = wx.NewId() 126 if len(self.indep_model_list) == 0: 127 print "models: self.indep_model",self.indep_model 128 for item in self.indep_model: 129 if item not in self.indep_model_list.values(): 130 self.indep_model_list[str(id)] = item 131 self.model_list[str(id)]=item 132 if hasattr(item, "name"): 133 name = item.model.name 134 else: 135 name = item.model.__name__ 136 indep_submenu.Append(id,name, name) 137 self.model_list_box[name] =item.model 138 wx.EVT_MENU(event_owner, int(id), self._on_model) 139 id = wx.NewId() 140 modelmenu.AppendMenu(wx.NewId(), "Shape-independent...", indep_submenu, "List of shape-independent models") 141 model_info="additional models" 142 id = wx.NewId() 115 143 if len(self.custom_models) == 0: 116 print self.plugins117 144 for item in self.plugins: 118 if item not in self.custom_models. keys():145 if item not in self.custom_models.values(): 119 146 self.custom_models[str(id)] = item 120 self.model_list[str(id)]=item 121 added_models.Append(id, item.name, item.name) 147 148 self.model_list[str(id)]=ModelInfo(item,model_info) 149 if hasattr(item, "name"): 150 name = item.name 151 else: 152 name = item.__name__ 153 added_models.Append(id, name, name) 154 self.model_list_box[name] =item 122 155 wx.EVT_MENU(event_owner, int(id), self._on_model) 123 156 id = wx.NewId() 124 125 126 157 modelmenu.AppendMenu(wx.NewId(),"Added models...", added_models, "List of additional models") 127 128 158 129 159 … … 142 172 #evt = ModelEvent(model=self.model_list[str(evt.GetId())]()) 143 173 144 model = self.model_list[str(evt.GetId())] ()145 evt = ModelEvent(model =model)174 model = self.model_list[str(evt.GetId())] 175 evt = ModelEvent(modelinfo=model) 146 176 wx.PostEvent(self.event_owner, evt) 147 177
Note: See TracChangeset
for help on using the changeset viewer.