Index: sansview/perspectives/fitting/basepage.py
===================================================================
--- sansview/perspectives/fitting/basepage.py	(revision b787e68c1ba3f939b02051b4663e38eee6a12ab3)
+++ sansview/perspectives/fitting/basepage.py	(revision 3b605bbbf34392d21f2dba9b6a894bc2b795f287)
@@ -206,7 +206,9 @@
         #-----------------------------------------------------
         self.sizer4.Add(boxsizer1,0, wx.EXPAND | wx.ALL, 10)
+        self.sizer4_4.Layout()
         self.sizer4.Layout()
-       
+        self.Layout()
         self.SetScrollbars(20,20,200,100)
+        self.Refresh()
         
     
@@ -675,7 +677,5 @@
             flag= name != "NoStructure"
             if flag and (class_name in self.model_list_box["Structure Factors"]):
-                self.structurebox.Show(True)
-                self.text2.Show(True)
-                self.multip_cb.SetValue(True)
+                self.structurebox.Enable()
                 items = self.structurebox.GetItems()
                 self.sizer1.Layout()
@@ -729,4 +729,11 @@
             for k, list in self.model_list_box.iteritems():
                 if k in["P(Q)*S(Q)","Shapes" ] and class_name in self.model_list_box["Shapes"]:
+                    
+                    if class_name in self.model_list_box["P(Q)*S(Q)"]:
+                        self.structurebox.Enable()
+                    else:
+                        self.structurebox.Disable()
+                        self.structurebox.SetSelection(0)
+                        
                     self.shape_rbutton.SetValue(True)
                     ## fill the form factor list with new model
@@ -746,4 +753,6 @@
                     self.plugin_rbutton.SetValue(True)
                 if class_name in list:
+                    self.structurebox.SetSelection(0)
+                    self.structurebox.Disable()
                     ## fill the form factor list with new model
                     self._populate_box(self.formfactorbox, list)
@@ -784,7 +793,4 @@
         self.struct_rbutton = wx.RadioButton(self, -1, "Structure Factor ")
         self.plugin_rbutton = wx.RadioButton(self, -1, "Customized Models")
