Changeset 54cc36a in sasview for guiframe


Ignore:
Timestamp:
Jan 21, 2009 6:43:48 PM (16 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:
fe060f7
Parents:
32673ac
Message:

working on boxsum

Location:
guiframe/local_perspectives/plotting
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • guiframe/local_perspectives/plotting/AzimutSlicer.py

    ref0c170 r54cc36a  
    2626        self.markers = [] 
    2727        self.axes = axes 
    28         self.qmax = self.base.qmax 
     28        self.qmax = self.base.data2D.xmax 
    2929        self.connect = self.base.connect 
    3030         
     
    4242        self.inner_circle = ArcInteractor(self, self.base.subplot, zorder=zorder, r=self.qmax/2.0,theta1= theta1, 
    4343                                           theta2=theta2) 
    44         self.inner_circle.qmax = self.base.qmax 
     44        self.inner_circle.qmax = self.qmax 
    4545        self.outer_circle = ArcInteractor(self, self.base.subplot, zorder=zorder+1, r=self.qmax/1.8,theta1= theta1, 
    4646                                           theta2=theta2) 
    47         self.outer_circle.qmax = self.base.qmax*1.2 
     47        self.outer_circle.qmax = self.qmax*1.2 
    4848        #self.outer_circle.set_cursor(self.base.qmax/1.8, 0) 
    4949        from Edge import RadiusInteractor 
  • guiframe/local_perspectives/plotting/LineSlicer.py

    ref0c170 r54cc36a  
    2929        self.axes = axes 
    3030        self._mouse_x = 0 
    31         self._mouse_y = self.base.qmax/2 
     31        self._mouse_y = self.base.data2D.xmax/2 
    3232        self._save_x  = 0 
    33         self._save_y  = self.base.qmax/2 
     33        self._save_y  = self.base.data2D.xmax/2 
    3434        self.scale = 10.0 
    3535         
  • guiframe/local_perspectives/plotting/Plotter2D.py

    rffd23b5 r54cc36a  
    3232import pylab 
    3333from Plotter1D import PanelMenu 
    34  
     34#import boxSum 
     35from sans.guicomm.events import EVT_SLICER_PARS_UPDATE 
    3536class ModelPanel2D( ModelPanel1D): 
    3637    """ 
     
    7172        # Beam stop 
    7273        self.beamstop_radius = DEFAULT_BEAM 
    73         # Slicer 
    74         """ 
    75         if data2d.xmax==None: 
    76             data2d.xmax=DEFAULT_QMAX+self.qstep*0.01 
    77          
    78         self.qmax = data2d.xmax 
    79         if data2d.ymax==None: 
    80             data2d.ymax=DEFAULT_QMAX+self.qstep*0.01 
    81         self.imax = data2d.ymax 
    82         """ 
    83         #self.radius = math.sqrt(data2d.) 
    84         #self.qstep = DEFAULT_QSTEP 
    85         #print "panel2D qmax",self.qmax, 
    86          
    87         #self.x = pylab.arange(-1*self.qmax, self.qmax+self.qstep*0.01, self.qstep) 
    88         #self.y = pylab.arange(-1*self.imax, self.imax+self.qstep*0.01, self.qstep) 
     74        
    8975        self.slicer_z = 5 
    9076        self.slicer = None 
     
    9278        self.axes_frozen = False 
    9379         
    94         
     80        self.panel_slicer=None 
     81        #self.parent.Bind(EVT_SLICER_PARS, self.onParamChange) 
    9582        ## Graph         
    9683        self.graph = Graph() 
     
    9885        self.graph.yaxis("\\rm{Intensity} ","cm^{-1}") 
    9986        self.graph.render(self) 
    100    
     87        #self.Bind(boxSum.EVT_SLICER_PARS_UPDATE, self._onEVT_SLICER_PARS) 
     88        self.Bind(EVT_SLICER_PARS_UPDATE, self._onEVT_SLICER_PARS) 
     89         
     90         
     91    def _onEVT_SLICER_PARS(self, event): 
     92        print "box move plotter2D", event.type, event.params 
     93        self.panel_slicer.set_slicer(event.type, event.params) 
     94        from sans.guicomm.events import SlicerPanelEvent 
     95        wx.PostEvent(self.parent, SlicerPanelEvent (panel= self.panel_slicer)) 
    10196    def _onEVT_1DREPLOT(self, event): 
    10297        """ 
     
    308303        event = self._getEmptySlicerEvent() 
    309304        event.type = self.slicer.__class__.__name__ 
    310         print "event.type",event.type 
     305         
    311306        event.obj_class = self.slicer.__class__ 
    312307        event.params = self.slicer.get_params() 
    313         try: 
    314             event.result= self.slicer.get_result() 
    315         except: 
    316             event.result= None 
    317         print "event.result", event.result 
     308        print "Plotter2D: event.type",event.type,event.params, self.parent 
     309         
    318310        wx.PostEvent(self.parent, event) 
    319311 
     
    390382        from boxSum import BoxSum 
    391383        self.onClearSlicer(event) 
    392         wx.PostEvent(self.parent, InternalEvent(slicer= BoxSum)) 
     384        #wx.PostEvent(self.parent, InternalEvent(slicer= BoxSum)) 
     385        if not self.slicer == None:   
     386            self.slicer.clear()              
     387        self.slicer_z += 1 
     388        self.slicer =  BoxSum(self, self.subplot, zorder=self.slicer_z) 
     389        print "come here" 
     390        self.subplot.set_ylim(self.data2D.ymin, self.data2D.ymax) 
     391        self.subplot.set_xlim(self.data2D.xmin, self.data2D.xmax) 
     392        
     393        self.update() 
     394        self.slicer.update() 
     395         
     396        # Post slicer event 
     397        event = self._getEmptySlicerEvent() 
     398        event.type = self.slicer.__class__.__name__ 
     399         
     400         
     401        event.obj_class = self.slicer.__class__ 
     402        event.params = self.slicer.get_params() 
     403        print "Plotter2D: event.type",event.type,event.params, self.parent 
    393404         
    394405        from slicerpanel import SlicerPanel 
    395         new_panel = SlicerPanel(self.parent, -1, style=wx.RAISED_BORDER) 
    396          
    397         from sans.guicomm.events import SlicerParameterEvent  
    398         wx.PostEvent(self.parent, SlicerParameterEvent (panel= new_panel)) 
    399              
     406        new_panel = SlicerPanel(parent= self.parent,id= -1,type=event.type, 
     407                                 params=event.params, style=wx.RAISED_BORDER) 
     408        #new_panel.set_slicer(self.slicer.__class__.__name__, 
     409        new_panel.window_caption=self.slicer.__class__.__name__+" "+ str(self.data2D.name) 
     410        
     411        self.panel_slicer= new_panel 
     412         
     413        wx.PostEvent(self.panel_slicer, event) 
     414        from sans.guicomm.events import SlicerPanelEvent 
     415        wx.PostEvent(self.parent, SlicerPanelEvent (panel= self.panel_slicer)) 
     416        print "finish box sum" 
     417         
    400418    def onBoxavgX(self,event): 
    401419        from boxSlicer import BoxInteractorX 
     
    406424        new_panel = SlicerPanel(self.parent, -1, style=wx.RAISED_BORDER) 
    407425         
    408         from sans.guicomm.events import SlicerParameterEvent  
    409         wx.PostEvent(self.parent, SlicerParameterEvent (panel= new_panel)) 
     426        from sans.guicomm.events import SlicerPanelEvent 
     427        wx.PostEvent(self.parent, SlicerPanelEvent (panel= new_panel)) 
    410428         
    411429    def onBoxavgY(self,event): 
  • guiframe/local_perspectives/plotting/SectorSlicer.py

    rfbd0bece r54cc36a  
    152152        phimin = self.right_line.theta+math.pi 
    153153        phimax = self.left_line.theta+math.pi 
    154  
     154        print "sector Q", radius 
    155155        sect = SectorQ(r_min=0.0, r_max= radius , phi_min=phimin, phi_max=phimax) 
    156156        #sect = SectorQ(r_min=-1*radius , r_max= radius , phi_min=phimin, phi_max=phimax) 
  • guiframe/local_perspectives/plotting/SlicerParameters.py

    r0f6d05f8 r54cc36a  
    5353            @param event: EVT_SLICER event 
    5454        """ 
     55        print "went here" 
    5556        event.Skip() 
    5657        if event.obj_class==None: 
  • guiframe/local_perspectives/plotting/boxSum.py

    r2a3a890 r54cc36a  
    1616import SlicerParameters 
    1717import wx 
    18  
     18#(SlicerParamUpdateEvent, EVT_SLICER_PARS_UPDATE)   = wx.lib.newevent.NewEvent() 
     19from sans.guicomm.events import SlicerParamUpdateEvent 
    1920class BoxSum(_BaseInteractor): 
    2021    """ 
     
    6465       
    6566             
    66         self.connect_markers([]) 
     67        #self.connect_markers([]) 
    6768                       
    6869        self.update() 
     
    7071         
    7172        # Bind to slice parameter events 
     73        print "box sum  self.base.parent",self.base.parent 
    7274        self.base.parent.Bind(SlicerParameters.EVT_SLICER_PARS, self._onEVT_SLICER_PARS) 
    73  
    74  
     75        
    7576    def _onEVT_SLICER_PARS(self, event): 
    7677        #printEVT("AnnulusSlicer._onEVT_SLICER_PARS") 
     
    145146        # Compute data 
    146147        print  
    147         """ 
     148         
    148149        data = self.base.data2D 
    149150        from DataLoader.manipulations import  Boxavg 
    150151        radius = math.sqrt(math.pow(self.qmax,2)+math.pow(self.qmax,2)) 
    151         x_min= self.left_line.x  
    152         x_max= self.right_line.x  
    153         y_min= self.bottom_line.y 
    154         y_max= self.top_line.y 
     152        x_min= self.vertical_lines.x2  
     153        x_max= self.vertical_lines.x1  
     154        y_min= self.vertical_lines.y2 
     155        y_max= self.vertical_lines.y1 
    155156        box =  Boxavg (x_min=x_min, x_max=x_max, y_min=y_min, y_max=y_max) 
    156157        self.count, self.error = box(self.base.data2D) 
    157158        print "count, error",self.count, self.error 
    158         """ 
    159                                         
     159                           
    160160    def moveend(self, ev): 
    161161        self.base.thaw_axes() 
    162          
    163162        # Post paramters 
     163        self._post_data() 
     164        """ 
    164165        event = SlicerParameters.SlicerParameterEvent() 
    165166        event.type = self.__class__.__name__ 
    166167        print "event type boxsum: ", event.type 
    167168        event.params = self.get_params() 
    168          
    169         wx.PostEvent(self.base.parent, event) 
    170        
    171         self._post_data() 
     169        wx.PostEvent(self.base, event) 
     170        """ 
     171        self.type= self.__class__.__name__ 
     172        params= self.get_params() 
     173        event = SlicerParamUpdateEvent(type=self.type, params=params) 
     174        wx.PostEvent(self.base, event) 
     175         
    172176             
    173177    def restore(self): 
     
    224228                                     width=x_max, 
    225229                                     height=y_max) 
    226          
    227          
    228230        self.vertical_lines.update(center= self.center, 
    229231                                    width=x_max, 
     
    289291        self.connect_markers([self.center_marker]) 
    290292        self.update() 
    291  
    292  
     293     
    293294    def set_layer(self, n): 
    294295        self.layernum = n 
     
    299300        try: 
    300301            self.center.remove() 
     302            self.center_marker.remove() 
    301303        except: 
    302304            # Old version of matplotlib 
     
    451453        self.clear_markers() 
    452454        try: 
     455            self.right_marker.remove() 
    453456            self.right_line.remove() 
    454457            self.left_line.remove() 
     
    640643        self.clear_markers() 
    641644        try: 
     645            self.top_marker.remove() 
    642646            self.bottom_line.remove() 
    643647            self.top_line.remove() 
  • guiframe/local_perspectives/plotting/plotting.py

    rffd23b5 r54cc36a  
    3939        ## Plot panels 
    4040        self.plot_panels = [] 
    41          
    42  
     41        
    4342    def populate_menu(self, id, parent): 
    4443        """ 
     
    6160        self.parent.Bind(EVT_NEW_PLOT, self._on_plot_event) 
    6261        # We have no initial panels for this plug-in 
     62         
    6363        return [] 
     64    
    6465     
    6566    def get_perspective(self): 
  • guiframe/local_perspectives/plotting/slicerpanel.py

    raa1b747 r54cc36a  
    2020    CENTER_PANE = False 
    2121     
    22     def __init__(self, parent, *args, **kwargs): 
    23         wx.Panel.__init__(self, parent, *args, **kwargs) 
    24         self.params = {} 
     22    def __init__(self, parent,id=-1,type=None, params={}, *args, **kwargs): 
     23        wx.Panel.__init__(self, parent,id, *args, **kwargs) 
     24        print "panel created" 
     25        self.params = params 
    2526        self.parent = parent 
    26         self.type = None 
     27        self.type = type 
    2728        self.listeners = [] 
    2829        self.parameters = [] 
    2930        self.bck = wx.GridBagSizer(5,5) 
    3031        self.SetSizer(self.bck) 
    31                 
    32         title = wx.StaticText(self, -1, "Right-click on 2D plot for slicer options", style=wx.ALIGN_LEFT) 
    33         self.bck.Add(title, (0,0), (1,2), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=15) 
    34          
     32        if type==None and params==None:       
     33            title = wx.StaticText(self, -1, "Right-click on 2D plot for slicer options", style=wx.ALIGN_LEFT) 
     34            self.bck.Add(title, (0,0), (1,2), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=15) 
     35        else: 
     36            self.set_slicer( type, params) 
    3537        # Bindings 
     38        #self.parent.Bind(EVT_SLICER, self.onEVT_SLICER) 
    3639        self.parent.Bind(EVT_SLICER, self.onEVT_SLICER) 
    3740        self.parent.Bind(EVT_SLICER_PARS, self.onParamChange) 
     
    4447            @param event: EVT_SLICER event 
    4548        """ 
     49        print "went here panel" 
    4650        event.Skip() 
    4751        if event.obj_class==None: 
     
    5862        self.bck.Clear(True)   
    5963        self.type = type   
    60          
     64        print "in set slicer", type, params 
    6165        if type==None: 
    62             #title = wx.StaticText(self, -1, "Right-click on 2D plot for slicer options", style=wx.ALIGN_LEFT) 
    63             #self.bck.Add(title, (0,0), (1,2), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=15) 
     66            title = wx.StaticText(self, -1, "Right-click on 2D plot for slicer options", style=wx.ALIGN_LEFT) 
     67            self.bck.Add(title, (0,0), (1,2), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=15) 
    6468 
    65         #else: 
     69        else: 
    6670            title = wx.StaticText(self, -1, "Slicer Parameters", style=wx.ALIGN_LEFT) 
    6771            self.bck.Add(title, (0,0), (1,2), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=15) 
     
    9195        self.bck.Fit(self) 
    9296        self.parent.GetSizer().Layout() 
     97    def onParamChange(self, evt): 
     98        print "parameters changed" 
     99        evt.Skip() 
     100        #if evt.type == "UPDATE": 
     101        for item in self.parameters:               
     102            if item[0] in evt.params: 
     103                item[1].SetValue("%-5.3g" %evt.params[item[0]]) 
     104                item[1].Refresh() 
     105         
    93106 
    94     def onParamChange(self, evt): 
     107    def old_onParamChange(self, evt): 
    95108        evt.Skip() 
    96109        if evt.type == "UPDATE": 
Note: See TracChangeset for help on using the changeset viewer.