Index: sansview/perspectives/fitting/fitpage.py
===================================================================
--- sansview/perspectives/fitting/fitpage.py	(revision 2cded48d0a7890e14b0a9160b64e4efb6f746e5f)
+++ sansview/perspectives/fitting/fitpage.py	(revision 848a2ef13f7ff02ac2ba77a50890ad96b5d4eef2)
@@ -538,5 +538,5 @@
             evt = ModelEventbox(model=self.model)
             wx.PostEvent(self.event_owner, evt)   
-        
+        self.btFit.SetFocus() 
    
     def _onparamRangeEnter(self, event):
Index: sansview/perspectives/fitting/fitpanel.py
===================================================================
--- sansview/perspectives/fitting/fitpanel.py	(revision e8147340a32071691e64f557c7edcb5e79227d09)
+++ sansview/perspectives/fitting/fitpanel.py	(revision 848a2ef13f7ff02ac2ba77a50890ad96b5d4eef2)
@@ -52,10 +52,7 @@
     CENTER_PANE = True
     def __init__(self, parent, *args, **kwargs):
-        #wx.aui.AuiNotebook.__init__(self,parent,-1, style=wx.aui.AUI_NB_DEFAULT_STYLE  )
         wx.aui.AuiNotebook.__init__(self,parent,-1,
-                    style= wx.aui.AUI_NB_WINDOWLIST_BUTTON|wx.aui.AUI_NB_DEFAULT_STYLE \
-                    |wx.CLIP_CHILDREN  )
-       
-        
+                    style= wx.aui.AUI_NB_WINDOWLIST_BUTTON|wx.aui.AUI_NB_DEFAULT_STYLE|wx.CLIP_CHILDREN  )
+    
         self.manager=None
         self.parent=parent
@@ -121,5 +118,5 @@
             self.count =0
             ## page on menu
-            #self.manager._add_page_onmenu(page_name, fitproblem)
+            self.manager._add_page_onmenu(page_name, fitproblem)
         else:
             if selected_page in page_finder:
@@ -131,5 +128,5 @@
                     self.fit_page2D_number=None
                 ## page on menu
-                #self.manager._add_page_onmenu(page_name, fitproblem)
+                self.manager._add_page_onmenu(page_name, fitproblem)
                 del page_finder[selected_page]
             ##remove the check box link to the model name of this page (selected_page)
@@ -270,5 +267,36 @@
                 self.fit_page_name[page_title].insert(0,self.model_page.createMemento())
       
-           
+      
+      
+    def _close_fitpage(self,data):
+        """
+            close a fit page when its data is completely remove from the graph
+        """
+        name = data.name
+        for index in range(self.GetPageCount()):
+            if self.GetPageText(index)== name:
+                selected_page = self.GetPage(index) 
+    
+                if index ==self.fit_page1D_number:
+                    self.fit_page1D_number=None
+                if index ==self.fit_page2D_number:
+                    self.fit_page2D_number=None
+                if selected_page in self.manager.page_finder:
+                    del self.manager.page_finder[selected_page]
+                ##remove the check box link to the model name of this page (selected_page)
+                try:
+                    self.sim_page.draw_page()
+                except:
+                    ## that page is already deleted no need to remove check box on
+                    ##non existing page
+                    pass
+                
+                #Delete the name of the page into the list of open page
+                if selected_page.window_name in self.list_fitpage_name:
+                    self.list_fitpage_name.remove(selected_page.window_name)
+                self.DeletePage(index)
+                break
+        
+        
     def  _onGetstate(self, event):
         """
@@ -300,5 +328,5 @@
         panel = ModelPage(self,myinfo)
         
-        self.AddPage(page=panel,caption=page_title,select=True)
+        self.AddPage(page=panel, caption=page_title, select=True)
 
         self.model_page_number=self.GetSelection()
@@ -309,6 +337,7 @@
         if reset:
             if page_title in self.fit_page_name.keys():
-                
+
                 memento= self.fit_page_name[page_title][0]
+                print ""
                 panel.reset_page(memento)
         else:
Index: sansview/perspectives/fitting/fitting.py
===================================================================
--- sansview/perspectives/fitting/fitting.py	(revision 33498931464b53134c08366c8805242e1ef5691b)
+++ sansview/perspectives/fitting/fitting.py	(revision 848a2ef13f7ff02ac2ba77a50890ad96b5d4eef2)
@@ -7,7 +7,9 @@
 from danse.common.plottools.PlotPanel import PlotPanel
 from sans.guicomm.events import NewPlotEvent, StatusEvent  
-from sans.guicomm.events import EVT_SLICER_PANEL,ERR_DATA
+from sans.guicomm.events import EVT_SLICER_PANEL,ERR_DATA,EVT_REMOVE_DATA
+from sans.guicomm.events import EVT_SLICER_PARS_UPDATE
 from sans.guiframe import dataFitting
 from sans.fit.AbstractFitEngine import Model
+
 
 from fitproblem import FitProblem
@@ -208,4 +210,6 @@
         self.parent.Bind(EVT_SLICER_PANEL, self._on_slicer_event)
         self.parent.Bind( ERR_DATA, self._on_data_error)
+        self.parent.Bind(EVT_REMOVE_DATA, self._closed_fitpage)
+        self.parent.Bind(EVT_SLICER_PARS_UPDATE, self._onEVT_SLICER_PANEL)
         
         #Send the fitting panel to guiframe
@@ -487,6 +491,29 @@
             wx.PostEvent(self.parent, StatusEvent(status= msg ,type="stop"))
             return 
-              
-              
+           
+           
+           
+    def _onEVT_SLICER_PANEL(self, event):
+        """
+            receive and event telling to update a panel with a name starting with 
+            event.panel_name. this method update slicer panel for a given interactor.
+            @param event: contains type of slicer , paramaters for updating the panel
+            and panel_name to find the slicer 's panel concerned.
+        """
+        for item in self.parent.panels:
+            if self.parent.panels[item].window_caption.startswith(event.panel_name): 
+                self.parent.panels[item].set_slicer(event.type, event.params)
+                self.parent._mgr.Update()
+                break   
+            
+            
+    def _closed_fitpage(self, event):   
+        """
+            request fitpanel to close a given page when its unique data is removed 
+            from the plot
+        """    
+        self.fit_panel._close_fitpage(event.data) 
+        
+        
     def _add_page_onmenu(self, name,fitproblem=None):
         """
