X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a85ad1db05e7d940383fdf75671f1aa69dacbb42..8907a7e2c0fb61ecca0b6434dd69ee42b7ee1db6:/include/wx/filedlg.h diff --git a/include/wx/filedlg.h b/include/wx/filedlg.h index d30075401a..7abc596350 100644 --- a/include/wx/filedlg.h +++ b/include/wx/filedlg.h @@ -85,6 +85,9 @@ public: Create(parent, message, defaultDir, defaultFile, wildCard, style, pos, sz, name); } + virtual ~wxFileDialogBase() {} + + bool Create(wxWindow *parent, const wxString& message = wxFileSelectorPromptStr, const wxString& defaultDir = wxEmptyString, @@ -113,6 +116,17 @@ public: virtual wxString GetWildcard() const { return m_wildCard; } virtual int GetFilterIndex() const { return m_filterIndex; } + // this function is called with wxFileDialog as parameter and should + // create the window containing the extra controls we want to show in it + typedef wxWindow *(*ExtraControlCreatorFunction)(wxWindow*); + + // extra controls are currently supported in GTK and generic versions + // only currently + virtual bool SupportsExtraControl() const { return false; } + + bool SetExtraControlCreator(ExtraControlCreatorFunction WXUNUSED(c)); + wxWindow *GetExtraControl() const { return m_extraControl; } + // Utility functions #if WXWIN_COMPATIBILITY_2_6 @@ -137,13 +151,20 @@ protected: wxString m_fileName; wxString m_wildCard; int m_filterIndex; + wxWindow* m_extraControl; + + // returns true if control is created (if it already exists returns false) + bool CreateExtraControl(); private: + ExtraControlCreatorFunction m_extraControlCreator; + void Init(); DECLARE_DYNAMIC_CLASS(wxFileDialogBase) DECLARE_NO_COPY_CLASS(wxFileDialogBase) }; + //---------------------------------------------------------------------------- // wxFileDialog convenience functions //----------------------------------------------------------------------------