-        self.multip_cb = wx.CheckBox(self, -1,"P(Q)*S(Q)")
-        
-       
         
         self.Bind( wx.EVT_RADIOBUTTON, self._show_combox,
@@ -796,10 +802,9 @@
         self.Bind( wx.EVT_RADIOBUTTON, self._show_combox,
                             id= self.plugin_rbutton.GetId() )  
-        wx.EVT_CHECKBOX(self, self.multip_cb.GetId() , self._show_combox )              
+       
       
-        sizer_radiobutton = wx.GridSizer(3, 3,5, 5)
+        sizer_radiobutton = wx.GridSizer(2, 2,5, 5)
         sizer_radiobutton.Add(self.shape_rbutton)
         sizer_radiobutton.Add(self.shape_indep_rbutton)
-        sizer_radiobutton.Add(self.multip_cb)
         sizer_radiobutton.Add(self.plugin_rbutton)
         sizer_radiobutton.Add(self.struct_rbutton)
@@ -810,5 +815,4 @@
         self.text2 = wx.StaticText( self,-1,"* S(Q)" )
         
-        self.text2.Hide()
         
         self.formfactorbox = wx.ComboBox(self, -1,style=wx.CB_READONLY)
@@ -820,5 +824,6 @@
         wx.EVT_COMBOBOX(self.formfactorbox,-1, self._on_select_model)
         wx.EVT_COMBOBOX(self.structurebox,-1, self._on_select_model)
-        self.structurebox.Hide()
+        
+        
         
         ## fill combox box
@@ -829,4 +834,11 @@
             self._populate_box( self.structurebox,
                                 self.model_list_box["Structure Factors"])
+            self.structurebox.Insert("None", 0,None)
+            self.structurebox.SetSelection(0)
+            self.structurebox.Disable()
+ 
+            if self.model.__class__ in self.model_list_box["P(Q)*S(Q)"]:
+                self.structurebox.Enable()
+            
         
         ## check model type to show sizer
@@ -863,6 +875,6 @@
              event.GetEventObject()==self.shape_rbutton:
             ##fill the combobox with form factor list
-            self.structurebox.Hide()
-            self.text2.Hide()
+            self.structurebox.SetSelection(0)
+            self.structurebox.Disable()
             self.formfactorbox.Clear()
             self._populate_box( self.formfactorbox,self.model_list_box["Shapes"])
@@ -871,6 +883,6 @@
              event.GetEventObject()==self.shape_indep_rbutton:
             ##fill the combobox with shape independent  factor list
-            self.structurebox.Hide()
-            self.text2.Hide()
+            self.structurebox.SetSelection(0)
+            self.structurebox.Disable()
             self.formfactorbox.Clear()
             self._populate_box( self.formfactorbox,
@@ -880,6 +892,6 @@
              event.GetEventObject()==self.struct_rbutton:
             ##fill the combobox with structure factor list
-            self.structurebox.Hide()
-            self.text2.Hide()
+            self.structurebox.SetSelection(0)
+            self.structurebox.Disable()
             self.formfactorbox.Clear()
             self._populate_box( self.formfactorbox,
@@ -890,53 +902,15 @@
            
             ##fill the combobox with form factor list
-            self.structurebox.Hide()
-            self.text2.Hide()
+            self.structurebox.Disable()
             self.formfactorbox.Clear()
             self._populate_box( self.formfactorbox,
                                 self.model_list_box["Customized Models"])
         
-        if not self.multip_cb.GetValue(): 
-            self.structurebox.Hide()
-            self.text2.Hide()
-            n = self.formfactorbox.GetCurrentSelection()
-            model = self.formfactorbox.GetClientData(n)
-            self.model = model()
-        ## user check multiplication option        
-        else:
-            ##for this release 
-            flag1= self.plugin_rbutton.GetValue()or self.struct_rbutton.GetValue()\
-                    or self.shape_indep_rbutton.GetValue()
-            flag2= False   
-             
-            n = self.formfactorbox.GetCurrentSelection()
-            form_factor = self.formfactorbox.GetClientData(n)   
-            ## selecting only multiplication model
-            if self.shape_rbutton.GetValue():
-               if not form_factor in  self.model_list_box["multiplication"]:
-                   flag2 = True
-            ## multiplication not available for structure factor
-            if flag1 or  flag2:
-                self.multip_cb.SetValue(False)
-                self.structurebox.Hide()
-                self.text2.Hide()
-                return
-            ## allow only some to have multiplication
-            
-            self.structurebox.Show(True)
-            self.text2.Show(True)
-            ## draw multiplication  model
-            n = self.structurebox.GetCurrentSelection()
-            struct_factor = self.structurebox.GetClientData(n)
-            
-            from sans.models.MultiplicationModel import MultiplicationModel
-            self.model= MultiplicationModel(form_factor(),struct_factor())
-
         self._on_select_model(event=None)
-        self.sizer4_4.Clear()
+        self.sizer4_4.Layout()
         self.sizer4.Layout()
-            
-        
-        self.set_scroll()
-   
+        self.Layout()
+        self.Refresh()
+        self.SetScrollbars(20,20,200,100)
             
     def _populate_box(self, combobox, list):
@@ -970,21 +944,17 @@
         self._disp_obj_dict = {}
         self.disp_cb_dict ={}
-        
         f_id = self.formfactorbox.GetCurrentSelection()
+        form_factor = self.formfactorbox.GetClientData( f_id )
+        if not form_factor in  self.model_list_box["multiplication"]:
+            self.structurebox.Disable()
+            self.structurebox.SetSelection(0)
+            
+          
         s_id = self.structurebox.GetCurrentSelection()
-        form_factor = self.formfactorbox.GetClientData( f_id )
         struct_factor = self.structurebox.GetClientData( s_id )
-        
-        if not form_factor in  self.model_list_box["multiplication"]:
-            self.multip_cb.SetValue(False)
-            self.structurebox.Hide()
-            self.text2.Hide()
-            self.sizer4_4.Clear()
-            self.sizer4.Layout()
-            
-        if self.multip_cb.GetValue():
+            
+        if  struct_factor !=None:
             from sans.models.MultiplicationModel import MultiplicationModel
             self.model= MultiplicationModel(form_factor(),struct_factor())
-            
         else:
             self.model= form_factor()
@@ -992,4 +962,10 @@
         ## post state to fit panel
         self.save_current_state()
+        self.sizer4_4.Layout()
+        self.sizer4.Layout()
+        self.Layout()
+        self.SetScrollbars(20,20,200,100)
+        self.Refresh()
+        
        
         
@@ -1077,5 +1053,4 @@
                 else:
                     ## set gaussian sizer 
-                    #self._set_sizer_gaussian()  
                     self._on_select_Disp(event=None)
             else:
@@ -1089,7 +1064,5 @@
             self.save_current_state()
             
-            self.sizer4.Layout()
-            self.Layout()
-            self.SetScrollbars(20,20,200,100)
+          
             
         
@@ -1109,8 +1082,6 @@
         self.sizer4_4.Layout()
         self.sizer4.Layout()
-       
         self.SetScrollbars(20,20,200,100)
-        return 
-    
+      
             
     def _reset_dispersity(self):
@@ -1123,4 +1094,10 @@
         from sans.models.dispersion_models import GaussianDispersion
         if len(self.disp_cb_dict)==0:
+            self.sizer4_4.Clear(True)
+            self.sizer4_4.Layout()
+            self.sizer4.Layout()
+            self.Layout()
+            self.Refresh()
+            self.SetScrollbars(20,20,200,100)   
             return 
         
@@ -1136,4 +1113,11 @@
             self._draw_model()
             
+        self.sizer4_4.Layout()
+        self.sizer4.Layout()
+        self.Layout()
+        self.SetScrollbars(20,20,200,100)    
+        self.Refresh()
+        
+            
             
     def _on_select_Disp(self,event):
@@ -1151,5 +1135,5 @@
         if  name=="ArrayDispersion":
             self._set_sizer_arraydispersion()
-        
+            
         self.state.disp_box= n
         ## post state to fit panel
@@ -1157,4 +1141,12 @@
         wx.PostEvent(self.parent, event)
         
+        self.sizer4_4.Layout()
+        self.sizer4.Layout()
+        self.Layout()
+        self.SetScrollbars(20,20,200,100)
+        self.Refresh()
+        
+       
+       
         
     def _set_sizer_arraydispersion(self):
Index: sansview/perspectives/fitting/fitpage.py
===================================================================
--- sansview/perspectives/fitting/fitpage.py	(revision b787e68c1ba3f939b02051b4663e38eee6a12ab3)
+++ sansview/perspectives/fitting/fitpage.py	(revision 3b605bbbf34392d21f2dba9b6a894bc2b795f287)
@@ -394,15 +394,16 @@
         self._on_select_model_helper() 
         self.set_model_param_sizer(self.model)
-        self._set_sizer_gaussian()
-        
-        evt = ModelEventbox(model=self.model)
-        wx.PostEvent(self.event_owner, evt)   
         try:
             self.compute_chisqr()
-            self.text1_1.Show()
-            self.tcChi.Show()
         except:
             ## error occured on chisqr computation
             pass
+        self.enable_disp.SetValue(False)
+        self.disable_disp.SetValue(True)
+        self._set_dipers_Param(event=None)
+        
+        evt = ModelEventbox(model=self.model)
+        wx.PostEvent(self.event_owner, evt)   
+        
     
     def _onparamEnter(self,event):
Index: sansview/perspectives/fitting/fitpanel.py
===================================================================
--- sansview/perspectives/fitting/fitpanel.py	(revision b787e68c1ba3f939b02051b4663e38eee6a12ab3)
+++ sansview/perspectives/fitting/fitpanel.py	(revision 3b605bbbf34392d21f2dba9b6a894bc2b795f287)
@@ -231,5 +231,5 @@
                                 qmin=qmin, qmax=qmax, npts=npts, reset=reset)
             else:
-                self.model_page.select_model(model, page_title)
+                self.model_page.select_model(model, "Model")
        
       
Index: sansview/perspectives/fitting/modelpage.py
===================================================================
--- sansview/perspectives/fitting/modelpage.py	(revision b787e68c1ba3f939b02051b4663e38eee6a12ab3)
+++ sansview/perspectives/fitting/modelpage.py	(revision 3b605bbbf34392d21f2dba9b6a894bc2b795f287)
@@ -99,11 +99,6 @@
         """    
         self._on_select_model_helper() 
-        self.set_model_param_sizer(self.model)
-        self._set_sizer_gaussian()
-        self.name = self.model.name
-        self.model_view.SetFocus()
-        self.parent.model_page.name = self.name
-        self.parent.draw_model_name = self.name
-        self._draw_model()  
+        self.select_model(self.model, self.model.name)
+        
        
     def _fill_model_sizer(self, sizer):
@@ -253,5 +248,7 @@
         ## keep the sizer view consistent with the model menu selecting
         self._set_model_sizer_selection( self.model )
-        
+        self.enable_disp.SetValue(False)
+        self.disable_disp.SetValue(True)
+        self._set_dipers_Param(event=None)
         self.model_view.SetFocus()
                          
