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:])