Ignore:
Timestamp:
Feb 2, 2009 11:51:27 AM (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:
2cf2b87
Parents:
00d083c
Message:

add a new module containing common classes that I used often:
sans.guiframe.utils

remove event slicer and add it in sans.guicoom.events,
modified slicer for those events

File:
1 edited

Legend:

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

    r1f3655a r0d9dae8  
    77from copy import deepcopy 
    88 
    9 (SlicerEvent, EVT_SLICER)   = wx.lib.newevent.NewEvent() 
    10 (SlicerParameterEvent, EVT_SLICER_PARS)   = wx.lib.newevent.NewEvent() 
     9from sans.guiframe.utils import format_number 
     10from sans.guicomm.events  import SlicerParameterEvent,EVT_SLICER_PARS,EVT_SLICER 
     11 
     12 
    1113 
    1214class SlicerPanel(wx.Panel): 
     
    2022    CENTER_PANE = False 
    2123     
    22     def __init__(self, parent,id=-1,type=None, params={}, *args, **kwargs): 
     24    def __init__(self, parent,id=-1,type=None,base=None, params={}, *args, **kwargs): 
    2325        wx.Panel.__init__(self, parent,id, *args, **kwargs) 
    24         print "panel created" 
     26        #print "panel created", base 
     27        self.base= base 
    2528        self.params = params 
    2629        self.parent = parent 
     
    2831        self.listeners = [] 
    2932        self.parameters = [] 
     33         
    3034        self.bck = wx.GridBagSizer(5,5) 
    3135        self.SetSizer(self.bck) 
     
    4751            @param event: EVT_SLICER event 
    4852        """ 
    49         print "went here panel" 
     53        #print "went here panel" 
    5054        event.Skip() 
    5155        if event.obj_class==None: 
     
    6266        self.bck.Clear(True)   
    6367        self.type = type   
    64         print "in set slicer", type, params 
     68        #print "in set slicer", type, params 
    6569        if type==None: 
    6670            title = wx.StaticText(self, -1, "Right-click on 2D plot for slicer options", style=wx.ALIGN_LEFT) 
     
    7882             
    7983            for item in keys: 
    80                 n += 1 
    81                 text = wx.StaticText(self, -1, item, style=wx.ALIGN_LEFT) 
    82                 self.bck.Add(text, (n-1,0), flag = wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border = 15) 
    83                 ctl = wx.TextCtrl(self, -1, size=(80,20), style=wx.TE_PROCESS_ENTER) 
     84                if not  item.lower() in ["errors", "count"]: 
     85                    n += 1 
     86                    text = wx.StaticText(self, -1, item, style=wx.ALIGN_LEFT) 
     87                    self.bck.Add(text, (n-1,0), flag = wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border = 15) 
     88                    ctl = wx.TextCtrl(self, -1, size=(80,20), style=wx.TE_PROCESS_ENTER) 
     89                    ctl.SetToolTipString("Modify the value of %s to change the 2D slicer" % item) 
     90                    ctl.SetValue(str(format_number(params[item]))) 
     91                    #ctl.Disable() 
     92                    self.Bind(wx.EVT_TEXT_ENTER, self.onTextEnter) 
     93                    ctl.Bind(wx.EVT_KILL_FOCUS, self.onTextEnter) 
     94                    self.parameters.append([item, ctl]) 
     95                    self.bck.Add(ctl, (n-1,1), flag=wx.TOP|wx.BOTTOM, border = 0) 
     96            for item in keys: 
     97                if  item.lower() in ["errors", "count"]: 
     98                    n += 1 
     99                    text = wx.StaticText(self, -1, item+": ", style=wx.ALIGN_LEFT) 
     100                    self.bck.Add(text, (n-1,0), flag = wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border = 15) 
     101                    ctl = wx.StaticText(self, -1, str(format_number(params[item])), style=wx.ALIGN_LEFT) 
     102                    ctl.SetToolTipString("Result %s" % item) 
     103                    self.bck.Add(ctl, (n-1,1), flag=wx.TOP|wx.BOTTOM, border = 0) 
    84104                 
    85                 ctl.SetToolTipString("Modify the value of %s to change the 2D slicer" % item) 
    86                  
    87                  
    88                 ctl.SetValue(str(params[item])) 
    89                 ctl.Disable() 
    90                 self.Bind(wx.EVT_TEXT_ENTER, self.onTextEnter) 
    91                 ctl.Bind(wx.EVT_KILL_FOCUS, self.onTextEnter) 
    92                 self.parameters.append([item, ctl]) 
    93                 self.bck.Add(ctl, (n-1,1), flag=wx.TOP|wx.BOTTOM, border = 0) 
    94105 
    95106        self.bck.Layout() 
     
    97108        self.parent.GetSizer().Layout() 
    98109    def onParamChange(self, evt): 
    99         print "parameters changed" 
     110        #print "parameters changed" 
    100111        evt.Skip() 
    101112        #if evt.type == "UPDATE": 
    102113        for item in self.parameters:               
    103114            if item[0] in evt.params: 
    104                 item[1].SetValue("%-5.3g" %evt.params[item[0]]) 
     115                item[1].SetValue(format_number(evt.params[item[0]])) 
    105116                item[1].Refresh() 
    106          
    107  
    108     def old_onParamChange(self, evt): 
    109         evt.Skip() 
    110         if evt.type == "UPDATE": 
    111             for item in self.parameters:               
    112                 if item[0] in evt.params: 
    113                     item[1].SetValue("%-5.3g" %evt.params[item[0]]) 
    114                     item[1].Refresh() 
     117    
    115118         
    116119    def onTextEnter(self, evt):  
     
    133136        if has_error==False: 
    134137            # Post parameter event 
    135             print "post new param" 
     138            #print "post new param" 
    136139            event = SlicerParameterEvent(type=self.type, params=params) 
    137             wx.PostEvent(self.parent, event) 
    138             print "self parent ", self.parent 
     140            wx.PostEvent(self.base, event) 
     141            #print "panel slicer: self base ", self.base 
    139142         
Note: See TracChangeset for help on using the changeset viewer.