X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/a149135d6cf1d32b45f3c92c8562170e5771faf9..ca0a546df5b5730a8d5dd899391bd0f194f028fa:/emufs_gui/form.h?ds=sidebyside diff --git a/emufs_gui/form.h b/emufs_gui/form.h index 4905196..d78d2e0 100644 --- a/emufs_gui/form.h +++ b/emufs_gui/form.h @@ -7,8 +7,6 @@ #include #include -#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 max 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