X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/5bdca48a95afe59ffdb2ec4de0fff6ae29e8d54b..ecddfc3161e6285cdd95ec7237d1e8e562a594a1:/emufs_gui/emufs_view.c diff --git a/emufs_gui/emufs_view.c b/emufs_gui/emufs_view.c index 85e905f..2ce36ab 100644 --- a/emufs_gui/emufs_view.c +++ b/emufs_gui/emufs_view.c @@ -1,5 +1,4 @@ - #include #include #include @@ -118,6 +117,19 @@ t_Param param_ok(int argc, char *argv[]) parametros.tam_bloque_nota = atoi(argv[i]); if (parametros.tam_bloque_nota <= 0) return SHOW_HELP; } + break; + case 2: + if (i >= argc) return SHOW_HELP; + n = atoi(argv[i]); + if ((n<1) || (n>3)) return SHOW_HELP; + parametros.tipo_arch_nota = n; + if (((n == 1) || (n == 3)) && ((i+1)>=argc)) + return SHOW_HELP; + i++; + if (n != 2) { + parametros.tam_bloque_nota = atoi(argv[i]); + if (parametros.tam_bloque_nota <= 0) return SHOW_HELP; + } } PERR("ACA"); parametros.xml_fact = file; @@ -151,7 +163,7 @@ void print_help(char *s) int main(int argc, char *argv[]) { - int c, fin=0; + int fin=0; WINDOW *dialog; parametros.xml_art = parametros.xml_fact = -1; @@ -255,33 +267,7 @@ int main(int argc, char *argv[]) msg_box_free(stdscr, dialog); - /* CICLO PRINCIPAL DE LA APLICACION */ - while ((c = main_menu()) != -1) { - switch (c) { - case 0: - menu_articulos(); - break; - case 1: - menu_facturas(); - break; - case 2: - menu_ver_registros(); - break; - case 3: - menu_ver_bloques(); - break; - case 4: - menu_estadisticas(); - break; - case 5: - menu_mantenimiento(); - break; - case 6: - fin = 1; - break; - } - if (fin == 1) break; - } + main_menu(); endwin(); @@ -297,11 +283,12 @@ void menu_facturas() MENU_OPCION("Alta", "Crear una nueva factura."), MENU_OPCION("Baja", "Elimina una factura existente."), MENU_OPCION("Modificacion", "Modifica una factura existente."), + MENU_OPCION("Consultas", "Consulta varias de articulo."), MENU_OPCION("Volver", "Volver al menu anterior.") }; int opt; - while ((opt = menu_ejecutar(mi_menu, 4, "Menu Articulos")) != 3) { + while ((opt = menu_ejecutar(mi_menu, 5, "Menu Articulos")) != 4) { switch (opt) { case 0: fact_agregar(NULL); @@ -311,6 +298,8 @@ void menu_facturas() break; case 2: fact_modificar(NULL); + case 3: + fact_consultas(NULL); } } } @@ -321,11 +310,12 @@ void menu_articulos() MENU_OPCION("Alta", "Crear un nuevo articulo."), MENU_OPCION("Baja", "Elimina un articulo existente."), MENU_OPCION("Modificacion", "Modifica un articulo existente."), + MENU_OPCION("Consultas", "Consulta varias de articulo."), MENU_OPCION("Volver", "Volver al menu anterior.") }; int opt; - while ((opt = menu_ejecutar(mi_menu, 4, "Menu Articulos")) != 3) { + while ((opt = menu_ejecutar(mi_menu, 5, "Menu Articulos")) != 4) { switch (opt) { case 0: art_agregar(NULL); @@ -335,6 +325,9 @@ void menu_articulos() break; case 2: art_modificar(NULL); + break; + case 3: + art_consultas(NULL); } } @@ -427,6 +420,8 @@ void menu_ver_bloques() int main_menu() { + int c, w, h; + WINDOW *win; MENU(mi_menu) { MENU_OPCION("Articulos","Alta,baja,consulta y modificacion de articulos."), MENU_OPCION("Facturas","Alta,baja,consulta y modificacion de facturas."), @@ -434,10 +429,40 @@ int main_menu() 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("DEBUG", "Debug de Arbol B"), MENU_OPCION("Salir", "Salir del sistema.") }; - return menu_ejecutar(mi_menu, 7, "Menu Principal"); + while ((c=menu_ejecutar(mi_menu, 8, "Menu Principal"))!=7) { + switch (c) { + case 0: + menu_articulos(); + break; + case 1: + menu_facturas(); + break; + case 2: + menu_ver_registros(); + break; + case 3: + menu_ver_bloques(); + break; + case 4: + menu_estadisticas(); + break; + case 5: + menu_mantenimiento(); + break; + case 6: + h = LINES-2; + w = COLS-2; + win = newwin(h, w, 1, 1); + emufs_indice_b_ver(art_get_lst()->fp->indices, win, w, h, 0); + delwin(win); + } + } + + return 0; } @@ -528,6 +553,7 @@ void menu_mantenimiento() dlg = msg_box(stdscr, COLS, LINES, "Cambiando el formato de archivo .... Aguarde"); fact_reformatear(nuevo_tipo, nuevo_tam_bloque, nuevo_tam_registro, nuevo_tipo1, nuevo_tam_bloque1, nuevo_tam_registro1); msg_box_free(stdscr, dlg); + break; case 5: s = preguntar_file(); if (s) { @@ -666,68 +692,80 @@ void ver_estadisticas(EMUFS *fp) waddstr(win, s); } - if ((fp->tipo == T1) || (fp->tipo == T3)) { - wattron(win, A_BOLD); - mvwaddstr(win, i++, 1, "Cantidad de bloques : "); - wattroff(win, A_BOLD); - sprintf(s, "%lu", stats.cant_bloques); - waddstr(win, s); - } - + wattron(win, A_BOLD); - mvwaddstr(win, i++, 1, "Cant. Registros : "); + mvwaddstr(win, i++, 1, "Tamaño ocupado por datos / Tamaño archivo : "); wattroff(win, A_BOLD); - sprintf(s, "%lu", stats.cant_registros); + sprintf(s, "%lu/%lu bytes (%.2f %%)", + stats.tam_archivo - stats.tam_info_control_dat - stats.total_fs,stats.tam_archivo, + (stats.tam_archivo-stats.tam_info_control_dat-stats.total_fs)*100.0f/(float)stats.tam_archivo); waddstr(win, s); - + wattron(win, A_BOLD); - mvwaddstr(win, i++, 1, "Tamaño de Archivo de datos : "); + mvwaddstr(win, i++, 1, "Tamaño info de control(1) / Tamaño archivo : "); wattroff(win, A_BOLD); - sprintf(s, "%lu bytes", stats.tam_archivo); + sprintf(s, "%lu/%lu bytes (%.2f %%)", stats.tam_info_control_dat+stats.tam_archivos_aux, stats.tam_archivo, (stats.tam_info_control_dat+stats.tam_archivos_aux)*100.0f/(float)stats.tam_archivo); waddstr(win, s); wattron(win, A_BOLD); - mvwaddstr(win, i++, 1, "Tamaño de Archivos auxiliares : "); + mvwaddstr(win, i++, 1, "Espacio Libre / Tamaño archivo : "); wattroff(win, A_BOLD); - sprintf(s, "%lu bytes", stats.tam_archivos_aux); + sprintf(s, "%lu/%lu bytes (%.2f %%)", stats.total_fs, stats.tam_archivo, stats.total_fs*100.0f/(float)stats.tam_archivo); waddstr(win, s); wattron(win, A_BOLD); - mvwaddstr(win, i++, 1, "Tamaño ocupado por datos : "); + mvwaddstr(win, i++, 1, "Media de espacio libre : "); wattroff(win, A_BOLD); - sprintf(s, "%lu bytes (%.2f %%)", stats.tam_archivo - stats.tam_info_control_dat, (stats.tam_archivo-stats.tam_info_control_dat)*100.0f/(float)stats.tam_archivo); + sprintf(s, "%lu bytes/bloque", stats.media_fs); waddstr(win, s); - + wattron(win, A_BOLD); - mvwaddstr(win, i++, 1, "Tamaño ocupado por datos de control : "); + mvwaddstr(win, i++, 1, "Maximo de Espacio libre : "); wattroff(win, A_BOLD); - sprintf(s, "%lu bytes (%.2f %%)", stats.tam_info_control_dat, stats.tam_info_control_dat*100.0f/(float)stats.tam_archivo); + sprintf(s, "%lu bytes", stats.max_fs); waddstr(win, s); wattron(win, A_BOLD); - mvwaddstr(win, i++, 1, "Media de espacio libre : "); + mvwaddstr(win, i++, 1, "Minimo de Espacio libre : "); wattroff(win, A_BOLD); - sprintf(s, "%lu bytes/bloque", stats.media_fs); + sprintf(s, "%lu bytes", stats.min_fs); waddstr(win, s); wattron(win, A_BOLD); - mvwaddstr(win, i++, 1, "Espacio Libre : "); + mvwaddstr(win, i++, 1, "Tamaño de Archivo de datos : "); wattroff(win, A_BOLD); - sprintf(s, "%lu bytes", stats.total_fs); + sprintf(s, "%lu bytes", stats.tam_archivo); waddstr(win, s); - + wattron(win, A_BOLD); - mvwaddstr(win, i++, 1, "Maximo de Espacio libre : "); + mvwaddstr(win, i++, 1, "Tamaño de Archivos auxiliares : "); wattroff(win, A_BOLD); - sprintf(s, "%lu bytes", stats.max_fs); + sprintf(s, "%lu bytes", stats.tam_archivos_aux); waddstr(win, s); - + wattron(win, A_BOLD); - mvwaddstr(win, i++, 1, "Minimo de Espacio libre : "); + mvwaddstr(win, i++, 1, "Información de control en el .dat : "); wattroff(win, A_BOLD); - sprintf(s, "%lu bytes", stats.min_fs); + sprintf(s, "%lu bytes", stats.tam_info_control_dat); waddstr(win, s); - + + if ((fp->tipo == T1) || (fp->tipo == T3)) { + wattron(win, A_BOLD); + mvwaddstr(win, i++, 1, "Cantidad de bloques : "); + wattroff(win, A_BOLD); + sprintf(s, "%lu", stats.cant_bloques); + waddstr(win, s); + } + + wattron(win, A_BOLD); + mvwaddstr(win, i++, 1, "Cant. Registros : "); + wattroff(win, A_BOLD); + sprintf(s, "%lu", stats.cant_registros); + waddstr(win, s); + + wattron(win, A_BOLD); + mvwaddstr(win, i++, 1, "(1) Info control del .dat + los archivos auxiliares!."); + wattroff(win, A_BOLD); wattron(win, A_BLINK); mvwaddstr(win, i+2, 1, "Presione una tecla para continuar."); @@ -765,5 +803,3 @@ char *preguntar_file() form_destruir(form); return t; } - -