X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/9e79e758e4e3abd28c321b8f9859b02dfdd91d93..40c358f284fd333b811fdeaa24aefe72459ad2c1:/emufs_gui/gui.c?ds=inline diff --git a/emufs_gui/gui.c b/emufs_gui/gui.c index 4dca288..03b61a3 100644 --- a/emufs_gui/gui.c +++ b/emufs_gui/gui.c @@ -7,6 +7,7 @@ #include #include +#include "gui.h" #include "menu.h" #include "form.h" #include "articulos.h" @@ -23,14 +24,12 @@ void menu_articulos(); void menu_facturas(); void menu_mantenimiento(); void menu_estadisticas(); +void menu_ver_registros(); +void menu_ver_bloques(); void preguntar_nuevo_tipo(int *tipo, int *tam_bloque, int *tam_reg); void ver_estadisticas(EMUFS *fp); -/* cuadro de msg. w y h son de la ventana padre */ -WINDOW *msg_box(WINDOW *win, int w, int h, const char *format, ...); -void msg_box_free(WINDOW *padre, WINDOW *win); - typedef enum { PARAM_OK, /* Parametros estan ok */ NO_ART_FILE, /* No se especifico nombre de archivo Articulos */ @@ -231,20 +230,18 @@ int main(int argc, char *argv[]) menu_facturas(); break; case 2: - dialog = derwin(stdscr, LINES-4, COLS-2, 2, 1); - ver_registros(dialog, COLS-2, LINES-4); - werase(dialog); - wrefresh(dialog); - delwin(dialog); - refresh(); + menu_ver_registros(); break; - case 5: + case 3: + menu_ver_bloques(); + break; + case 4: menu_estadisticas(); break; - case 6: + case 5: menu_mantenimiento(); break; - case 7: + case 6: fin = 1; break; } @@ -332,20 +329,93 @@ void menu_estadisticas() } } +void menu_ver_registros() +{ + MENU(mi_menu) { + MENU_OPCION("Articulos", "Ver registros del archivo de Articulos."), + MENU_OPCION("Facturas", "Ver registros del archivo de Facturas."), + MENU_OPCION("Notas", "Ver registros del archivo de Notas."), + MENU_OPCION("Volver", "Ir al menu anterior.") + }; + int opt; + WINDOW *dialog; + + while ((opt = menu_ejecutar(mi_menu, 4, "Menu Ver Registros")) != 3) { + switch (opt) { + case 0: + dialog = derwin(stdscr, LINES-4, COLS-2, 2, 1); + ver_registros(dialog, COLS-2, LINES-4, 0); + werase(dialog); + wrefresh(dialog); + delwin(dialog); + refresh(); + break; + case 1: + dialog = derwin(stdscr, LINES-4, COLS-2, 2, 1); + ver_registros(dialog, COLS-2, LINES-4, 1); + werase(dialog); + wrefresh(dialog); + delwin(dialog); + refresh(); + /* break; */ + /* case 2: */ + } + } +} + +void menu_ver_bloques() +{ + MENU(mi_menu) { + MENU_OPCION("Articulos", "Ver bloques del archivo de Articulos."), + MENU_OPCION("Facturas", "Ver bloques del archivo de Facturas."), + MENU_OPCION("Notas", "Ver bloques del archivo de Notas."), + MENU_OPCION("Volver", "Ir al menu anterior.") + }; + int opt; + WINDOW *dialog; + + while ((opt = menu_ejecutar(mi_menu, 4, "Menu Ver Bloques")) != 3) { + switch (opt) { + case 0: + dialog = derwin(stdscr, LINES-4, COLS-2, 2, 1); + ver_bloques(dialog, COLS-2, LINES-4, 0); + werase(dialog); + wrefresh(dialog); + delwin(dialog); + refresh(); + break; + case 1: + dialog = derwin(stdscr, LINES-4, COLS-2, 2, 1); + ver_bloques(dialog, COLS-2, LINES-4, 1); + werase(dialog); + wrefresh(dialog); + delwin(dialog); + refresh(); + break; + case 2: + dialog = derwin(stdscr, LINES-4, COLS-2, 2, 1); + ver_bloques(dialog, COLS-2, LINES-4, 2); + werase(dialog); + wrefresh(dialog); + delwin(dialog); + refresh(); + } + } +} + int main_menu() { MENU(mi_menu) { MENU_OPCION("Articulos","Alta,baja,consulta y modificacion de articulos."), MENU_OPCION("Facturas","Alta,baja,consulta y modificacion de facturas."), - MENU_OPCION("Ver Registros","Ver registros/bloques de archivo Articulos."), - MENU_OPCION("Ver Facturas","Ver registros/bloques de archivo Facturas."), - MENU_OPCION("Ver Notas","Ver registros/bloques de archivo Notas."), + MENU_OPCION("Ver Registros","Ver registros (en su contexto) de los archivos ."), + MENU_OPCION("Ver Bloques","Ver bloques (en su contexto) de los archivos."), MENU_OPCION("Estadisticas","Ver estadisticas de ocupacion de archivos."), MENU_OPCION("Mantenimiento","Tareas de mantenimiento de los archivos."), MENU_OPCION("Salir", "Salir del sistema.") }; - return menu_ejecutar(mi_menu, 8, "Menu Principal"); + return menu_ejecutar(mi_menu, 7, "Menu Principal"); } @@ -406,13 +476,19 @@ void menu_mantenimiento() while ((opt = menu_ejecutar(mi_menu, 7, "Menu Mantenimiento")) != 6) { switch (opt) { case 0: + dlg = msg_box(stdscr, COLS, LINES, "Compactando archivo.... Aguarde"); art_get_lst()->fp->compactar(art_get_lst()->fp); + msg_box_free(stdscr, dlg); break; case 1: + dlg = msg_box(stdscr, COLS, LINES, "Compactando archivo.... Aguarde"); fact_get_lst()->fp->compactar(fact_get_lst()->fp); + msg_box_free(stdscr, dlg); break; case 2: + dlg = msg_box(stdscr, COLS, LINES, "Compactando archivo.... Aguarde"); fact_get_lst()->fp_texto->compactar(fact_get_lst()->fp_texto); + msg_box_free(stdscr, dlg); break; case 3: nuevo_tam_registro = -1; /* No permito cambiar el tamaƱo de registro */