X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6762286db6cf974817dead5b88bebf0e390dbb7e..5cbda74b6606482f5286a5599fc60f3f91995a52:/include/wx/osx/filedlg.h?ds=sidebyside diff --git a/include/wx/osx/filedlg.h b/include/wx/osx/filedlg.h index cd2d7c9111..170795379e 100644 --- a/include/wx/osx/filedlg.h +++ b/include/wx/osx/filedlg.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: filedlg.h +// Name: wx/osx/filedlg.h // Purpose: wxFileDialog class // Author: Stefan Csomor // Modified by: @@ -12,10 +12,17 @@ #ifndef _WX_FILEDLG_H_ #define _WX_FILEDLG_H_ +class WXDLLIMPEXP_FWD_CORE wxChoice; + //------------------------------------------------------------------------- // wxFileDialog //------------------------------------------------------------------------- +// set this system option to 1 in order to always show the filetypes popup in +// file open dialogs if possible + +#define wxOSX_FILEDIALOG_ALWAYS_SHOW_TYPES wxT("osx.openfiledialog.always-show-types") + class WXDLLIMPEXP_CORE wxFileDialog: public wxFileDialogBase { DECLARE_DYNAMIC_CLASS(wxFileDialog) @@ -39,11 +46,42 @@ public: virtual int ShowModal(); +#if wxOSX_USE_COCOA + virtual void ShowWindowModal(); + virtual void ModalFinishedCallback(void* panel, int resultCode); +#endif + + virtual bool SupportsExtraControl() const; + + // implementation only + +#if wxOSX_USE_COCOA + // returns true if the file can be shown as active + bool CheckFile( const wxString& filename ); +#endif + protected: // not supported for file dialog, RR virtual void DoSetSize(int WXUNUSED(x), int WXUNUSED(y), int WXUNUSED(width), int WXUNUSED(height), int WXUNUSED(sizeFlags) = wxSIZE_AUTO) {} + + void SetupExtraControls(WXWindow nativeWindow); + +#if wxOSX_USE_COCOA + virtual wxWindow* CreateFilterPanel(wxWindow *extracontrol); + void DoOnFilterSelected(int index); + virtual void OnFilterSelected(wxCommandEvent &event); + + wxArrayString m_filterExtensions; + wxArrayString m_filterNames; + wxChoice* m_filterChoice; + wxWindow* m_filterPanel; + bool m_useFileTypeFilter; + int m_firstFileTypeFilter; + wxArrayString m_currentExtensions; + WX_NSObject m_delegate; +#endif }; #endif // _WX_FILEDLG_H_