]> git.saurik.com Git - wxWidgets.git/blame - interface/dirdlg.h
documented that Freeze and Thaw are now recursive
[wxWidgets.git] / interface / dirdlg.h
CommitLineData
23324ae1
FM
1/////////////////////////////////////////////////////////////////////////////
2// Name: dirdlg.h
e54c96f1 3// Purpose: interface of wxDirDialog
23324ae1
FM
4// Author: wxWidgets team
5// RCS-ID: $Id$
6// Licence: wxWindows license
7/////////////////////////////////////////////////////////////////////////////
8
9/**
10 @class wxDirDialog
11 @wxheader{dirdlg.h}
7c913512 12
23324ae1 13 This class represents the directory chooser dialog.
7c913512 14
23324ae1
FM
15 @beginStyleTable
16 @style{wxDD_DEFAULT_STYLE}:
17 Equivalent to a combination of wxDEFAULT_DIALOG_STYLE and
18 wxRESIZE_BORDER (the last one is not used under wxWinCE).
19 @style{wxDD_DIR_MUST_EXIST}:
20 The dialog will allow the user to choose only an existing folder.
21 When this style is not given, a "Create new directory" button is
22 added to the dialog (on Windows) or some other way is provided to
23 the user to type the name of a new folder.
24 @style{wxDD_CHANGE_DIR}:
25 Change the current working directory to the directory chosen by the
26 user.
27 @endStyleTable
7c913512 28
23324ae1
FM
29 @library{wxcore}
30 @category{cmndlg}
7c913512 31
e54c96f1 32 @see @ref overview_wxdirdialogoverview "wxDirDialog overview", wxFileDialog
23324ae1
FM
33*/
34class wxDirDialog : public wxDialog
35{
36public:
37 /**
38 Constructor. Use ShowModal() to show
39 the dialog.
3c4f71cc 40
7c913512 41 @param parent
4cc4bfaf 42 Parent window.
7c913512 43 @param message
4cc4bfaf 44 Message to show on the dialog.
7c913512 45 @param defaultPath
4cc4bfaf 46 The default path, or the empty string.
7c913512 47 @param style
4cc4bfaf 48 The dialog style. See wxDirDialog
7c913512 49 @param pos
4cc4bfaf 50 Dialog position. Ignored under Windows.
7c913512 51 @param size
4cc4bfaf 52 Dialog size. Ignored under Windows.
7c913512 53 @param name
4cc4bfaf 54 The dialog name, not used.
23324ae1
FM
55 */
56 wxDirDialog(wxWindow* parent,
57 const wxString& message = "Choose a directory",
58 const wxString& defaultPath = "",
59 long style = wxDD_DEFAULT_STYLE,
60 const wxPoint& pos = wxDefaultPosition,
61 const wxSize& size = wxDefaultSize,
62 const wxString& name = "wxDirCtrl");
63
64 /**
65 Destructor.
66 */
67 ~wxDirDialog();
68
69 /**
70 Returns the message that will be displayed on the dialog.
71 */
328f5751 72 wxString GetMessage() const;
23324ae1
FM
73
74 /**
75 Returns the default or user-selected path.
76 */
328f5751 77 wxString GetPath() const;
23324ae1
FM
78
79 /**
80 Sets the message that will be displayed on the dialog.
81 */
82 void SetMessage(const wxString& message);
83
84 /**
85 Sets the default path.
86 */
87 void SetPath(const wxString& path);
88
89 /**
90 Shows the dialog, returning wxID_OK if the user pressed OK, and wxID_CANCEL
91 otherwise.
92 */
93 int ShowModal();
94};
95
96
e54c96f1 97
23324ae1
FM
98// ============================================================================
99// Global functions/macros
100// ============================================================================
101
ba2874ff
BP
102/** @ingroup group_funcmacro_dialog */
103//@{
104
23324ae1 105/**
ba2874ff
BP
106 Pops up a directory selector dialog. The arguments have the same meaning
107 as those of wxDirDialog::wxDirDialog(). The message is displayed at the
108 top, and the default_path, if specified, is set as the initial selection.
109
23324ae1
FM
110 The application must check for an empty return value (if the user pressed
111 Cancel). For example:
4cc4bfaf 112
23324ae1
FM
113 @code
114 const wxString& dir = wxDirSelector("Choose a folder");
115 if ( !dir.empty() )
116 {
ba2874ff 117 ...
23324ae1
FM
118 }
119 @endcode
ba2874ff
BP
120
121 @header{wx/dirdlg.h}
23324ae1
FM
122*/
123wxString wxDirSelector(const wxString& message = wxDirSelectorPromptStr,
124 const wxString& default_path = "",
125 long style = 0,
126 const wxPoint& pos = wxDefaultPosition,
4cc4bfaf 127 wxWindow* parent = NULL);
23324ae1 128
ba2874ff
BP
129//@}
130