From 30325d1797a0a3ecaf622c261d07366801040c88 Mon Sep 17 00:00:00 2001 From: Ricardo Markiewicz Date: Sat, 3 Apr 2004 17:38:00 +0000 Subject: [PATCH] * Se comienza a crear la interfaz general para los 3 tipos de archivo. Por ahora lo puse dentro de tipo3 que es lo que hay programado y lo voy a utilizar para hacer un demo del archivo de nico. Despues vemos de moverlo y reorganizar el arbol de codigo. * EL menu cada dia mas lindo :-) --- gui/gui.c | 28 ++++++++++++++++++++-------- tipo3/emufs.c | 23 +++++++++++++++++++++++ tipo3/{interface.h => emufs.h} | 12 +++++++++--- 3 files changed, 52 insertions(+), 11 deletions(-) create mode 100644 tipo3/emufs.c rename tipo3/{interface.h => emufs.h} (59%) diff --git a/gui/gui.c b/gui/gui.c index dc71625..95c55bf 100644 --- 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 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(); @@ -118,7 +122,9 @@ 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); @@ -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]); diff --git a/tipo3/emufs.c b/tipo3/emufs.c new file mode 100644 index 0000000..a19ded7 --- /dev/null +++ b/tipo3/emufs.c @@ -0,0 +1,23 @@ + +#include "emufs.h" + +EMUFS *emufs_crear(const char *filename, int tipo) +{ + EMUFS *tmp = (EMUFS *)malloc(sizeof(EMUFS)); + + switch (tipo) { + case T1: + break; + case T2: + break; + case T3: + break; + default: + free(tmp); + return NULL; + } + + return tmp; +} + + diff --git a/tipo3/interface.h b/tipo3/emufs.h similarity index 59% rename from tipo3/interface.h rename to tipo3/emufs.h index 0484420..ed4d1b8 100644 --- a/tipo3/interface.h +++ b/tipo3/emufs.h @@ -1,8 +1,13 @@ -#ifndef _INTERFACE_H_ -#define _INTERFACE_H_ +#ifndef _EMUFS_H_ +#define _EMUFS_H_ + +#include +#include + +typedef enum {T1, T2, T3} EMUFS_TYPE; typedef struct _emu_fs_t { - enum { T1, T2, T3 } tipo; /* Corregir nombres */ + EMUFS_TYPE tipo; /* Corregir nombres */ unsigned long tam_bloque; /* 0 si no tiene bloques */ int (*leer_bloque)(struct _emu_fs_t *, int, void *); int (*leer_registro)(struct _emu_fs_t *, int, void *, unsigned long); @@ -10,6 +15,7 @@ typedef struct _emu_fs_t { char *nombre; } EMUFS; +EMUFS *emufs_crear(const char *filename, int tipo); #endif -- 2.43.0