Clase wxFilePickerCtrl
Este control permite al usuario seleccionar un archivo.
Jerarquía:
La implementación genérica es un botón que abre un wxFileDialog cuando se hace clic en él. La implementación nativa puede diferir, pero suele ser un widget (pequeño) que da acceso al cuadro de diálogo de selección de archivos. Solo está disponible si wxUSE_FILEPICKERCTRL está establecido en 1 (el valor predeterminado).
Estilos
Esta clase admite los siguientes estilos:
- wxFLP_DEFAULT_STYLE
- El estilo predeterminado: incluye wxFLP_OPEN | wxFLP_FILE_MUST_EXIST y, en wxMSW y wxOSX, wxFLP_USE_TEXTCTRL.
- wxFLP_USE_TEXTCTRL
- Crea un control de texto a la izquierda del botón selector que está completamente gestionado por wxFilePickerCtrl y que el usuario puede utilizar para especificar una ruta (véase SetPath). El control de texto se sincroniza automáticamente con el valor del botón. Utilizar las funciones definidas en wxPickerBase para modificar el control de texto.
- wxFLP_OPEN
- Crea un selector que permite al usuario seleccionar un archivo para abrir.
- wxFLP_SAVE
- Crea un selector que permite al usuario seleccionar un archivo para guardar.
- wxFLP_OVERWRITE_PROMPT
- Sólo se puede combinar con wxFLP_SAVE: solicita confirmación al usuario antes de seleccionar un archivo.
- wxFLP_FILE_MUST_EXIST
- Sólo se puede combinar con wxFLP_OPEN: el archivo seleccionado en el cuadro de diálogo emergente wxFileDialog debe ser un archivo existente. Hay que tener en cuenta que el usuario aún puede introducir un nombre de archivo inexistente en el control de texto si también se utiliza wxFLP_USE_TEXTCTRL. Esta bandera es una sugerencia para el usuario, más que una garantía de que el archivo seleccionado existe para el programa.
- wxFLP_CHANGE_DIR
- Cambia el directorio de trabajo actual cada vez que el usuario cambia la selección de archivo.
- wxFLP_SMALL
- Utiliza una versión más pequeña del control con un pequeño botón "..." en lugar del botón normal "Examinar". Esta bandera es nueva desde wxWidgets 2.9.3.
Eventos emitidos por esta clase
Las siguientes macros de controlador de eventos redirigen los eventos a los controladores de funciones miembro "func" con prototipos como:
void handlerFuncName(wxFileDirPickerEvent& event)
Macros de eventos para eventos emitidos por esta clase:
- EVT_FILEPICKER_CHANGED(id, func)
- El usuario ha cambiado el archivo seleccionado en el control utilizando el botón o el control de texto (véase wxFLP_USE_TEXTCTRL; hay que tener en cuenta que, en este caso, el evento solo se activa si la entrada del usuario es válida, por ejemplo, una ruta de archivo existente si se ha especificado wxFLP_FILE_MUST_EXIST).
Funciones miembro
wxFilePickerCtrl()
wxFilePickerCtrl::wxFilePickerCtrl()
Constructor por defecto.
wxFilePickerCtrl()
wxFilePickerCtrl::wxFilePickerCtrl( wxWindow * parent, wxWindowID id, const wxString & path = wxEmptyString, const wxString & message = wxFileSelectorPromptStr, const wxString & wildcard = wxFileSelectorDefaultWildcardStr, const wxPoint & pos = wxDefaultPosition, const wxSize & size = wxDefaultSize, long style = wxFLP_DEFAULT_STYLE, const wxString & name = wxFilePickerCtrlNameStr )
Inicializa el objeto y llama a Create() con todos los parámetros.
Create()
bool wxFilePickerCtrl::Create( wxWindow * parent, wxWindowID id, const wxString & path = wxEmptyString, const wxString & message = wxFileSelectorPromptStr, const wxString & wildcard = wxFileSelectorDefaultWildcardStr, const wxPoint & pos = wxDefaultPosition, const wxSize & size = wxDefaultSize, long style = wxFLP_DEFAULT_STYLE, const wxString & name = wxFilePickerCtrlNameStr )
Crea este widget con los parámetros dados.
Parámetros
- parent
- Ventana principal, no debe ser NULL.
- id
- El identificador del control.
- path
- El archivo inicial mostrado en el control. Debe ser una ruta válida a un archivo o una cadena vacía.
- message
- El mensaje mostrado al usuario en el wxFileDialog mostrado por el control.
- wildcard
- Un comodín que define los archivos seleccionables por el usuario (utiliza la misma sintaxis que los comodines de wxFileDialog).
- pos
- Posición inicial.
- size
- Tamaño inicial.
- style
- El estilo de la ventana, consultar los indicadores wxFLP_*.
- validator
- Validador que se puede utilizar para comprobaciones de datos adicionales.
- name
- Nombre del control.
Valor de retorno
true si el control se ha creado correctamente o false si la creación ha fallado.
GetFileName()
wxFileName wxFilePickerCtrl::GetFileName() const
Similar a GetPath(), pero devuelve la ruta del archivo seleccionado actualmente como un objeto wxFileName.
GetPath()
wxString wxFilePickerCtrl::GetPath() const
Devuelve la ruta absoluta del archivo seleccionado actualmente.
SetFileName()
void wxFilePickerCtrl::SetFileName(const wxFileName & filename)
Este método hace lo mismo que SetPath(), pero toma un objeto wxFileName en lugar de una cadena.
SetInitialDirectory()
void wxFilePickerCtrl::SetInitialDirectory(const wxString & dir)
Establece el directorio que se mostrará al comenzar a buscar archivos.
Esta función es especialmente útil para los controles de selección de archivos que inicialmente no tienen ninguna selección, ya que permite configurar el directorio que se mostrará si el usuario comienza a buscar archivos; de lo contrario, se utilizará el directorio del archivo seleccionado inicialmente, lo que suele ser el comportamiento deseado, por lo que el directorio especificado por esta función se ignora en este caso.
SetPath()
void wxFilePickerCtrl::SetPath(const wxString & filename)
Establece la ruta absoluta del archivo seleccionado actualmente.
Si el control utiliza wxFLP_FILE_MUST_EXIST y no utiliza el estilo wxFLP_USE_TEXTCTRL, el nombre del archivo debe ser el nombre de un archivo existente y, si no es así, la implementación nativa de wxGTK simplemente lo ignorará (la implementación genérica utilizada en otras plataformas acepta actualmente incluso nombres de archivo no válidos, pero esto está sujeto a cambios en el futuro, no confíe en poder utilizar rutas inexistentes con ella).
Métodos y datos heredados
Esta clase hereda los métodos y datos miembro públicos y protegidos de wxObject, wxEvtHandler, wxWindow, wxControl y wxPickerBase.