Changeset 4da35bc in sasview


Ignore:
Timestamp:
Aug 8, 2010 5:24:15 PM (14 years ago)
Author:
Jae Cho <jhjcho@…>
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:
ef16f59
Parents:
028a0e8
Message:

improved theoryplot display from (inv file)

Files:
4 edited

Legend:

Unmodified
Added
Removed
  • guiframe/data_loader.py

    r028a0e8 r4da35bc  
    88from DataLoader.loader import Loader 
    99from load_thread import DataReader 
     10from sans.perspectives.invariant import InvStateUpdateEvent 
     11from perspectives.fitting import FitStateUpdateEvent 
    1012 
    1113from sans.guicomm.events import NewPlotEvent, StatusEvent 
     
    232234                        new_plot.group_id = existing_panel.group_id 
    233235        wx.PostEvent(parent, NewPlotEvent(plot=new_plot, title=title)) 
    234          
     236        wx.PostEvent(parent,InvStateUpdateEvent()) 
     237        wx.PostEvent(parent,FitStateUpdateEvent()) 
    235238    ## the output of the loader is a list , some xml files contain more than one data 
    236239    else: 
     240         
    237241        i=1 
    238242        for item in output: 
    239243            try: 
    240                 msg = "Loading 1D data: %s"%str(item.run[0]) 
    241                 wx.PostEvent(parent, StatusEvent(status=msg, info="info", type="stop")) 
    242                 try: 
    243                     dx = item.dx 
    244                     dxl = item.dxl 
    245                     dxw = item.dxw 
    246                 except: 
    247                     dx = None 
    248                     dxl = None 
    249                     dxw = None 
    250      
    251                 new_plot = Data1D(x=item.x,y=item.y,dx=dx,dy=item.dy) 
     244                ## Creating a Data2D with output 
     245                if hasattr(item,'data'): 
     246                    msg = "Loading 2D data: %s"%item.filename 
     247                    wx.PostEvent(parent, StatusEvent(status=msg, info="info", type="stop")) 
     248                    new_plot = Data2D(image=None, err_image=None) 
     249               
     250                else: 
     251                    msg = "Loading 1D data: %s"%str(item.run[0]) 
     252                    wx.PostEvent(parent, StatusEvent(status=msg, info="info", type="stop")) 
     253                    try: 
     254                        dx = item.dx 
     255                        dxl = item.dxl 
     256                        dxw = item.dxw 
     257                    except: 
     258                        dx = None 
     259                        dxl = None 
     260                        dxw = None 
     261         
     262                    new_plot = Data1D(x=item.x,y=item.y,dx=dx,dy=item.dy) 
     263                     
     264                    new_plot.dxl = dxl 
     265                    new_plot.dxw = dxw 
     266                     
     267                item.clone_without_data(clone=new_plot)     
    252268                new_plot.copy_from_datainfo(item) 
    253                 item.clone_without_data(clone=new_plot) 
    254                 new_plot.dxl = dxl 
    255                 new_plot.dxw = dxw 
    256                  
    257269                name = parse_name(name=str(item.run[0]), expression="_") 
    258270                #if not name in parent.indice_load_data.keys(): 
     
    290302                            new_plot.group_id = existing_panel.group_id 
    291303                wx.PostEvent(parent, NewPlotEvent(plot=new_plot, title=str(title))) 
     304                wx.PostEvent(parent,InvStateUpdateEvent()) 
     305                wx.PostEvent(parent,FitStateUpdateEvent()) 
    292306                i+=1 
    293307            except: 
    294                 raise 
     308                pass 
  • invariantview/perspectives/invariant/invariant.py

    rb35d3d1 r4da35bc  
    2626from DataLoader.loader import Loader 
    2727from invariant_panel import InvariantPanel 
     28(InvStateUpdateEvent, EVT_STATE_UPDATE)   = wx.lib.newevent.NewEvent() 
    2829 
    2930class Plugin: 
     
    4748        #  for your plug-in. This defines your plug-in "perspective" 
    4849        self.perspective = [] 
    49          
    50         self.state_reader = None    
     50        #default state objects 
     51        self.state_reader = None  
     52        self.temp_state = None  
     53        self.__data = None  
    5154        """ 
    5255        # Create a CanSAS/Pr reader 
     
    9598        #add error back to the data 
    9699        self.parent.Bind(ERR_DATA, self._on_data_error) 
    97          
     100        self.parent.Bind(EVT_STATE_UPDATE, self.on_set_state_helper) 
    98101         
    99102        self.invariant_panel = InvariantPanel(parent=self.parent) 
     
    266269        :param state: State object 
    267270        """ 
     271        self.temp_state = None 
    268272        try: 
    269273            if datainfo is None: 
     
    282286            # Make sure the user sees the invariant panel after loading 
    283287            self.parent.set_perspective(self.perspective) 
    284             self.invariant_panel.set_state(state=temp_state,data=self.__data)          
     288            self.temp_state = temp_state 
     289            #self.invariant_panel.set_state(state=temp_state,data=self.__data)          
    285290 
    286291        except: 
    287292            logging.error("invariant.set_state: %s" % sys.exc_value) 
    288  
     293             
     294    def on_set_state_helper(self,event=None): 
     295        """ 
     296        """ 
     297        self.invariant_panel.set_state(state=self.temp_state,data=self.__data) 
     298        self.temp_state = None 
    289299         
    290300    def plot_theory(self, data=None, name=None): 
  • sansview/perspectives/fitting/fitting.py

    rb35d3d1 r4da35bc  
    5151 
    5252(PageInfoEvent, EVT_PAGE_INFO)   = wx.lib.newevent.NewEvent() 
    53  
     53(FitStateUpdateEvent, EVT_STATE_UPDATE)   = wx.lib.newevent.NewEvent() 
    5454from fitpage import Chi2UpdateEvent 
    5555 
     
    117117        #Create a reader for fit page's state 
    118118        self.state_reader = None  
     119        self.temp_state = [] 
    119120        # Log startup 
    120121        logging.info("Fitting plug-in started")  
     
    235236        """ 
    236237        self.parent = parent 
     238        self.parent.Bind(EVT_STATE_UPDATE, self.on_set_state_helper) 
    237239        # Creation of the fit panel 
    238240        self.fit_panel = FitPanel(self.parent, -1) 
     
    302304        #return 
    303305        #working on reading state 
     306        self.temp_state = [] 
    304307        try:  
     308            # state 
    305309            # Load fitting state 
    306             page = self.fit_panel.set_state(state)   
     310            self.temp_state.append(state)  
    307311            # Make sure the user sees the fitting panel after loading 
    308             self.parent.set_perspective(self.perspective)    
     312            #self.parent.set_perspective(self.perspective)    
    309313                    
    310314        except: 
    311315            raise 
    312316         
     317    def  on_set_state_helper(self,event=None): 
     318        """ 
     319        """ 
     320        if self.temp_state == None: 
     321            return 
     322        # Load fitting state 
     323        for index in range(len(self.temp_state)): 
     324            page = self.fit_panel.set_state(self.temp_state[index])  
     325            # Make sure the user sees the fitting panel after loading 
     326            self.parent.set_perspective(self.perspective)   
     327              
     328        self.temp_state = []    
     329                  
    313330    def save_fit_state(self, filepath, fitstate):   
    314331        """ 
  • sansview/perspectives/fitting/pagestate.py

    r028a0e8 r4da35bc  
    11581158                    #    exec 'output[%d].run = [output[%d].filename]'% (ind,ind) 
    11591159                    self.call_back(state=state, datainfo=output[ind]) 
    1160                     return output[ind] 
     1160                return output[ind] 
    11611161               
    11621162        except: 
Note: See TracChangeset for help on using the changeset viewer.