]>
git.saurik.com Git - wxWidgets.git/blob - wxPython/demo/GenericButtons.py
beb8a5245112e845d6b41e5dddd596e7f976e628
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
.SetSizeHints(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)
117 border
= wx
.BoxSizer(wx
.VERTICAL
)
118 border
.Add(sizer
, 0, wx
.ALL
, 25)
119 self
.SetSizer(border
)
122 def OnButton(self
, event
):
123 self
.log
.WriteText("Button Clicked: %d\n" % event
.GetId())
126 def OnBiggerButton(self
, event
):
127 self
.log
.WriteText("Bigger Button Clicked: %d\n" % event
.GetId())
128 b
= event
.GetEventObject()
129 txt
= "big " + b
.GetLabel()
131 self
.GetSizer().Layout()
134 def OnToggleButton(self
, event
):
135 msg
= (event
.GetIsDown() and "on") or "off"
136 self
.log
.WriteText("Button %d Toggled: %s\n" % (event
.GetId(), msg
))
140 #----------------------------------------------------------------------
143 def runTest(frame
, nb
, log
):
144 win
= TestPanel(nb
, log
)
148 #----------------------------------------------------------------------
151 overview
= buttons
.__doc
__
153 if __name__
== '__main__':
156 run
.main(['', os
.path
.basename(sys
.argv
[0])] + sys
.argv
[1:])