From c3357374af44fdcae9d326e62ab5a39d9517102d Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Mon, 26 Mar 2001 21:04:48 +0000 Subject: [PATCH] Fix for Bug #229543 git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9586 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- wxPython/wxPython/lib/filebrowsebutton.py | 24 +++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/wxPython/wxPython/lib/filebrowsebutton.py b/wxPython/wxPython/lib/filebrowsebutton.py index 93ea1d3cf6..1b725287eb 100644 --- a/wxPython/wxPython/lib/filebrowsebutton.py +++ b/wxPython/wxPython/lib/filebrowsebutton.py @@ -64,6 +64,8 @@ class FileBrowseButton(wxPanel): self.fileMask = fileMask self.fileMode = fileMode self.changeCallback = changeCallback + self.callCallback = true + # get background to match it try: @@ -127,10 +129,14 @@ class FileBrowseButton(wxPanel): textControl = wxTextCtrl(self, ID) textControl.SetToolTipString( self.toolTip ) if self.changeCallback: - EVT_TEXT(textControl, ID, self.changeCallback) - EVT_COMBOBOX(textControl, ID, self.changeCallback) + EVT_TEXT(textControl, ID, self.OnChanged) + EVT_COMBOBOX(textControl, ID, self.OnChanged) return textControl + def OnChanged(self, evt): + if self.callCallback: + self.changeCallback(evt) + def createBrowseButton( self): """Create the browse-button control""" ID = wxNewId() @@ -166,8 +172,11 @@ class FileBrowseButton(wxPanel): def SetValue (self, value, callBack=1): """ Convenient setting of text control value """ - # Removed the return from here because SetValue doesn't return anything. - self.textControl.SetValue (value) + save = self.callCallback + self.callCallback = callBack + self.textControl.SetValue(value) + self.callCallback = save + def Enable (self, value): """ Convenient enabling/disabling of entire control """ @@ -282,8 +291,11 @@ class FileBrowseButtonWithHistory( FileBrowseButton ): def SetValue (self, value, callBack=1): """ Convenient setting of text control value, works around limitation of wxComboBox """ - # Removed the return from here because SetValue doesn't return anything. - self.textControl.SetValue (value) + save = self.callCallback + self.callCallback = callBack + self.textControl.SetValue(value) + self.callCallback = save + # Hack to call an event handler class LocalEvent: def __init__(self, string):