4 #----------------------------------------------------------------------
6 class TestPanel(wx
.Panel
):
7 def __init__(self
, parent
, log
):
9 wx
.Panel
.__init
__(self
, parent
, -1)
11 box
= wx
.BoxSizer(wx
.VERTICAL
)
12 title
= wx
.StaticText(self
, -1, "Picker Controls")
13 title
.SetFont(wx
.FFont(24, wx
.FONTFAMILY_SWISS
, wx
.FONTFLAG_BOLD
))
14 title
.SetForegroundColour("navy")
15 box
.Add(title
, 0, wx
.ALIGN_CENTER|wx
.ALL
, 5)
16 #print title.GetBestSize(), title.GetMinSize(), title.GetSize()
18 box
.Add(wx
.StaticLine(self
), 0, wx
.EXPAND
)
20 fgs
= wx
.FlexGridSizer(cols
=4, hgap
=5, vgap
=5)
22 fgs
.Add((10,10)) # spacer
23 lbl
= wx
.StaticText(self
, -1, "default style")
24 lbl
.SetFont(wx
.FFont(12, wx
.FONTFAMILY_SWISS
, wx
.FONTFLAG_BOLD
))
26 fgs
.Add((10,10)) # spacer
27 lbl
= wx
.StaticText(self
, -1, "with textctrl")
28 lbl
.SetFont(wx
.FFont(12, wx
.FONTFAMILY_SWISS
, wx
.FONTFLAG_BOLD
))
29 fgs
.Add(lbl
, 0, wx
.ALIGN_CENTER
)
31 fgs
.Add(wx
.StaticText(self
, -1, "wx.ColourPickerCtrl:"), 0, wx
.ALIGN_CENTER_VERTICAL
)
32 cp1
= wx
.ColourPickerCtrl(self
)
33 fgs
.Add(cp1
, 0, wx
.ALIGN_CENTER
)
34 fgs
.Add((10,10)) # spacer
35 cp2
= wx
.ColourPickerCtrl(self
, style
=wx
.CLRP_USE_TEXTCTRL
)
36 cp2
.SetTextCtrlProportion(5)
37 fgs
.Add(cp2
, 0, wx
.EXPAND
)
38 self
.Bind(wx
.EVT_COLOURPICKER_CHANGED
, self
.OnPickColor
, cp1
)
39 self
.Bind(wx
.EVT_COLOURPICKER_CHANGED
, self
.OnPickColor
, cp2
)
41 fgs
.Add(wx
.StaticText(self
, -1, "wx.DirPickerCtrl:"), 0, wx
.ALIGN_CENTER_VERTICAL
)
42 dp1
= wx
.DirPickerCtrl(self
)
43 fgs
.Add(dp1
, 0, wx
.ALIGN_CENTER
)
44 fgs
.Add((10,10)) # spacer
45 dp2
= wx
.DirPickerCtrl(self
, style
=wx
.DIRP_USE_TEXTCTRL
)
46 dp2
.SetTextCtrlProportion(2)
47 fgs
.Add(dp2
, 0, wx
.EXPAND
)
48 self
.Bind(wx
.EVT_DIRPICKER_CHANGED
, self
.OnPickFileDir
, dp1
)
49 self
.Bind(wx
.EVT_DIRPICKER_CHANGED
, self
.OnPickFileDir
, dp2
)
51 fgs
.Add(wx
.StaticText(self
, -1, "wx.FilePickerCtrl:"), 0, wx
.ALIGN_CENTER_VERTICAL
)
52 fp1
= wx
.FilePickerCtrl(self
)
53 fgs
.Add(fp1
, 0, wx
.ALIGN_CENTER
)
54 fgs
.Add((10,10)) # spacer
55 fp2
= wx
.FilePickerCtrl(self
, style
=wx
.FLP_USE_TEXTCTRL
)
56 fp2
.SetTextCtrlProportion(2)
57 fgs
.Add(fp2
, 0, wx
.EXPAND
)
58 self
.Bind(wx
.EVT_FILEPICKER_CHANGED
, self
.OnPickFileDir
, fp1
)
59 self
.Bind(wx
.EVT_FILEPICKER_CHANGED
, self
.OnPickFileDir
, fp2
)
61 fgs
.Add(wx
.StaticText(self
, -1, "wx.FontPickerCtrl:"), 0, wx
.ALIGN_CENTER_VERTICAL
)
62 fnt1
= wx
.FontPickerCtrl(self
, style
=wx
.FNTP_FONTDESC_AS_LABEL
)
63 fgs
.Add(fnt1
, 0, wx
.ALIGN_CENTER
)
64 fgs
.Add((10,10)) # spacer
65 fnt2
= wx
.FontPickerCtrl(self
, style
=wx
.FNTP_FONTDESC_AS_LABEL|wx
.FNTP_USE_TEXTCTRL
)
66 fnt2
.SetTextCtrlProportion(2)
67 fgs
.Add(fnt2
, 0, wx
.EXPAND
)
68 self
.Bind(wx
.EVT_FONTPICKER_CHANGED
, self
.OnPickFont
, fnt1
)
69 self
.Bind(wx
.EVT_FONTPICKER_CHANGED
, self
.OnPickFont
, fnt2
)
72 box
.Add(fgs
, 1, wx
.EXPAND|wx
.ALL
, 5)
76 def OnPickColor(self
, evt
):
77 self
.log
.write("You chose: %s\n" % repr(evt
.GetColour()))
79 def OnPickFileDir(self
, evt
):
80 self
.log
.write("You chose: %s\n" % repr(evt
.GetPath()))
82 def OnPickFont(self
, evt
):
84 self
.log
.write("You chose: %s\n" % font
.GetNativeFontInfoUserDesc())
86 #----------------------------------------------------------------------
88 def runTest(frame
, nb
, log
):
89 win
= TestPanel(nb
, log
)
92 #----------------------------------------------------------------------
96 overview
= """<html><body>
97 <h2><center>Picker Controls</center></h2>
99 The Picker controls are either native or generic controls usually
100 comprised of a button and with an optional text control next to it.
101 The pickers enable the user to choose something using one of the
102 common dialogs and then displays the result in some way.
109 if __name__
== '__main__':
112 run
.main(['', os
.path
.basename(sys
.argv
[0])] + sys
.argv
[1:])