Changeset b28717b in sasview for sansview/perspectives


Ignore:
Timestamp:
Mar 26, 2009 11:18:19 AM (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:
8bd4dc0
Parents:
2549c1b
Message:

working on simpage

Location:
sansview/perspectives/fitting
Files:
3 edited

Legend:

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

    r2140e68 rb28717b  
    125125        """ 
    126126        from simfitpage import SimultaneousFitPage 
    127         self.sim_page = SimultaneousFitPage(self, id=-1) 
     127        page_finder= self.manager.get_page_finder() 
     128        self.sim_page = SimultaneousFitPage(self,page_finder=page_finder, id=-1) 
     129         
    128130        self.AddPage(self.sim_page,caption="Simultaneous Fit",select=True) 
    129131        self.sim_page.set_manager(self.manager) 
  • sansview/perspectives/fitting/fitting.py

    r2140e68 rb28717b  
    126126         
    127127        self.sim_page= self.fit_panel.add_sim_page() 
    128         self.sim_page.draw_page(self.page_finder) 
     128         
    129129         
    130130         
     
    787787             
    788788            if self.sim_page!=None: 
    789                 self.sim_page.draw_page(self.page_finder) 
     789                self.sim_page.draw_page() 
    790790         
    791791         
  • sansview/perspectives/fitting/simfitpage.py

    r2549c1b rb28717b  
    4848        self.parent = parent 
    4949        ## store page_finder 
    50         self.page_finder=page_finder 
     50        self.page_finder = page_finder 
    5151        ## list contaning info to set constraint  
    5252        ## look like self.constraint_dict[page]=FitConstraint(model, page) 
     
    5858        ## selected mdoel to fit 
    5959        self.model_toFit=[] 
    60         ## draw 
     60        ## number of constraint 
     61        self.nb_constraint= 0 
     62        ## draw page 
    6163        self.define_page_structure() 
    62         self.draw_page(self.page_finder) 
    63          
     64        self.draw_page() 
    6465        self.set_layout() 
    6566         
     
    117118        """ 
    118119        self.manager = manager 
    119         self.draw_page( self.manager.page_finder) 
    120          
     120        
    121121         
    122122    def check_all_model_name(self,event): 
     
    135135            ## display constraint fields 
    136136            if self.show_constraint.GetValue(): 
    137                 self._hide_constraint() 
    138137                self._show_constraint() 
    139138                return 
     
    162161                    self.model_toFit.remove(item) 
    163162                    self.cb1.SetValue(False) 
     163         
    164164        ## display constraint fields 
    165         if len(self.model_toFit)>=2 and len(self.model_list)==len(self.model_toFit): 
     165        if len(self.model_toFit)==2: 
    166166            self._store_model() 
    167             if self.show_constraint.GetValue(): 
    168                 self._hide_constraint() 
     167            if self.show_constraint.GetValue() and len(self.constraints_list)==0: 
    169168                self._show_constraint() 
    170                            
     169        elif len(self.model_toFit)< 2: 
     170            ##constraint info 
     171            self._hide_constraint()               
    171172        
    172173        ## set the value of the main check button           
    173174        if len(self.model_list)==len(self.model_toFit): 
    174175            self.cb1.SetValue(True) 
    175             ## constraint info 
    176             self._store_model() 
    177             ## display constraint fields 
    178             if self.show_constraint.GetValue(): 
    179                 self._hide_constraint() 
    180                 self._show_constraint() 
    181                 return 
     176            return 
    182177        else: 
    183178            self.cb1.SetValue(False) 
    184             if len(self.model_toFit)>=2: 
    185                 self._store_model() 
    186                 if self.show_constraint.GetValue(): 
    187                     self._show_constraint() 
    188                     return 
    189             ##constraint info 
    190             self._hide_constraint() 
     179            
    191180         
    192181   
    193     def draw_page(self, page_finder={}):       
     182    def draw_page(self):       
    194183        """ 
    195184            Draw a sizer containing couples of data and model  
    196         """    
    197         ## receive a new page_finder   
    198         self.page_finder = page_finder   
    199         
     185        """  
     186       
    200187        self.model_list=[] 
    201188        self.model_toFit=[] 
     
    266253            return 
    267254        if self.show_constraint.GetValue(): 
    268             self._hide_constraint() 
    269255            self._show_constraint() 
    270256            return 
     
    287273                msg += "Parameters name reached %s"%str(nb_fit_param) 
    288274                wx.PostEvent(self.parent.Parent, StatusEvent(status= msg )) 
    289                 self.sizer_couples.Layout() 
     275                self.sizer_constraints.Layout() 
    290276                self.sizer2.Layout() 
    291277                self.SetScrollbars(20,20,200,100) 
     
    295281            msg= "Select at least 2 model to add constraint " 
    296282            wx.PostEvent(self.parent.Parent, StatusEvent(status= msg )) 
    297             self.sizer_couples.Layout() 
     283            self.sizer_constraints.Layout() 
    298284            self.sizer2.Layout() 
    299285            self.SetScrollbars(20,20,200,100) 
     
    306292 
    307293        param_cbox = wx.ComboBox(self, -1) 
     294        param_cbox.Hide() 
    308295        wx.EVT_COMBOBOX(param_cbox,-1, self._on_select_param) 
    309296         
     
    325312        self.constraints_list.append([model_cbox, param_cbox, egal_txt, ctl2]) 
    326313         
    327         sizer_constraint.Add(model_cbox) 
    328         sizer_constraint.Add((10,10)) 
    329         sizer_constraint.Add(param_cbox) 
    330         sizer_constraint.Add(egal_txt) 
    331         sizer_constraint.Add(ctl2) 
    332         sizer_constraint.Add((10,10)) 
    333          
    334          
    335         self.sizer_couples.Add(sizer_constraint) 
    336         self.sizer_couples.Add((10,10)) 
    337         self.sizer_couples.Layout() 
     314        sizer_constraint.Add(model_cbox, flag= wx.RIGHT|wx.EXPAND,border=10) 
     315        sizer_constraint.Add(param_cbox, flag= wx.RIGHT|wx.EXPAND,border=5) 
     316        sizer_constraint.Add(egal_txt, flag= wx.RIGHT|wx.EXPAND,border=5) 
     317        sizer_constraint.Add(ctl2, flag= wx.RIGHT|wx.EXPAND,border=10) 
     318       
     319        self.sizer_constraints.Insert(before=self.nb_constraint, 
     320                                      item=sizer_constraint, flag= wx.TOP|wx.BOTTOM|wx.EXPAND, 
     321                                   border=5, userData=0) 
     322        
     323        self.nb_constraint += 1 
     324        self.sizer_constraints.Layout() 
    338325        self.sizer2.Layout() 
    339326        self.SetScrollbars(20,20,200,100) 
     
    345332        if len(self.constraint_dict)>0: 
    346333            for item in self.constraints_list: 
    347                 model = item[0].GetClientData(0) 
     334                model = item[0].GetClientData(item[0].GetCurrentSelection()) 
    348335                if model  in self.constraint_dict.keys(): 
    349336                    page = self.constraint_dict[model].page 
    350337                    self.page_finder[page].clear_model_param() 
    351                      
     338                
     339        self.nb_constraint =0      
    352340        self.constraint_dict={} 
    353341        self._store_model() 
    354         self.btAdd.Hide() 
     342       
    355343        self.constraints_list=[]          
    356         self.sizer_couples.Clear(True)  
    357         self.sizer_couples.Layout()     
     344        self.sizer_constraints.Clear(True)  
     345        self.sizer_constraints.Layout()     
    358346        self.sizer2.Layout() 
    359347        self.SetScrollbars(20,20,200,100) 
     
    401389        ctl2.Show(True) 
    402390         
    403         self.btAdd.Show(True) 
     391         
    404392        self.sizer2.Layout() 
    405393        self.SetScrollbars(20,20,200,100) 
     
    428416            ctl2 = item[3] 
    429417            if ctl2.GetValue().lstrip().rstrip()=="": 
    430                  msg= " Enter a constraint for %s.%s! "%(param_cbox.GetClientData(0).name, 
    431                                               param_cbox.GetString(0))            
    432                  wx.PostEvent(self.parent.Parent, StatusEvent(status= msg )) 
    433                  return  
     418                model= param_cbox.GetClientData(param_cbox.GetCurrentSelection()) 
     419                msg= " Enter a constraint for %s.%s! "%(model.name,param_cbox.GetString(0))            
     420                wx.PostEvent(self.parent.Parent, StatusEvent(status= msg )) 
     421                return  
    434422        
    435423        ## some model or parameters can be constrained 
     
    452440        boxsizer1 = wx.StaticBoxSizer(box_description, wx.VERTICAL) 
    453441        sizer_title = wx.BoxSizer(wx.HORIZONTAL) 
    454         self.sizer_couples = wx.BoxSizer(wx.VERTICAL) 
     442        self.sizer_constraints = wx.BoxSizer(wx.VERTICAL) 
    455443        sizer_button = wx.BoxSizer(wx.HORIZONTAL) 
    456444         
     
    477465        self.btAdd.Bind(wx.EVT_BUTTON, self._onAdd_constraint,id= self.btAdd.GetId()) 
    478466        self.btAdd.SetToolTipString("Add another constraint?") 
    479         self.btAdd.Hide() 
     467        
    480468         
    481469        self.btFit = wx.Button(self,wx.NewId(),'Fit') 
     
    490478        boxsizer1.Add(sizer_title) 
    491479        boxsizer1.Add((10,10)) 
    492         boxsizer1.Add(self.sizer_couples) 
     480        boxsizer1.Add(self.sizer_constraints) 
    493481        boxsizer1.Add((10,10)) 
    494482        boxsizer1.Add(sizer_button) 
Note: See TracChangeset for help on using the changeset viewer.