]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - gui/gui.c
* Primer ejemplo de grabacion y recuperacion de un registro funciona al fin!
[z.facultad/75.06/emufs.git] / gui / gui.c
index 9042cbbe4b6cf26d901020022ec02dc339c65a9c..95c55bfeffb71f56b21109e3853033c224d105fe 100644 (file)
--- a/gui/gui.c
+++ b/gui/gui.c
@@ -18,7 +18,7 @@ void menu_articulos();
 
 int main(int argc, char *argv[])
 {
-       int c;
+       int c, fin=0;
        if (argc != 2) {
                printf("Modo de uso : %s archivo_de_articulos.xml\n", argv[0]);
                return 1;
@@ -45,7 +45,7 @@ int main(int argc, char *argv[])
        if (has_colors()) {
                start_color();
                /* Simple color assignment, often all we need. */
-               init_pair(COLOR_BLACK, COLOR_BLACK, COLOR_BLACK);
+               init_pair(COLOR_BLACK, COLOR_BLACK, COLOR_BLACK); /* COLOR_PAIR(1) */
                init_pair(COLOR_GREEN, COLOR_GREEN, COLOR_BLACK);
                init_pair(COLOR_RED, COLOR_RED, COLOR_BLACK);
                init_pair(COLOR_CYAN, COLOR_CYAN, COLOR_BLACK);
@@ -60,7 +60,7 @@ int main(int argc, char *argv[])
        /* Ventana, Y, X, Texto */
        mvwaddstr(stdscr, 1, 1, "EMUFS");       
        attron(COLOR_PAIR(2));
-       mvwaddstr(stdscr, LINES-2, 1, "Presiones <F1> para salir");     
+       mvwaddstr(stdscr, LINES-2, 1, "EMUFS (c) The EMUFS Team - Bajo Licencia GNU/GPL");      
        attroff(COLOR_PAIR(2));
        wrefresh(stdscr);
 
@@ -72,7 +72,11 @@ int main(int argc, char *argv[])
                //      case 1:
                //      case 2:
                //      case 3:
+                       case 4:
+                               fin = 1;
+                       break;
                }
+               if (fin == 1) break;
        }
 
        endwin();
@@ -99,9 +103,9 @@ void menu_articulos()
        items = (ITEM **)calloc(5, sizeof(ITEM *));
 
        items[0] = new_item(opciones[0], "Crear un nuevo articulo.");
-       //set_item_userptr(items[0], art_agregar);
+       set_item_userptr(items[0], art_agregar);
        items[1] = new_item(opciones[1], "Eliminar un articulo existente.");
-       //set_item_userptr(items[0], art_eliminar);
+       set_item_userptr(items[1], art_eliminar);
        items[2] = new_item(opciones[2], "Modificar un articulo existente.");
        set_item_userptr(items[2], art_modificar);
        items[3] = new_item(opciones[3], "Volver al menu anterior.");
@@ -118,13 +122,15 @@ void menu_articulos()
        mvwaddch(menu_win, 2, 0, ACS_LTEE);
        mvwhline(menu_win, 2, 1, ACS_HLINE, 67);
        mvwaddch(menu_win, 2, 67, ACS_RTEE);
+       wattron(menu_win, COLOR_PAIR(COLOR_RED));
        mvwaddstr(menu_win, 1, 1, "Menu Articulos");
+       wattroff(menu_win, COLOR_PAIR(COLOR_RED));
        post_menu(menu);
        wrefresh(menu_win);
 
        curs_set(0);
        salir = 0;
-       while((!salir) && (c = getch()) != KEY_F(1)) {
+       while((!salir) && (c = getch()) != KEY_F(3)) {
                switch(c) {
                        case KEY_DOWN:
                                menu_driver(menu, REQ_DOWN_ITEM);
@@ -178,7 +184,8 @@ int main_menu()
                                        "Articulos",
                                        "Facturas",
                                        "Ver Registros",
-                                       "Ver Bloques"
+                                       "Ver Bloques",
+                                       "Salir"
        };
 
        items = (ITEM **)calloc(5, sizeof(ITEM *));
@@ -187,20 +194,23 @@ int main_menu()
        items[1] = new_item(opciones[1], "Alta,baja,consulta y modificacion de facturas.");
        items[2] = new_item(opciones[2], "Ver registros de un archivo.");
        items[3] = new_item(opciones[3], "Ver bloques de un archivo.");
-       items[4] = NULL;
+       items[4] = new_item(opciones[4], "Salir del sistema.");
+       items[5] = NULL;
 
        menu = new_menu((ITEM **)items);
-       menu_win = newwin(8, 68, 3, 1);
+       menu_win = newwin(9, 68, 3, 1);
        keypad(menu_win, TRUE);
        set_menu_mark(menu, " > ");
        set_menu_win(menu, menu_win);
-       set_menu_sub(menu, derwin(menu_win, 5, 66, 3, 1));
+       set_menu_sub(menu, derwin(menu_win, 6, 66, 3, 1));
 
        box(menu_win, 0, 0);
        mvwaddch(menu_win, 2, 0, ACS_LTEE);
        mvwhline(menu_win, 2, 1, ACS_HLINE, 67);
        mvwaddch(menu_win, 2, 67, ACS_RTEE);
+       wattron(menu_win, COLOR_PAIR(COLOR_RED));
        mvwaddstr(menu_win, 1, 1, "Menu Principal");
+       wattroff(menu_win, COLOR_PAIR(COLOR_RED));
        post_menu(menu);
        wrefresh(menu_win);
 
@@ -221,7 +231,7 @@ int main_menu()
                                int i;
 
                                cur = current_item(menu);
-                               for(i=0; i<4; ++i) {
+                               for(i=0; i<5; ++i) {
                                        if (strcmp(item_name(cur), opciones[i]) == 0)
                                                opcion = i;
                                }
@@ -234,6 +244,8 @@ int main_menu()
        curs_set(1);
        
        unpost_menu(menu);
+       werase(menu_win);
+       wrefresh(menu_win);
        delwin(menu_win);
        free_item(items[0]);
        free_item(items[1]);