-# 11/7/2003 - Jeff Grimmett (grimmtooth@softhome.net)
-#
-# o Updated for wx namespace
-# o Uncommented fbbhCallback in TestPanel.fbbh init. Appears to work fine.
-# Wonder why it was commented.
-# o Unrelated: TestPanel.dbb appears to cause a program error in the demo. If
-# it is commented out, everything works fine. Investigating.
-# o Bernhard has responded to query, does not plan on updating demo.
-#
-# 11/25/2003 - Jeff Grimmett (grimmtooth@softhome.net)
-#
-# o All issues, including the program error, have gone away in V2.5.
-#
""" Demonstrate filebrowsebutton module of the wxPython.lib Library.
self.log = log
self.fbb = filebrowse.FileBrowseButton(
- self, -1, (20, 20), (450, -1), changeCallback = self.fbbCallback
+ self, -1, size=(450, -1), changeCallback = self.fbbCallback
)
self.fbbh = filebrowse.FileBrowseButtonWithHistory(
- self, -1, (20, 50), (450, -1), changeCallback = self.fbbhCallback
+ self, -1, size=(450, -1), changeCallback = self.fbbhCallback
)
-
+
self.dbb = filebrowse.DirBrowseButton(
- self, -1, (20, 80), (450, -1), changeCallback = self.dbbCallback
+ self, -1, size=(450, -1), changeCallback = self.dbbCallback
)
- self.fbbh.SetHistory(['You', 'can', 'put', 'some', 'file', 'names', 'here'])
+ self.fbbh.callCallback = False
+ self.fbbh.SetHistory(['You', 'can', 'put', 'some', 'filenames', 'here'], 4)
+
+ 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 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):
if __name__ == '__main__':
import sys,os
import run
- run.main(['', os.path.basename(sys.argv[0])])
+ run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])