]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - gui/form.h
* Agrego el malloc debugger de taller para controlar
[z.facultad/75.06/emufs.git] / gui / form.h
index 2d2bf719850e6d188819720536c3baf130dfbb00..ecec54d596136d09489a109f4358cd336f809a8b 100644 (file)
@@ -7,13 +7,19 @@
 #include <stdlib.h>
 #include <curses.h>
 
 #include <stdlib.h>
 #include <curses.h>
 
-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 */
 
 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;
 
        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 */
 /* 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);
 /* Ejecuta una entrada del formulario */
 void form_ejecutar(t_Form *, int x, int y);
 char *form_obtener_valor(t_Form *, const char *widget);