X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/3332d5c33b1aa5a376cf61cafaf8ffecf7789903..1472ed2031e61e170df1ef579c53adc131ed756f:/doc/gui.lyx diff --git a/doc/gui.lyx b/doc/gui.lyx index adcb98f..0885764 100644 --- a/doc/gui.lyx +++ b/doc/gui.lyx @@ -46,6 +46,60 @@ La interfaz de visualizaci articulos, o notas de facturas). \layout Section +Instalación +\layout Standard + +Para poder correr la interfaz gráfica necesitará previamente compilarla + (así como compilar los programas auxiliares), para ello necesitará cumplir + con los siguiente requisitos: +\layout Enumerate + +Compilador gcc versión 3.3.x preferentemente. + No podemos garantizar la compatibilidad con otras versiones debido a cambios + drásticos que sufrieron las versiones anteriores +\layout Enumerate + +Parser XML libxml2 versión 2.6.x . + Versiones 2.5 y anteriores con incompatibles en la API y no funcionarán. +\layout Enumerate + +libncurses version 5 o superior +\layout Enumerate + +GNU Make +\layout Subsection + +Compilar GUI +\layout Standard + +Para compilar la GUI solo debe ejecutar el comando make dentro del directorio + raíz del proyecto. + Esto compilará primero una biblioteca estática con los manejadores de los + 3 tipos de archivo y luego compilará la GUI. +\layout LyX-Code + +#~/emufs/> make +\layout Subsection + +Preparar el banco de pruebas +\layout Standard + +Antes de comenzar a utilizar la GUI deberá generar los archivo XML desde + donde serán leídos los datos para generar los archivos que luego se utilizará. + Para ello el proceso de compilación creará 2 ejecutable : generar_fact + y generar_art, que se ubicarán en la carpeta generar dentro de emufs_gui. +\layout Standard + +Estos programas generan facturas y artículos respectivamente en forma aleatorio, + utilizando diccionarios de datos para llenar los campos. + Primero deberá ejecutar generar_art, ya que éste último crea un diccionario + de artículos que luego utilizará generar_fact para los items de las facturas. +\layout Standard + +Ambos programas reciben 2 parámetros : el nombre de archivo de salida y + la cantidad de entradas a generar. +\layout Section + Línea de comandos \layout Standard @@ -132,7 +186,8 @@ collapsed true \layout Standard En la modificación de una factura no se podrán cambiar ni la cantidad de - items y los datos de los mismo! + items y los datos de los mismo!. + La nota si podrá ser modificada. \end_inset de Facturas. @@ -171,7 +226,7 @@ nes. La cantidad de items por factura es igual a 10 para archivos de registro de longitud fija y bloque parametrizado (TIPO 3). Esta decición fue tomada por poner un valor típico de items que puede haber - en una factura. + en una factura, evaluando un caso de un comercio chico. Como el tipo de archivo permite cortar un registro y guardarlo en varios bloques consecutivos, la restricción de cantidad solo es un hecho de elección, y así pusieramos 100, 1000, 10000 no habría diferencia, ya que el tipo @@ -189,15 +244,6 @@ Los campos son delimitados por el caracter nulo (en caso de los strings) y por la longitud del tipo de dato en caso de los campos numéricos. De esta forma se aprovechan las características de manejo de string en C. -\layout Enumerate - -Cuando se leen registros que ocupan más de un bloque, solo se jutan todos - los bloques que ocupa dicho registro y eso es mostrado al usuario. - Fue diseñado de esta manera debido a que parsear la data binaria que contiene - el archivo requiere saber donde esta, cuanto ocupa y como tratarla. - De permitir mostrar registros incompletos, complicaría mucho más le parser - actual, ya que por ejemplo podríamos tener que un campo entero (un int - de 4 bytes) empiece en el registro actual y termine en el siguiente. \layout Section Vista de Registros @@ -227,10 +273,6 @@ Los datos binarios son convertidos a texto para ser mostrados, siendo la representación elegida : \layout Itemize -[XXX] : Son valores numéricos perteneciente a los datos (numero de factura, - numero de artículo, etc) -\layout Itemize - (XXX) : Representa un ID. En el caso de las facturas también aparece en los datos el número de índice de la nota asociada con esta representación. @@ -242,4 +284,45 @@ Los datos binarios son convertidos a texto para ser mostrados, siendo la También es posible ejecutar acciones de edición sobre el registro seleccioado, así como buscar por ID de registro. +\layout Standard + +Cuando se procesa la información en crudo (es decir, el area de datos) algunos + bytes son modificados para evitar errores visuales. + Un caso es cuando el bytes es compuesto por 8 bits de valor 0 (caracter + +\backslash +0). + Lo que se hace es cambiarlo por un caracter que tenga representacion visual + (en este caso un *). + Lo mismo suscede para los caracteres de control ( +\backslash +b +\backslash +n +\backslash +r por ejemplo) y los espacion. + Esta política fue tomada ya que estos caracteres modifican la salida en + pantalla, y de no evitar su envío a la pantalla, producirían resultados + inesperados en la visualización. +\layout Section + +Bugs conocidos +\layout Standard + +A continuación se enumera los errores que sabemos que existen, que no hemos + tenido tiempo de corregir, pero que no hacen al TP en sí : +\layout Enumerate + +Si la consola o terminal cambia de tamaño la GUI no sigue el nuevo tamaño, + pudiendose producir defectos visuales. + Esto es debido a que se debe capturar una señal que envia el SO, pero no + pudimos hacer que funciones con todas las terminales bajo X, por lo que + se decidio dejarlo para cuando tengamos tiempo. +\layout Enumerate + +Si la GUI fue compilada con -DDEBUG y no se utiliza un PIPE para redirigir + la salida de error estandar, es posible que algun componente del programa + emita un mensaje de debug o warning y esta cause defectos de visualización + o el programa deje directamente de funcionar. + Esto es un defecto de la biblioteca NCurses. \the_end