]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/FileBrowseButton.py
Don't decref if the interpreter is not initialized, (eg. it's in its
[wxWidgets.git] / wxPython / demo / FileBrowseButton.py
index 9967ea355f28c6b98265f274faaf73fe9745be25..2af110a9f8eb81d9b63fd429f0acf1c64cc43d07 100644 (file)
@@ -1,49 +1,65 @@
+
 """ Demonstrate filebrowsebutton module of the wxPython.lib Library.
 
 14.1.2001 Bernhard Reiter <bernhard@intevation.de>
     Added demo for DirBrowseButton and improved overview text.
 """
-from wxPython.wx import *
-from wxPython.lib.filebrowsebutton import FileBrowseButton, FileBrowseButtonWithHistory,DirBrowseButton
 
+import  wx
+import  wx.lib.filebrowsebutton as filebrowse
 
 #----------------------------------------------------------------------
 
-class TestPanel(wxPanel):
+class TestPanel(wx.Panel):
     def __init__(self, parent, ID, log):
-        wxPanel.__init__(self, parent, ID)
+        wx.Panel.__init__(self, parent, ID)
         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.dbb = DirBrowseButton(self, -1, wxPoint(20,80), wxSize(450,-1),
-                                    changeCallback = self.dbbCallback)
 
+        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.callCallback = False
+        self.fbbh.SetHistory(['You', 'can', 'put', 'some', 'filenames', 'here'], 4)
 
-        self.fbbh.SetHistory(['You', 'can', 'put', 'some', 'file', 'names', '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):
         self.log.write('FileBrowseButton: %s\n' % evt.GetString())
 
 
-
     def fbbhCallback(self, evt):
         if hasattr(self, 'fbbh'):
             value = evt.GetString()
+            if not value:
+                return
             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())
 
 
-
 #----------------------------------------------------------------------
 
 def runTest(frame, nb, log):
@@ -51,7 +67,6 @@ def runTest(frame, nb, log):
     return win
 
 
-
 #----------------------------------------------------------------------
 
 overview = """<html><body>
@@ -71,6 +86,14 @@ overview = """<html><body>
 </pre></small>
 
 </body><</html>
-""" % ( FileBrowseButton.__doc__,
-        FileBrowseButtonWithHistory.__doc__ ,
-        str(DirBrowseButton.__doc__) )
+""" % ( 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:])
+