/* Si se creo wl widget, lo agrego al formulario al final */
if (tmp) {
+ tmp->modificable = 1;
if (f->primero == NULL) {
f->primero = f->ultimo = tmp;
} else {
while (tmp) {
++my_y;
wmove(f->win, my_y, x+offset);
- salida = tmp->ejecutar(f->win, x+offset, my_y, tmp);
+ if (tmp->modificable)
+ salida = tmp->ejecutar(f->win, x+offset, my_y, tmp);
wrefresh(f->win);
tmp = tmp->sig;
}
return NULL;
}
tmp->valor[0] = '\0';
- strncpy(tmp->valor, defecto, max);
+ strcpy(tmp->valor, defecto);
tmp->sig = NULL;
c = getch();
}
/* Cierro el string con el \0 */
- w->valor[current+1] = '\0';
-
+ w->valor[current] = '\0';
/* Retorno la tecla con la que se salio. */
/* De esa forma, ESC pasa al campo anterios. ENTER al siguiente */
return c;
return 0;
}
+void form_es_modificable(t_Form *f, const char *widget, int b)
+{
+ /* Busco el widget */
+ t_Widget *tmp = f->primero;
+ while (tmp) {
+ if (strcmp(widget, tmp->nombre) == 0) {
+ tmp->modificable = b;
+ break;
+ }
+ tmp = tmp->sig;
+ }
+}
+