Index: sansview/perspectives/fitting/basepage.py
===================================================================
--- sansview/perspectives/fitting/basepage.py	(revision c8deee55171def58bec5b4c23dedf0a1daa950a5)
+++ sansview/perspectives/fitting/basepage.py	(revision 3cd5806375c406cd55c809b2efb82cc2de2531de)
@@ -11,4 +11,5 @@
 from wx.lib.scrolledpanel import ScrolledPanel
 from sans.guiframe.utils import format_number,check_float
+from sans.guiframe.events import PanelOnFocusEvent
 from sans.guiframe.events import StatusEvent
 import pagestate
@@ -53,5 +54,4 @@
         self.parent = parent
         ## manager is the fitting plugin
-        self.manager = None
         ## owner of the page (fitting plugin)
         self.event_owner = None
@@ -172,4 +172,11 @@
         self.set_layout()
         
+    def on_set_focus(self, event):
+        """
+        """
+        print "fitting panel", self.window_name
+        if self._manager is not None:
+            wx.PostEvent(self._manager.parent, PanelOnFocusEvent(panel=self))
+        
     class ModelTextCtrl(wx.TextCtrl):
         """
@@ -267,5 +274,5 @@
         self.window_caption = page_info.window_caption
         ## manager is the fitting plugin
-        self.manager= page_info.manager
+        self._manager= page_info.manager
         ## owner of the page (fitting plugin)
         self.event_owner= page_info.event_owner
@@ -373,5 +380,6 @@
         
         """
-        self.manager = manager  
+        print "manager", manager
+        self._manager = manager  
         self.state.manager = manager
         
@@ -601,5 +609,5 @@
             self.reset_page(previous_state)      
          
-    def on_save_state(self, event):   
+    def on_save(self, event):   
         """
         Save the current state into file
@@ -617,5 +625,5 @@
             return None
         #the manager write the state into file
-        self.manager.save_fit_state(filepath=path, fitstate=new_state)
+        self._manager.save_fit_state(filepath=path, fitstate=new_state)
         return new_state  
     
@@ -668,6 +676,6 @@
         if self.engine_type == None: 
             self.engine_type = "scipy"
-        if self.manager !=None:
-            self.manager._on_change_engine(engine=self.engine_type)
+        if self._manager !=None:
+            self._manager._on_change_engine(engine=self.engine_type)
         
             self.state.engine_type = self.engine_type
@@ -973,6 +981,6 @@
         self._on_select_model(event=None)
        
-        if self.manager !=None:
-            self.manager._on_change_engine(engine=self.engine_type)
+        if self._manager !=None:
+            self._manager._on_change_engine(engine=self.engine_type)
         ## set the select all check box to the a given state
         self.cb1.SetValue(state.cb1)
@@ -1330,5 +1338,5 @@
         is_modified = False
 
-        wx.PostEvent(self.manager.parent, StatusEvent(status=" \
+        wx.PostEvent(self._manager.parent, StatusEvent(status=" \
         updating ... ",type="update"))
 
@@ -1363,9 +1371,9 @@
                         flag = self.update_pinhole_smear()
                     else:
-                        self.manager.set_smearer_nodraw(smearer=temp_smearer,
+                        self._manager.set_smearer_nodraw(smearer=temp_smearer,
                                                      qmin=float(self.qmin_x),
                                                       qmax=float(self.qmax_x))
                 elif not self._is_2D():
-                    self.manager.set_smearer(smearer=temp_smearer,
+                    self._manager.set_smearer(smearer=temp_smearer,
                                               qmin=float(self.qmin_x),
                                                  qmax= float(self.qmax_x))
@@ -1632,5 +1640,5 @@
                     temp_smear= self.current_smearer
             
-            self.manager.draw_model(self.model, 
+            self._manager.draw_model(self.model, 
                                     data=self.data,
                                     smearer= temp_smear,
@@ -2173,5 +2181,5 @@
             msg="Please select a Model first..."
             wx.MessageBox(msg, 'Info')
-            wx.PostEvent(self.manager.parent, StatusEvent(status=\
+            wx.PostEvent(self._manager.parent, StatusEvent(status=\
                             "Polydispersion: %s"%msg))
             return
@@ -2475,6 +2483,7 @@
         self.btSave_title = wx.StaticText(self, -1, 'Save the current Model')
         self.btSave = wx.Button(self,wx.NewId(),'Save')
-        self.btSave.Bind(wx.EVT_BUTTON, self.on_save_state,id= self.btSave.GetId())
+        self.btSave.Bind(wx.EVT_BUTTON, self.on_save,id= self.btSave.GetId())
         self.btSave.SetToolTipString("Save the current Model")
+        self._set_save_flag(True)
         
         sizer_save.Add(self.btSave_title)  
Index: sansview/perspectives/fitting/fitpanel.py
===================================================================
--- sansview/perspectives/fitting/fitpanel.py	(revision c8deee55171def58bec5b4c23dedf0a1daa950a5)
+++ sansview/perspectives/fitting/fitpanel.py	(revision 3cd5806375c406cd55c809b2efb82cc2de2531de)
@@ -6,4 +6,5 @@
 
 from sans.guiframe.panel_base import PanelBase
+from sans.guiframe.events import PanelOnFocusEvent
 import basepage
 
@@ -167,5 +168,5 @@
                     wx.aui.AUI_NB_DEFAULT_STYLE|
                     wx.CLIP_CHILDREN)
-        PanelBase.__init__(self)
+        PanelBase.__init__(self, parent)
     
         self._manager = None
@@ -188,8 +189,8 @@
         self.Bind(basepage.EVT_PREVIOUS_STATE, self._onUndo)
         self.Bind(basepage.EVT_NEXT_STATE, self._onRedo)
-        
+       
         #add default pages
         self.add_default_pages()
-        
+     
         # increment number for model name
         self.count = 0
@@ -198,4 +199,12 @@
         self.Center()
         
+    def on_set_focus(self, event):
+        """
+        """
+        pos = self.GetSelection()
+        selected_page = self.GetPage(pos)
+        print "panel on fogus", selected_page.window_name
+        wx.PostEvent(self.parent, PanelOnFocusEvent(panel=selected_page))
+        
     def get_data(self):
         """
