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:])