Index: sansview/perspectives/fitting/basepage.py
===================================================================
--- sansview/perspectives/fitting/basepage.py	(revision c16557ca09672e99317df12a6ccc2adccbbd9742)
+++ sansview/perspectives/fitting/basepage.py	(revision fc6ea431d80080e297f46ff0a75e52e121b80e1b)
@@ -332,7 +332,7 @@
             return 
         if hasattr(self,"enable_disp"):
-            self.state.enable_disp = self.enable_disp.GetValue()
+            self.state.enable_disp = copy.deepcopy(self.enable_disp.GetValue())
         if hasattr(self, "disp_box"):
-            self.state.disp_box = self.disp_box.GetSelection()
+            self.state.disp_box = copy.deepcopy(self.disp_box.GetSelection())
         
         self.state.model = self.model.clone()
@@ -345,6 +345,7 @@
         
         ## Add item in the context menu
-        year, month, day,hour,minute,second,tda,ty,tm_isdst= time.gmtime()
-        my_time= str(hour)+"hrs "+str(minute)+"min "+str(second)+"s"
+        
+        year, month, day,hour,minute,second,tda,ty,tm_isdst= time.localtime()
+        my_time= str(hour)+" : "+str(minute)+" : "+str(second)+" "
         date= str( month)+"|"+str(day)+"|"+str(year)
         msg=  "Model saved at %s on %s"%(my_time, date)
@@ -443,8 +444,11 @@
         if hasattr(self,"enable_disp"):
             self.state.enable_disp= self.enable_disp.GetValue()
-        
+            self.state.disable_disp = self.disable_disp.GetValue()
+            
         self.state.smearer = copy.deepcopy(self.smearer)
         if hasattr(self,"enable_smearer"):
             self.state.enable_smearer = copy.deepcopy(self.enable_smearer.GetValue())
+            self.state.disable_smearer = copy.deepcopy(self.disable_smearer.GetValue())
+            
             
         if hasattr(self,"disp_box"):
@@ -453,11 +457,12 @@
       
         ## save checkbutton state and txtcrtl values
-        self.state.parameters=[]
-        self.state.fittable_param=[]
-        self.state.fixed_param=[]
        
         self._copy_parameters_state(self.parameters, self.state.parameters)
         self._copy_parameters_state(self.fittable_param, self.state.fittable_param)
         self._copy_parameters_state(self.fixed_param, self.state.fixed_param)
+        self._copy_parameters_state(self.orientation_params,
+                                     self.state.orientation_params)
+        self._copy_parameters_state(self.orientation_params_disp,
+                                     self.state.orientation_params_disp)
         
         ## post state to fit panel
@@ -483,4 +488,5 @@
         ## display dispersion info layer
         self.enable_disp.SetValue(self.state.enable_disp)
+        self.disable_disp.SetValue(self.state.disable_disp)
         if hasattr(self, "disp_box"):
             self.disp_box.SetSelection(self.state.disp_box)  
@@ -492,4 +498,5 @@
             ## set smearing value whether or not the data contain the smearing info
             self.enable_smearer.SetValue(state.enable_smearer)
+            self.disable_smearer.SetValue(state.disable_smearer)
             self.compute_chisqr(smearer= self.smearer)  
             
@@ -500,4 +507,8 @@
         self._reset_parameters_state(self.fittable_param,state.fittable_param)
         self._reset_parameters_state(self.fixed_param,state.fixed_param)
+        self._reset_parameters_state(self.orientation_params_disp,
+                                     state.orientation_params_disp)
+        self._reset_parameters_state(self.orientation_params,
+                                     state.orientation_params)
         
         ## draw the model with previous parameters value
@@ -999,5 +1010,9 @@
         
         ## post state to fit panel
-        self.save_current_state()
+        self.state.model =self.model
+        ## post state to fit panel
+        event = PageInfoEvent(page = self)
+        wx.PostEvent(self.parent, event)
+        
         self.sizer4_4.Layout()
         self.sizer4.Layout()
