Index: guiframe/gui_manager.py
===================================================================
--- guiframe/gui_manager.py	(revision 07aeb8a30fd8a84951e0bc7053ce49fe7dc57e32)
+++ guiframe/gui_manager.py	(revision 0bd2cd86ad08ec786c9b13caf85b61c1bf24e88d)
@@ -36,4 +36,5 @@
     
 from sans.guicomm.events import EVT_STATUS,Model2DPanelEvent
+from sans.guicomm.events import EVT_NEW_PLOT,EVT_SLICER_PARS_UPDATE
 import history
 import warnings
@@ -231,5 +232,20 @@
         # Register to status events
         self.Bind(EVT_STATUS, self._on_status_event)
-       
+        self.Bind(EVT_SLICER_PARS_UPDATE, self._onEVT_SLICER_PANEL)
+        
+        
+    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.panels:
+            if self.panels[item].window_caption.startswith(event.panel_name): 
+                self.panels[item].set_slicer(event.type, event.params)
+                self._mgr.Update()
+                break
+        
     def build_gui(self):
         # Set up the layout
Index: guiframe/local_perspectives/plotting/Plotter2D.py
===================================================================
--- guiframe/local_perspectives/plotting/Plotter2D.py	(revision 8b30e62b72938860d886f7bab4ad4eefc3bc189b)
+++ guiframe/local_perspectives/plotting/Plotter2D.py	(revision 0bd2cd86ad08ec786c9b13caf85b61c1bf24e88d)
@@ -17,5 +17,5 @@
 from danse.common.plottools.PlotPanel import PlotPanel
 from danse.common.plottools.plottables import Graph,Data1D
-from sans.guicomm.events import EVT_NEW_PLOT,EVT_SLICER_PARS_UPDATE
+from sans.guicomm.events import EVT_NEW_PLOT
 from sans.guicomm.events import EVT_SLICER_PARS
 from sans.guicomm.events import StatusEvent ,NewPlotEvent,SlicerEvent
@@ -89,5 +89,5 @@
         #self.Bind(boxSum.EVT_SLICER_PARS_UPDATE, self._onEVT_SLICER_PARS)
         self.Bind(EVT_SLICER_PARS, self._onEVT_SLICER_PARS)
-        self.Bind(EVT_SLICER_PARS_UPDATE, self._onEVT_SLICER_PANEL)
+       
         
         
@@ -97,11 +97,4 @@
         from sans.guicomm.events import SlicerPanelEvent
         wx.PostEvent(self.parent, SlicerPanelEvent (panel= self.panel_slicer))
-        
-        
-    def _onEVT_SLICER_PANEL(self, event):
-        #print "box move plotter2D", event.type, event.params
-        self.panel_slicer.set_slicer(event.type, event.params)
-        from sans.guicomm.events import SlicerPanelEvent
-        wx.PostEvent(self.parent, SlicerPanelEvent (panel= self.panel_slicer)) 
         
     def _onEVT_1DREPLOT(self, event):
@@ -433,8 +426,8 @@
         #new_panel.set_slicer(self.slicer.__class__.__name__,
         new_panel.window_caption=self.slicer.__class__.__name__+" "+ str(self.data2D.name)
-       
+        new_panel.window_name = self.slicer.__class__.__name__+" "+ str(self.data2D.name)
         self.panel_slicer= new_panel
-        
-        wx.PostEvent(self.panel_slicer, event)
+        self.slicer.set_panel_name( name= new_panel.window_caption)
+        #wx.PostEvent(self.panel_slicer, event)
         from sans.guicomm.events import SlicerPanelEvent
         wx.PostEvent(self.parent, SlicerPanelEvent (panel= self.panel_slicer))
Index: guiframe/local_perspectives/plotting/boxSum.py
===================================================================
--- guiframe/local_perspectives/plotting/boxSum.py	(revision d468daaa4bee4ffa05d0735cf4252c2c924e2a2c)
+++ guiframe/local_perspectives/plotting/boxSum.py	(revision 0bd2cd86ad08ec786c9b13caf85b61c1bf24e88d)
@@ -67,5 +67,5 @@
             
         #self.connect_markers([])
-                      
+        self.panel_name=""      
         self.update()
         self._post_data()
@@ -74,5 +74,6 @@
         #print "box sum  self.base.parent",self.base.parent
         self.base.parent.Bind(SlicerParameters.EVT_SLICER_PARS, self._onEVT_SLICER_PARS)
-       
+    def set_panel_name(self, name):
+        self.panel_name= name
     def _onEVT_SLICER_PARS(self, event):
         #printEVT("AnnulusSlicer._onEVT_SLICER_PARS")
@@ -166,6 +167,7 @@
         self.type= self.__class__.__name__
         params= self.get_params()
-        event = SlicerParamUpdateEvent(type=self.type, params=params)
-        wx.PostEvent(self.base, event)
+        event = SlicerParamUpdateEvent(type=self.type, params=params,
+                                       panel_name= self.panel_name)
+        wx.PostEvent(self.base.parent, event)
         
             
