Changeset 9d31a8b in sasview for sansview/perspectives/fitting/fitpage1D.py
- Timestamp:
- Oct 17, 2008 4:25:40 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:
- d4f7262
- Parents:
- 49815a2
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sansview/perspectives/fitting/fitpage1D.py
rbcd6d51 r9d31a8b 39 39 40 40 41 def __init__(self, parent, *args, **kwargs):41 def __init__(self, parent,data, *args, **kwargs): 42 42 wx.Panel.__init__(self, parent, *args, **kwargs) 43 43 """ … … 55 55 self.DataSource = wx.TextCtrl(self, -1,size=(_BOX_WIDTH,20)) 56 56 self.DataSource.SetToolTipString("name of data to fit") 57 self.DataSource.SetValue(str(data.name)) 57 58 self.modelbox = wx.ComboBox(self, -1) 58 59 id = wx.NewId() … … 83 84 ix += 1 84 85 self.sizer3.Add(self.modelbox,(iy,ix),(1,1), wx.EXPAND|wx.ADJUST_MINSIZE, 0) 85 ix = 1 86 iy = 1 87 self.text4_1 = wx.StaticText(self, -1, 'Min') 88 self.sizer4.Add(self.text4_1,(iy, ix),(1,1),\ 89 wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 15) 90 self.text4_1.Hide() 91 ix += 2 92 self.text4_2 = wx.StaticText(self, -1, 'Max') 93 self.sizer4.Add(self.text4_2,(iy, ix),(1,1),\ 94 wx.EXPAND|wx.ADJUST_MINSIZE, 0) 95 self.text4_2.Hide() 86 96 87 ix = 0 97 88 iy += 1 … … 100 91 self.sizer4.Add(self.text4_3,(iy,ix),(1,1),\ 101 92 wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 15) 102 self.text4_3.Hide()93 103 94 ix += 1 95 self.text4_1 = wx.StaticText(self, -1, 'Min') 96 self.sizer4.Add(self.text4_1,(iy, ix),(1,1),\ 97 wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 15) 98 99 ix += 2 100 self.text4_2 = wx.StaticText(self, -1, 'Max') 101 self.sizer4.Add(self.text4_2,(iy, ix),(1,1),\ 102 wx.EXPAND|wx.ADJUST_MINSIZE, 0) 103 ix = 0 104 iy += 1 105 self.text4_4 = wx.StaticText(self, -1, 'x range') 106 self.sizer4.Add(self.text4_4,(iy, ix),(1,1),\ 107 wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 15) 108 ix += 1 109 104 110 self.xmin = wx.TextCtrl(self, -1,size=(_BOX_WIDTH,20)) 111 self.xmin.SetValue(format_number(numpy.min(data.x))) 105 112 self.xmin.SetToolTipString("Minimun value of x in linear scale.") 106 113 self.sizer4.Add(self.xmin,(iy, ix),(1,1), wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 0) 107 114 self.xmin.Bind(wx.EVT_KILL_FOCUS, self._onTextEnter) 108 115 self.xmin.Bind(wx.EVT_TEXT_ENTER, self._onTextEnter) 109 self.xmin.Hide()116 110 117 ix += 2 111 118 self.xmax = wx.TextCtrl(self, -1,size=(_BOX_WIDTH,20)) 119 self.xmax.SetValue(format_number(numpy.max(data.x))) 112 120 self.xmax.SetToolTipString("Maximum value of x in linear scale.") 113 121 self.sizer4.Add(self.xmax,(iy,ix),(1,1), wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 0) 114 122 self.xmax.Bind(wx.EVT_KILL_FOCUS, self._onTextEnter) 115 123 self.xmax.Bind(wx.EVT_TEXT_ENTER, self._onTextEnter) 116 self.xmax.Hide()124 117 125 #Set chisqr result into TextCtrl 118 126 ix = 0 … … 136 144 # model on which the fit would be performed 137 145 self.model=None 138 # preview selected model name 139 self.prevmodel_name=None 140 # flag to check if the user has selected a new model in the combox box 141 self.model_hasChanged=False 142 146 147 143 148 #dictionary of model name and model class 144 149 self.model_list_box={} 145 # comparison between 2 group_id for checking data changes 146 self.prev_group_id= None 147 148 self.data=None 150 151 self.data=data 149 152 self.vbox.Layout() 153 self.GrandParent.GetSizer().Layout() 150 154 self.vbox.Fit(self) 151 155 self.SetSizer(self.vbox) 152 156 self.Centre() 157 153 158 154 159 … … 168 173 self.manager = manager 169 174 170 171 def _DataNameEnter(self):172 """173 reset the panel when a new data is selected174 """175 if len(self.parameters )>0:176 for item in self.parameters:177 item[0].SetValue(False)178 wx.EVT_CHECKBOX(self, item[0].GetId(), self.select_param)179 item[2].Hide()180 item[3].Clear()181 item[3].Hide()182 self.xmax.Disable()183 self.xmin.Disable()184 self.text1_1.Hide()185 self.tcChi.Clear()186 self.vbox.Layout()187 self.GrandParent.GetSizer().Layout()188 189 190 175 191 176 def onClose(self,event): … … 322 307 return flag 323 308 324 325 326 def set_data_name(self,dataset): 327 """ 328 set data's name.if data has changed reset the panel and xmin and xmax 329 @param name: data 's name 330 @attention: still haven't find a better way to display Q name and unit 331 for xmin and xmax range sizer 332 """ 333 334 if self.prev_group_id !=dataset.group_id: 335 self._DataNameEnter() 336 self.data = dataset 337 self.prev_group_id=dataset.group_id 338 #Displaying Data information 339 self.DataSource.SetValue(str(dataset.name)) 340 self._xaxis,self._xunit=dataset.get_xaxis() 341 self.text4_3.SetLabel(self._xaxis+"["+self._xunit+"]") 342 self.text4_1.Show() 343 self.text4_2.Show() 344 self.text4_3.Show() 345 346 self.xmin.SetValue(format_number(min(dataset.x))) 347 self.xmin.Show() 348 self.xmax.SetValue(format_number(max(dataset.x))) 349 self.xmax.Show() 350 351 if ((len(self.param_toFit ) >0) and self.DataSource.GetValue()and \ 352 self.modelbox.GetValue() and (self.model_hasChanged ==False)): 353 self.xmin.Enable() 354 self.xmax.Enable() 355 else: 356 self.xmin.Disable() 357 self.xmax.Disable() 358 359 self.vbox.Layout() 360 self.GrandParent.GetSizer().Layout() 361 362 363 def set_model_name(self,name): 364 """ 365 set model name. set also self.model_hasChanged to true is the model 366 type has changed or false if it didn't 367 @param name: model 's name 368 """ 369 self.model_hasChanged=False 370 if (name != self.prevmodel_name): 371 self.model_hasChanged=True 372 self.tcChi.Clear() 373 #self.modelbox.SetValue(str(name)) 374 self.prevmodel_name=self.modelbox.GetValue() 375 376 309 377 310 def get_model_box(self): 378 311 """ return reference to combox box self.model""" … … 470 403 self.text2_4.Hide() 471 404 #Disable or enable fit button 472 if (self.modelbox.GetValue() and self.DataSource.GetValue()): 473 if not (len(self.param_toFit ) >0): 474 self.xmin.Disable() 475 self.xmax.Disable() 476 else: 477 self.xmin.Enable() 478 self.xmax.Enable() 479 else: 405 406 if not (len(self.param_toFit ) >0): 480 407 self.xmin.Disable() 481 408 self.xmax.Disable() 482 409 else: 410 self.xmin.Enable() 411 self.xmax.Enable() 412 483 413 self.compute_chisqr() 484 414 self.vbox.Layout() … … 522 452 list= [item[0],item[1],item[2],item[3]] 523 453 self.param_toFit.append(list ) 524 if (self.modelbox.GetValue() and self.DataSource.GetValue()):525 526 527 528 529 530 454 455 if not (len(self.param_toFit ) >0): 456 self.xmin.Disable() 457 self.xmax.Disable() 458 else: 459 self.xmin.Enable() 460 self.xmax.Enable() 531 461 else: 532 462 for item in self.parameters: … … 555 485 else: 556 486 self.cb1.SetValue(False) 557 if (self.modelbox.GetValue() and self.DataSource.GetValue()): 558 if not (len(self.param_toFit ) >0): 559 self.xmin.Disable() 560 self.xmax.Disable() 561 else: 562 self.xmin.Enable() 563 self.xmax.Enable() 564 else: 487 488 if not (len(self.param_toFit ) >0): 565 489 self.xmin.Disable() 566 490 self.xmax.Disable() 491 else: 492 self.xmin.Enable() 493 self.xmax.Enable() 494 567 495 568 496
Note: See TracChangeset
for help on using the changeset viewer.