2 """ Demonstrate filebrowsebutton module of the wxPython.lib Library.
4 14.1.2001 Bernhard Reiter <bernhard@intevation.de>
5 Added demo for DirBrowseButton and improved overview text.
9 import wx
.lib
.filebrowsebutton
as filebrowse
11 #----------------------------------------------------------------------
13 class TestPanel(wx
.Panel
):
14 def __init__(self
, parent
, ID
, log
):
15 wx
.Panel
.__init
__(self
, parent
, ID
)
18 self
.fbb
= filebrowse
.FileBrowseButton(
19 self
, -1, size
=(450, -1), changeCallback
= self
.fbbCallback
22 self
.fbbh
= filebrowse
.FileBrowseButtonWithHistory(
23 self
, -1, size
=(450, -1), changeCallback
= self
.fbbhCallback
26 self
.dbb
= filebrowse
.DirBrowseButton(
27 self
, -1, size
=(450, -1), changeCallback
= self
.dbbCallback
30 self
.fbbh
.callCallback
= False
31 self
.fbbh
.SetHistory(['You', 'can', 'put', 'some', 'filenames', 'here'], 4)
33 sizer
= wx
.BoxSizer(wx
.VERTICAL
)
34 sizer
.Add(self
.fbb
, 0, wx
.ALL
, 5)
35 sizer
.Add(self
.fbbh
, 0, wx
.ALL
, 5)
36 sizer
.Add(self
.dbb
, 0, wx
.ALL
, 5)
38 box
.Add(sizer
, 0, wx
.ALL
, 20)
42 def fbbCallback(self
, evt
):
43 self
.log
.write('FileBrowseButton: %s\n' % evt
.GetString())
46 def fbbhCallback(self
, evt
):
47 if hasattr(self
, 'fbbh'):
48 value
= evt
.GetString()
51 self
.log
.write('FileBrowseButtonWithHistory: %s\n' % value
)
52 history
= self
.fbbh
.GetHistory()
53 if value
not in history
:
55 self
.fbbh
.SetHistory(history
)
56 self
.fbbh
.GetHistoryControl().SetStringSelection(value
)
59 def dbbCallback(self
, evt
):
60 self
.log
.write('DirBrowseButton: %s\n' % evt
.GetString())
63 #----------------------------------------------------------------------
65 def runTest(frame
, nb
, log
):
66 win
= TestPanel(nb
, -1, log
)
70 #----------------------------------------------------------------------
72 overview
= """<html><body>
73 <h2>class FileBrowseButton:</h2>
78 <h2>class FileBrowseButtonWithHistory(FileBrowseButton):</h2>
83 <h2>class DirBrowseButton(FileBrowseButton):</h2>
89 """ % ( filebrowse
.FileBrowseButton
.__doc
__,
90 filebrowse
.FileBrowseButtonWithHistory
.__doc
__ ,
91 filebrowse
.DirBrowseButton
.__doc
__
95 if __name__
== '__main__':
98 run
.main(['', os
.path
.basename(sys
.argv
[0])] + sys
.argv
[1:])