Ignore:
Timestamp:
Mar 18, 2011 6:20:50 PM (14 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:
e4957fb
Parents:
511c6810
Message:

working on fit stop

File:
1 edited

Legend:

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

    rf95301b r66ff250  
    88from sans.guiframe.events import PanelOnFocusEvent 
    99from sans.guiframe.events import StatusEvent 
     10 
    1011import basepage 
    1112import models 
     
    5152        #page of simultaneous fit  
    5253        self.sim_page = None 
     54        self.fit_engine_type = "scipy" 
    5355        ## get the state of a page 
    5456        self.Bind(basepage.EVT_PAGE_INFO, self._onGetstate) 
     
    5658        self.Bind(basepage.EVT_NEXT_STATE, self._onRedo) 
    5759        self.Bind(wx.aui.EVT_AUINOTEBOOK_PAGE_CHANGED, self.on_page_changing) 
    58         
     60       
    5961        #add default pages 
    6062        self.add_default_pages() 
    6163     
     64    def _on_engine_change(self, name='scipy'): 
     65        """ 
     66        """ 
     67        for panel in self.opened_pages.values(): 
     68            self.set_engine_helper(panel=panel, name=name) 
     69             
     70    def set_engine_helper(self, panel, name='scipy'): 
     71        """ 
     72        """ 
     73        self.fit_engine_type = name 
     74        if panel != self.sim_page: 
     75            panel._on_engine_change(name=self.fit_engine_type) 
     76                 
    6277    def update_model_list(self): 
    6378        """ 
     
    6782         
    6883         
    69     def get_page_by_id(self, id):   
    70         """ 
    71         """ 
    72         if id not in self.opened_pages: 
    73             msg = "Fitpanel cannot find ID: %s in self.opened_pages" % str(id) 
     84    def get_page_by_id(self, uid):   
     85        """ 
     86        """ 
     87        if uid not in self.opened_pages: 
     88            msg = "Fitpanel cannot find ID: %s in self.opened_pages" % str(uid) 
    7489            raise ValueError, msg 
    7590        else: 
    76             return self.opened_pages[id] 
     91            return self.opened_pages[uid] 
    7792         
    7893    def on_page_changing(self, event): 
     
    157172        page_is_opened = False 
    158173        if state is not None: 
    159             for id, panel in self.opened_pages.iteritems(): 
     174            for uid, panel in self.opened_pages.iteritems(): 
    160175                #Don't return any panel is the exact same page is created 
    161                 if id == panel.id: 
     176                if uid == panel.uid: 
    162177                    # the page is still opened 
    163178                    panel.reset_page(state=state) 
     
    168183                # add data associated to the page created 
    169184                if panel is not None:   
    170                     self._manager.store_page(page=panel.id, data=state.data) 
     185                    self._manager.store_page(page=panel.uid, data=state.data) 
    171186                    panel.reset_page(state=state) 
    172187                    panel.save_current_state() 
     
    250265        page_finder= self._manager.get_page_finder() 
    251266        self.sim_page = SimultaneousFitPage(self,page_finder=page_finder, id=-1) 
    252         self.sim_page.id = wx.NewId() 
     267        self.sim_page.uid = wx.NewId() 
    253268        self.AddPage(self.sim_page,"Simultaneous Fit", True) 
    254269        self.sim_page.set_manager(self._manager) 
     
    262277        from fitpage import FitPage 
    263278        panel = FitPage(parent=self) 
    264         panel.id = wx.NewId() 
     279        panel.uid = wx.NewId() 
    265280        panel.populate_box(dict=self.model_list_box) 
    266281        panel.set_manager(self._manager) 
    267282        caption = str(panel.window_name) + " " + str(self._manager.index_model) 
    268283        self.AddPage(panel, caption, select=True) 
    269         self.opened_pages[panel.id] = panel 
     284        self.opened_pages[panel.uid] = panel 
     285        self.set_engine_helper(panel=panel) 
    270286        return panel  
    271287     
     
    308324        page = self.add_empty_page() 
    309325        pos = self.GetPageIndex(page) 
    310         page.id = wx.NewId() 
    311326        page.set_data(data) 
    312327        self.SetPageText(pos, str(data.name)) 
    313         self.opened_pages[page.id] = page 
     328        self.opened_pages[page.uid] = page 
    314329         
    315330        return page 
     
    320335        """ 
    321336        page = event.page 
    322         if page.id in self.fit_page_name: 
    323            self.fit_page_name[page.id].appendItem(page.createMemento())  
     337        if page.uid in self.fit_page_name: 
     338           self.fit_page_name[page.uid].appendItem(page.createMemento())  
    324339             
    325340    def _onUndo(self, event ): 
     
    328343        """ 
    329344        page = event.page  
    330         if page.id in self.fit_page_name: 
    331             if self.fit_page_name[page.id].getCurrentPosition()==0: 
     345        if page.uid in self.fit_page_name: 
     346            if self.fit_page_name[page.uid].getCurrentPosition()==0: 
    332347                state = None 
    333348            else: 
    334                 state = self.fit_page_name[page.id].getPreviousItem() 
     349                state = self.fit_page_name[page.uid].getPreviousItem() 
    335350                page._redo.Enable(True) 
    336351            page.reset_page(state) 
     
    341356        """        
    342357        page = event.page  
    343         if page.id in self.fit_page_name: 
    344             length= len(self.fit_page_name[page.id]) 
    345             if self.fit_page_name[page.id].getCurrentPosition()== length -1: 
     358        if page.uid in self.fit_page_name: 
     359            length= len(self.fit_page_name[page.uid]) 
     360            if self.fit_page_name[page.uid].getCurrentPosition()== length -1: 
    346361                state = None 
    347362                page._redo.Enable(False) 
    348363                page._redo.Enable(True) 
    349364            else: 
    350                 state =self.fit_page_name[page.id].getNextItem() 
     365                state =self.fit_page_name[page.uid].getNextItem() 
    351366            page.reset_page(state)   
    352367                  
     
    376391        if selected_page in page_finder: 
    377392            #Delete the name of the page into the list of open page 
    378             for id, list in self.opened_pages.iteritems(): 
     393            for uid, list in self.opened_pages.iteritems(): 
    379394                #Don't return any panel is the exact same page is created 
    380395                 
    381                 if flag and selected_page.id == id: 
    382                     self._manager.remove_plot(id, theory=False) 
     396                if flag and selected_page.uid == uid: 
     397                    self._manager.remove_plot(uid, theory=False) 
    383398                    break  
    384399            del page_finder[selected_page] 
     
    392407                 
    393408        #Delete the name of the page into the list of open page 
    394         for id, list in self.opened_pages.iteritems(): 
     409        for uid, list in self.opened_pages.iteritems(): 
    395410            #Don't return any panel is the exact same page is created 
    396411             
    397             if selected_page.id == id: 
    398                 del self.opened_pages[selected_page.id] 
     412            if selected_page.uid == uid: 
     413                del self.opened_pages[selected_page.uid] 
    399414                break  
    400415      
Note: See TracChangeset for help on using the changeset viewer.