Changeset 505706a in sasview for src/sas/sasgui/perspectives/fitting


Ignore:
Timestamp:
Dec 20, 2016 7:59:08 AM (8 years ago)
Author:
Paul Kienzle <pkienzle@…>
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, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
Children:
b61bd57
Parents:
d3911e3 (diff), 06a4306 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' into ticket-811

Location:
src/sas/sasgui/perspectives/fitting
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • src/sas/sasgui/perspectives/fitting/basepage.py

    rd3911e3 r505706a  
    5252    FONT_VARIANT = 1 
    5353    ON_MAC = True 
    54  
    5554 
    5655class BasicPage(ScrolledPanel, PanelBase): 
     
    10421041                        disp_model = POLYDISPERSITY_MODELS['array']() 
    10431042                        if hasattr(state, "values") and \ 
    1044                                  self.disp_cb_dict[item].GetValue() is True: 
     1043                                 self.disp_cb_dict[item].GetValue(): 
    10451044                            if len(state.values) > 0: 
    10461045                                self.values = state.values 
     
    14351434                    self.qmax_x = tempmax 
    14361435                    is_modified = True 
    1437  
    14381436                if is_2Ddata: 
    1439                     # set mask 
    14401437                    is_modified = self._validate_Npts() 
    1441  
     1438                else: 
     1439                    is_modified = self._validate_Npts_1D() 
    14421440            else: 
    14431441                self.fitrange = False 
     
    14541452                # Theory case: need to get npts value to draw 
    14551453                self.npts_x = float(self.Npts_total.GetValue()) 
     1454                self.Npts_fit.SetValue(str(self.Npts_total.GetValue())) 
     1455                self._save_plotting_range() 
    14561456                self.create_default_data() 
    14571457                self.state_change = True 
    14581458                self._draw_model() 
     1459                # Time delay has been introduced to prevent _handle error 
     1460                # on Windows 
     1461                # This part of code is executed when model is selected and 
     1462                # it's parameters are changed (with respect to previously 
     1463                # selected model). There are two Iq evaluations occuring one 
     1464                # after another and therefore there may be compilation error 
     1465                # if model is calculated for the first time. 
     1466                # This seems to be Windows only issue - haven't tested on Linux 
     1467                # though.The proper solution (other than time delay) requires 
     1468                # more fundemental code refatoring 
     1469                # Wojtek P. Nov 7, 2016 
     1470                if not ON_MAC: 
     1471                    time.sleep(0.1) 
    14591472                self.Refresh() 
    14601473 
     
    21672180                flag = False 
    21682181            else: 
    2169                 self.Npts_fit.SetValue(str(len(index_data[index_data is True]))) 
     2182                self.Npts_fit.SetValue(str(len(index_data[index_data]))) 
    21702183                self.fitrange = True 
    21712184 
     
    23912404 
    23922405        # Redraw the model 
    2393         self._draw_model() 
     2406        #  Wojtek P. Nov 7, 2016: Redrawing seems to be unnecessary here 
     2407        # self._draw_model() 
    23942408        # self._undo.Enable(True) 
    23952409        event = PageInfoEvent(page=self) 
     
    26102624            Layout after self._draw_model 
    26112625        """ 
    2612         if ON_MAC is True: 
     2626        if ON_MAC: 
    26132627            time.sleep(1) 
    26142628 
  • src/sas/sasgui/perspectives/fitting/fitpage.py

    rc8e1996 rbf44249e  
    8181        flag = check_data_validity(self.data) & (self.model is not None) 
    8282        self.btFit.Enable(flag) 
    83          
     83 
    8484    def on_set_focus(self, event): 
    8585        """ 
    86         Override the basepage focus method to ensure the save flag is set  
     86        Override the basepage focus method to ensure the save flag is set 
    8787        properly when focusing on the fit page. 
    8888        """ 
     
    238238 
    239239        weighting_set_box = wx.StaticBox(self, wx.ID_ANY, 
    240                                 'Set Weighting by Selecting dI Source') 
     240                                         'Set Weighting by Selecting dI Source') 
    241241        weighting_box = wx.StaticBoxSizer(weighting_set_box, wx.HORIZONTAL) 
    242242        sizer_weighting = wx.BoxSizer(wx.HORIZONTAL) 
     
    11641164        if event is not None: 
    11651165            if (event.GetEventObject() == self.formfactorbox 
    1166                         and self.structurebox.GetLabel() != 'None')\ 
    1167                         or event.GetEventObject() == self.structurebox\ 
    1168                         or event.GetEventObject() == self.multifactorbox: 
     1166                    and self.structurebox.GetLabel() != 'None')\ 
     1167                    or event.GetEventObject() == self.structurebox\ 
     1168                    or event.GetEventObject() == self.multifactorbox: 
    11691169                copy_flag = self.get_copy_params() 
    11701170                is_poly_enabled = self.enable_disp.GetValue() 
     
    12051205                    self._keep.Enable(not self.batch_on) 
    12061206                    self._set_save_flag(True) 
    1207                     self._set_smear(self.data) 
     1207            #Setting smearing for cases with and without data. 
     1208            self._set_smear(self.data) 
    12081209 
    12091210            # more disables for 2D 
     
    12121213            try: 
    12131214                # update smearer sizer 
    1214                 self.onSmear(None) 
     1215                #This call for smearing set up caused double evaluation of 
     1216                #I(q) and double compilation as results 
     1217                #self.onSmear(None) 
    12151218                temp_smear = None 
    12161219                if not self.disable_smearer.GetValue(): 
     
    12261229            # set smearing value whether or not data contain the smearing info 
    12271230            evt = ModelEventbox(model=self.model, 
    1228                             smearer=temp_smear, 
    1229                             enable_smearer=not self.disable_smearer.GetValue(), 
    1230                             qmin=float(self.qmin_x), 
    1231                             uid=self.uid, 
    1232                             caption=self.window_caption, 
    1233                             qmax=float(self.qmax_x)) 
     1231                                smearer=temp_smear, 
     1232                                enable_smearer=not self.disable_smearer.GetValue(), 
     1233                                qmin=float(self.qmin_x), 
     1234                                uid=self.uid, 
     1235                                caption=self.window_caption, 
     1236                                qmax=float(self.qmax_x)) 
    12341237 
    12351238            self._manager._on_model_panel(evt=evt) 
  • src/sas/sasgui/perspectives/fitting/fitpanel.py

    rc8e1996 r67b0a99  
    189189        # use while-loop, for-loop will not do the job well. 
    190190        while (self.GetPageCount() > 0): 
    191             # delete the first page until no page exists 
    192             page = self.GetPage(0) 
     191            page = self.GetPage(self.GetPageCount() - 1) 
    193192            if self._manager.parent.panel_on_focus == page: 
    194193                self._manager.parent.panel_on_focus = None 
    195194            self._close_helper(selected_page=page) 
    196             self.DeletePage(0) 
     195            self.DeletePage(self.GetPageCount() - 1) 
    197196        # Clear list of names 
    198197        self.fit_page_name = {} 
     
    400399                    temp = self.GetSelection() 
    401400                    self.DeletePage(temp) 
     401            if self.sim_page is not None: 
     402                if len(self.sim_page.model_list) == 0: 
     403                    pos = self.GetPageIndex(self.sim_page) 
     404                    self.SetSelection(pos) 
     405                    self.on_close_page(event=None) 
     406                    temp = self.GetSelection() 
     407                    self.DeletePage(temp) 
     408                    self.sim_page = None 
     409                    self.batch_on = False 
    402410            if self.GetPageCount() == 0: 
    403411                self._manager.on_add_new_page(event=None) 
  • src/sas/sasgui/perspectives/fitting/fitting.py

    r1a5d5f2 r06a4306  
    864864                enable1D=enable1D, enable2D=enable2D, 
    865865                qmin=qmin, qmax=qmax, weight=weight) 
    866             self._mac_sleep(0.2) 
    867866 
    868867    def _mac_sleep(self, sec=0.2): 
     
    19641963                ## May need rethinking   
    19651964                ## 
    1966                 ##    -PDB August 12, 2014                   
     1965                ##    -PDB August 12, 2014 
    19671966                while self.calc_1D.isrunning(): 
    19681967                    time.sleep(0.1) 
  • src/sas/sasgui/perspectives/fitting/model_thread.py

    r286c757 rd3911e3  
    8282            fn.set_model(self.model) 
    8383            fn.set_index(index_model) 
    84             # Get necessary data from self.data and set the data for smearing 
    85             fn.get_data() 
    8684            # Calculate smeared Intensity 
    8785            #(by Gaussian averaging): DataLoader/smearing2d/Smearer2D() 
     
    8987        else: 
    9088            # calculation w/o smearing 
    91             value = self.model.evalDistribution(\ 
    92                 [self.data.qx_data[index_model], 
    93                  self.data.qy_data[index_model]]) 
     89            value = self.model.evalDistribution([ 
     90                self.data.qx_data[index_model], 
     91                self.data.qy_data[index_model] 
     92            ]) 
    9493        output = numpy.zeros(len(self.data.qx_data)) 
    9594        # output default is None 
Note: See TracChangeset for help on using the changeset viewer.