wxMessageBox off the main thread lost result code.
[wxWidgets.git] / include / wx / osx / dirdlg.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/osx/dirdlg.h
3 // Purpose: wxDirDialog class
4 // Author: Stefan Csomor
5 // Modified by:
6 // Created: 1998-01-01
7 // Copyright: (c) Stefan Csomor
8 // Licence: wxWindows licence
9 /////////////////////////////////////////////////////////////////////////////
10
11 #ifndef _WX_DIRDLG_H_
12 #define _WX_DIRDLG_H_
13
14 #if wxOSX_USE_COCOA
15 DECLARE_WXCOCOA_OBJC_CLASS(NSOpenPanel);
16 #endif
17
18 class WXDLLIMPEXP_CORE wxDirDialog : public wxDirDialogBase
19 {
20 public:
21 wxDirDialog() { Init(); }
22
23 wxDirDialog(wxWindow *parent,
24 const wxString& message = wxDirSelectorPromptStr,
25 const wxString& defaultPath = wxT(""),
26 long style = wxDD_DEFAULT_STYLE,
27 const wxPoint& pos = wxDefaultPosition,
28 const wxSize& size = wxDefaultSize,
29 const wxString& name = wxDirDialogNameStr)
30 {
31 Init();
32
33 Create(parent,message,defaultPath,style,pos,size,name);
34 }
35
36 void Create(wxWindow *parent,
37 const wxString& message = wxDirSelectorPromptStr,
38 const wxString& defaultPath = wxT(""),
39 long style = wxDD_DEFAULT_STYLE,
40 const wxPoint& pos = wxDefaultPosition,
41 const wxSize& size = wxDefaultSize,
42 const wxString& name = wxDirDialogNameStr);
43
44 #if wxOSX_USE_COCOA
45 ~wxDirDialog();
46 #endif
47
48 virtual int ShowModal();
49
50 #if wxOSX_USE_COCOA
51 virtual void ShowWindowModal();
52 virtual void ModalFinishedCallback(void* panel, int returnCode);
53 #endif
54
55 private:
56 #if wxOSX_USE_COCOA
57 // Create and initialize NSOpenPanel that we use in both ShowModal() and
58 // ShowWindowModal().
59 WX_NSOpenPanel OSXCreatePanel() const;
60
61 WX_NSObject m_sheetDelegate;
62 #endif
63
64 // Common part of all ctors.
65 void Init();
66
67 DECLARE_DYNAMIC_CLASS(wxDirDialog)
68 };
69
70 #endif // _WX_DIRDLG_H_