Changeset 6bcdad1 in sasview for sansview/perspectives/fitting
- Timestamp:
- Dec 18, 2008 12:06:39 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:
- ab8f936
- Parents:
- c48060c
- Location:
- sansview/perspectives/fitting
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
sansview/perspectives/fitting/fitpanel.py
rf39511b r6bcdad1 47 47 self.page_name=None 48 48 self.model_page=None 49 # increment number for model name 50 self.count=0 49 51 #updating the panel 50 52 self.nb.Update() … … 83 85 name = 'Fit' 84 86 if self.fit_page_name != name: 87 self.count +=1 85 88 if data.__class__.__name__=='Data2D': 86 89 from fitpage2D import FitPage2D 87 90 panel = FitPage2D(self.nb,data, -1) 91 88 92 else: 89 93 90 94 from fitpage1D import FitPage1D 91 95 panel = FitPage1D(self.nb,data, -1) 92 96 m_name= "M"+str(self.count) 93 97 panel.set_manager(self.manager) 94 98 panel.set_owner(self.event_owner) … … 97 101 panel.populate_box( self.model_list_box) 98 102 self.fit_page_name = name 99 return panel 103 return panel,m_name 100 104 101 105 def _help_add_model_page(self,model,description,page_title): … … 119 123 """ 120 124 if self.draw_model_name ==None: 121 # or self.draw_model_name !=page_title: 122 #print "removing the prevois model page ",self.model_page, self.model_page_number 123 #self.onClose(self.model_page, self.model_page_number) 125 124 126 self._help_add_model_page(model,description,page_title) 125 127 else: 126 128 if self.draw_model_name !=page_title: 127 129 self.onClose(self.model_page, self.model_page_number) 128 #print "removing the prevois model page ",self.model_page, self.model_page_number129 130 self._help_add_model_page(model,description,page_title) 130 """ 131 if self.draw_model_name ==None : 132 133 from modelpage import ModelPage 134 panel = ModelPage(self.nb,model, -1) 135 panel.set_manager(self.manager) 136 panel.set_owner(self.event_owner) 137 self.nb.AddPage(page=panel,text=page_title,select=True) 138 panel.populate_box( self.model_list_box) 139 self.draw_model_name=page_title 140 self.model_page_number = self.nb.GetPage(self.nb.GetSelection()) 141 print "model page",self.model_page_number,self.nb.GetSelection() 142 else: 143 for i in range(self.nb.GetPageCount()): 144 if self.nb.GetPageText(i)==self.page_name: 145 page=self.nb.GetPage(i) 146 page.set_page(model,description) 147 break 148 """ 149 131 150 132 151 133 def get_notebook(self): … … 178 160 """ @return the page just selected by the user """ 179 161 return self.nb.GetPage(self.nb.GetSelection()) 162 163 164 def get_page_number(self): 165 return self.nb.GetSelection() 180 166 181 167 def onClose(self, page=None,page_number=None): … … 207 193 if self.nb.GetPageText(page_number)== self.page_name: 208 194 self.draw_model_name=None 209 195 210 196 selected_page.Destroy() 211 197 self.nb.RemovePage(page_number) 212 #self. name=None198 #self.count =self.count -1 213 199 self.fit_page_name=None 214 200 except: -
sansview/perspectives/fitting/fitproblem.py
r8e81af0 r6bcdad1 21 21 self.schedule=0 22 22 self.list_param=[] 23 23 self.name_per_page=None 24 def save_model_name(self, name): 25 self.name_per_page= name 26 def get_name(self): 27 return self.name_per_page 24 28 def set_model(self,model,name): 25 29 """ … … 93 97 """ 94 98 self.schedule=schedule 99 95 100 def get_scheduled(self): 96 101 """ return true or false if a problem as being schedule for fitting""" -
sansview/perspectives/fitting/fitting.py
rc48060c r6bcdad1 157 157 #find a name for the page created for notebook 158 158 try: 159 page = self.fit_panel.add_fit_page(item)159 page, model_name = self.fit_panel.add_fit_page(item) 160 160 # add data associated to the page created 161 161 … … 164 164 #create a fitproblem storing all link to data,model,page creation 165 165 self.page_finder[page]= FitProblem() 166 self.page_finder[page].save_model_name(model_name) 166 167 self.page_finder[page].add_data(item) 167 168 except: … … 442 443 sim_page=self.fit_panel.get_page(0) 443 444 current_pg = self.fit_panel.get_current_page() 445 selected_page = self.fit_panel.get_selected_page() 444 446 if current_pg != sim_page: 445 447 current_pg.set_panel(model) 446 448 model.name = self.page_finder[current_pg].get_name() 447 449 try: 448 450 metadata=self.page_finder[current_pg].get_data() 449 M_name= "M"+str(self.index_model)+"= "+name+"("+metadata.group_id+")"451 M_name=model.name+"= "+name+"("+metadata.group_id+")" 450 452 except: 451 M_name= "M"+str(self.index_model)+"= "+name452 model.name="M"+str(self.index_model)453 M_name=model.name+"= "+name 454 #model.name="M"+str(self.index_model) 453 455 self.index_model += 1 454 456 # save model name 457 458 # save the name containing the data name with the appropriate model 455 459 self.page_finder[current_pg].set_model(model,M_name) 456 460 self.plot_helper(currpage= current_pg,qmin= None,qmax= None) … … 486 490 if data!=None and data.__class__.__name__ != 'Data2D': 487 491 theory = Theory1D(x=[], y=[]) 488 theory.name = "Model"492 theory.name = model.name 489 493 theory.group_id = data.group_id 490 494 theory.id = "Model" 491 495 x_name, x_units = data.get_xaxis() 492 496 y_name, y_units = data.get_yaxis() … … 528 532 else: 529 533 theory=Data2D(data.data, data.err_data) 530 534 theory.name= model.name 535 theory.id= "Model" 536 theory.group_id= "Model"+data.name 531 537 theory.x_bins= data.x_bins 532 538 theory.y_bins= data.y_bins … … 560 566 theory.ymax= ymax 561 567 562 wx.PostEvent(self.parent, NewPlotEvent(plot=theory, title="Analytical model")) 568 wx.PostEvent(self.parent, NewPlotEvent(plot=theory, 569 title="Analytical model %s"%str(data.name))) 563 570 564 571 … … 605 612 new_plot = Theory1D(x, y) 606 613 #new_plot.name = model.name 607 new_plot.name = "Model"614 new_plot.name = model.name 608 615 new_plot.xaxis("\\rm{Q}", 'A^{-1}') 609 616 new_plot.yaxis("\\rm{Intensity} ","cm^{-1}") 610 611 new_plot.group_id =" Fitness"617 new_plot.id = "Model" 618 new_plot.group_id ="Model" 612 619 wx.PostEvent(self.parent, NewPlotEvent(plot=new_plot, title="Analytical model 1D")) 613 620 … … 621 628 new_plot = Theory1D(x, y) 622 629 new_plot.name = model.name 623 #new_plot.name = "Model"624 630 new_plot.xaxis("\\rm{Q}", 'A^{-1}') 625 631 new_plot.yaxis("\\rm{Intensity} ","cm^{-1}") 626 627 new_plot.group_id ="Fitness" 628 wx.PostEvent(self.parent, NewPlotEvent(plot=new_plot, title="Analytical model 1D")) 632 new_plot.id ="Model" 633 new_plot.group_id ="Model" 634 wx.PostEvent(self.parent, NewPlotEvent(plot=new_plot, 635 title="Analytical model 1D %s"%str(model.name) )) 629 636 630 637 except: … … 686 693 687 694 688 695 689 696 theory= Data2D(data) 690 theory.group_id =str(model.name)+" 2D" 697 theory.name= model.name 698 theory.group_id ="Model" 699 theory.id ="Model" 691 700 theory.xmin= qmin 692 701 theory.xmax= qmax 693 702 theory.ymin= qmin 694 703 theory.ymax= qmax 695 wx.PostEvent(self.parent, NewPlotEvent(plot=theory, title="Analytical model 2D")) 704 wx.PostEvent(self.parent, NewPlotEvent(plot=theory, 705 title="Analytical model 2D %s" %str(model.name))) 696 706 697 707 -
sansview/perspectives/fitting/simfitpage.py
r3aae6b6 r6bcdad1 146 146 @param delpage: the page removed 147 147 """ 148 print "self.model_list",self.model_list 149 150 self.model_list=[] 151 self.model_toFit=[] 148 152 self.sizer1.Clear(True) 153 154 self.cb1.SetValue(False) 149 155 ix = 0 150 156 iy = 1 151 for item in self.model_list: 157 list=[] 158 for page, value in self.page_finder.iteritems(): 152 159 try: 153 # redraw the panel without the name of the model associated154 # with the page to delete155 if not delpage in item:156 #print "simfitpage: redraw modelname",item[3]157 cb = wx.CheckBox(self, -1, item[3], (10, 10))160 if page!= delpage: 161 list = value.get_model() 162 model = list[0] 163 modelname = list[1] 164 cb = wx.CheckBox(self, -1, modelname, (10, 10)) 158 165 cb.SetValue(False) 159 166 self.sizer1.Add( cb,( iy,ix),(1,1), wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 15) … … 161 168 iy += 1 162 169 wx.EVT_CHECKBOX(self, cb.GetId(), self.select_model_name) 163 else: 164 # if the page to delete in item remove it from the model list 165 self.model_list.remove(item) 170 self.model_list.append([cb,value,page,modelname]) 166 171 except: 167 wx.PostEvent(self.parent.GrandParent, StatusEvent(status="Page deletion Error: %s" % sys.exc_value)) 168 172 #wx.PostEvent(self.parent.GrandParent, StatusEvent(status="Simultaneous fit: %s doesn't have a model selected yet %s" % \ 173 #(value.get_data().group_id,sys.exc_value))) 174 pass 175 iy +=1 176 self.sizer1.Add((20,20),( iy,ix),(1,1), wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 15) 169 177 self.sizer1.Layout() 170 178 self.vbox.Layout() 171 172 179 173 180 def select_model_name(self,event):
Note: See TracChangeset
for help on using the changeset viewer.