]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - gui/form.h
* BUGFIX : Libero correctamente la memoria de los widgets
[z.facultad/75.06/emufs.git] / gui / form.h
index 2d2bf719850e6d188819720536c3baf130dfbb00..9ac2a3c311a5f7b67196334c0fdcd9b582bfae2d 100644 (file)
@@ -7,13 +7,17 @@
 #include <stdlib.h>
 #include <curses.h>
 
-typedef enum {INPUT} t_Campo;
+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 +31,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);