void form_ejecutar(t_Form *f, int x, int y)
{
- int offset = 0, my_y, salida;
+ int offset = 0, my_y, salida, i;
t_Widget *tmp = f->primero;
my_y = y-1;
mvwaddstr(f->win, my_y, x, tmp->nombre);
waddch(f->win, ':');
waddch(f->win, ' ');
- /* TODO : VER QUE SI ES UNA OPCION ES DISTINTO!! */
- mvwaddstr(f->win, my_y, x+offset, tmp->valor);
+ if (tmp->tipo == INPUT){
+ for(i=0; i<tmp->max; i++)
+ mvwaddch(f->win, my_y, x+offset+i, ' ');
+ mvwaddstr(f->win, my_y, x+offset, tmp->valor);
+ } else {
+ wmove(f->win, my_y, x+offset);
+ for(i=0; i<tmp->max; i++) {
+ waddch(f->win, '(');
+ waddch(f->win, ' ');
+ waddch(f->win, ')');
+ waddstr(f->win, tmp->opciones[i]);
+ waddch(f->win, ' ');
+ }
+ }
tmp = tmp->sig;
}
wrefresh(f->win);
}
}
+void form_set_valor(t_Form *f, const char *widget, const char *s)
+{
+ /* Busco el widget */
+ t_Widget *tmp = f->primero;
+ while (tmp) {
+ if (strcmp(widget, tmp->nombre) == 0) {
+ strcpy(tmp->valor, s);
+ break;
+ }
+ tmp = tmp->sig;
+ }
+}
+