Lazy creation of the picker dialogs (Francesco).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39526 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Michael Wetherell
2006-06-02 08:17:23 +00:00
parent cc57f388d7
commit 9a8362297a
2 changed files with 12 additions and 2 deletions

View File

@@ -45,6 +45,8 @@ IMPLEMENT_DYNAMIC_CLASS(wxGenericDirButton, wxButton)
// wxGenericFileButton
// ----------------------------------------------------------------------------
static wxString s_message, s_wildcard;
bool wxGenericFileDirButton::Create( wxWindow *parent, wxWindowID id,
const wxString &label, const wxString &path,
const wxString &message, const wxString &wildcard,
@@ -66,11 +68,17 @@ bool wxGenericFileDirButton::Create( wxWindow *parent, wxWindowID id,
// create the dialog associated with this button
m_path = path;
return CreateDialog(message, wildcard);
s_message = message;
s_wildcard = wildcard;
m_dialog = NULL;
return true;
}
void wxGenericFileDirButton::OnButtonClick(wxCommandEvent& WXUNUSED(ev))
{
CreateDialog(s_message, s_wildcard);
if (m_dialog->ShowModal() == wxID_OK)
{
// save the path
@@ -80,6 +88,8 @@ void wxGenericFileDirButton::OnButtonClick(wxCommandEvent& WXUNUSED(ev))
wxFileDirPickerEvent event(GetEventType(), this, GetId(), m_path);
GetEventHandler()->ProcessEvent(event);
}
wxDELETE(m_dialog);
}
#endif // wxUSE_FILEPICKERCTRL || wxUSE_DIRPICKERCTRL