Changeset 780d095 in sasview for sansview/perspectives/fitting/modelpage.py
- Timestamp:
- Apr 14, 2009 6:27:50 PM (15 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:
- ac166e9c
- Parents:
- fff74cb
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sansview/perspectives/fitting/modelpage.py
r2a5bba7 r780d095 122 122 self.fittable_param=[] 123 123 self.fixed_param=[] 124 self.orientation_params=[] 124 125 125 126 self.sizer4_4.Clear(True) … … 136 137 self._disp_obj_dict[item] = disp_model 137 138 self.model.set_dispersion(item, disp_model) 138 139 140 139 ix=0 141 140 iy=1 … … 154 153 self.sizer4_4.Add(nsigmas,( iy, ix),(1,1), wx.EXPAND|wx.ADJUST_MINSIZE, 0) 155 154 156 157 155 for item in self.model.dispersion.keys(): 158 159 self.disp_cb_dict[item]= None 160 name1=item+".width" 161 name2=item+".npts" 162 name3=item+".nsigmas" 163 iy += 1 164 for p in self.model.dispersion[item].keys(): 165 if p=="width": 166 ix = 0 167 name = wx.StaticText(self, -1, name1) 168 self.sizer4_4.Add( name,( iy, ix),(1,1), 169 wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 15) 170 ix = 1 171 value= self.model.getParam(name1) 172 ctl1 = wx.TextCtrl(self, -1, size=(_BOX_WIDTH,20), 173 style=wx.TE_PROCESS_ENTER) 174 175 ctl1.SetValue(str (format_number(value))) 176 ctl1.Bind(wx.EVT_SET_FOCUS, self.onSetFocus) 177 ctl1.Bind(wx.EVT_KILL_FOCUS, self._onparamEnter) 178 ctl1.Bind(wx.EVT_TEXT_ENTER,self._onparamEnter) 179 self.sizer4_4.Add(ctl1, (iy,ix),(1,1), wx.EXPAND) 180 181 self.fittable_param.append([None,name1,ctl1,None, 182 None, None, None,None]) 183 184 elif p=="npts": 185 ix =2 186 value= self.model.getParam(name2) 187 Tctl1 = wx.TextCtrl(self, -1, size=(_BOX_WIDTH/2,20), 156 if not item in self.model.orientation_params: 157 self.disp_cb_dict[item]= None 158 name1=item+".width" 159 name2=item+".npts" 160 name3=item+".nsigmas" 161 iy += 1 162 for p in self.model.dispersion[item].keys(): 163 if p=="width": 164 ix = 0 165 name = wx.StaticText(self, -1, name1) 166 self.sizer4_4.Add( name,( iy, ix),(1,1), 167 wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 15) 168 ix = 1 169 value= self.model.getParam(name1) 170 ctl1 = wx.TextCtrl(self, -1, size=(_BOX_WIDTH,20), 188 171 style=wx.TE_PROCESS_ENTER) 189 190 Tctl1.SetValue(str (format_number(value))) 191 Tctl1.Bind(wx.EVT_SET_FOCUS, self.onSetFocus) 192 Tctl1.Bind(wx.EVT_KILL_FOCUS, self._onparamEnter) 193 Tctl1.Bind(wx.EVT_TEXT_ENTER,self._onparamEnter) 194 self.sizer4_4.Add(Tctl1, (iy,ix),(1,1), 195 wx.EXPAND|wx.ADJUST_MINSIZE, 0) 196 197 self.fixed_param.append([None,name2, Tctl1,None,None, 198 None, None,None]) 199 200 elif p=="nsigmas": 201 202 ix =3 203 value= self.model.getParam(name3) 204 Tctl2 = wx.TextCtrl(self, -1, size=(_BOX_WIDTH/2,20), 172 ctl1.SetValue(str (format_number(value))) 173 ctl1.Bind(wx.EVT_SET_FOCUS, self.onSetFocus) 174 ctl1.Bind(wx.EVT_KILL_FOCUS, self._onparamEnter) 175 ctl1.Bind(wx.EVT_TEXT_ENTER,self._onparamEnter) 176 self.sizer4_4.Add(ctl1, (iy,ix),(1,1), wx.EXPAND) 177 self.fittable_param.append([None,name1,ctl1,None, 178 None, None, None,None]) 179 elif p=="npts": 180 ix =2 181 value= self.model.getParam(name2) 182 Tctl1 = wx.TextCtrl(self, -1, size=(_BOX_WIDTH/2,20), 183 style=wx.TE_PROCESS_ENTER) 184 Tctl1.SetValue(str (format_number(value))) 185 Tctl1.Bind(wx.EVT_SET_FOCUS, self.onSetFocus) 186 Tctl1.Bind(wx.EVT_KILL_FOCUS, self._onparamEnter) 187 Tctl1.Bind(wx.EVT_TEXT_ENTER,self._onparamEnter) 188 self.sizer4_4.Add(Tctl1, (iy,ix),(1,1), 189 wx.EXPAND|wx.ADJUST_MINSIZE, 0) 190 self.fixed_param.append([None,name2, Tctl1,None,None, 191 None, None,None]) 192 elif p=="nsigmas": 193 ix =3 194 value= self.model.getParam(name3) 195 Tctl2 = wx.TextCtrl(self, -1, size=(_BOX_WIDTH/2,20), 196 style=wx.TE_PROCESS_ENTER) 197 Tctl2.SetValue(str (format_number(value))) 198 Tctl2.Bind(wx.EVT_SET_FOCUS, self.onSetFocus) 199 Tctl2.Bind(wx.EVT_KILL_FOCUS, self._onparamEnter) 200 Tctl2.Bind(wx.EVT_TEXT_ENTER,self._onparamEnter) 201 self.sizer4_4.Add(Tctl2, (iy,ix),(1,1), 202 wx.EXPAND|wx.ADJUST_MINSIZE, 0) 203 ix +=1 204 self.sizer4_4.Add((20,20), (iy,ix),(1,1), 205 wx.EXPAND|wx.ADJUST_MINSIZE, 0) 206 self.fixed_param.append([None,name3, Tctl2, 207 None,None, None, None,None]) 208 for item in self.model.dispersion.keys(): 209 if item in self.model.orientation_params: 210 self.disp_cb_dict[item]= None 211 name1=item+".width" 212 name2=item+".npts" 213 name3=item+".nsigmas" 214 iy += 1 215 for p in self.model.dispersion[item].keys(): 216 if p=="width": 217 ix = 0 218 name = wx.StaticText(self, -1, name1) 219 self.sizer4_4.Add( name,( iy, ix),(1,1), 220 wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 15) 221 ix = 1 222 value= self.model.getParam(name1) 223 ctl1 = wx.TextCtrl(self, -1, size=(_BOX_WIDTH,20), 205 224 style=wx.TE_PROCESS_ENTER) 206 Tctl2.SetValue(str (format_number(value))) 207 Tctl2.Bind(wx.EVT_SET_FOCUS, self.onSetFocus) 208 Tctl2.Bind(wx.EVT_KILL_FOCUS, self._onparamEnter) 209 Tctl2.Bind(wx.EVT_TEXT_ENTER,self._onparamEnter) 210 self.sizer4_4.Add(Tctl2, (iy,ix),(1,1), 211 wx.EXPAND|wx.ADJUST_MINSIZE, 0) 212 ix +=1 213 self.sizer4_4.Add((20,20), (iy,ix),(1,1), 214 wx.EXPAND|wx.ADJUST_MINSIZE, 0) 215 216 self.fixed_param.append([None,name3, Tctl2, 217 None,None, None, None,None]) 218 225 ctl1.SetValue(str (format_number(value))) 226 ctl1.Bind(wx.EVT_SET_FOCUS, self.onSetFocus) 227 ctl1.Bind(wx.EVT_KILL_FOCUS, self._onparamEnter) 228 ctl1.Bind(wx.EVT_TEXT_ENTER,self._onparamEnter) 229 ctl1.Disable() 230 self.sizer4_4.Add(ctl1, (iy,ix),(1,1), wx.EXPAND) 231 self.fittable_param.append([None,name1,ctl1,None, 232 None, None, None,None]) 233 self.orientation_params.append([None,name1,ctl1,None, 234 None, None, None,None]) 235 elif p=="npts": 236 ix =2 237 value= self.model.getParam(name2) 238 Tctl1 = wx.TextCtrl(self, -1, size=(_BOX_WIDTH/2,20), 239 style=wx.TE_PROCESS_ENTER) 240 Tctl1.SetValue(str (format_number(value))) 241 Tctl1.Bind(wx.EVT_SET_FOCUS, self.onSetFocus) 242 Tctl1.Bind(wx.EVT_KILL_FOCUS, self._onparamEnter) 243 Tctl1.Bind(wx.EVT_TEXT_ENTER,self._onparamEnter) 244 Tctl1.Disable() 245 self.sizer4_4.Add(Tctl1, (iy,ix),(1,1), 246 wx.EXPAND|wx.ADJUST_MINSIZE, 0) 247 self.fixed_param.append([None,name2, Tctl1,None,None, 248 None, None,None]) 249 self.orientation_params.append([None,name2, Tctl1,None,None, 250 None, None,None]) 251 elif p=="nsigmas": 252 ix =3 253 value= self.model.getParam(name3) 254 Tctl2 = wx.TextCtrl(self, -1, size=(_BOX_WIDTH/2,20), 255 style=wx.TE_PROCESS_ENTER) 256 Tctl2.SetValue(str (format_number(value))) 257 Tctl2.Bind(wx.EVT_SET_FOCUS, self.onSetFocus) 258 Tctl2.Bind(wx.EVT_KILL_FOCUS, self._onparamEnter) 259 Tctl2.Bind(wx.EVT_TEXT_ENTER,self._onparamEnter) 260 Tctl2.Disable() 261 self.sizer4_4.Add(Tctl2, (iy,ix),(1,1), 262 wx.EXPAND|wx.ADJUST_MINSIZE, 0) 263 ix +=1 264 self.sizer4_4.Add((20,20), (iy,ix),(1,1), 265 wx.EXPAND|wx.ADJUST_MINSIZE, 0) 266 self.fixed_param.append([None,name3, Tctl2, 267 None,None, None, None,None]) 268 self.orientation_params.append([None,name3, Tctl2, 269 None,None, None, None,None]) 270 219 271 msg = " Selected Distribution: Gaussian" 220 272 wx.PostEvent(self.parent.parent, StatusEvent( status= msg )) … … 239 291 self._draw_model() 240 292 self.model_view.Disable() 241 293 for item in self.orientation_params: 294 if item[2]!=None: 295 item[2].Enable() 296 297 242 298 243 299 def reset_page(self, state): … … 354 410 self.param_toFit=[] 355 411 self.fixed_param=[] 412 self.orientation_params=[] 356 413 357 414 if model ==None: … … 366 423 367 424 keys = self.model.getParamList() 368 # list of dispersion paramaters425 ##list of dispersion parameters 369 426 self.disp_list=self.model.getDispParamList() 370 427 … … 386 443 self.text2_4.Hide() 387 444 388 389 445 for item in keys: 390 if not item in self.disp_list :446 if not item in self.disp_list and not item in self.model.orientation_params: 391 447 iy += 1 392 448 ix = 0 393 394 449 name = wx.StaticText(self, -1,item) 395 450 sizer.Add( name,( iy, ix),(1,1), 396 451 wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 15) 397 398 452 ix += 1 399 453 value= self.model.getParam(item) … … 407 461 408 462 sizer.Add(ctl1, (iy,ix),(1,1), wx.EXPAND) 409 410 463 ix +=1 411 464 # Units … … 415 468 units = wx.StaticText(self, -1, "", style=wx.ALIGN_LEFT) 416 469 sizer.Add(units, (iy,ix),(1,1), wx.EXPAND|wx.ADJUST_MINSIZE, 0) 417 418 470 ##[cb state, name, value, "+/-", error of fit, min, max , units] 419 471 self.parameters.append([None,item, ctl1, 472 None,None, None, None,None]) 473 iy+=1 474 sizer.Add((10,10),(iy,ix),(1,1), wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 15) 475 for item in self.model.orientation_params: 476 if not item in self.disp_list : 477 iy += 1 478 ix = 0 479 name = wx.StaticText(self, -1,item) 480 sizer.Add( name,( iy, ix),(1,1), 481 wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 15) 482 ix += 1 483 value= self.model.getParam(item) 484 ctl1 = wx.TextCtrl(self, -1, size=(_BOX_WIDTH,20), 485 style=wx.TE_PROCESS_ENTER) 486 487 ctl1.SetValue(str (format_number(value))) 488 ctl1.Disable() 489 ctl1.Bind(wx.EVT_SET_FOCUS, self.onSetFocus) 490 ctl1.Bind(wx.EVT_KILL_FOCUS, self._onparamEnter) 491 ctl1.Bind(wx.EVT_TEXT_ENTER,self._onparamEnter) 492 493 sizer.Add(ctl1, (iy,ix),(1,1), wx.EXPAND) 494 ix +=1 495 # Units 496 try: 497 units = wx.StaticText(self, -1, self.model.details[item][0], style=wx.ALIGN_LEFT) 498 except: 499 units = wx.StaticText(self, -1, "", style=wx.ALIGN_LEFT) 500 sizer.Add(units, (iy,ix),(1,1), wx.EXPAND|wx.ADJUST_MINSIZE, 0) 501 ##[cb state, name, value, "+/-", error of fit, min, max , units] 502 self.parameters.append([None,item, ctl1, 503 None,None, None, None,None]) 504 self.orientation_params.append([None,item, ctl1, 420 505 None,None, None, None,None]) 421 506 … … 430 515 else: 431 516 self.text2_4.Hide() 432 517 433 518 boxsizer1.Add(sizer) 434 435 519 self.sizer3.Add(boxsizer1,0, wx.EXPAND | wx.ALL, 10) 436 520 self.sizer3.Layout()
Note: See TracChangeset
for help on using the changeset viewer.