1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/osx/filedlg.h
3 // Purpose: wxFileDialog class
4 // Author: Stefan Csomor
8 // Copyright: (c) Stefan Csomor
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 #ifndef _WX_FILEDLG_H_
13 #define _WX_FILEDLG_H_
15 class WXDLLIMPEXP_FWD_CORE wxChoice
;
17 //-------------------------------------------------------------------------
19 //-------------------------------------------------------------------------
21 // set this system option to 1 in order to always show the filetypes popup in
22 // file open dialogs if possible
24 #define wxOSX_FILEDIALOG_ALWAYS_SHOW_TYPES wxT("osx.openfiledialog.always-show-types")
26 class WXDLLIMPEXP_CORE wxFileDialog
: public wxFileDialogBase
28 DECLARE_DYNAMIC_CLASS(wxFileDialog
)
30 wxArrayString m_fileNames
;
31 wxArrayString m_paths
;
34 wxFileDialog() { Init(); }
35 wxFileDialog(wxWindow
*parent
,
36 const wxString
& message
= wxFileSelectorPromptStr
,
37 const wxString
& defaultDir
= wxEmptyString
,
38 const wxString
& defaultFile
= wxEmptyString
,
39 const wxString
& wildCard
= wxFileSelectorDefaultWildcardStr
,
40 long style
= wxFD_DEFAULT_STYLE
,
41 const wxPoint
& pos
= wxDefaultPosition
,
42 const wxSize
& sz
= wxDefaultSize
,
43 const wxString
& name
= wxFileDialogNameStr
)
47 Create(parent
,message
,defaultDir
,defaultFile
,wildCard
,style
,pos
,sz
,name
);
50 void Create(wxWindow
*parent
,
51 const wxString
& message
= wxFileSelectorPromptStr
,
52 const wxString
& defaultDir
= wxEmptyString
,
53 const wxString
& defaultFile
= wxEmptyString
,
54 const wxString
& wildCard
= wxFileSelectorDefaultWildcardStr
,
55 long style
= wxFD_DEFAULT_STYLE
,
56 const wxPoint
& pos
= wxDefaultPosition
,
57 const wxSize
& sz
= wxDefaultSize
,
58 const wxString
& name
= wxFileDialogNameStr
);
64 virtual void GetPaths(wxArrayString
& paths
) const { paths
= m_paths
; }
65 virtual void GetFilenames(wxArrayString
& files
) const { files
= m_fileNames
; }
67 virtual int ShowModal();
70 virtual void ShowWindowModal();
71 virtual void ModalFinishedCallback(void* panel
, int resultCode
);
74 virtual bool SupportsExtraControl() const;
76 // implementation only
79 // returns true if the file can be shown as active
80 bool CheckFile( const wxString
& filename
);
84 // not supported for file dialog, RR
85 virtual void DoSetSize(int WXUNUSED(x
), int WXUNUSED(y
),
86 int WXUNUSED(width
), int WXUNUSED(height
),
87 int WXUNUSED(sizeFlags
) = wxSIZE_AUTO
) {}
89 void SetupExtraControls(WXWindow nativeWindow
);
92 virtual wxWindow
* CreateFilterPanel(wxWindow
*extracontrol
);
93 void DoOnFilterSelected(int index
);
94 virtual void OnFilterSelected(wxCommandEvent
&event
);
96 wxArrayString m_filterExtensions
;
97 wxArrayString m_filterNames
;
98 wxChoice
* m_filterChoice
;
99 wxWindow
* m_filterPanel
;
100 bool m_useFileTypeFilter
;
101 int m_firstFileTypeFilter
;
102 wxArrayString m_currentExtensions
;
103 WX_NSObject m_delegate
;
104 WX_NSObject m_sheetDelegate
;
108 // Common part of all ctors.
112 #endif // _WX_FILEDLG_H_