Changeset 060b857 in sasview for sansview/perspectives/fitting


Ignore:
Timestamp:
Sep 8, 2008 12:14:08 PM (16 years ago)
Author:
Gervaise Alina <gervyh@…>
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:
bee885e
Parents:
c8c5b9a
Message:

model view added

Location:
sansview/perspectives/fitting
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • sansview/perspectives/fitting/fitpanel.py

    r1b07935d r060b857  
    5050        # save the title of the last page tab added 
    5151        self.fit_page_name=None 
    52         self.draw_model_name=[] 
     52        self.draw_model_name=None 
     53        self.page_name="Model View" 
    5354        self.nb.Update() 
    5455        self.SetSizer(self.sizer) 
     
    9091            return panel 
    9192    def add_model_page(self,model,page_title): 
    92         if not  page_title in self.draw_model_name:  
     93        print "fitpanel: self.draw_model_name",self.draw_model_name 
     94        if  page_title !=self.draw_model_name or self.draw_model_name ==None:  
     95            print "went here" 
    9396            from modelpage import ModelPage 
    9497            panel = ModelPage(self.nb,model, -1) 
     
    97100            self.nb.AddPage(page=panel,text=page_title,select=True) 
    98101            panel.populate_box( self.model_list_box) 
    99             self.draw_model_name.append(page_title) 
     102            self.draw_model_name=page_title 
     103        else: 
     104            print "fitpanel: a page was added already " 
     105            for i in range(self.nb.GetPageCount()): 
     106                if self.nb.GetPageText(i)==self.page_name: 
     107                    page=self.nb.GetPage(i) 
     108                    page.set_page(model) 
     109                    break 
     110                 
    100111            
    101112   
     
    147158                    del page_finder[page] 
    148159                    break 
    149             #delete the page from notebook 
     160            #Delete the page from notebook 
     161            page_number = self.nb.GetSelection() 
     162            if self.nb.GetPageText(page_number)== self.page_name: 
     163                self.draw_model_name=None 
     164                 
    150165            selected_page.Destroy() 
    151             self.nb.RemovePage(self.nb.GetSelection()) 
     166            self.nb.RemovePage(page_number) 
    152167            self.name=None 
    153168             
  • sansview/perspectives/fitting/fitting.py

    r1b07935d r060b857  
    234234            self.plot_helper(currpage=current_pg,qmin=qmin,qmax=qmax) 
    235235        except: 
    236              wx.PostEvent(self.parent, StatusEvent(status="Fitting error: %s" % sys.exc_value)) 
     236            raise 
     237            wx.PostEvent(self.parent, StatusEvent(status="Fitting error: %s" % sys.exc_value)) 
    237238             
    238239        
     
    352353                #print "fitting: pars",pars 
    353354                pars.sort() 
    354                  
    355                 self.fitter.set_model(model,model.name, self.id, pars)  
     355                print "fitting: model ",model.__class__.__name__ 
     356                self.fitter.set_model(Model(model),model.name, self.id, pars)  
    356357                self.fitter.set_data(data,self.id,qmin,qmax) 
    357358                #Do the fit SCIPY 
     
    543544            Plot a theory from a model selected from the menu 
    544545        """ 
     546        print "_on_model_menu done" 
    545547        #name = evt.model.__class__.__name__ 
    546548        name="Model View" 
  • sansview/perspectives/fitting/modelpage.py

    r1b07935d r060b857  
    4949        #panel interface 
    5050        self.vbox  = wx.BoxSizer(wx.VERTICAL) 
    51         
    5251        self.sizer3 = wx.GridBagSizer(5,5) 
    5352        self.sizer2 = wx.GridBagSizer(5,5) 
    54         
    5553        self.modelbox = wx.ComboBox(self, -1) 
    5654        id = wx.NewId() 
    57         
    5855        self.vbox.Add(self.sizer3) 
    5956        self.vbox.Add(self.sizer2) 
    60        
    6157        ix = 0 
    6258        iy = 1 
    63          
    6459        self.sizer3.Add(wx.StaticText(self,-1,'Model'),(iy,ix),(1,1)\ 
    6560                  , wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 15) 
    6661        ix += 1 
    6762        self.sizer3.Add(self.modelbox,(iy,ix),(1,1),  wx.EXPAND|wx.ADJUST_MINSIZE, 0) 
    68         
    6963        # contains link between  model ,all its parameters, and panel organization 
    7064        self.parameters=[] 
     
    7973        # flag to check if the user has selected a new model in the combox box 
    8074        self.model_hasChanged=False 
    81         
    8275        #dictionary of model name and model class 
    8376        self.model_list_box={} 
    8477        # Data1D to make a deep comparison between 2 Data1D for checking data 
    8578        #change 
    86         
    8779        self.vbox.Layout() 
    8880        self.vbox.Fit(self)  
     
    124116            wx.EVT_COMBOBOX(self.modelbox,-1, self._on_select_model)  
    125117        return 0 
    126      
    127      
     118    
     119    def set_page(self, model): 
     120        print " modelpage: set_page was called",model 
     121        self.model=model 
     122        if hasattr(self.model, "name"): 
     123            name = self.model.name 
     124        else: 
     125            name = self.model.__class__.__name__ 
     126        self.modelbox.SetValue(name) 
     127        self.set_panel(self.model) 
     128        self.manager.draw_model(self.model) 
    128129    def _on_select_model(self,event): 
    129130        """ 
     
    191192        iy = 1 
    192193        ix = 0 
     194         
    193195        self.cb1 = wx.StaticText(self, -1,'Parameters') 
    194196        self.sizer2.Add(self.cb1,(iy, ix),(1,1),\ 
     
    246248            for item in self.parameters: 
    247249                try: 
    248                      name=str(item[0]) 
     250                     name=str(item[0].GetLabelText()) 
    249251                     value= float(item[1].GetValue()) 
    250                       
     252                     print "modelpage: name. value",name , value 
    251253                     self.model.setParam(name,value) 
    252254                     self.manager.draw_model(self.model) 
  • sansview/perspectives/fitting/models.py

    rd89f09b r060b857  
    44 
    55(ModelEvent, EVT_MODEL) = wx.lib.newevent.NewEvent() 
     6 
    67 
    78 
Note: See TracChangeset for help on using the changeset viewer.