]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/FileBrowseButton.py
apparently the check for too small rect is needed not only with wxNB_MULTILINE (see...
[wxWidgets.git] / wxPython / demo / FileBrowseButton.py
index c926dfa13ad1b102c9781daeebc2c1c8b116a45a..369c245769672edbff9eddf47afdbefa329dfeb9 100644 (file)
@@ -1,22 +1,41 @@
 
 
-from wxPython.wx import *
-from wxPython.lib.filebrowsebutton import FileBrowseButton, FileBrowseButtonWithHistory
+""" Demonstrate filebrowsebutton module of the wxPython.lib Library.
 
 
+14.1.2001 Bernhard Reiter <bernhard@intevation.de>
+    Added demo for DirBrowseButton and improved overview text.
+"""
+
+import  wx
+import  wx.lib.filebrowsebutton as filebrowse
 
 #----------------------------------------------------------------------
 
 
 #----------------------------------------------------------------------
 
-class TestPanel(wxPanel):
+class TestPanel(wx.Panel):
     def __init__(self, parent, ID, log):
     def __init__(self, parent, ID, log):
-        wxPanel.__init__(self, parent, ID)
+        wx.Panel.__init__(self, parent, ID)
         self.log = log
         self.log = log
-        self.fbb = FileBrowseButton(self, -1, wxPoint(20,20), wxSize(450, -1),
-                                    changeCallback = self.fbbCallback)
-        self.fbbh = FileBrowseButtonWithHistory(self, -1, wxPoint(20, 50),
-                                                wxSize(450, -1),
-                                                #changeCallback = self.fbbhCallback
-                                                )
 
 
-        self.fbbh.SetHistory(['You', 'can', 'put', 'some', 'file', 'names', 'here'])
+        self.fbb = filebrowse.FileBrowseButton(
+            self, -1, size=(450, -1), changeCallback = self.fbbCallback
+            )
+
+        self.fbbh = filebrowse.FileBrowseButtonWithHistory(
+            self, -1, size=(450, -1),  changeCallback = self.fbbhCallback
+            )
+            
+        self.dbb = filebrowse.DirBrowseButton(
+            self, -1, size=(450, -1), changeCallback = self.dbbCallback
+            )
+
+        self.fbbh.SetHistory(['You', 'can', 'put', 'some', 'filenames', 'here'])
+
+        sizer = wx.BoxSizer(wx.VERTICAL)
+        sizer.Add(self.fbb, 0, wx.ALL, 5)
+        sizer.Add(self.fbbh, 0, wx.ALL, 5)
+        sizer.Add(self.dbb, 0, wx.ALL, 5)
+        box = wx.BoxSizer()
+        box.Add(sizer, 0, wx.ALL, 20)
+        self.SetSizer(box)
 
 
     def fbbCallback(self, evt):
 
 
     def fbbCallback(self, evt):
@@ -28,8 +47,14 @@ class TestPanel(wxPanel):
             value = evt.GetString()
             self.log.write('FileBrowseButtonWithHistory: %s\n' % value)
             history = self.fbbh.GetHistory()
             value = evt.GetString()
             self.log.write('FileBrowseButtonWithHistory: %s\n' % value)
             history = self.fbbh.GetHistory()
-            history.append(value)
-            self.fbbh.SetHistory(history)
+            if value not in history:
+                history.append(value)
+                self.fbbh.SetHistory(history)
+                self.fbbh.GetHistoryControl().SetStringSelection(value)
+
+
+    def dbbCallback(self, evt):
+        self.log.write('DirBrowseButton: %s\n' % evt.GetString())
 
 
 #----------------------------------------------------------------------
 
 
 #----------------------------------------------------------------------
@@ -39,9 +64,33 @@ def runTest(frame, nb, log):
     return win
 
 
     return win
 
 
-
 #----------------------------------------------------------------------
 
 #----------------------------------------------------------------------
 
+overview = """<html><body>
+<h2>class FileBrowseButton:</h2>
+<small><pre>
+%s
+</pre></small>
+
+<h2>class FileBrowseButtonWithHistory(FileBrowseButton):</h2>
+<small><pre>
+%s
+</pre></small>
+
+<h2>class DirBrowseButton(FileBrowseButton):</h2>
+<small><pre>
+%s
+</pre></small>
+
+</body><</html>
+""" % ( filebrowse.FileBrowseButton.__doc__,
+        filebrowse.FileBrowseButtonWithHistory.__doc__ , 
+        filebrowse.DirBrowseButton.__doc__
+        ) 
+
 
 
+if __name__ == '__main__':
+    import sys,os
+    import run
+    run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])
 
 
-overview = FileBrowseButton.__doc__