@@ -222,5 +231,5 @@
         self.hint_page = HintFitPage(self) 
         self.AddPage(page=self.hint_page, caption="Hint")
-         
+        self.hint_page.set_manager(self._manager)
         #Add the first fit page
         self.add_empty_page()
@@ -316,4 +325,8 @@
         """
         self._manager = manager
+        for pos in range(self.GetPageCount()):
+            page = self.GetPage(pos)
+            if page is not None:
+                page.set_manager(self._manager)
 
         
Index: sansview/perspectives/fitting/fitting.py
===================================================================
--- sansview/perspectives/fitting/fitting.py	(revision 13913ec86b13f57db7208e53a043421a6efe2f78)
+++ sansview/perspectives/fitting/fitting.py	(revision 3cd5806375c406cd55c809b2efb82cc2de2531de)
@@ -256,8 +256,7 @@
         loader.associate_file_reader(".fitv", self.state_reader)
         loader.associate_file_reader(".svs", self.state_reader)
-        from sans.perspectives.calculator.sld_panel import SldPanel
         #Send the fitting panel to guiframe
         self.mypanels.append(self.fit_panel) 
-        self.mypanels.append(SldPanel(parent=self.parent, base=self.parent))
+      
         return self.mypanels
     
Index: sansview/perspectives/fitting/hint_fitpage.py
===================================================================
--- sansview/perspectives/fitting/hint_fitpage.py	(revision bf66f6705af472c9e9324de8c6fe39166055c2be)
+++ sansview/perspectives/fitting/hint_fitpage.py	(revision 3cd5806375c406cd55c809b2efb82cc2de2531de)
@@ -1,6 +1,6 @@
 import wx
+from sans.guiframe.panel_base import PanelBase
 
-
-class HintFitPage(wx.ScrolledWindow):
+class HintFitPage(wx.ScrolledWindow, PanelBase):
     """
         This class provide general structure of  fitpanel page
@@ -13,6 +13,6 @@
     def __init__(self, parent):
         wx.ScrolledWindow.__init__(self, parent,
-                 style= wx.FULL_REPAINT_ON_RESIZE )
-        
+                 style= wx.FULL_REPAINT_ON_RESIZE)
+        PanelBase.__init__(self, parent)
         msg = "right click on the data when it is highlighted "
         msg += "the select option to fit for futher options"
