]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - gui/form.c
* Cambio ids por DID en emufs.
[z.facultad/75.06/emufs.git] / gui / form.c
index 38d93738ca929589b423a4099a8c41f6fb14609e..21e7d4865425c52017ad3997bb2d070e942d1856 100644 (file)
@@ -90,23 +90,32 @@ void form_ejecutar(t_Form *f, int x, int y)
        /* Pongo las etiquetas de los campos, y me fijo el mayor offset */
        while (tmp) {
                my_y++;
        /* Pongo las etiquetas de los campos, y me fijo el mayor offset */
        while (tmp) {
                my_y++;
-               mvwaddstr(f->win, my_y, x, tmp->nombre);
-               waddch(f->win, ':');
-               waddch(f->win, ' ');
                if (strlen(tmp->nombre) > offset)
                        offset = strlen(tmp->nombre);
 
                tmp = tmp->sig;
        }
        /* Agrego el ": " al offset*/
                if (strlen(tmp->nombre) > offset)
                        offset = strlen(tmp->nombre);
 
                tmp = tmp->sig;
        }
        /* Agrego el ": " al offset*/
-       x += offset + 2;
+       offset += 2;
+
+       tmp = f->primero;
+       my_y = y-1;
+       while (tmp) {
+               ++my_y;
+               mvwaddstr(f->win, my_y, x, tmp->nombre);
+               waddch(f->win, ':');
+               waddch(f->win, ' ');
+               mvwaddstr(f->win, my_y, x+offset, tmp->valor);
+               tmp = tmp->sig;
+       }
        wrefresh(f->win);
        wrefresh(f->win);
+
        tmp = f->primero;
        my_y = y-1;
        while (tmp) {
                ++my_y;
        tmp = f->primero;
        my_y = y-1;
        while (tmp) {
                ++my_y;
-               wmove(f->win, my_y, x);
-               salida = tmp->ejecutar(f->win, x, my_y, tmp);
+               wmove(f->win, my_y, x+offset);
+               salida = tmp->ejecutar(f->win, x+offset, my_y, tmp);
                wrefresh(f->win);
                tmp = tmp->sig;
        }
                wrefresh(f->win);
                tmp = tmp->sig;
        }
@@ -209,7 +218,7 @@ int form_input(WINDOW *win, int x, int y, t_Widget *w)
        char *tmp = w->valor;
        int current = 0, c;
        mvwaddstr(win, y, x, w->valor);
        char *tmp = w->valor;
        int current = 0, c;
        mvwaddstr(win, y, x, w->valor);
-
+       curs_set(1);
        while ((*tmp) != '\0') {
                tmp++;
                current++;
        while ((*tmp) != '\0') {
                tmp++;
                current++;
@@ -226,6 +235,7 @@ int form_input(WINDOW *win, int x, int y, t_Widget *w)
                        waddch(win, ' ');
                        /* Este va para dejar el cursor bien, ya que addch mueve el cursor*/
                        wmove(win, y, x+current);
                        waddch(win, ' ');
                        /* Este va para dejar el cursor bien, ya que addch mueve el cursor*/
                        wmove(win, y, x+current);
+                       wrefresh(win);
                        continue;
                }
                /* Si no entra mas, ignoro toda entrada */
                        continue;
                }
                /* Si no entra mas, ignoro toda entrada */