Changeset 730

Show
Ignore:
Timestamp:
10/23/03 17:19:46 (5 years ago)
Author:
gwm
Message:

*** empty log message ***

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/RBSkinning/RBSkinning/wxPythonSkin/bitmap.py

    r528 r730  
    3030#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3131 
    32 class wxStaticBitmapWithRollover(wx.wxStaticBitmap): 
    33     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    34     #~ Constants / Variables / Etc.  
    35     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    36  
    37     _rollover_events = None 
    38     _rollover_bitmap = None 
    39     _nonrollover_bitmap = None 
    40  
    41     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    42     #~ Public Methods  
    43     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    44  
    45     def SetBitmapRollover(self, rollover): 
    46         if not self._rollover_events: 
    47             from RBFoundation.BindCallable import BindCallable 
    48             from RBSkinning.wxTools.wxRolloverEvents import wxRolloverEvents 
    49             self._rollover_events = wxRolloverEvents() 
    50             self._rollover_events.OnMouseEnter = BindCallable(self._SetRolloverBitmap) 
    51             self._rollover_events.OnMouseLeave = BindCallable(self._SetNonRolloverBitmap) 
    52             self.PushEventHandler(self._rollover_events) 
    53         self._rollover_bitmap = rollover 
    54  
    55     def GetBitmapRollover(self): 
    56         return self._rollover_bitmap  
    57  
    58     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    59     #~ Protected Methods  
    60     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    61  
    62     def _SetRolloverBitmap(self, evt): 
    63         self._nonrollover_bitmap = self.GetBitmap() 
    64         self.SetBitmap(self._rollover_bitmap) 
    65         #self.Refresh() 
    66         evt.Skip() 
    67  
    68     def _SetNonRolloverBitmap(self, evt): 
    69         if self._nonrollover_bitmap: 
    70             self.SetBitmap(self._nonrollover_bitmap) 
    71             self._nonrollover_bitmap = None 
    72             #self.Refresh() 
    73         evt.Skip() 
    74  
    75  
    76 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    77  
    7832class bitmap(wxSkinLayoutObject, wxSkinObjectNoData): 
    7933    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    9549        kwSettings = self.wxSettingDict(['wxid', 'style', 'pos', 'size'], ['name']) 
    9650        kwSettings['bitmap'] = wx.wxEmptyBitmap(*kwSettings['size']) 
    97         #self.object = wx.wxStaticBitmap(winParent, **kwSettings) 
    98         self.object = wxStaticBitmapWithRollover(winParent, **kwSettings) 
     51        self.object = wx.wxStaticBitmap(winParent, **kwSettings) 
    9952        self.wxInitialStandardOptions() 
    10053 
  • trunk/RBSkinning/RBSkinning/wxPythonSkin/bitmap_button.py

    r528 r730  
    2525 
    2626from wxSkinLayoutObject import wx, wxSkinLayoutObject, wxSkinObjectNoData 
     27from RBSkinning.wxTools.wxRolloverEvents import wxRolloverMixin 
    2728 
    2829#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    3031#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3132 
    32 class wxBitmapButtonWithRollover(wx.wxBitmapButton): 
    33     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    34     #~ Constants / Variables / Etc.  
    35     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    36  
    37     _rollover_events = None 
    38     _rollover_bitmap = None 
    39     _nonrollover_bitmap = None 
    40  
    41     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    42     #~ Public Methods  
    43     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    44  
    45     def SetBitmapRollover(self, rollover): 
    46         if not self._rollover_events: 
    47             from RBFoundation.BindCallable import BindCallable 
    48             from RBSkinning.wxTools.wxRolloverEvents import wxRolloverEvents 
    49             self._rollover_events = wxRolloverEvents() 
    50             self._rollover_events.OnMouseEnter = BindCallable(self._SetRolloverBitmap) 
    51             self._rollover_events.OnMouseLeave = BindCallable(self._SetNonRolloverBitmap) 
    52             self.PushEventHandler(self._rollover_events) 
    53         self._rollover_bitmap = rollover 
    54  
    55     def GetBitmapRollover(self): 
    56         return self._rollover_bitmap  
    57  
    58     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    59     #~ Protected Methods  
    60     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     33class wxBitmapButtonWithRollover(wxRolloverMixin, wx.wxBitmapButton): 
     34    def _SetupDefaultRollovers(self): 
     35        if self.GetBitmapRollover() is None: 
     36            self.SetBitmapRollover(self.GetBitmapSelected()) 
     37        if self.GetBitmapNonRollover() is None: 
     38            self.SetBitmapNonRollover(self.GetBitmapLabel()) 
    6139 
    6240    def _SetRolloverBitmap(self, evt): 
    63         self._nonrollover_bitmap = self.GetBitmapLabel() 
    64         self.SetBitmapLabel(self._rollover_bitmap) 
     41        self.SetBitmapLabel(self.GetBitmapRollover()) 
    6542        self.Refresh() 
    6643        evt.Skip() 
    6744 
    6845    def _SetNonRolloverBitmap(self, evt): 
    69         if self._nonrollover_bitmap: 
    70             self.SetBitmapLabel(self._nonrollover_bitmap) 
    71             self._nonrollover_bitmap = None 
    72             self.Refresh() 
     46        self.SetBitmapLabel(self.GetBitmapNonRollover()) 
     47        self.Refresh() 
    7348        evt.Skip() 
    7449 
     
    8661        'default':  '0', 
    8762        }) 
     63    BitmapButtonFactory = wxBitmapButtonWithRollover 
    8864 
    8965    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    9571        kwSettings = self.wxSettingDict(['wxid', 'style', 'pos', 'size'], ['name']) 
    9672        kwSettings['bitmap'] = wx.wxEmptyBitmap(*kwSettings['size']) 
    97         #self.object = wx.wxBitmapButton(winParent, **kwSettings) 
    98         self.object = wxBitmapButtonWithRollover(winParent, **kwSettings) 
     73        self.object = self.BitmapButtonFactory(winParent, **kwSettings) 
    9974        if self.wxEval('default'): 
    10075            self.object.SetDefault() 
    10176        self.wxInitialStandardOptions() 
     77        self.object._SetupEvents() 
    10278 
    10379    def SkinFinalize(self): 
    10480        self.wxFinalStandardOptions() 
     81        self.object._SetupDefaultRollovers() 
    10582 
  • trunk/RBSkinning/RBSkinning/wxTools/wxFrameMover.py

    r676 r730  
    5757 
    5858    def OnMouseEvents(self, evt): 
     59        evt.Skip() 
    5960        if evt.ButtonDown(self.MouseButtonId): 
    6061            self.OnMouseDown(evt) 
     
    6364        elif evt.Dragging(): 
    6465            self.OnMouseMotion(evt) 
    65         evt.Skip() 
    6666 
    6767    def OnMouseDown(self, evt): 
    68         evt.Skip() 
    6968        if not self.Captured: 
    7069            self.Captured = True 
    7170            EO = evt.GetEventObject() 
    72             EO.CaptureMouse() 
    7371            self.OffsetPos = EO.ClientToScreen(evt.GetPosition()) 
    7472            self.strategy.OnMouseDown(evt) 
     73            EO.CaptureMouse() 
    7574 
    7675    def OnMouseUp(self, evt): 
    77         evt.Skip() 
    7876        if self.Captured: 
    7977            self.Captured = False 
    80             evt.GetEventObject().ReleaseMouse() 
     78 
    8179            del self.OffsetPos 
    8280            self.strategy.OnMouseUp(evt) 
    8381 
     82            evt.GetEventObject().ReleaseMouse() 
     83 
    8484    def OnMouseMotion(self, evt): 
    85         evt.Skip() 
    8685        if self.Captured: 
    8786            self.strategy.OnMouseMotion(evt) 
  • trunk/RBSkinning/RBSkinning/wxTools/wxRolloverEvents.py

    r528 r730  
    3535#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3636 
    37 class wxRolloverEvents(wx.wxEvtHandler)
     37class wxRolloverMixin
    3838    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    39     #~ Special  
     39    #~ Constants / Variables / Etc.  
    4040    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4141 
    42     def __init__(self): 
    43         wx.wxEvtHandler.__init__(self) 
    44         self._CaptrueEvents() 
    45  
    46     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    47     #~ Protected Methods  
    48     #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    49  
    50     def _CaptrueEvents(self): 
    51         wx.EVT_ENTER_WINDOW(self, BindCallable(self._OnMouseEnter)) 
    52         wx.EVT_LEAVE_WINDOW(self, BindCallable(self._OnMouseLeave)) 
    53  
    54     def _OnMouseEnter(self, evt): 
    55         evt.GetEventObject().CaptureMouse() 
    56         return self.OnMouseEnter(evt) 
    57  
    58     def _OnMouseLeave(self, evt): 
    59         evt.GetEventObject().ReleaseMouse() 
    60         return self.OnMouseLeave(evt) 
     42    _rollover_bitmap = None 
     43    _nonrollover_bitmap = None 
    6144 
    6245    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    6447    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    6548 
    66     def OnMouseLeave(self, evt): 
    67         evt.Skip() 
     49    def _SetupEvents(self): 
     50        self._eventhandler = wx.wxEvtHandler() 
     51        wx.EVT_ENTER_WINDOW(self._eventhandler, BindCallable(self._SetRolloverBitmap)) 
     52        wx.EVT_LEAVE_WINDOW(self._eventhandler, BindCallable(self._SetNonRolloverBitmap)) 
     53        self.PushEventHandler(self._eventhandler) 
     54        return self._eventhandler 
    6855 
    69     def OnMouseEnter(self, evt): 
    70         evt.Skip() 
     56    def GetBitmapRollover(self): 
     57        return self._rollover_bitmap  
     58    def SetBitmapRollover(self, rollover): 
     59        self._rollover_bitmap = rollover 
    7160 
     61    def GetBitmapNonRollover(self): 
     62        return self._nonrollover_bitmap  
     63    def SetBitmapNonRollover(self, nonrollover): 
     64        self._nonrollover_bitmap = nonrollover 
     65 
     66    def _SetRolloverBitmap(self, evt): 
     67        raise NotImplementedError 
     68 
     69    def _SetNonRolloverBitmap(self, evt): 
     70        raise NotImplementedError 
     71 
  • trunk/RBSkinning/demo/wxPythonSkin/widgets/widgets.py

    r718 r730  
    7474                        <text size='100,100' /> 
    7575                        <spacer size='10' /> 
    76                         <bitmap> 
     76                        <rollover_bitmap> 
    7777                            <image name='test_image.jpg' /> 
    7878                            <image call='Rollover' name='test_image_dn.jpg' /> 
    79                         </bitmap> 
     79                        </rollover_bitmap> 
     80                        <spacer size='10' /> 
     81                        <bitmap_button> 
     82                            <image name='test_image.jpg' /> 
     83                            <image call='Selected' name='test_image_dn.jpg' /> 
     84                        </bitmap_button> 
     85                        <spacer size='10' /> 
     86                        <toggle_bitmap_button> 
     87                            <image call='Up' name='test_image.jpg' /> 
     88                            <image call='Down' name='test_image_dn.jpg' /> 
     89                        </toggle_bitmap_button> 
    8090                    </layout> 
    8191                    <spacer size='10' />