Diálogos comunes
Funciones
const char_t* | comwin_open_file (...) |
const char_t* | comwin_save_file (...) |
void | comwin_color (...) |
Los diálogos comunes son ventanas predeterminadas proporcionadas por el sistema operativo para realizar tareas cotidianas como: Abrir archivos (Figura 1), seleccionar colores (Figura 5), tipografías, etc. Su uso es doblemente beneficioso. Por un lado evitamos programarlas como parte de la aplicación y, por otro, aprovechamos el conocimiento previo del usuario ya que seguramente las habrá utilizado en otros programas.
comwin_open_file ()
Lanza el diálogo de abrir archivo.
const char_t* comwin_open_file(Window *parent, const char_t **ftypes, const uint32_t size, const char_t *start_dir);
parent | Ventana padre. |
ftypes | Tipos de archivo para el filtro. |
size | Número de tipos de archivo. |
start_dir | Directorio de inicio del diálogo. Pueder ser |
Retorna
El nombre del archivo seleccionado o NULL
si el usuario ha abortado el diálogo.
Observaciones
Se lanzará de forma modal. parent
quedará bloqueada hasta que se acepte el diálogo.
comwin_save_file ()
Lanza el diálogo de guardar archivo.
const char_t* comwin_save_file(Window *parent, const char_t **ftypes, const uint32_t size, const char_t *start_dir);
parent | Ventana padre. |
ftypes | Tipos de archivo para el filtro. |
size | Número de tipos de archivo. |
start_dir | Directorio de inicio del diálogo. Pueder ser |
Retorna
El nombre del archivo seleccionado o NULL
si el usuario ha abortado el diálogo.
Observaciones
Se lanzará de forma modal. parent
quedará bloqueada hasta que se acepte el diálogo.
comwin_color ()
Lanza el diálogo de selección de colores.
void comwin_color(Window *parent, const real32_t x, const real32_t y, const align_t halign, const align_t valign, const color_t current, color_t *colors, const uint32_t n, Listener *OnChange);
1 2 3 4 5 6 7 8 |
static void i_OnColorChange(App *app, Event *e) { color_t *color = event_params(e, color_t); // Do something ... } comwin_color(window, "Select color", 100, 50, ekRIGHT, ekTOP, kCOLOR_BLUE, NULL, 0, listener(app, i_OnColorChange, App)); |
parent | Ventana padre. |
x | Posición x inicial. |
y | Posición y inicial. |
halign | Alineación horizontal respecto a |
valign | Alineación vertical respecto a |
current | Color actual que mostrará el panel. |
colors | Colores personalizados que mostrará el panel y que pueden también ser editados. Puede ser |
n | Número de colores personalizados. |
OnChange | Función callback que se llamará tras cada cambio de color. |
Observaciones
En sistemas Windows y Linux el diálogo se lanzará de forma modal y deberá ser aceptado para que se produzca una notificación del cambio de color a través de OnChange
. En macOS se lanzarán notificaciones continuamente a medida que se manipula el diálogo.