Changeset 6bcdad1 in sasview


Ignore:
Timestamp:
Dec 18, 2008 12:06:39 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:
ab8f936
Parents:
c48060c
Message:

close page bug fixed

Location:
sansview/perspectives/fitting
Files:
4 edited

Legend:

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

    rf39511b r6bcdad1  
    4747        self.page_name=None 
    4848        self.model_page=None 
     49        # increment number for model name 
     50        self.count=0 
    4951        #updating the panel 
    5052        self.nb.Update() 
     
    8385            name = 'Fit' 
    8486        if self.fit_page_name != name: 
     87            self.count +=1 
    8588            if data.__class__.__name__=='Data2D': 
    8689                 from fitpage2D import FitPage2D 
    8790                 panel = FitPage2D(self.nb,data, -1) 
     91                  
    8892            else: 
    8993                 
    9094                from fitpage1D import FitPage1D 
    9195                panel = FitPage1D(self.nb,data, -1) 
    92                 
     96            m_name= "M"+str(self.count)   
    9397            panel.set_manager(self.manager) 
    9498            panel.set_owner(self.event_owner) 
     
    97101            panel.populate_box( self.model_list_box) 
    98102            self.fit_page_name = name 
    99             return panel 
     103            return panel,m_name 
    100104         
    101105    def _help_add_model_page(self,model,description,page_title): 
     
    119123        """ 
    120124        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             
    124126            self._help_add_model_page(model,description,page_title) 
    125127        else: 
    126128            if  self.draw_model_name !=page_title:  
    127129                self.onClose(self.model_page, self.model_page_number) 
    128                 #print "removing the prevois model page ",self.model_page, self.model_page_number 
    129130                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       
    150132            
    151133    def get_notebook(self): 
     
    178160        """ @return the page just selected by the user """ 
    179161        return self.nb.GetPage(self.nb.GetSelection()) 
     162     
     163     
     164    def get_page_number(self): 
     165        return self.nb.GetSelection() 
    180166     
    181167    def onClose(self, page=None,page_number=None): 
     
    207193                if self.nb.GetPageText(page_number)== self.page_name: 
    208194                    self.draw_model_name=None 
    209                      
     195                
    210196                selected_page.Destroy() 
    211197                self.nb.RemovePage(page_number) 
    212                 #self.name=None 
     198                #self.count =self.count -1  
    213199                self.fit_page_name=None 
    214200        except: 
  • sansview/perspectives/fitting/fitproblem.py

    r8e81af0 r6bcdad1  
    2121        self.schedule=0 
    2222        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 
    2428    def set_model(self,model,name): 
    2529        """  
     
    9397        """ 
    9498        self.schedule=schedule 
     99         
    95100    def get_scheduled(self): 
    96101        """ return true or false if a problem as being schedule for fitting""" 
  • sansview/perspectives/fitting/fitting.py

    rc48060c r6bcdad1  
    157157                #find a name for the page created for notebook 
    158158                try: 
    159                     page = self.fit_panel.add_fit_page(item) 
     159                    page, model_name = self.fit_panel.add_fit_page(item) 
    160160                    # add data associated to the page created 
    161161                     
     
    164164                        #create a fitproblem storing all link to data,model,page creation 
    165165                        self.page_finder[page]= FitProblem() 
     166                        self.page_finder[page].save_model_name(model_name)   
    166167                        self.page_finder[page].add_data(item) 
    167168                except: 
     
    442443        sim_page=self.fit_panel.get_page(0) 
    443444        current_pg = self.fit_panel.get_current_page()  
     445        selected_page = self.fit_panel.get_selected_page() 
    444446        if current_pg != sim_page: 
    445447            current_pg.set_panel(model) 
    446              
     448            model.name = self.page_finder[current_pg].get_name() 
    447449            try: 
    448450                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+")" 
    450452            except: 
    451                 M_name="M"+str(self.index_model)+"= "+name 
    452             model.name="M"+str(self.index_model) 
     453                M_name=model.name+"= "+name 
     454            #model.name="M"+str(self.index_model) 
    453455            self.index_model += 1   
    454              
     456            # save model name 
     457             
     458            # save the name containing the data name with the appropriate model 
    455459            self.page_finder[current_pg].set_model(model,M_name) 
    456460            self.plot_helper(currpage= current_pg,qmin= None,qmax= None) 
     
    486490            if data!=None and data.__class__.__name__ != 'Data2D': 
    487491                theory = Theory1D(x=[], y=[]) 
    488                 theory.name = "Model" 
     492                theory.name = model.name 
    489493                theory.group_id = data.group_id 
    490                
     494                theory.id = "Model" 
    491495                x_name, x_units = data.get_xaxis()  
    492496                y_name, y_units = data.get_yaxis()  
     
    528532            else: 
    529533                theory=Data2D(data.data, data.err_data) 
    530                  
     534                theory.name= model.name 
     535                theory.id= "Model" 
     536                theory.group_id= "Model"+data.name 
    531537                theory.x_bins= data.x_bins 
    532538                theory.y_bins= data.y_bins 
     
    560566                theory.ymax= ymax 
    561567         
    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))) 
    563570         
    564571         
     
    605612                    new_plot = Theory1D(x, y) 
    606613                    #new_plot.name = model.name 
    607                     new_plot.name = "Model" 
     614                    new_plot.name = model.name 
    608615                    new_plot.xaxis("\\rm{Q}", 'A^{-1}') 
    609616                    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" 
    612619                    wx.PostEvent(self.parent, NewPlotEvent(plot=new_plot, title="Analytical model 1D")) 
    613620                     
     
    621628                    new_plot = Theory1D(x, y) 
    622629                    new_plot.name = model.name 
    623                     #new_plot.name = "Model" 
    624630                    new_plot.xaxis("\\rm{Q}", 'A^{-1}') 
    625631                    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) )) 
    629636                     
    630637                except: 
     
    686693                        
    687694           
    688  
     695                 
    689696            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" 
    691700            theory.xmin= qmin 
    692701            theory.xmax= qmax 
    693702            theory.ymin= qmin 
    694703            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))) 
    696706              
    697707                 
  • sansview/perspectives/fitting/simfitpage.py

    r3aae6b6 r6bcdad1  
    146146             @param delpage: the page removed 
    147147        """ 
     148        print "self.model_list",self.model_list 
     149        
     150        self.model_list=[] 
     151        self.model_toFit=[] 
    148152        self.sizer1.Clear(True) 
     153        
     154        self.cb1.SetValue(False) 
    149155        ix = 0 
    150156        iy = 1  
    151         for item in self.model_list: 
     157        list=[] 
     158        for page, value in self.page_finder.iteritems(): 
    152159            try: 
    153                 # redraw the panel without the name of the model associated  
    154                 # with the page to delete 
    155                 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)) 
    158165                    cb.SetValue(False) 
    159166                    self.sizer1.Add( cb,( iy,ix),(1,1),  wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 15) 
     
    161168                    iy += 1  
    162169                    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]) 
    166171            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) 
    169177        self.sizer1.Layout()         
    170178        self.vbox.Layout() 
    171              
    172179         
    173180    def select_model_name(self,event): 
Note: See TracChangeset for help on using the changeset viewer.