Index: sansview/perspectives/fitting/fitproblem.py
===================================================================
--- sansview/perspectives/fitting/fitproblem.py	(revision 948add7b3e543b2f6928425d6b889b3328df699a)
+++ sansview/perspectives/fitting/fitproblem.py	(revision 8e81af00774ee59509d5ccfb6d2157ad38169f66)
@@ -20,6 +20,5 @@
         self.model_list=[]
         self.schedule=0
-        self.param_name= None
-        self.param_value=None
+        self.list_param=[]
         
     def set_model(self,model,name):
@@ -70,6 +69,5 @@
         #print "fitproblem",name,value
         #self.model_list[0].setParam(name,value)
-        self.param_name = name
-        self.param_value= value
+        self.list_param.append([name,value])
     def get_model_param(self):
         """ 
@@ -80,5 +78,5 @@
         #print self.param_name, self.param_value
         #self.model_list[0].setParam(name,value)
-        return self.param_name, self.param_value
+        return self.list_param
         
     def reset_model(self,model):
Index: sansview/perspectives/fitting/fitting.py
===================================================================
--- sansview/perspectives/fitting/fitting.py	(revision 948add7b3e543b2f6928425d6b889b3328df699a)
+++ sansview/perspectives/fitting/fitting.py	(revision 8e81af00774ee59509d5ccfb6d2157ad38169f66)
@@ -375,8 +375,17 @@
                             return
                     new_model=Model(model)
-                    param_name,param_value=value.get_model_param()
-                    print "fitting ",param_name,value.get_model_param()
-                    if param_value !=None:
-                        new_model.set( param_name =str(param_value))
+                    param=value.get_model_param()
+                    
+                    if len(param)>0:
+                        for item in param:
+                            param_value = item[1]
+                            param_name = item[0]
+                            #print "fitting ", param,param_name, param_value
+                           
+                            #new_model.set( model.getParam(param_name[0])= param_value)
+                            #new_model.set( exec"%s=%s"%(param_name[0], param_value))
+                            #new_model.set( exec "%s"%(param_nam) = param_value)
+                            new_model.parameterset[ param_name].set( param_value )
+                            
                     self.fitter.set_model(new_model, self.id, pars) 
                     self.fitter.set_data(Data(sans_data=data),self.id,qmin,qmax)
Index: sansview/perspectives/fitting/simfitpage.py
===================================================================
--- sansview/perspectives/fitting/simfitpage.py	(revision 948add7b3e543b2f6928425d6b889b3328df699a)
+++ sansview/perspectives/fitting/simfitpage.py	(revision 8e81af00774ee59509d5ccfb6d2157ad38169f66)
@@ -53,7 +53,4 @@
         self.page_finder={}
        
-
-        #self.sizer2.Add((20,20),(iy, ix))
-        #self.sizer2.Add((20,20), 0, wx.LEFT|wx.RIGHT|wx.ADJUST_MINSIZE, 10)
         self.vbox.Layout()
         self.vbox.Fit(self) 
@@ -64,15 +61,13 @@
     def onFit(self,event):
         """ signal for fitting"""
-        
+        for page in self.page_finder.iterkeys():
+            page.set_model_parameter()
+            
         if len(self.model_toFit) ==1 :
             self.manager._on_single_fit()
-            print "simfitpage: when here"
+           # print "simfitpage: when here"
         elif len(self.model_toFit) > 1 :
-            if len(self.params)>0:
-                self._onTextEnter()
-                self.set_model()
-            else:
-                for page in self.page_finder.iterkeys():
-                    page.set_model_parameter()
+            self._onTextEnter()
+            self.set_model()
             self.manager._on_simul_fit()
         else:
@@ -101,5 +96,5 @@
                 self.model_toFit.append(item)
         else:
-            print"simfit: deselected all"
+            #print"simfit: deselected all"
             self.manager.schedule_for_fit( value=0,fitproblem =item[1]) 
             for item in self.model_list:
@@ -186,11 +181,10 @@
                 self.manager.schedule_for_fit( value=1,fitproblem =item[1]) 
             else:
-                print"simfit: deselected one"
+                #print"simfit: deselected one"
                 self.manager.schedule_for_fit( value=0,fitproblem =item[1]) 
                 if item in self.model_toFit:
                     self.model_toFit.remove(item)
+                    self.cb1.SetValue(False)
                     
-                    
-                    self.cb1.SetValue(False)
         if len(self.model_list)==len(self.model_toFit):
             self.cb1.SetValue(True)
@@ -212,5 +206,5 @@
                 model=list[0]
                 param_list=model.getParamList()
-                #print "simfitpage: on set_model ",self.params
+                print "simfitpage: on set_model self.params ",self.params
                 if self.params !=[]:
                     for element in self.params:
@@ -218,13 +212,11 @@
                             for item in param_list:
                                 if item==str(element[1]):
-                                    #print "simfitpage: on set_model page 1",param_list
-                                    #print "simfitpage: model name",element[0], model.name
-                                    #print "simfitpage: param name ,param value",element[1],element[2]
+                                    print "simfitpage: on set_model page 1",param_list
+                                    print "simfitpage: model name",element[0], model.name
+                                    print "simfitpage: param name ,param value",element[1],element[2]
                                     self.manager.set_page_finder(model.name,element[1],\
                                                                  str(element[2]))
                             #print "simfitpage:on set_model page 2",model.params['A'],self.params[2]
     
-                
-    #def _onTextEnter(self,event):
     def _onTextEnter(self):
         """
@@ -235,24 +227,19 @@
         """
         value= self.ctl2.GetValue()
-        self.params=[]
-        #print "simfitpage: value",value
-        try:
-            expression='[\s,;]'
-            if re.search(expression,value) !=None:
-                word=re.split(expression,value)
-                #print "simfitpage: when herre",word
-                for item in word:
-                    try:
+        if value:
+            self.params=[]
+            #print "simfitpage: value",value
+            try:
+                expression='[\s,;]'
+                if re.search(expression,value) !=None:
+                    word=re.split(expression,value)
+                    #print "simfitpage: when herre",word
+                    for item in word:
                         self.params.append(self.parser_helper(item))
-                    except:
-                        wx.PostEvent(self.parent.GrandParent, StatusEvent(status="Constraint Error: %s" % sys.exc_value))
-            else:
-                try:
-                    self.params.append(self.parser_helper(value))
-                except:
-                     wx.PostEvent(self.parent.GrandParent, StatusEvent(status="Constraint Error: %s" % sys.exc_value))
-                     return
-        except:
-            raise
+                else:
+                    self.params.append(self.parser_helper(value))  
+            except:
+                raise
+                wx.PostEvent(self.parent.GrandParent, StatusEvent(status="Constraint Error: %s" % sys.exc_value))
         #print "simfitpage: self.params",self.params
         
@@ -276,11 +263,7 @@
                 param_name=param_names[1]
                 ##### just added
-                if string.find(param_name,".")!=-1:
-                ########
-                    param_new_name= re.split("\.",param_name)
-                else:  
-                    param_new_name=  param_name
-                print "simfitpage: param name",param_new_name
-                param=[str(model_name),str(param_new_name[1]),str(param_value)]
+                print "simfitpage: param name",model_name,param_name
+            
+                param=[str(model_name),param_name,str(param_value)]
                 #print "simfitpage: param",param
                 return param
