Ignore:
Timestamp:
Feb 2, 2009 12:40:18 AM (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:
1374fbe4
Parents:
68dada4
Message:

refactore panels

File:
1 edited

Legend:

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

    r68dada4 rc80c06f  
    88 
    99 
    10      
    11 class FitPanel(wx.Panel): 
     10class FitPanel(wx.aui.AuiNotebook):     
     11#class FitPanel(wx.aui.AuiNotebook,wx.panel): 
    1212    """ 
    1313        FitPanel class contains fields allowing to fit  models and  data 
     
    2121    window_caption = "Fit Panel " 
    2222    CENTER_PANE = True 
    23         
    24      
    2523    def __init__(self, parent, *args, **kwargs): 
    26         wx.Panel.__init__(self, parent, *args, **kwargs) 
     24         
     25        wx.aui.AuiNotebook.__init__(self,parent,-1, style=wx.aui.AUI_NB_SCROLL_BUTTONS ) 
     26         
    2727        self.manager=None 
    2828        self.parent=parent 
    2929        self.event_owner=None 
    30         #self.menu_mng = models.ModelManager() 
    31         #self.nb = wx.Notebook(self) 
    32         #self.nb = wx.aui.AuiNotebook(self,-1, style=wx.aui.AUI_NB_TAB_SPLIT  ) 
    33         self.nb = wx.aui.AuiNotebook(self,-1, style=wx.aui.AUI_NB_SCROLL_BUTTONS  ) 
    34         self.sizer = wx.BoxSizer() 
    35         self.sizer.Add(self.nb, 1, wx.EXPAND) 
     30         
     31        pageClosedEvent = wx.aui.EVT_AUINOTEBOOK_PAGE_CLOSE 
     32        self.Bind(wx.aui.EVT_AUINOTEBOOK_PAGE_CLOSE, self.onClosePage) 
     33 
    3634        #Creating an initial page for simultaneous fitting 
    3735        from simfitpage import SimultaneousFitPage 
    38         self.sim_page = SimultaneousFitPage(self.nb, -1) 
    39          
    40         #self.fit_panel.add_page(self.sim_page,"Simultaneous Fit") 
    41         self.nb.AddPage(self.sim_page,"Simultaneous Fit") 
    42         #(wxWindow* page, const wxString& caption, bool select = false, const wxBitmap& bitmap =  
     36        self.sim_page = SimultaneousFitPage(self, -1) 
     37        self.AddPage(self.sim_page,"Simultaneous Fit") 
     38         
     39 
     40         
    4341        #dictionary of miodel {model class name, model class} 
    4442        self.model_list_box={} 
     
    5351        self.count=0 
    5452        #updating the panel 
    55         self.nb.Update() 
    56         self.SetSizer(self.sizer) 
    57         self.sizer.Fit(self) 
     53        self.Update() 
    5854        self.Center() 
    59          
     55    def onClosePage(self, event): 
     56        self.ToggleWindowStyle(wx.aui.AUI_NB_CLOSE_ON_ACTIVE_TAB) 
     57        print "went here",self.get_current_page(), self.GetPage(0) 
     58        #event.Skip() 
     59        if self.GetPageCount() <= 2: 
     60            print "wente here" 
     61             
     62            # Prevent last tab from being closed 
     63            self.ToggleWindowStyle(~wx.aui.AUI_NB_CLOSE_ON_ACTIVE_TAB) 
     64             
     65 
     66    
     67 
    6068 
    6169         
     
    9199            if data.__class__.__name__=='Data2D': 
    92100                 from fitpage2D import FitPage2D 
    93                  panel = FitPage2D(self.nb,data, -1) 
     101                 panel = FitPage2D(self,data, -1) 
    94102                  
    95103            else: 
    96104                 
    97105                from fitpage1D import FitPage1D 
    98                 panel = FitPage1D(self.nb,data, -1) 
     106                panel = FitPage1D(self,data, -1) 
    99107            m_name= "M"+str(self.count)   
    100108            panel.set_manager(self.manager) 
    101109            panel.set_owner(self.event_owner) 
    102110             
    103             self.nb.AddPage(page=panel,caption=name,select=True) 
     111            self.AddPage(page=panel,caption=name,select=True) 
    104112            panel.populate_box( self.model_list_box) 
    105113            self.fit_page_name = name 
     
    115123        """ 
    116124        from modelpage import ModelPage 
    117         panel = ModelPage(self.nb,model,page_title, -1) 
     125        panel = ModelPage(self,model,page_title, -1) 
    118126        panel.set_manager(self.manager) 
    119127        panel.set_owner(self.event_owner) 
    120         #self.nb.AddPage(page=panel,text=page_title,select=True) 
    121         self.nb.AddPage(page=panel,caption="Model",select=True) 
     128        self.AddPage(page=panel,caption="Model",select=True) 
    122129        panel.populate_box( self.model_list_box) 
    123130        self.draw_model_name=page_title 
    124         self.model_page_number=self.nb.GetSelection() 
    125         self.model_page=self.nb.GetPage(self.nb.GetSelection()) 
     131        self.model_page_number=self.GetSelection() 
     132        self.model_page=self.GetPage(self.GetSelection()) 
    126133         
    127134         
     
    153160            self.model_page.select_model(model, page_title) 
    154161            
    155     def get_notebook(self): 
    156         """ 
    157             @return self.nb: return its own notebook mostly used by fitting module  
    158         """ 
    159         return self.nb 
     162    def get_current_page(self): 
     163        """ 
     164            @return the current page selected 
     165        """ 
     166        #return self.nb.GetCurrentPage() 
     167        return self.GetPage(self.GetSelection() ) 
     168   
    160169     
    161     def get_page(self, n): 
    162         """ 
    163             @return page at position n 
    164             @param n: page number 
    165         """ 
    166         return self.nb.GetPage(n) 
    167      
    168      
    169     def get_page_count(self): 
    170         """ @return  number total of pages contained in notebook""" 
    171         return self.nb.GetPageCount() 
    172          
    173          
    174     def get_current_page(self): 
    175         """ 
    176             @return the current page selected 
    177         """ 
    178         #return self.nb.GetCurrentPage() 
    179         return self.nb.GetPage(self.nb.GetSelection() ) 
    180      
    181     def get_selected_page(self): 
    182         """ @return the page just selected by the user """ 
    183         return self.nb.GetPage(self.nb.GetSelection()) 
    184      
    185      
    186     def get_page_number(self): 
    187         return self.nb.GetSelection() 
    188      
    189     def onClose(self, page=None,page_number=None): 
     170    def old_onClose(self, page=None,page_number=None): 
    190171        """ 
    191172             close the current page except the simpage. remove each check box link to the model 
Note: See TracChangeset for help on using the changeset viewer.