~brian-sidebotham/wxwidgets-cmake/wxpython-2.9.4

« back to all changes in this revision

Viewing changes to wxPython/demo/FileBrowseButton.py

  • Committer: Brian Sidebotham
  • Date: 2013-08-03 14:30:08 UTC
  • Revision ID: brian.sidebotham@gmail.com-20130803143008-c7806tkych1tp6fc
Initial import into Bazaar

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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