@@ -729,6 +756,5 @@
             @param elapsed: computation time
         """
-        wx.PostEvent(self.parent, StatusEvent(status="Simultaneous fit \
-        complete "))
+        wx.PostEvent(self.parent, StatusEvent(status="Simultaneous fit complete "))
        
         ## fit more than 1 model at the same time 
@@ -805,4 +831,5 @@
         if event.panel!=None:
             new_panel = event.panel
+            self.main_panel= event.main_panel
             # Set group ID if available
             event_id = self.parent.popup_panel(new_panel)
@@ -810,9 +837,20 @@
             #                 "Show %s plot panel" % new_panel.window_caption)
             # Set UID to allow us to reference the panel later
+            self.parent._mgr.Bind(wx.aui.EVT_AUI_PANE_CLOSE,
+ 
+                 self._onclearslicer)    
+
             new_panel.uid = event_id
             self.mypanels.append(new_panel) 
         return  
     
-      
+    def _onclearslicer(self, event):
+        """
+            Clear the boxslicer when close the panel associate with this slicer
+        """
+        self.main_panel.onClearSlicer(event)
+        
+        
+        
     def _return_engine_type(self):
         """
Index: sansview/perspectives/fitting/modelpage.py
===================================================================
--- sansview/perspectives/fitting/modelpage.py	(revision 70c57ebfdb2766cc1aeee652839a3fae3bfe7215)
+++ sansview/perspectives/fitting/modelpage.py	(revision 848a2ef13f7ff02ac2ba77a50890ad96b5d4eef2)
@@ -330,7 +330,5 @@
         """
         self.model = model
-        
         self.set_model_param_sizer(self.model)
-        self.set_model_param_sizer(self.model)  
         ## keep the sizer view consistent with the model menu selecting
         self._set_model_sizer_selection( self.model )
@@ -338,4 +336,5 @@
         self.disable_disp.SetValue(True)
         self.set_dispers_sizer()
+        
         self.model_view.SetFocus()
         if self.model !=None:
@@ -353,7 +352,6 @@
         box_description= wx.StaticBox(self, -1, 'Model Description')
         boxsizer1 = wx.StaticBoxSizer(box_description, wx.VERTICAL)
-            
+
         sizer_selection=wx.BoxSizer(wx.HORIZONTAL)
-        
         self.description_hide = wx.RadioButton(self, -1, 'Hide', style=wx.RB_GROUP)
         self.description_show = wx.RadioButton(self, -1, 'Show')
@@ -379,5 +377,4 @@
         sizer_selection.Add( (20,20)) 
         sizer_selection.Add( self.description_hide )
-        #sizer_selection.Add( (20,20)) 
         sizer_selection.Add((20,20),0, wx.LEFT|wx.RIGHT|wx.EXPAND,67)
         sizer_selection.Add( self.model_description )
