# `wxDirDialog` [🔗](https://github.com/kikofernandez/otp/blob/kiko/otp/release-gh-action-backup-continuation/OTP-20040/lib/wx/src/gen/wxDirDialog.erl#L58) This class represents the directory chooser dialog. ## Styles This class supports the following styles: * wxDD_DEFAULT_STYLE: Equivalent to a combination of wxDEFAULT_DIALOG_STYLE and wxRESIZE_BORDER. * wxDD_DIR_MUST_EXIST: The dialog will allow the user to choose only an existing folder. When this style is not given, a "Create new directory" button is added to the dialog (on Windows) or some other way is provided to the user to type the name of a new folder. * wxDD_CHANGE_DIR: Change the current working directory to the directory chosen by the user. Note: This flag cannot be used with the `wxDD_MULTIPLE` style. * wxDD_MULTIPLE: Allow the user to select multiple directories. This flag is only available since wxWidgets 3.1.4 * wxDD_SHOW_HIDDEN: Show hidden and system folders. This flag is only available since wxWidgets 3.1.4 Notice that `wxRESIZE_BORDER` has special side effect under Windows where two different directory selection dialogs are available and this style also implicitly selects the new version as the old one always has fixed size. As the new version is almost always preferable, it is recommended that `wxRESIZE_BORDER` style be always used. This is the case if the dialog is created with the default style value but if you need to use any additional styles you should still specify `wxDD_DEFAULT_STYLE` unless you explicitly need to use the old dialog version under Windows. E.g. do instead of just using `wxDD_DIR_MUST_EXIST` style alone. Remark: MacOS 10.11+ does not display a title bar on the dialog. Use `setMessage/2` to change the string displayed to the user at the top of the dialog after creation. The `wxTopLevelWindow:setTitle/2` method is provided for compatibility with pre-10.11 MacOS versions that do still support displaying the title bar. See: * [Overview cmndlg](https://docs.wxwidgets.org/3.2/overview_cmndlg.html#overview_cmndlg_dir) * `m:wxFileDialog` This class is derived, and can use functions, from: * `m:wxDialog` * `m:wxTopLevelWindow` * `m:wxWindow` * `m:wxEvtHandler` wxWidgets docs: [wxDirDialog](https://docs.wxwidgets.org/3.2/classwx_dir_dialog.html) # `wxDirDialog` ```elixir -type wxDirDialog() :: wx:wx_object(). ``` # `destroy` ```elixir -spec destroy(This :: wxDirDialog()) -> ok. ``` Destroys the object # `getMessage` ```elixir -spec getMessage(This) -> unicode:charlist() when This :: wxDirDialog(). ``` Returns the message that will be displayed on the dialog. # `getPath` ```elixir -spec getPath(This) -> unicode:charlist() when This :: wxDirDialog(). ``` Returns the default or user-selected path. Note: This function can't be used with dialogs which have the `wxDD_MULTIPLE` style, use `GetPaths()` (not implemented in wx) instead. # `new` ```elixir -spec new(Parent) -> wxDirDialog() when Parent :: wxWindow:wxWindow(). ``` # `new` ```elixir -spec new(Parent, [Option]) -> wxDirDialog() when Parent :: wxWindow:wxWindow(), Option :: {title, unicode:chardata()} | {defaultPath, unicode:chardata()} | {style, integer()} | {pos, {X :: integer(), Y :: integer()}} | {sz, {W :: integer(), H :: integer()}}. ``` Constructor. Use `wxDialog:showModal/1` to show the dialog. # `setMessage` ```elixir -spec setMessage(This, Message) -> ok when This :: wxDirDialog(), Message :: unicode:chardata(). ``` Sets the message that will be displayed on the dialog. # `setPath` ```elixir -spec setPath(This, Path) -> ok when This :: wxDirDialog(), Path :: unicode:chardata(). ``` Sets the default path. --- *Consult [api-reference.md](api-reference.md) for complete listing*