Ignore:
Timestamp:
Apr 9, 2012 11:44:49 AM (12 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:
8b1d759
Parents:
cce182ae
Message:

Added showing "DataInfor?" from data panel as well as from plot

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sansguiframe/src/sans/guiframe/gui_manager.py

    r7954acd r0aca693  
    326326        list_children = self.GetChildren()  
    327327        for frame in list_children: 
    328             if hasattr(frame, "IsIconized"): 
    329                 if not frame.IsIconized(): 
    330                     try: 
    331                         icon = self.GetIcon() 
    332                         frame.SetIcon(icon) 
    333                     except: 
    334                         pass 
     328            self.put_icon(frame) 
     329         
     330    def put_icon(self, frame):  
     331        """ 
     332        Put icon on the tap of a panel 
     333        """ 
     334        if hasattr(frame, "IsIconized"): 
     335            if not frame.IsIconized(): 
     336                try: 
     337                    icon = self.GetIcon() 
     338                    frame.SetIcon(icon) 
     339                except: 
     340                    pass   
    335341         
    336342    def on_set_batch_result(self, data_outputs, data_inputs=None, 
     
    21822188                     
    21832189                    dialog = PDFFrame(None, -1, "Tutorial", path) 
    2184                     if hasattr(dialog, "IsIconized"): 
    2185                         if not dialog.IsIconized(): 
    2186                             try: 
    2187                                 icon = self.GetIcon() 
    2188                                 dialog.SetIcon(icon) 
    2189                             except: 
    2190                                 pass    
     2190                    # put icon 
     2191                    self.put_icon(frame)   
    21912192                    #self.SetTopWindow(dialog) 
    21922193                    dialog.Show(True)  
     
    25652566                    out.write("%g  %g\n" % (data.x[i],  
    25662567                                            data.y[i])) 
    2567             out.close()                    
     2568            out.close()   
     2569                              
     2570    def show_data1d(self, data, name): 
     2571        """ 
     2572        Show data dialog 
     2573        """    
     2574        text = data.__str__()  
     2575        text += 'Data Min Max:\n' 
     2576        text += 'X_min = %s:  X_max = %s\n'% (min(data.x), max(data.x)) 
     2577        text += 'Y_min = %s:  Y_max = %s\n'% (min(data.y), max(data.y)) 
     2578        if data.dy != None: 
     2579            text += 'dY_min = %s:  dY_max = %s\n'% (min(data.dy), max(data.dy)) 
     2580        text += '\nData Points:\n' 
     2581        x_st = "X" 
     2582        for index in range(len(data.x)): 
     2583            if data.dy != None: 
     2584                dy_val = data.dy[index] 
     2585            else: 
     2586                dy_val = 0.0 
     2587            if data.dx != None: 
     2588                dx_val = data.dx[index] 
     2589            else: 
     2590                dx_val = 0.0 
     2591            if data.dxl != None: 
     2592                if index == 0: x_st = "Xl" 
     2593                dx_val = data.dxl[index] 
     2594            elif data.dxw != None: 
     2595                if index == 0: x_st = "Xw" 
     2596                dx_val = data.dxw[index] 
     2597             
     2598            if index == 0: 
     2599                text += "<index> \t<X> \t<Y> \t<dY> \t<d%s>\n"% x_st 
     2600            text += "%s \t%s \t%s \t%s \t%s\n" % (index, 
     2601                                            data.x[index],  
     2602                                            data.y[index], 
     2603                                            dy_val, 
     2604                                            dx_val) 
     2605        from pdfview import TextFrame 
     2606        frame = TextFrame(None, -1, "Data Info: %s"% data.name, text)  
     2607        # put icon 
     2608        self.put_icon(frame)  
     2609        frame.Show(True)  
    25682610             
    25692611    def save_data2d(self, data, fname):     
     
    26092651                pass     
    26102652        dlg.Destroy()  
    2611                       
     2653                              
     2654    def show_data2d(self, data, name): 
     2655        """ 
     2656        Show data dialog 
     2657        """    
     2658 
     2659        wx.PostEvent(self, StatusEvent(status = "Gathering Data2D Info.",  
     2660                                       type = 'start' )) 
     2661        text = data.__str__()  
     2662        text += 'Data Min Max:\n' 
     2663        text += 'I_min = %s\n'% min(data.data) 
     2664        text += 'I_max = %s\n\n'% max(data.data) 
     2665        text += 'Data (First 2501) Points:\n' 
     2666        text += 'Data columns include err(I).\n' 
     2667        text += 'ASCII data starts here.\n' 
     2668        text += "<index> \t<Qx> \t<Qy> \t<I> \t<dI> \t<dQparal> \t<dQperp>\n" 
     2669        di_val = 0.0 
     2670        dx_val = 0.0 
     2671        dy_val = 0.0 
     2672        #mask_val = True 
     2673        len_data = len(data.qx_data) 
     2674        for index in xrange(0, len_data): 
     2675            x_val = data.qx_data[index] 
     2676            y_val = data.qy_data[index] 
     2677            i_val = data.data[index] 
     2678            if data.err_data != None: di_val = data.err_data[index] 
     2679            if data.dqx_data != None: dx_val = data.dqx_data[index] 
     2680            if data.dqy_data != None: dy_val = data.dqy_data[index] 
     2681            #if data.mask != None: mask_val = data.mask[index]  
     2682   
     2683            text += "%s \t%s \t%s \t%s \t%s \t%s \t%s\n" % (index, 
     2684                                            x_val,  
     2685                                            y_val, 
     2686                                            i_val, 
     2687                                            di_val, 
     2688                                            dx_val, 
     2689                                            dy_val) 
     2690            # Takes too long time for typical data2d: Break here 
     2691            if index >= 2500: 
     2692                text += ".............\n" 
     2693                break 
     2694 
     2695        from pdfview import TextFrame 
     2696        frame = TextFrame(None, -1, "Data Info: %s"% data.name, text)  
     2697        # put icon 
     2698        self.put_icon(frame) 
     2699        frame.Show(True)  
     2700        wx.PostEvent(self, StatusEvent(status = "Data2D Info Displayed",  
     2701                                       type = 'stop' )) 
     2702                                   
    26122703    def set_current_perspective(self, perspective): 
    26132704        """ 
Note: See TracChangeset for help on using the changeset viewer.