Ignore:
Timestamp:
Dec 12, 2008 5:12:52 PM (14 years ago)
Author:
ajj
Message:

Add Clear Plot button and reload data when plot is checked so that current data can be updated.

Also apparently adding test data

Location:
sans/utils/bt5/bt5plot2
Files:
202 added
3 edited

Legend:

Unmodified
Added
Removed
  • sans/utils/bt5/bt5plot2/bt5plot2

    r464 r466  
    4343                     "on_xaxis_loglin_activate" : self.handle_xaxis_loglin, 
    4444                     "on_yaxis_loglin_activate" : self.handle_yaxis_loglin, 
    45                      "on_plot_type_activate" : self.handle_plot_type_change} 
     45                     "on_plot_type_activate" : self.handle_plot_type_change, 
     46                     "on_btn_ClearPlot_clicked" : self.handle_clearplot} 
    4647    #                 "on_tv_plotlist_key_press_event" : self.handle_plotlist_keypress} 
    4748 
     
    122123        self.filelist.clear() 
    123124        for filename in filenames: 
    124             data,metadata = usans.getBT5DataFromFile(filename) 
    125             if data != 0: 
    126                 self.filelist.append([filename, 0, (data,metadata), 0, 0]) 
    127  
     125            if usans.isBT5Data(filename): 
     126                self.filelist.append([filename, 0, 0, 0, 0]) 
    128127        return 
    129128             
     
    148147 
    149148        if model[path][1]: 
     149            #load data 
     150            data,metadata = usans.getBT5DataFromFile(model[path][0]) 
     151            model[path][2] = (data,metadata) 
    150152            #add plot 
    151153            self.add_plot(model, path) 
     
    175177          
    176178         data,metadata = model[path][2] 
    177           
     179                   
    178180         if type == 'total': 
    179181             #generate totals 
     
    203205                cnttime = metadata['mon'] 
    204206                for mval in mvals: 
    205                         ydata.append((data[mval][1] + data[mval][2] + data[mval][4] + data[mval][5] + data[mval][6])/cnttime) 
     207                     ydata.append((data[mval][1] + data[mval][2] + data[mval][4] + data[mval][5] + data[mval][6])/cnttime) 
    206208             else: 
    207209                #Must be counting in monitor base so normalize by monitor 
    208210                moncts = metadata['mon'] 
    209211                for mval in mvals: 
    210                         ydata.append((data[mval][1] + data[mval][2] + data[mval][4] + data[mval][5] + data[mval][6])/cnttime) 
     212                    ydata.append((data[mval][1] + data[mval][2] + data[mval][4] + data[mval][5] + data[mval][6])/cnttime) 
    211213              
    212214             model[path][3] = [xdata, ydata] 
     
    265267                self.axis.lines.remove(line) 
    266268         
    267         if (len(self.axis.lines) > 0): 
     269        if (len(self.axis.lines) > 0): 
    268270                self.rescale_and_redraw() 
    269271        else: 
    270                 self.canvas.draw()       
     272            self.canvas.draw()   
    271273 
    272274        return 
     
    293295            self.axis.set_yscale('log')         
    294296 
    295         self.rescale_and_redraw() 
     297        self.canvas.draw() 
    296298        return 
    297299        
     
    304306        return 
    305307         
     308    def handle_clearplot(self,widget): 
     309     
     310        model = self.filelistview.get_model() 
     311        iter = model.iter_children(None) 
     312        while iter: 
     313            path = model.get_path(iter) 
     314            if model[path][1] != 0: 
     315                for line in model[path][4]: 
     316                    self.axis.lines.remove(line)    
     317                    model[path][1] = not model[path][1]          
     318            iter = model.iter_next(iter) 
     319         
     320        self.canvas.draw() 
     321        return  
     322         
    306323    def rescale_and_redraw(self): 
    307324 
  • sans/utils/bt5/bt5plot2/bt5plot2.glade

    r464 r466  
    498498                      <property name="relief">GTK_RELIEF_NORMAL</property> 
    499499                      <property name="focus_on_click">True</property> 
     500                      <signal name="clicked" handler="on_btn_ClearPlot_clicked" last_modification_time="Fri, 12 Dec 2008 21:42:52 GMT"/> 
    500501 
    501502                      <child> 
  • sans/utils/bt5/bt5plot2/usans.py

    r462 r466  
    1414        return 1  
    1515 
     16def isBT5Data(fileName): 
     17 
     18    inputfile = open(fileName, "r") 
     19    inputdata = inputfile.readlines() 
     20     
     21    if len(inputdata) < 2: 
     22        inputfile.close() 
     23        return 0 
     24    elif inputdata[1].find('Filename') > 0: 
     25        inputfile.close() 
     26        return 1 
     27    else: 
     28        inputfile.close() 
     29        return 0 
     30 
     31 
    1632def getBT5DataFromFile(fileName): 
    1733    ''' 
     
    2339    motlist = [] 
    2440 
    25     #print "File: ",fileName     
    26     inputfile = open(fileName, "r") 
     41    if isBT5Data(fileName): 
    2742 
    28     inputdata = inputfile.readlines() 
     43        #print "File: ",fileName     
     44        inputfile = open(fileName, "r") 
    2945 
    30     if len(inputdata) < 2: 
    31         inputfile.close() 
    32         return 0,0 
     46        inputdata = inputfile.readlines() 
    3347 
    34     if inputdata[1].find('Filename') > 0: 
    35  
    36         mdtmp = inputdata[0].replace("'","") 
     48        mdtmp = inputdata[0].replace("'", "") 
    3749        mdtmp = mdtmp.split() 
    3850     
    3951        #Sundry metadata about run settings 
    4052        (metadata['filename'], metadata['datetime'], 
    41         metadata['mon'],metadata['prefactor'], 
    42         metadata['base'],metadata['numpnts'], 
    43         metadata['type']) = (mdtmp[0],' '.join(mdtmp[1:5]),float(mdtmp[6]),int(mdtmp[7]),mdtmp[8],int(mdtmp[9]),mdtmp[10]) 
     53         metadata['mon'], metadata['prefactor'], 
     54         metadata['base'], metadata['numpnts'], 
     55         metadata['type']) = (mdtmp[0], ' '.join(mdtmp[1:5]), float(mdtmp[6]), int(mdtmp[7]), mdtmp[8], int(mdtmp[9]), mdtmp[10]) 
    4456     
    4557        #Comment string 
     
    6375 
    6476        inputfile.close() 
    65         return detdata,metadata 
     77        return detdata, metadata 
    6678 
    6779    else: 
    68         inputfile.close() 
    6980        return 0,0 
    7081 
Note: See TracChangeset for help on using the changeset viewer.