7.4. Dialogos de fichero

Estos diálogos permiten obtener información al usuario de ficheros y directorios.

wxFileDialog

Este componente sirve para manejar la selección de uno o más archivos, y realizar acciones como abrir o guardar.

Debemos pasar al constructor la ventana padre, el mensaje que queramos mostrar, un directorio, un archivo por defecto (si se desea), una máscara para el tipo de archivo (*.*, *.jpeg, etc.) y la posición.

wxFileDialog(wxWindow* parent, const wxString& message = "Choose a file", const wxString& defaultDir = "", const wxString& defaultFile = "", const wxString& wildcard = "*.*", long style = 0, const wxPoint& pos = wxDefaultPosition)

Tiene estilos propios, como wxSAVE, para guardar el archivo, wxOPEN, para abrirlo, wxOVERWRITE_PROMPT, que avisará si al archivo a guardar ya existe, wxFILE_MUST_EXIT, que forzosamente se tendrá que seleccionar un archivo existente, y wxMULTIPLE, que permite seleccionar varios archivos.

En cuanto a los eventos, destacamos: GetDirectory() y SetDirectory(), para trabajar con los directorios, GetFilename() y SetFilename(), para trabajar con el nombre del archivo, GetFilenames() y GetPath(), que sirven cuando la selección es multiple (GetPath() devuelve el conjunto directorio y archivo), GetWildcard() y SetWildcard(), para trabajar con la mascara, y GetMessage() y SetMessage() para cuando queramos trabajar con el mensaje del diálogo.

wxDirDialog

Este diálogo permite al usuario seleccionar un directorio, ya sea local o en red. Además con el estilo wxDD_NEW_DIR_BUTTON, te permite crear un nuevo directorio.

Para contruirlo, debemos pasar al constructor la ventana padre, el mensaje, el path (directorio y archivo), el estilo, la posición y el tamaño.

wxDirDialog(wxWindow* parent, const wxString& message = "Choose a directory", const wxString& defaultPath = "", long style = wxDD_DEFAULT_STYLE, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize)

Cuenta con dos estilos, wxDD_DEFAULT_STYLE, que crear un diálogo por defecto (dependiendo del sistema), y wxDD_NEW_DIR_BUTTON, que crea un botón en el diálogo que permite crear nuevos directorios.

Destacamos algunos métodos de este componente, como GetPath() y SetPath(), para obtener y modificar el par directorio-fichero, GetMessage() y SetMessage(), para trabajar con el mensaje que muestra, y ShowModal(), para mostrarlo como modal.