Index: sansview/perspectives/fitting/fitpage1D.py
===================================================================
--- sansview/perspectives/fitting/fitpage1D.py	(revision 89032bf74117a45d179b1505c6a28f6a36cdccc1)
+++ sansview/perspectives/fitting/fitpage1D.py	(revision 32d802fb28a92274546122f9882845983576be43)
@@ -67,6 +67,10 @@
         self.smearer_box.SetValue(str(None))
         self.smearer_box.Insert(str(None),i)
+        
         for k,v in self.smeares.iteritems():
-            self.smearer_box.Insert(str(v),i)
+            if str(v)=="GaussianModel":
+                self.smearer_box.Insert("Gaussian Resolution",i)
+            else:
+              self.smearer_box.Insert(str(v),i)  
             i+=1
         self.modelbox = wx.ComboBox(self, -1)
@@ -99,5 +103,5 @@
         ix = 0
         iy += 1
-        self.sizer3.Add(wx.StaticText(self,-1,'Averaging (Smearer Type)'),(iy,ix),(1,1)\
+        self.sizer3.Add(wx.StaticText(self,-1,'Instrument Smearing'),(iy,ix),(1,1)\
                   , wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 15)
         ix += 1
@@ -344,5 +348,5 @@
         disp_list=self.model.getDispParamList()
         fixed=self.model.fixed
-        print "fixed"
+        #print "fixed"
         ip=0
         iq=1
@@ -360,5 +364,5 @@
         iy = 1
         ix = 0
-        self.cb1 = wx.CheckBox(self, -1,'Parameters', (10, 10))
+        self.cb1 = wx.CheckBox(self, -1,"Select all", (10, 10))
         wx.EVT_CHECKBOX(self, self.cb1.GetId(), self.select_all_param)
         self.sizer2.Add(self.cb1,(iy, ix),(1,1),\
@@ -378,7 +382,7 @@
                             wx.EXPAND|wx.ADJUST_MINSIZE, 0) 
         self.text2_4.Hide()
-        print "keys", keys
-        print "disp_list", disp_list
-        print "fix_list",fixed
+        #print "keys", keys
+        #print "disp_list", disp_list
+        #print "fix_list",fixed
         for item in keys:
             if not item in disp_list:
@@ -506,5 +510,5 @@
                      name=str(item[0])
                      value= float(item[1].GetValue())
-                     print "model para", name,value
+#                     print "model para", name,value
                      # If the value of the parameter has changed,
                      # update the model and set the is_modified flag
@@ -517,9 +521,9 @@
                 
             for item in self.parameters:
-                print "paramters",str(item[0].GetLabelText())
+#                print "paramters",str(item[0].GetLabelText())
                 try:
                      name=str(item[0].GetLabelText())
                      value= float(item[1].GetValue())
-                     print "model para", name,value
+#                     print "model para", name,value
                      # If the value of the parameter has changed,
                      # update the model and set the is_modified flag
@@ -653,8 +657,8 @@
             
             
-        if event.GetString()=="GaussianModel":
+        if event.GetString()=="Gaussian Resolution":
             from DataLoader.qsmearing import smear_selection
             smear =smear_selection( self.data )
             self.manager.set_smearer(smear)   
-            print "on smearing"
-       
+#            print "on smearing"
+       
Index: sansview/perspectives/fitting/fitpanel.py
===================================================================
--- sansview/perspectives/fitting/fitpanel.py	(revision 3dc83be13f63c0b9e425d9158c47cbf2b63505c9)
+++ sansview/perspectives/fitting/fitpanel.py	(revision 32d802fb28a92274546122f9882845983576be43)
@@ -127,5 +127,7 @@
         
         # We just created a model page, we are ready to plot the model
-        self.manager.draw_model(model, model.name)
+        #self.manager.draw_model(model, model.name)
+        #FOR PLUGIN  for somereason model.name is = BASEcomponent
+        self.manager.draw_model(model, page_title)
         
         
@@ -146,5 +148,5 @@
             self._help_add_model_page(model,description,page_title, qmin=qmin, qmax=qmax, npts=npts)
         elif topmenu==True:
-            self.model_page.select_model(model)
+            self.model_page.select_model(model, page_title)
            
     def get_notebook(self):
Index: sansview/perspectives/fitting/fitting.py
===================================================================
--- sansview/perspectives/fitting/fitting.py	(revision 89032bf74117a45d179b1505c6a28f6a36cdccc1)
+++ sansview/perspectives/fitting/fitting.py	(revision 32d802fb28a92274546122f9882845983576be43)
@@ -7,5 +7,5 @@
 from danse.common.plottools.PlotPanel import PlotPanel
 from sans.guicomm.events import NewPlotEvent, StatusEvent  
-from sans.guicomm.events import EVT_SLICER_PANEL
+from sans.guicomm.events import EVT_SLICER_PANEL,EVT_MODEL2D_PANEL
 
 from sans.fit.AbstractFitEngine import Model,Data,FitData1D,FitData2D
@@ -51,4 +51,6 @@
         # Log startup
         logging.info("Fitting plug-in started")   
+        # model 2D view
+        self.model2D_id=None
 
     def populate_menu(self, id, owner):
@@ -59,4 +61,5 @@
             @ return : list of information to populate the main menu
         """
+        self.parent.Bind(EVT_MODEL2D_PANEL, self._on_model2D_show)
         #Menu for fitting
         self.menu1 = wx.Menu()
@@ -131,4 +134,5 @@
         self.index_model = 0
         self.parent.Bind(EVT_SLICER_PANEL, self._on_slicer_event)
+        
         #create the fitting panel
         #return [self.fit_panel]
@@ -136,4 +140,6 @@
         self.mypanels.append(self.fit_panel)
         return self.mypanels
+    def _on_model2D_show(self, event ):
+        print "model2D get the id ", event.id
     def _on_slicer_event(self, event):
         print "fitting:slicer event ", event.panel
@@ -508,4 +514,5 @@
         model = evt.model
         name = evt.name
+        
         sim_page=self.fit_panel.get_page(0)
         current_pg = self.fit_panel.get_current_page() 
@@ -599,6 +606,7 @@
                 except:
                     wx.PostEvent(self.parent, StatusEvent(status="fitting \
-                        skipping point x %g %s" %(qmax, sys.exc_value)))
-                
+                        skipping point x %g %s" %(qmin, sys.exc_value)) )
+                wx.PostEvent(self.parent, NewPlotEvent(plot=theory,
+                                                title=str(data.name)))
             else:
                
@@ -644,5 +652,5 @@
                 theory.ymax= ymax
         
-        wx.PostEvent(self.parent, NewPlotEvent(plot=theory,
+                wx.PostEvent(self.parent, NewPlotEvent(plot=theory,
                                                 title=self.title +str(data.name)))
         
@@ -655,4 +663,5 @@
         if hasattr(evt.model, "name"):
             name = evt.model.name
+        print "on model menu", name
         model=evt.model()
         description=model.description
@@ -693,4 +702,5 @@
                 try:
                     new_plot = Theory1D(x, y)
+                    
                     new_plot.name = name
                     new_plot.xaxis("\\rm{Q}", 'A^{-1}')
@@ -699,7 +709,7 @@
                     new_plot.group_id ="Model"
                     wx.PostEvent(self.parent, NewPlotEvent(plot=new_plot, title="Analytical model 1D"))
-                    
                 except:
-                    raise
+                    wx.PostEvent(self.parent, StatusEvent(status="Draw model 1D error: %s" % sys.exc_value))
+                    #raise
             else:
                 for i in range(xlen):
@@ -708,4 +718,5 @@
                 try:
                     new_plot = Theory1D(x, y)
+                    print "draw model 1D", name
                     new_plot.name = name
                     new_plot.xaxis("\\rm{Q}", 'A^{-1}')
@@ -720,5 +731,6 @@
                     
                 except:
-                    raise
+                    #raise
+                    wx.PostEvent(self.parent, StatusEvent(status="Draw model 1D error: %s" % sys.exc_value))
     def update(self, output,time):
         pass
@@ -757,5 +769,5 @@
         print "model draw comptele xmax",theory.xmax,model.name
         wx.PostEvent(self.parent, NewPlotEvent(plot=theory,
-                         title="Analytical model 2D " ))
+                         title="Analytical model 2D ", reset=True ))
          
         
@@ -790,5 +802,5 @@
             
     def show_panel2D(self, id=None ):
-        self.parent.show_panel(147)
+        self.parent.show_panel(self.model2D_id)
            
    
Index: sansview/perspectives/fitting/modelpage.py
===================================================================
--- sansview/perspectives/fitting/modelpage.py	(revision 89032bf74117a45d179b1505c6a28f6a36cdccc1)
+++ sansview/perspectives/fitting/modelpage.py	(revision 32d802fb28a92274546122f9882845983576be43)
@@ -236,5 +236,5 @@
         return 0
     
-    def select_model(self, model):
+    def select_model(self, model, name):
         """
             Select a new model
@@ -242,11 +242,14 @@
         """
         self.model= model
+        print "select_model", model.__class__
         self.set_panel(model)
-        self._draw_model()
+        self._draw_model(name)
         
         # Select the model from the combo box
         items = self.modelbox.GetItems()
         for i in range(len(items)):
-            if items[i]==model.__class__.__name__:
+            print "model name",items[i],model.name, model.__class__.__name__
+            #if items[i]==model.__class__.__name__:
+            if items[i]==name:
                 self.modelbox.SetSelection(i)
         
@@ -268,5 +271,5 @@
                 #self.manager.draw_model(model, name)
                 self.enable2D=False
-                self._draw_model()
+                self._draw_model(name)
             
             
@@ -436,5 +439,5 @@
                 self._draw_model()            
             
-    def _draw_model(self):
+    def _draw_model(self, name=None):
         """
             Method to draw or refresh a plotted model.
@@ -444,8 +447,16 @@
             [Note to coder: This way future changes will be done in only one place.] 
         """
-        self.manager.draw_model(self.model, self.model.name, 
+        if name==None:
+            name= self.model.name
+        self.manager.draw_model(self.model, name, 
                                 qmin=self.qmin, qmax=self.qmax,
                                 qstep= self.num_points,
                                 enable2D=self.enable2D)
+        """
+            self.manager.draw_model(self.model, self.model.name, 
+                                    qmin=self.qmin, qmax=self.qmax,
+                                    qstep= self.num_points,
+                                    enable2D=self.enable2D)
+        """
    
         
