]> git.saurik.com Git - wxWidgets.git/blob - wxPython/demo/FileBrowseButton.py
Don't decref if the interpreter is not initialized, (eg. it's in its
[wxWidgets.git] / wxPython / demo / FileBrowseButton.py
1
2 """ Demonstrate filebrowsebutton module of the wxPython.lib Library.
3
4 14.1.2001 Bernhard Reiter <bernhard@intevation.de>
5 Added demo for DirBrowseButton and improved overview text.
6 """
7
8 import wx
9 import wx.lib.filebrowsebutton as filebrowse
10
11 #----------------------------------------------------------------------
12
13 class TestPanel(wx.Panel):
14 def __init__(self, parent, ID, log):
15 wx.Panel.__init__(self, parent, ID)
16 self.log = log
17
18 self.fbb = filebrowse.FileBrowseButton(
19 self, -1, size=(450, -1), changeCallback = self.fbbCallback
20 )
21
22 self.fbbh = filebrowse.FileBrowseButtonWithHistory(
23 self, -1, size=(450, -1), changeCallback = self.fbbhCallback
24 )
25
26 self.dbb = filebrowse.DirBrowseButton(
27 self, -1, size=(450, -1), changeCallback = self.dbbCallback
28 )
29
30 self.fbbh.callCallback = False
31 self.fbbh.SetHistory(['You', 'can', 'put', 'some', 'filenames', 'here'], 4)
32
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)
37 box = wx.BoxSizer()
38 box.Add(sizer, 0, wx.ALL, 20)
39 self.SetSizer(box)
40
41
42 def fbbCallback(self, evt):
43 self.log.write('FileBrowseButton: %s\n' % evt.GetString())
44
45
46 def fbbhCallback(self, evt):
47 if hasattr(self, 'fbbh'):
48 value = evt.GetString()
49 if not value:
50 return
51 self.log.write('FileBrowseButtonWithHistory: %s\n' % value)
52 history = self.fbbh.GetHistory()
53 if value not in history:
54 history.append(value)
55 self.fbbh.SetHistory(history)
56 self.fbbh.GetHistoryControl().SetStringSelection(value)
57
58
59 def dbbCallback(self, evt):
60 self.log.write('DirBrowseButton: %s\n' % evt.GetString())
61
62
63 #----------------------------------------------------------------------
64
65 def runTest(frame, nb, log):
66 win = TestPanel(nb, -1, log)
67 return win
68
69
70 #----------------------------------------------------------------------
71
72 overview = """<html><body>
73 <h2>class FileBrowseButton:</h2>
74 <small><pre>
75 %s
76 </pre></small>
77
78 <h2>class FileBrowseButtonWithHistory(FileBrowseButton):</h2>
79 <small><pre>
80 %s
81 </pre></small>
82
83 <h2>class DirBrowseButton(FileBrowseButton):</h2>
84 <small><pre>
85 %s
86 </pre></small>
87
88 </body><</html>
89 """ % ( filebrowse.FileBrowseButton.__doc__,
90 filebrowse.FileBrowseButtonWithHistory.__doc__ ,
91 filebrowse.DirBrowseButton.__doc__
92 )
93
94
95 if __name__ == '__main__':
96 import sys,os
97 import run
98 run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])
99