1 /* Manejo de Formularios con CURSES */
10 typedef enum {INPUT, RADIO} t_Campo;
12 typedef struct _elem_ {
13 char *nombre; /* nombre del widget */
14 t_Campo tipo; /* tipo */
16 char *valor; /* valor actual */
17 char **opciones; /* array de opciones */
19 unsigned int actual; /* En RADIO el seleccionado */
20 unsigned int max; /* INPUT: tamaƱo maximo RADIO: Cant. Opciones */
21 struct _elem_ *sig; /* siguiente en la lista de foco */
24 typedef struct _form_ {
25 t_Widget *primero, *ultimo; /* puntero a widgets */
29 /* Inicializa un formulario */
30 t_Form *form_crear(WINDOW *win);
31 /* Libera un formulario */
32 int form_destruir(t_Form *);
33 /* Agrega un nuevo campo */
34 void form_agregar_widget(t_Form *, t_Campo tipo, const char *nombre, unsigned int max, const char *defecto);
35 /* Ejecuta una entrada del formulario */
36 void form_ejecutar(t_Form *, int x, int y);
37 char *form_obtener_valor(t_Form *, const char *widget);