Index: sansview/perspectives/fitting/fitting.py
===================================================================
--- sansview/perspectives/fitting/fitting.py	(revision 413408601ab3e50cd9788992d4d404b3ff506ba9)
+++ sansview/perspectives/fitting/fitting.py	(revision fc6ea431d80080e297f46ff0a75e52e121b80e1b)
@@ -1009,5 +1009,5 @@
             theory.detector= data.detector
             theory.source= data.source
-            
+       
             ## plot boundaries
             theory.ymin= data.ymin
Index: sansview/perspectives/fitting/modelpage.py
===================================================================
--- sansview/perspectives/fitting/modelpage.py	(revision d1e04737f5484e5576c030020a1a5851d1235dba)
+++ sansview/perspectives/fitting/modelpage.py	(revision fc6ea431d80080e297f46ff0a75e52e121b80e1b)
@@ -227,5 +227,8 @@
                         ctl1.Bind(wx.EVT_KILL_FOCUS, self._onparamEnter)
                         ctl1.Bind(wx.EVT_TEXT_ENTER,self._onparamEnter)
-                        ctl1.Disable()
+                        if not self.enable2D:
+                            ctl1.Disable()
+                        else:
+                            ctl1.Enable()
                         self.sizer4_4.Add(ctl1, (iy,ix),(1,1), wx.EXPAND)
                         self.fittable_param.append([None,name1,ctl1,None,
@@ -242,5 +245,8 @@
                             Tctl1.Bind(wx.EVT_KILL_FOCUS, self._onparamEnter)
                             Tctl1.Bind(wx.EVT_TEXT_ENTER,self._onparamEnter)
-                            Tctl1.Disable()
+                            if not self.enable2D:
+                                Tctl1.Disable()
+                            else:
+                                Tctl1.Enable()
                             self.sizer4_4.Add(Tctl1, (iy,ix),(1,1),
                                                wx.EXPAND|wx.ADJUST_MINSIZE, 0)
@@ -258,5 +264,8 @@
                             Tctl2.Bind(wx.EVT_KILL_FOCUS, self._onparamEnter)
                             Tctl2.Bind(wx.EVT_TEXT_ENTER,self._onparamEnter)
-                            Tctl2.Disable()
+                            if not self.enable2D:
+                                Tctl2.Disable()
+                            else:
+                                Tctl2.Enable()
                             self.sizer4_4.Add(Tctl2, (iy,ix),(1,1),
                                                wx.EXPAND|wx.ADJUST_MINSIZE, 0)
Index: sansview/perspectives/fitting/pagestate.py
===================================================================
--- sansview/perspectives/fitting/pagestate.py	(revision 3370922c49e4a289d9d88d22630dd817789efde8)
+++ sansview/perspectives/fitting/pagestate.py	(revision fc6ea431d80080e297f46ff0a75e52e121b80e1b)
@@ -42,4 +42,6 @@
         ## orientation parameters
         self.orientation_params=[]
+        ## orientation parmaters for gaussian dispersity
+        self.orientation_params_disp=[]
         ## smearer info
         self.smearer=None
@@ -64,6 +66,8 @@
         ## enable smearering state
         self.enable_smearer = False
+        self.disable_smearer = True
         ## disperity selection
         self.enable_disp= False
+        self.disable_disp= True
         ## state of selected all check button
         self.cb1 = False
@@ -87,10 +91,17 @@
         obj.manager = self.manager
         obj.event_owner = self.event_owner
+        
         obj.parameters = copy.deepcopy(self.parameters)
         obj.fixed_param = copy.deepcopy(self.fixed_param)
         obj.fittable_param = copy.deepcopy(self.fittable_param)
         obj.orientation_params =  copy.deepcopy(self.orientation_params)
+        obj.orientation_params_disp =  copy.deepcopy(self.orientation_params_disp)
+        
         obj.enable_disp = copy.deepcopy(self.enable_disp)
+        obj.disable_disp = copy.deepcopy(self.disable_disp)
+        
         obj.enable_smearer = copy.deepcopy(self.enable_smearer)
+        obj.disable_smearer = copy.deepcopy(self.disable_smearer)
+        
         obj.disp_box = copy.deepcopy(self.disp_box)
         obj.qmin = copy.deepcopy(self.qmin)
