]>
git.saurik.com Git - wxWidgets.git/blob - wxPython/demo/GenericButtons.py
   3 import  wx
.lib
.buttons  
as  buttons
 
   7 #---------------------------------------------------------------------- 
   9 class TestPanel(wx
.Panel
): 
  10     def __init__(self
, parent
, log
): 
  11         wx
.Panel
.__init
__(self
, parent
, -1) 
  13         ##self.SetBackgroundColour("sky blue") 
  15         sizer 
= wx
.FlexGridSizer(1, 3, 20, 20) 
  17         # A regular button, selected as the default button 
  18         b 
= wx
.Button(self
, -1, "A real button") 
  20         self
.Bind(wx
.EVT_BUTTON
, self
.OnButton
, b
) 
  23         # Same thing, but NOT set as the default button 
  24         b 
= wx
.Button(self
, -1, "non-default") 
  25         self
.Bind(wx
.EVT_BUTTON
, self
.OnButton
, b
) 
  29         # Plain old text button based off GenButton() 
  30         b 
= buttons
.GenButton(self
, -1, 'Hello') 
  31         self
.Bind(wx
.EVT_BUTTON
, self
.OnButton
, b
) 
  34         # Plain old text button, disabled. 
  35         b 
= buttons
.GenButton(self
, -1, 'disabled') 
  36         self
.Bind(wx
.EVT_BUTTON
, self
.OnButton
, b
) 
  40         # This time, we let the botton be as big as it can be. 
  41         # Also, this one is fancier, with custom colors and bezel size. 
  42         b 
= buttons
.GenButton(self
, -1, 'bigger') 
  43         self
.Bind(wx
.EVT_BUTTON
, self
.OnBiggerButton
, b
) 
  44         b
.SetFont(wx
.Font(20, wx
.SWISS
, wx
.NORMAL
, wx
.BOLD
, False)) 
  47         b
.SetMinSize(wx
.DefaultSize
) 
  48         b
.SetBackgroundColour("Navy") 
  49         b
.SetForegroundColour(wx
.WHITE
) 
  50         b
.SetToolTipString("This is a BIG button...") 
  51         # let the sizer set best size 
  52         sizer
.Add(b
, flag
=wx
.ADJUST_MINSIZE
)  
  55         bmp 
= images
.getTest2Bitmap() 
  56         b 
= buttons
.GenBitmapButton(self
, -1, bmp
) 
  57         self
.Bind(wx
.EVT_BUTTON
, self
.OnButton
, b
) 
  60         # An image button, disabled. 
  61         bmp 
= images
.getTest2Bitmap() 
  62         b 
= buttons
.GenBitmapButton(self
, -1, bmp
) 
  63         self
.Bind(wx
.EVT_BUTTON
, self
.OnButton
, b
) 
  67         # An image button, using a mask to get rid of the 
  68         # undesireable part of the image 
  69         b 
= buttons
.GenBitmapButton(self
, -1, None) 
  70         self
.Bind(wx
.EVT_BUTTON
, self
.OnButton
, b
) 
  71         bmp 
= images
.getBulb1Bitmap() 
  72         mask 
= wx
.Mask(bmp
, wx
.BLUE
) 
  75         bmp 
= images
.getBulb2Bitmap() 
  76         mask 
= wx
.Mask(bmp
, wx
.BLUE
) 
  78         b
.SetBitmapSelected(bmp
) 
  83         b 
= buttons
.GenToggleButton(self
, -1, "Toggle Button") 
  84         self
.Bind(wx
.EVT_BUTTON
, self
.OnToggleButton
, b
) 
  87         # An image toggle button 
  88         b 
= buttons
.GenBitmapToggleButton(self
, -1, None) 
  89         self
.Bind(wx
.EVT_BUTTON
, self
.OnToggleButton
, b
) 
  90         bmp 
= images
.getBulb1Bitmap() 
  91         mask 
= wx
.Mask(bmp
, wx
.BLUE
) 
  94         bmp 
= images
.getBulb2Bitmap() 
  95         mask 
= wx
.Mask(bmp
, wx
.BLUE
) 
  97         b
.SetBitmapSelected(bmp
) 
 102         # A bitmap button with text. 
 103         b 
= buttons
.GenBitmapTextButton(self
, -1, None, "Bitmapped Text", size 
= (200, 45)) 
 104         self
.Bind(wx
.EVT_BUTTON
, self
.OnButton
, b
) 
 105         bmp 
= images
.getBulb1Bitmap() 
 106         mask 
= wx
.Mask(bmp
, wx
.BLUE
) 
 108         b
.SetBitmapLabel(bmp
) 
 109         bmp 
= images
.getBulb2Bitmap() 
 110         mask 
= wx
.Mask(bmp
, wx
.BLUE
) 
 112         b
.SetBitmapSelected(bmp
) 
 113         b
.SetUseFocusIndicator(False) 
 119         b 
= buttons
.GenButton(self
, -1, 'Flat buttons too!', style
=wx
.BORDER_NONE
) 
 120         self
.Bind(wx
.EVT_BUTTON
, self
.OnButton
, b
) 
 121         sizer
.Add(b
, flag
=wx
.ALIGN_CENTER_VERTICAL
) 
 123         # A flat image button 
 124         bmp 
= images
.getTest2Bitmap() 
 125         bmp
.SetMaskColour("blue") 
 126         b 
= buttons
.GenBitmapButton(self
, -1, bmp
, style
=wx
.BORDER_NONE
) 
 127         self
.Bind(wx
.EVT_BUTTON
, self
.OnButton
, b
) 
 129         ##b.SetBackgroundColour("sky blue") 
 130         ##b.SetBackgroundColour("pink") 
 133         border 
= wx
.BoxSizer(wx
.VERTICAL
) 
 134         border
.Add(sizer
, 0, wx
.ALL
, 25) 
 135         self
.SetSizer(border
) 
 138     def OnButton(self
, event
): 
 139         self
.log
.WriteText("Button Clicked: %d\n" % event
.GetId()) 
 142     def OnBiggerButton(self
, event
): 
 143         self
.log
.WriteText("Bigger Button Clicked: %d\n" % event
.GetId()) 
 144         b 
= event
.GetEventObject() 
 145         txt 
= "big " + b
.GetLabel() 
 147         self
.GetSizer().Layout() 
 150     def OnToggleButton(self
, event
): 
 151         msg 
= (event
.GetIsDown() and "on") or "off" 
 152         self
.log
.WriteText("Button %d Toggled: %s\n" % (event
.GetId(), msg
)) 
 156 #---------------------------------------------------------------------- 
 159 def runTest(frame
, nb
, log
): 
 160     win 
= TestPanel(nb
, log
) 
 164 #---------------------------------------------------------------------- 
 167 overview 
= buttons
.__doc
__ 
 169 if __name__ 
== '__main__': 
 172     run
.main(['', os
.path
.basename(sys
.argv
[0])] + sys
.argv
[1:])