]> git.saurik.com Git - wxWidgets.git/blob - include/wx/dirdlg.h
Add a comment about covariant returns
[wxWidgets.git] / include / wx / dirdlg.h
1 #ifndef _WX_DIRDLG_H_BASE_
2 #define _WX_DIRDLG_H_BASE_
3
4 #if wxUSE_DIRDLG
5
6 #include "wx/dialog.h"
7
8 // ----------------------------------------------------------------------------
9 // constants
10 // ----------------------------------------------------------------------------
11
12 extern WXDLLEXPORT_DATA(const wxChar*) wxDirDialogNameStr;
13 extern WXDLLEXPORT_DATA(const wxChar*) wxDirDialogDefaultFolderStr;
14 extern WXDLLEXPORT_DATA(const wxChar*) wxDirSelectorPromptStr;
15
16 #ifdef __WXWINCE__
17 #define wxDD_DEFAULT_STYLE \
18 (wxDEFAULT_DIALOG_STYLE | wxDD_NEW_DIR_BUTTON)
19 #else
20 #define wxDD_DEFAULT_STYLE \
21 (wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER | wxDD_NEW_DIR_BUTTON)
22 #endif
23
24 /*
25 The interface (TODO: make the other classes really derive from it!) is
26 something like this:
27
28 class WXDLLEXPORT wxDirDialogBase : public wxDialog
29 {
30 public:
31 wxDirDialogBase(wxWindow *parent,
32 const wxString& title = wxFileSelectorPromptStr,
33 const wxString& defaultPath = wxEmptyString,
34 long style = wxDD_DEFAULT_STYLE,
35 const wxPoint& pos = wxDefaultPosition,
36 const wxSize& sz = wxDefaultSize,
37 const wxString& name = _T("dirdialog"));
38
39 void SetMessage(const wxString& message);
40 void SetPath(const wxString& path);
41 void SetStyle(long style);
42
43 wxString GetMessage() const;
44 wxString GetPath() const;
45 long GetStyle() const;
46 };
47
48 */
49
50 // Universal and non-port related switches with need for generic implementation
51 #if defined(__WXMSW__) && (defined(__WXUNIVERSAL__) || \
52 defined(__SALFORDC__) || \
53 !wxUSE_OLE || \
54 (defined (__GNUWIN32__) && !wxUSE_NORLANDER_HEADERS))
55
56 #include "wx/generic/dirdlgg.h"
57 #define wxDirDialog wxGenericDirDialog
58
59 // MS PocketPC or MS Smartphone
60 #elif defined(__WXMSW__) && defined(__WXWINCE__) && !defined(__HANDHELDPC__)
61
62 #include "wx/generic/dirdlgg.h"
63 #define wxDirDialog wxGenericDirDialog
64
65 // Native MSW
66 #elif defined(__WXMSW__)
67
68 #include "wx/msw/dirdlg.h"
69
70 // Native Mac
71 #elif defined(__WXMAC__)
72
73 #include "wx/mac/dirdlg.h"
74
75 // Other ports use generic implementation
76 #elif defined(__WXMOTIF__) || \
77 defined(__WXGTK__) || \
78 defined(__WXX11__) || \
79 defined(__WXMGL__) || \
80 defined(__WXCOCOA__) || \
81 defined(__WXPM__)
82
83 #include "wx/generic/dirdlgg.h"
84 #define wxDirDialog wxGenericDirDialog
85
86 #endif
87
88 // ----------------------------------------------------------------------------
89 // common ::wxDirSelector() function
90 // ----------------------------------------------------------------------------
91
92 WXDLLEXPORT wxString
93 wxDirSelector(const wxString& message = wxDirSelectorPromptStr,
94 const wxString& defaultPath = wxEmptyString,
95 long style = wxDD_DEFAULT_STYLE,
96 const wxPoint& pos = wxDefaultPosition,
97 wxWindow *parent = NULL);
98
99 #endif // wxUSE_DIRDLG
100
101 #endif
102 // _WX_DIRDLG_H_BASE_