Added a set of button classes to wx.lib.buttons from David Hughes that

uses the native renderer to draw the button.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43947 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn 2006-12-12 01:51:18 +00:00
parent d1fa6ef3dd
commit 169f3a3d6f
3 changed files with 41 additions and 2 deletions

View File

@ -128,6 +128,10 @@ class TestPanel(wx.Panel):
##b.SetBackgroundColour("sky blue")
##b.SetBackgroundColour("pink")
b = buttons.ThemedGenButton(self, -1, 'Drawn with native renderer')
self.Bind(wx.EVT_BUTTON, self.OnButton, b)
sizer.Add(b)
border = wx.BoxSizer(wx.VERTICAL)
border.Add(sizer, 0, wx.ALL, 25)

View File

@ -53,11 +53,13 @@ without intervening fixed characters.
Added wx.SearchCtrl, which is a composite of a wx.TextCtrl with optional
bitmap buttons and a drop-down menu. Controls like this can typically
be found on a toolbar of applications that support some form of search
functionality. On the Mac this control is implemneted using the
functionality. On the Mac this control is implemented using the
native HISearchField control, on the other platforms a generic control
is used, although that may change in the future as more platforms
introduce native search widgets.
Added a set of button classes to wx.lib.buttons from David Hughes that
uses the native renderer to draw the button.

View File

@ -198,7 +198,9 @@ class GenButton(wx.PyControl):
self.InitColours()
def SetDefault(self):
self.GetParent().SetDefaultItem(self)
tlw = wx.GetTopLevelParent(self)
if hasattr(tlw, 'SetDefaultItem'):
tlw.SetDefaultItem(self)
def _GetLabelSize(self):
""" used internally """
@ -579,4 +581,35 @@ class GenBitmapTextToggleButton(__ToggleMixin, GenBitmapTextButton):
#----------------------------------------------------------------------
class ThemedGenButton(GenButton):
" A themed generic button, and base class for the other themed buttons "
def DrawBezel(self, dc, x1, y1, x2, y2):
rect = wx.Rect(x1, y1, x2, y2)
if self.up:
state = 0
else:
state = wx.CONTROL_PRESSED
wx.RendererNative.Get().DrawPushButton(self, dc, rect, state)
class ThemedGenBitmapButton(ThemedGenButton, GenBitmapButton):
"""A themed generic bitmap button."""
pass
class ThemedGenBitmapTextButton(ThemedGenButton, GenBitmapTextButton):
"""A themed generic bitmapped button with text label"""
pass
class ThemedGenToggleButton(ThemedGenButton, GenToggleButton):
"""A themed generic toggle button"""
pass
class ThemedGenBitmapToggleButton(ThemedGenButton, GenBitmapToggleButton):
"""A themed generic toggle bitmap button"""
pass
class ThemedGenBitmapTextToggleButton(ThemedGenButton, GenBitmapTextToggleButton):
"""A themed generic toggle bitmap button with text label"""
pass
#----------------------------------------------------------------------