X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/3e797d5e792af787f3a0d6c2568ca7d728e43860..9f5a4b155f0d5599b1e7f04418333995d484d820:/gui/form.h?ds=sidebyside diff --git a/gui/form.h b/gui/form.h index 2d2bf71..ecec54d 100644 --- a/gui/form.h +++ b/gui/form.h @@ -7,13 +7,19 @@ #include #include -typedef enum {INPUT} t_Campo; +#include "malloc_debug.h" + +typedef enum {INPUT, RADIO} t_Campo; typedef struct _elem_ { char *nombre; /* nombre del widget */ t_Campo tipo; /* tipo */ - char *valor; /* valor actual */ - unsigned int max; /*tamaño maximo */ + union { + char *valor; /* valor actual */ + char **opciones; /* array de opciones */ + }; + unsigned int actual; /* En RADIO el seleccionado */ + unsigned int max; /* INPUT: tamaño maximo RADIO: Cant. Opciones */ struct _elem_ *sig; /* siguiente en la lista de foco */ } t_Widget; @@ -27,7 +33,7 @@ t_Form *form_crear(WINDOW *win); /* Libera un formulario */ int form_destruir(t_Form *); /* Agrega un nuevo campo */ -void form_agregar_widget(t_Form *, t_Campo tipo, const char *nombre, unsigned int max); +void form_agregar_widget(t_Form *, t_Campo tipo, const char *nombre, unsigned int max, const char *defecto); /* Ejecuta una entrada del formulario */ void form_ejecutar(t_Form *, int x, int y); char *form_obtener_valor(t_Form *, const char *widget);