void wxFileDialogBase::Init()
{
- m_filterIndex =
+ m_filterIndex = 0;
m_windowStyle = 0;
+ m_extraControl = NULL;
+ m_extraControlCreator = NULL;
}
bool wxFileDialogBase::Create(wxWindow *parent,
return filePath + ext;
}
+bool wxFileDialogBase::SetExtraControlCreator(ExtraControlCreatorFunction c)
+{
+ wxCHECK_MSG( !m_extraControlCreator, false,
+ "wxFileDialog::SetExtraControl() called second time" );
+
+ m_extraControlCreator = c;
+ return SupportsExtraControl();
+}
+
+bool wxFileDialogBase::CreateExtraControl()
+{
+ if (!m_extraControlCreator || m_extraControl)
+ return false;
+ m_extraControl = (*m_extraControlCreator)(this);
+ return true;
+}
+
+wxSize wxFileDialogBase::GetExtraControlSize()
+{
+ if ( !m_extraControlCreator )
+ return wxDefaultSize;
+
+ // create the extra control in an empty dialog just to find its size: this
+ // is not terribly efficient but we do need to know the size before
+ // creating the native dialog and this seems to be the only way
+ wxDialog dlg(NULL, wxID_ANY, "");
+ return (*m_extraControlCreator)(&dlg)->GetSize();
+}
+
//----------------------------------------------------------------------------
// wxFileDialog convenience functions
//----------------------------------------------------------------------------
-wxString wxDoFileSelector(const wxString& title,
- const wxString& defaultDir,
- const wxString& defaultFileName,
- const wxString& defaultExtension,
- const wxString& filter,
- int flags,
- wxWindow *parent,
- int x, int y)
+wxString wxFileSelector(const wxString& title,
+ const wxString& defaultDir,
+ const wxString& defaultFileName,
+ const wxString& defaultExtension,
+ const wxString& filter,
+ int flags,
+ wxWindow *parent,
+ int x, int y)
{
// The defaultExtension, if non-empty, is
// appended to the filename if the user fails to type an extension. The new
// wxFileSelectorEx
//----------------------------------------------------------------------------
-wxString wxDoFileSelectorEx(const wxString& title,
- const wxString& defaultDir,
- const wxString& defaultFileName,
- int* defaultFilterIndex,
- const wxString& filter,
- int flags,
- wxWindow* parent,
- int x,
- int y)
+wxString wxFileSelectorEx(const wxString& title,
+ const wxString& defaultDir,
+ const wxString& defaultFileName,
+ int* defaultFilterIndex,
+ const wxString& filter,
+ int flags,
+ wxWindow* parent,
+ int x,
+ int y)
{
wxFileDialog fileDialog(parent,
// wxLoadFileSelector
//----------------------------------------------------------------------------
-WXDLLEXPORT wxString wxDoLoadFileSelector(const wxString& what,
- const wxString& extension,
- const wxString& default_name,
- wxWindow *parent)
+WXDLLEXPORT wxString wxLoadFileSelector(const wxString& what,
+ const wxString& extension,
+ const wxString& default_name,
+ wxWindow *parent)
{
return wxDefaultFileSelector(true, what, extension, default_name, parent);
}
// wxSaveFileSelector
//----------------------------------------------------------------------------
-WXDLLEXPORT wxString wxDoSaveFileSelector(const wxString& what,
- const wxString& extension,
- const wxString& default_name,
- wxWindow *parent)
+WXDLLEXPORT wxString wxSaveFileSelector(const wxString& what,
+ const wxString& extension,
+ const wxString& default_name,
+ wxWindow *parent)
{
return wxDefaultFileSelector(false, what, extension, default_name, parent);
}