Ignore:
Timestamp:
Apr 7, 2009 5:41:04 PM (15 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:
8a1ab69
Parents:
b94a0a6
Message:

working on saving page state

File:
1 edited

Legend:

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

    rcfc0913 rb787e68c  
    9696        """ 
    9797        state = self.get_current_page().createMemento() 
    98         page_name = self.get_current_page().name 
     98        page_name = self.get_current_page().window_name 
    9999        page_finder = self.manager.get_page_finder()  
    100100        fitproblem = None 
     
    103103            fitproblem= page_finder[self.get_current_page()] 
    104104             
    105         self.manager._add_page_onmenu(page_name, fitproblem) 
    106105         
    107106        selected_page = self.GetPage(self.GetSelection()) 
     
    114113             
    115114            #Delete the page from notebook 
    116             if selected_page.name in self.list_fitpage_name: 
    117                 self.list_fitpage_name.remove(selected_page.name) 
    118                  
    119             if selected_page.name== self.draw_model_name: 
     115            if selected_page.window_name in self.list_fitpage_name: 
     116                self.list_fitpage_name.remove(selected_page.window_name) 
     117            
     118            if selected_page.window_name== "Model": 
     119                fitproblem = self.get_current_page().model.clone() 
    120120                self.draw_model_name=None 
    121121                self.model_page=None 
     
    128128            self.about_page=None 
    129129        else: 
    130             self.manager.sim_page=None   
     130            self.manager.sim_page=None  
     131        ## page on menu 
     132        self.manager._add_page_onmenu(page_name, fitproblem) 
     133         
    131134         
    132135         
     
    177180            Add a fitting page on the notebook contained by fitpanel 
    178181            @param data: data to fit 
    179             @return panel : page just added for futher used. is used by fitting module 
     182            @return panel : page just added for further used. is used by fitting module 
    180183        """      
    181184        try: 
     
    188191            myinfo.event_owner = self.event_owner  
    189192            myinfo.manager = self.manager 
    190             myinfo.window_name = "Fit Page" 
    191             myinfo.window_caption = "Fit Page" 
     193            myinfo.window_name = name 
     194            myinfo.window_caption = name 
    192195         
    193196            #if not name in self.fit_page_name : 
    194197            from fitpage import FitPage 
    195198            panel = FitPage(parent= self, page_info=myinfo) 
    196             self.AddPage(page=panel,caption=name,select=True) 
     199             
     200            self.AddPage(page=panel, caption=name, select=True) 
    197201            self.list_fitpage_name.append(name) 
    198202            if reset: 
     
    209213         
    210214    
    211     def add_model_page(self,model,page_title, qmin=0, qmax=0.1, 
    212                         npts=50, topmenu=False,page_info=None): 
     215    def add_model_page(self,model, qmin=0, qmax=0.1, 
     216                        npts=50, topmenu=False, reset=False): 
    213217        """ 
    214218            Add a model page only one  to display any model selected from the menu or the page combo box. 
     
    224228        if topmenu==True: 
    225229            if  self.draw_model_name ==None: 
    226                 self._help_add_model_page(model,page_title,  
    227                                 qmin=qmin, qmax=qmax, npts=npts, page_info=page_info) 
     230                self._help_add_model_page(model=model, 
     231                                qmin=qmin, qmax=qmax, npts=npts, reset=reset) 
    228232            else: 
    229233                self.model_page.select_model(model, page_title) 
    230         else: 
    231             if  self.draw_model_name ==None: 
    232                 self._create_model_page(model,page_title, qmin=qmin, qmax=qmax, 
    233                                          npts=npts, page_info=page_info) 
     234        
     235       
    234236            
    235237    def  _onGetstate(self, event): 
     
    238240        """ 
    239241        page= event.page 
    240         if page.name in self.fit_page_name: 
    241             self.fit_page_name[page.name].insert(0,page.createMemento())  
     242        if page.window_name in self.fit_page_name: 
     243            self.fit_page_name[page.window_name].insert(0,page.createMemento())  
    242244             
    243245                 
    244     def _help_add_model_page(self,model,page_title, qmin=0,  
    245                              qmax=0.1, npts=50,page_info=None): 
     246    def _help_add_model_page(self,model,page_title="Model", qmin=0,  
     247                             qmax=0.1, npts=50,reset= False): 
    246248        """ 
    247249            #TODO: fill in description 
     
    251253            @param npts: number of Q points 
    252254        """ 
    253         self._create_model_page(model,page_title,qmin=qmin, qmax=qmax, 
    254                                  npts=npts,page_info= page_info) 
     255        ## creating object that contaning info about model  
     256        myinfo = PageInfo(model= model ,name= page_title) 
     257        myinfo.model_list_box = self.model_list_box.get_list() 
     258        myinfo.event_owner = self.event_owner  
     259        myinfo.manager = self.manager 
     260        myinfo.window_name = page_title 
     261        myinfo.window_caption = page_title 
     262       
     263        from modelpage import ModelPage 
     264        panel = ModelPage(self,myinfo) 
     265         
     266        self.AddPage(page=panel,caption=page_title,select=True) 
     267 
     268        self.model_page_number=self.GetSelection() 
     269        self.model_page=self.GetPage(self.GetSelection()) 
     270        # Set the range used to plot models 
     271        self.model_page.set_range(qmin, qmax, npts) 
     272        ##  resetting page 
     273        if reset: 
     274            if page_title in self.fit_page_name.keys(): 
     275                 
     276                memento= self.fit_page_name[page_title][0] 
     277                panel.reset_page(memento) 
     278        else: 
     279            self.fit_page_name[page_title]=[] 
     280            self.fit_page_name[page_title].insert(0,panel.createMemento()) 
     281          
    255282        # We just created a model page, we are ready to plot the model 
    256283        #self.manager.draw_model(model, model.name) 
    257284        #FOR PLUGIN  for some reason model.name is = BASEcomponent 
    258285        self.manager.draw_model(model) 
    259      
    260     def _create_model_page(self,model,page_title, qmin, qmax, npts,page_info=None): 
    261         """ 
    262         adding model page occurs here 
    263         """ 
    264         ## creating object that contaning info about model  
    265         if page_info==None: 
    266              
    267             myinfo = PageInfo(model=model ,name=page_title) 
    268             myinfo.model_list_box = self.model_list_box.get_list() 
    269             myinfo.event_owner = self.event_owner  
    270             myinfo.manager = self.manager 
    271             myinfo.window_name = "Model Page" 
    272             myinfo.window_caption = "Model Page" 
    273         else: 
    274             myinfo = page_info 
    275      
    276         from modelpage import ModelPage 
    277         panel = ModelPage(self,myinfo) 
    278         
    279         self.AddPage(page=panel,caption="Model",select=True) 
    280  
    281         self.draw_model_name=page_title 
    282         self.model_page_number=self.GetSelection() 
    283         self.model_page=self.GetPage(self.GetSelection()) 
    284          
    285          
    286         # Set the range used to plot models 
    287         self.model_page.set_range(qmin, qmax, npts) 
    288          
    289          
    290286   
    291     
    292   
     287   
Note: See TracChangeset for help on using the changeset viewer.