From 18402f30d65950169fb0e2f6bf6cc12fa370a536 Mon Sep 17 00:00:00 2001 From: Ricardo Markiewicz Date: Wed, 26 May 2004 15:59:26 +0000 Subject: [PATCH] Mejoro la lista para que muestre el nombre de columna --- emufs_gui/articulos.c | 22 +++++++++++----------- emufs_gui/facturas.c | 16 ++++++++-------- emufs_gui/lista.c | 17 +++++++++++++++-- emufs_gui/lista.h | 4 +++- 4 files changed, 37 insertions(+), 22 deletions(-) diff --git a/emufs_gui/articulos.c b/emufs_gui/articulos.c index b6fe41e..8d628f2 100644 --- a/emufs_gui/articulos.c +++ b/emufs_gui/articulos.c @@ -657,9 +657,9 @@ void art_consultas_old(char *s) lista = lista_crear(3, win1, COLS-4, LINES-6); /* Creo las columnas */ - lista_agregar_columna(lista, DATO_INT, 0, 8); - lista_agregar_columna(lista, DATO_STR, 10, 45); - lista_agregar_columna(lista, DATO_FLOAT, 60, 10); + lista_agregar_columna(lista, "Col1", DATO_INT, 0, 8); + lista_agregar_columna(lista, "Col2", DATO_STR, 10, 45); + lista_agregar_columna(lista, "Col3", DATO_FLOAT, 60, 10); /* Agrego unos datos a ver que pasa */ /* Pongo 100 y rezo */ @@ -713,10 +713,10 @@ void art_consultas_codigos(char *s) lista = lista_crear(4, win1, COLS-4, LINES-6); /* Creo las columnas */ - lista_agregar_columna(lista, DATO_INT, 0, 8); /* numero */ - lista_agregar_columna(lista, DATO_STR, 10, 51); /* desc */ - lista_agregar_columna(lista, DATO_STR, 55, 9); /* existencia */ - lista_agregar_columna(lista, DATO_STR, 65, 9); /* enim */ + lista_agregar_columna(lista, "Numero", DATO_INT, 0, 8); /* numero */ + lista_agregar_columna(lista, "Descripcion", DATO_STR, 10, 51); /* desc */ + lista_agregar_columna(lista, "Existencia", DATO_STR, 55, 9); /* existencia */ + lista_agregar_columna(lista, "Stock Minimo", DATO_STR, 65, 9); /* enim */ /* Leo los datos desde el archivo */ for(i=desde_codigo; i<=hasta_codigo; i++) { @@ -783,10 +783,10 @@ void art_consultas_varias(char *nombre_indice, char *titulo) lista = lista_crear(4, win1, COLS-4, LINES-6); /* Creo las columnas */ - lista_agregar_columna(lista, DATO_INT, 0, 8); /* numero */ - lista_agregar_columna(lista, DATO_STR, 10, 51); /* desc */ - lista_agregar_columna(lista, DATO_STR, 55, 9); /* existencia */ - lista_agregar_columna(lista, DATO_STR, 65, 9); /* enim */ + lista_agregar_columna(lista, "Numero", DATO_INT, 0, 8); /* numero */ + lista_agregar_columna(lista, "Descripcion", DATO_STR, 10, 51); /* desc */ + lista_agregar_columna(lista, "Existencia", DATO_STR, 55, 9); /* existencia */ + lista_agregar_columna(lista, "Stock Minimo", DATO_STR, 65, 9); /* enim */ /* Leo los datos desde el archivo */ datos = emufs_buscar_registros(fs, nombre_indice, desc, &cant); diff --git a/emufs_gui/facturas.c b/emufs_gui/facturas.c index 76c042f..e06fbe3 100644 --- a/emufs_gui/facturas.c +++ b/emufs_gui/facturas.c @@ -1005,10 +1005,10 @@ void fact_consultas_codigos(char *s) lista = lista_crear(4, win1, COLS-4, LINES-6); /* Creo las columnas */ - lista_agregar_columna(lista, DATO_INT, 0, 8); /* numero */ - lista_agregar_columna(lista, DATO_STR, 10, 9); /* emision */ - lista_agregar_columna(lista, DATO_STR, 20, 19); /* estado */ - lista_agregar_columna(lista, DATO_STR, 40, 9); /* fp */ + lista_agregar_columna(lista, "Numero", DATO_INT, 0, 8); /* numero */ + lista_agregar_columna(lista, "Fecha", DATO_STR, 10, 9); /* emision */ + lista_agregar_columna(lista, "Estado", DATO_STR, 20, 19); /* estado */ + lista_agregar_columna(lista, "Forma de Pago", DATO_STR, 40, 19); /* fp */ /* Leo los datos desde el archivo */ for(i=desde_codigo; i<=hasta_codigo; i++) { @@ -1075,10 +1075,10 @@ void fact_consultas_varias(char *nombre_indice, char *titulo) lista = lista_crear(4, win1, COLS-4, LINES-6); /* Creo las columnas */ - lista_agregar_columna(lista, DATO_INT, 0, 8); /* numero */ - lista_agregar_columna(lista, DATO_STR, 10, 9); /* emision */ - lista_agregar_columna(lista, DATO_STR, 20, 19); /* estado */ - lista_agregar_columna(lista, DATO_STR, 40, 9); /* fp */ + lista_agregar_columna(lista, "Numero", DATO_INT, 0, 8); /* numero */ + lista_agregar_columna(lista, "Fecha", DATO_STR, 10, 9); /* emision */ + lista_agregar_columna(lista, "Estado", DATO_STR, 20, 19); /* estado */ + lista_agregar_columna(lista, "Forma Pago", DATO_STR, 40, 19); /* fp */ /* Leo los datos desde el archivo */ datos = emufs_buscar_registros(fs, nombre_indice, desc, &cant); diff --git a/emufs_gui/lista.c b/emufs_gui/lista.c index 8655928..6b62d22 100644 --- a/emufs_gui/lista.c +++ b/emufs_gui/lista.c @@ -18,7 +18,7 @@ t_Lista *lista_crear(int cc, WINDOW *win, int w, int h) return tmp; } -void lista_agregar_columna(t_Lista *lst, t_TipoDato tipo, int offset, int width) +void lista_agregar_columna(t_Lista *lst, char *nombre, t_TipoDato tipo, int offset, int width) { t_Columna *nueva, *pos; @@ -28,6 +28,7 @@ void lista_agregar_columna(t_Lista *lst, t_TipoDato tipo, int offset, int width) nueva->offset = offset; nueva->width = width; nueva->sig = NULL; + strcpy(nueva->nombre, nombre); /* Agrego la columna al final */ if (lst->columnas == NULL) { @@ -91,9 +92,21 @@ void print_lista(t_Lista *lst, t_Fila *fil, int sel) t_Columna *col; int y=0, i; werase(lst->win); + /* Pongo los nombres de las columnas */ + col = lst->columnas; + wattron(lst->win, COLOR_PAIR(COLOR_RED)); + while (col) { + mvwaddstr(lst->win, y, col->offset, col->nombre); + col = col->sig; + } + wattroff(lst->win, COLOR_PAIR(COLOR_RED)); + + /* Pongo la filas */ + y++; + sel++; while (fil) { /* Si no entran mas filas salgo! */ - if (y>=lst->h) break; + if (y>=(lst->h-1)) break; col = lst->columnas; /* Imprimo los datos de cada columna */ i = 0; diff --git a/emufs_gui/lista.h b/emufs_gui/lista.h index e310905..057d1d4 100644 --- a/emufs_gui/lista.h +++ b/emufs_gui/lista.h @@ -27,6 +27,7 @@ typedef struct _columna_ { int offset; /**< Offset en X de la posicion */ int width; /**< Ancho de la columna */ struct _columna_ *sig; /**< Puntero a la siguiente columnas */ + char nombre[25]; /**< Nombre de la columna a mostrar */ } t_Columna; /** Fila */ @@ -59,10 +60,11 @@ t_Lista *lista_crear(int cc, WINDOW *win, int w, int h); /** Agrega una columna a la lista * * \param lst Lista a quien agregar + * \param nombre Nombre (hasta 24 caracteres) de la columna * \param tipo Tipo de dato de la columna * \param offset Desplazamiento desde la izquierda donde va la columna */ -void lista_agregar_columna(t_Lista *lst, t_TipoDato tipo, int offset, int width); +void lista_agregar_columna(t_Lista *lst, char *nombre, t_TipoDato tipo, int offset, int width); /** Agrega una fila a la lista * -- 2.43.0