Ignore:
Timestamp:
Apr 14, 2009 6:27:50 PM (15 years ago)
Author:
Gervaise Alina <gervyh@…>
Branches:
master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.1.1, release-4.1.2, release-4.2.2, release_4.0.1, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
Children:
ac166e9c
Parents:
fff74cb
Message:

add disabling parameter for 1D and 2D orientation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sansview/perspectives/fitting/modelpage.py

    r2a5bba7 r780d095  
    122122        self.fittable_param=[] 
    123123        self.fixed_param=[] 
     124        self.orientation_params=[] 
    124125        
    125126        self.sizer4_4.Clear(True) 
     
    136137            self._disp_obj_dict[item] = disp_model 
    137138            self.model.set_dispersion(item, disp_model) 
    138  
    139          
    140139        ix=0 
    141140        iy=1 
     
    154153        self.sizer4_4.Add(nsigmas,( iy, ix),(1,1), wx.EXPAND|wx.ADJUST_MINSIZE, 0) 
    155154         
    156          
    157155        for item in self.model.dispersion.keys(): 
    158            
    159             self.disp_cb_dict[item]= None 
    160             name1=item+".width" 
    161             name2=item+".npts" 
    162             name3=item+".nsigmas" 
    163             iy += 1 
    164             for p in self.model.dispersion[item].keys(): 
    165                 if p=="width": 
    166                     ix = 0 
    167                     name = wx.StaticText(self, -1,  name1) 
    168                     self.sizer4_4.Add( name,( iy, ix),(1,1),   
    169                                        wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 15) 
    170                     ix = 1 
    171                     value= self.model.getParam(name1) 
    172                     ctl1 = wx.TextCtrl(self, -1, size=(_BOX_WIDTH,20), 
    173                                         style=wx.TE_PROCESS_ENTER) 
    174                      
    175                     ctl1.SetValue(str (format_number(value))) 
    176                     ctl1.Bind(wx.EVT_SET_FOCUS, self.onSetFocus) 
    177                     ctl1.Bind(wx.EVT_KILL_FOCUS, self._onparamEnter) 
    178                     ctl1.Bind(wx.EVT_TEXT_ENTER,self._onparamEnter) 
    179                     self.sizer4_4.Add(ctl1, (iy,ix),(1,1), wx.EXPAND) 
    180                      
    181                     self.fittable_param.append([None,name1,ctl1,None, 
    182                                                 None, None, None,None]) 
    183                      
    184                 elif p=="npts": 
    185                         ix =2 
    186                         value= self.model.getParam(name2) 
    187                         Tctl1 = wx.TextCtrl(self, -1, size=(_BOX_WIDTH/2,20), 
     156            if not item in self.model.orientation_params: 
     157                self.disp_cb_dict[item]= None 
     158                name1=item+".width" 
     159                name2=item+".npts" 
     160                name3=item+".nsigmas" 
     161                iy += 1 
     162                for p in self.model.dispersion[item].keys(): 
     163                    if p=="width": 
     164                        ix = 0 
     165                        name = wx.StaticText(self, -1,  name1) 
     166                        self.sizer4_4.Add( name,( iy, ix),(1,1),   
     167                                           wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 15) 
     168                        ix = 1 
     169                        value= self.model.getParam(name1) 
     170                        ctl1 = wx.TextCtrl(self, -1, size=(_BOX_WIDTH,20), 
    188171                                            style=wx.TE_PROCESS_ENTER) 
    189                          
    190                         Tctl1.SetValue(str (format_number(value))) 
    191                         Tctl1.Bind(wx.EVT_SET_FOCUS, self.onSetFocus) 
    192                         Tctl1.Bind(wx.EVT_KILL_FOCUS, self._onparamEnter) 
    193                         Tctl1.Bind(wx.EVT_TEXT_ENTER,self._onparamEnter) 
    194                         self.sizer4_4.Add(Tctl1, (iy,ix),(1,1), 
    195                                            wx.EXPAND|wx.ADJUST_MINSIZE, 0) 
    196                          
    197                         self.fixed_param.append([None,name2, Tctl1,None,None, 
    198                                                   None, None,None]) 
    199                  
    200                 elif p=="nsigmas": 
    201                          
    202                         ix =3  
    203                         value= self.model.getParam(name3) 
    204                         Tctl2 = wx.TextCtrl(self, -1, size=(_BOX_WIDTH/2,20), 
     172                        ctl1.SetValue(str (format_number(value))) 
     173                        ctl1.Bind(wx.EVT_SET_FOCUS, self.onSetFocus) 
     174                        ctl1.Bind(wx.EVT_KILL_FOCUS, self._onparamEnter) 
     175                        ctl1.Bind(wx.EVT_TEXT_ENTER,self._onparamEnter) 
     176                        self.sizer4_4.Add(ctl1, (iy,ix),(1,1), wx.EXPAND) 
     177                        self.fittable_param.append([None,name1,ctl1,None, 
     178                                                    None, None, None,None]) 
     179                    elif p=="npts": 
     180                            ix =2 
     181                            value= self.model.getParam(name2) 
     182                            Tctl1 = wx.TextCtrl(self, -1, size=(_BOX_WIDTH/2,20), 
     183                                                style=wx.TE_PROCESS_ENTER) 
     184                            Tctl1.SetValue(str (format_number(value))) 
     185                            Tctl1.Bind(wx.EVT_SET_FOCUS, self.onSetFocus) 
     186                            Tctl1.Bind(wx.EVT_KILL_FOCUS, self._onparamEnter) 
     187                            Tctl1.Bind(wx.EVT_TEXT_ENTER,self._onparamEnter) 
     188                            self.sizer4_4.Add(Tctl1, (iy,ix),(1,1), 
     189                                               wx.EXPAND|wx.ADJUST_MINSIZE, 0) 
     190                            self.fixed_param.append([None,name2, Tctl1,None,None, 
     191                                                      None, None,None]) 
     192                    elif p=="nsigmas": 
     193                            ix =3  
     194                            value= self.model.getParam(name3) 
     195                            Tctl2 = wx.TextCtrl(self, -1, size=(_BOX_WIDTH/2,20), 
     196                                                style=wx.TE_PROCESS_ENTER) 
     197                            Tctl2.SetValue(str (format_number(value))) 
     198                            Tctl2.Bind(wx.EVT_SET_FOCUS, self.onSetFocus) 
     199                            Tctl2.Bind(wx.EVT_KILL_FOCUS, self._onparamEnter) 
     200                            Tctl2.Bind(wx.EVT_TEXT_ENTER,self._onparamEnter) 
     201                            self.sizer4_4.Add(Tctl2, (iy,ix),(1,1), 
     202                                               wx.EXPAND|wx.ADJUST_MINSIZE, 0) 
     203                            ix +=1 
     204                            self.sizer4_4.Add((20,20), (iy,ix),(1,1), 
     205                                               wx.EXPAND|wx.ADJUST_MINSIZE, 0) 
     206                            self.fixed_param.append([None,name3, Tctl2, 
     207                                                     None,None, None, None,None]) 
     208        for item in self.model.dispersion.keys(): 
     209            if item in self.model.orientation_params: 
     210                self.disp_cb_dict[item]= None 
     211                name1=item+".width" 
     212                name2=item+".npts" 
     213                name3=item+".nsigmas" 
     214                iy += 1 
     215                for p in self.model.dispersion[item].keys(): 
     216                    if p=="width": 
     217                        ix = 0 
     218                        name = wx.StaticText(self, -1,  name1) 
     219                        self.sizer4_4.Add( name,( iy, ix),(1,1),   
     220                                           wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 15) 
     221                        ix = 1 
     222                        value= self.model.getParam(name1) 
     223                        ctl1 = wx.TextCtrl(self, -1, size=(_BOX_WIDTH,20), 
    205224                                            style=wx.TE_PROCESS_ENTER) 
    206                         Tctl2.SetValue(str (format_number(value))) 
    207                         Tctl2.Bind(wx.EVT_SET_FOCUS, self.onSetFocus) 
    208                         Tctl2.Bind(wx.EVT_KILL_FOCUS, self._onparamEnter) 
    209                         Tctl2.Bind(wx.EVT_TEXT_ENTER,self._onparamEnter) 
    210                         self.sizer4_4.Add(Tctl2, (iy,ix),(1,1), 
    211                                            wx.EXPAND|wx.ADJUST_MINSIZE, 0) 
    212                         ix +=1 
    213                         self.sizer4_4.Add((20,20), (iy,ix),(1,1), 
    214                                            wx.EXPAND|wx.ADJUST_MINSIZE, 0) 
    215                          
    216                         self.fixed_param.append([None,name3, Tctl2, 
    217                                                  None,None, None, None,None]) 
    218          
     225                        ctl1.SetValue(str (format_number(value))) 
     226                        ctl1.Bind(wx.EVT_SET_FOCUS, self.onSetFocus) 
     227                        ctl1.Bind(wx.EVT_KILL_FOCUS, self._onparamEnter) 
     228                        ctl1.Bind(wx.EVT_TEXT_ENTER,self._onparamEnter) 
     229                        ctl1.Disable() 
     230                        self.sizer4_4.Add(ctl1, (iy,ix),(1,1), wx.EXPAND) 
     231                        self.fittable_param.append([None,name1,ctl1,None, 
     232                                                    None, None, None,None]) 
     233                        self.orientation_params.append([None,name1,ctl1,None, 
     234                                                    None, None, None,None]) 
     235                    elif p=="npts": 
     236                            ix =2 
     237                            value= self.model.getParam(name2) 
     238                            Tctl1 = wx.TextCtrl(self, -1, size=(_BOX_WIDTH/2,20), 
     239                                                style=wx.TE_PROCESS_ENTER) 
     240                            Tctl1.SetValue(str (format_number(value))) 
     241                            Tctl1.Bind(wx.EVT_SET_FOCUS, self.onSetFocus) 
     242                            Tctl1.Bind(wx.EVT_KILL_FOCUS, self._onparamEnter) 
     243                            Tctl1.Bind(wx.EVT_TEXT_ENTER,self._onparamEnter) 
     244                            Tctl1.Disable() 
     245                            self.sizer4_4.Add(Tctl1, (iy,ix),(1,1), 
     246                                               wx.EXPAND|wx.ADJUST_MINSIZE, 0) 
     247                            self.fixed_param.append([None,name2, Tctl1,None,None, 
     248                                                      None, None,None]) 
     249                            self.orientation_params.append([None,name2, Tctl1,None,None, 
     250                                                      None, None,None]) 
     251                    elif p=="nsigmas": 
     252                            ix =3  
     253                            value= self.model.getParam(name3) 
     254                            Tctl2 = wx.TextCtrl(self, -1, size=(_BOX_WIDTH/2,20), 
     255                                                style=wx.TE_PROCESS_ENTER) 
     256                            Tctl2.SetValue(str (format_number(value))) 
     257                            Tctl2.Bind(wx.EVT_SET_FOCUS, self.onSetFocus) 
     258                            Tctl2.Bind(wx.EVT_KILL_FOCUS, self._onparamEnter) 
     259                            Tctl2.Bind(wx.EVT_TEXT_ENTER,self._onparamEnter) 
     260                            Tctl2.Disable() 
     261                            self.sizer4_4.Add(Tctl2, (iy,ix),(1,1), 
     262                                               wx.EXPAND|wx.ADJUST_MINSIZE, 0) 
     263                            ix +=1 
     264                            self.sizer4_4.Add((20,20), (iy,ix),(1,1), 
     265                                               wx.EXPAND|wx.ADJUST_MINSIZE, 0) 
     266                            self.fixed_param.append([None,name3, Tctl2, 
     267                                                     None,None, None, None,None]) 
     268                            self.orientation_params.append([None,name3, Tctl2, 
     269                                                     None,None, None, None,None]) 
     270             
    219271        msg = " Selected Distribution: Gaussian"         
    220272        wx.PostEvent(self.parent.parent, StatusEvent( status= msg ))    
     
    239291            self._draw_model() 
    240292            self.model_view.Disable() 
    241                  
     293            for item in self.orientation_params: 
     294                if item[2]!=None: 
     295                    item[2].Enable() 
     296                 
     297     
    242298                 
    243299    def reset_page(self, state): 
     
    354410        self.param_toFit=[] 
    355411        self.fixed_param=[] 
     412        self.orientation_params=[] 
    356413         
    357414        if model ==None: 
     
    366423        
    367424        keys = self.model.getParamList() 
    368         #list of dispersion paramaters 
     425        ##list of dispersion parameters 
    369426        self.disp_list=self.model.getDispParamList() 
    370427        
     
    386443        self.text2_4.Hide() 
    387444         
    388  
    389445        for item in keys: 
    390             if not item in self.disp_list: 
     446            if not item in self.disp_list and not item in self.model.orientation_params: 
    391447                iy += 1 
    392448                ix = 0 
    393      
    394449                name = wx.StaticText(self, -1,item) 
    395450                sizer.Add( name,( iy, ix),(1,1), 
    396451                             wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 15) 
    397                 
    398452                ix += 1 
    399453                value= self.model.getParam(item) 
     
    407461                 
    408462                sizer.Add(ctl1, (iy,ix),(1,1), wx.EXPAND) 
    409          
    410463                ix +=1 
    411464                # Units 
     
    415468                    units = wx.StaticText(self, -1, "", style=wx.ALIGN_LEFT) 
    416469                sizer.Add(units, (iy,ix),(1,1),  wx.EXPAND|wx.ADJUST_MINSIZE, 0) 
    417                  
    418470                ##[cb state, name, value, "+/-", error of fit, min, max , units] 
    419471                self.parameters.append([None,item, ctl1, 
     472                                        None,None, None, None,None]) 
     473        iy+=1 
     474        sizer.Add((10,10),(iy,ix),(1,1), wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 15) 
     475        for item  in self.model.orientation_params: 
     476            if not item in self.disp_list : 
     477                iy += 1 
     478                ix = 0 
     479                name = wx.StaticText(self, -1,item) 
     480                sizer.Add( name,( iy, ix),(1,1), 
     481                             wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 15) 
     482                ix += 1 
     483                value= self.model.getParam(item) 
     484                ctl1 = wx.TextCtrl(self, -1, size=(_BOX_WIDTH,20), 
     485                    style=wx.TE_PROCESS_ENTER) 
     486                 
     487                ctl1.SetValue(str (format_number(value))) 
     488                ctl1.Disable() 
     489                ctl1.Bind(wx.EVT_SET_FOCUS, self.onSetFocus) 
     490                ctl1.Bind(wx.EVT_KILL_FOCUS, self._onparamEnter) 
     491                ctl1.Bind(wx.EVT_TEXT_ENTER,self._onparamEnter) 
     492                 
     493                sizer.Add(ctl1, (iy,ix),(1,1), wx.EXPAND) 
     494                ix +=1 
     495                # Units 
     496                try: 
     497                    units = wx.StaticText(self, -1, self.model.details[item][0], style=wx.ALIGN_LEFT) 
     498                except: 
     499                    units = wx.StaticText(self, -1, "", style=wx.ALIGN_LEFT) 
     500                sizer.Add(units, (iy,ix),(1,1),  wx.EXPAND|wx.ADJUST_MINSIZE, 0) 
     501                ##[cb state, name, value, "+/-", error of fit, min, max , units] 
     502                self.parameters.append([None,item, ctl1, 
     503                                        None,None, None, None,None]) 
     504                self.orientation_params.append([None,item, ctl1, 
    420505                                        None,None, None, None,None]) 
    421506                 
     
    430515            else: 
    431516                self.text2_4.Hide() 
    432          
     517     
    433518        boxsizer1.Add(sizer) 
    434          
    435519        self.sizer3.Add(boxsizer1,0, wx.EXPAND | wx.ALL, 10) 
    436520        self.sizer3.Layout() 
Note: See TracChangeset for help on using the changeset viewer.