]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - emufs_gui/form.h
Me aseguro de que tengo cantidad de claves impares para el B+
[z.facultad/75.06/emufs.git] / emufs_gui / form.h
index 49051969d33b0eeec66dd556239f3dc8177df451..d78d2e07397f778905c5fa9b2137e879159870dc 100644 (file)
@@ -7,8 +7,6 @@
 #include <stdlib.h>
 #include <curses.h>
 
-#include "malloc_debug.h"
-
 /** Tipos de Widgets válidos */
 typedef enum {INPUT, RADIO} t_Campo;
 
@@ -39,9 +37,13 @@ typedef struct _elem_ {
         *   RADIO : Cantidad de Opciones
         */
        unsigned int max;
+       /** Formato del campo de entrada */
+       char *format;
        /** Siguiente elemento */
        struct _elem_ *sig;
 
+       int modificable;
+
        /* Métodos */
        int (*ejecutar)(WINDOW *win, int x, int y, struct _elem_ *w);
        void (*destruir)(struct _elem_ *);
@@ -60,6 +62,7 @@ t_Form *form_crear(WINDOW *win);
 
 /** Libera un formulario */
 int form_destruir(t_Form *);
+
 /** Agrega un nuevo campo
  *
  *  Significado de <em>max</em> según tipo:
@@ -91,7 +94,27 @@ void form_agregar_widget(t_Form *f, t_Campo tipo, const char *nombre, unsigned i
  */
 void form_ejecutar(t_Form *f, int x, int y);
 
-/** Obtiene el valor asociado a un campo
+/** Establece si un Widget puede ser modificado
+ *
+ *  \param f Formulario.
+ *  \param widget Nombre del Widget.
+ *  \param b Valor booleano
+ */
+void form_es_modificable(t_Form *f, const char *widget, int b);
+
+/** Setea el valor de un widget
+ *
+ *  Para campos de texto solamente!.
+ *
+ *  Pone en el campo valor el texto pasado por parametro.
+ *
+ *  \param f Formulario.
+ *  \param widget Nombre del widget.
+ *  \param s Texto a poner.
+ */
+void form_set_valor(t_Form *f, const char *widget, const char *s);
+
+/** Obtiene el valor asociado a un campo como char *
  *
  *  \param f Formulario.
  *  \param widget Nombre del campo.
@@ -99,8 +122,12 @@ void form_ejecutar(t_Form *f, int x, int y);
  */
 char *form_obtener_valor_char(t_Form *f, const char *widget);
 
+/** Obtiene el valor asociado a un campo como int
+ */
 int form_obtener_valor_int(t_Form *f, const char *widget);
 
+/** Obtiene el valor asociado a un campo como float 
+ */
 float form_obtener_valor_float(t_Form *f, const char *widget);
 
 #endif