SDK Multiplataforma en C logo

SDK Multiplataforma en C

Diálogos comunes

❮ Anterior
Siguiente ❯

Funciones

const char_t*comwin_open_file (...)
const char_t*comwin_save_file (...)
voidcomwin_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.

Captura del explorador de archivos en Windows.
Figura 1: Explorador de archivos en Windows.
Captura del explorador de archivos en macOS.
Figura 2: Explorador de archivos en macOS.
Captura del explorador de archivos en Linux.
Figura 3: Explorador de archivos en Linux.
Captura del diálogo de color en macOS.
Figura 4: Selección de colores en macOS.
Captura del diálogo de color en Windows.
Figura 5: Selección de colores en Windows.
Captura del diálogo de color en Linux.
Figura 6: Selección de colores en Linux.
❮ Anterior
Siguiente ❯

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 NULL.

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 NULL.

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 x.

valign

Alineación vertical respecto a y.

current

Color actual que mostrará el panel.

colors

Colores personalizados que mostrará el panel y que pueden también ser editados. Puede ser NULL sólo si n=0.

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.

❮ Anterior
Siguiente ❯