From: Nicolás Dimov Date: Mon, 1 Dec 2003 15:53:31 +0000 (+0000) Subject: mas documentos X-Git-Tag: svn_import~119 X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/commitdiff_plain/6fa44d94353c5f0d8f67f2f722d9ed26c1fe4d9a?ds=inline mas documentos --- diff --git a/Constructor/doc/especificaciones_tecnicas.lyx b/Constructor/doc/especificaciones_tecnicas.lyx new file mode 100644 index 0000000..92e4033 --- /dev/null +++ b/Constructor/doc/especificaciones_tecnicas.lyx @@ -0,0 +1,168 @@ +#LyX 1.3 created this file. For more info see http://www.lyx.org/ +\lyxformat 221 +\textclass article +\language english +\inputencoding auto +\fontscheme default +\graphics default +\paperfontsize default +\papersize Default +\paperpackage a4 +\use_geometry 0 +\use_amsmath 0 +\use_natbib 0 +\use_numerical_citations 0 +\paperorientation portrait +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\defskip medskip +\quotes_language english +\quotes_times 2 +\papercolumns 1 +\papersides 1 +\paperpagestyle default + +\layout Title + +PlaQui Constructor +\layout Title + +Documentación Técnica +\layout Standard + + +\begin_inset LatexCommand \tableofcontents{} + +\end_inset + + +\layout Section + +Introducción: +\layout Standard + +Al ser una aplicación visual, algunos conceptos de la programación orientada + a objetos no se han tomados al pie de la letra, ya sea cuestiones de encapsulam +iento o abstracción. +\layout Section + +Descripción del desarrollo: +\layout Subsection* + +Constructor: +\layout Standard + +La clase principal de esta aplicación es la clase Constructor. + Ella es la encargada de obtener e inicializar todos los elementos de la + ventana principal, ya sean botones, cuadros de diálogo, barras de herramientas, + etc. +\layout Standard + +Para cada botón referenciado por esta clase, es conectado a ellos una señal, + que será el método que deben invocar al ser presionados. +\layout Standard + +Uno de los métodos mas importantes de esta clase es +\begin_inset Quotes eld +\end_inset + +on_item_drop_drag_recived() +\begin_inset Quotes erd +\end_inset + + que es la encargada de crear un nuevo elemento si es arrastrado desde la + barra de elementos, o de moverlo dentro del área de trabajo si este ya + estaba creado. +\layout Standard + +Cada nuevo elemento creado es almacenado en una lista de elementos ( +\begin_inset Quotes eld +\end_inset + +listaItems +\begin_inset Quotes erd +\end_inset + + ) de transporte o almacenamiento de fluido, o de elementos lógicos, según + cual sea ( +\begin_inset Quotes eld +\end_inset + +lista_logic_items +\begin_inset Quotes erd +\end_inset + +). +\layout Standard + +Otra de las funciones principales es +\begin_inset Quotes eld +\end_inset + +check_connection() +\begin_inset Quotes erd +\end_inset + + que recorre todos los items de ambas listas y verifica que se haya formado + en el momento del diseño un circuito posible. + Mas adelante se verá como cada elemento verifica su conexión. +\layout Standard + +También está contenida en ella la clase WorkPlace, que detalla a continuación. +\layout Subsection* + +WorkPlace: +\layout Standard + +Esta clase es la encarga de de manejar el área trabajo. + Una de sus principales tareas es redibujarse cuando sea necesario y al + mismo tiempo, redibujar los elementos que contiene, como pueden ser los + items de la planta o las líneas lógicas que conectan los mismos. +\layout Standard + +También se encarga de eliminar correctamente un item, eliminando al mismo + tiempo las lineas que llegan o salen de él. +\layout Subsection* + +CItem: +\layout Standard + +Acá se definen los comportamientos comunes de todo los items de la aplicación, + como puede ser la imagen actual, la posición en la grilla, el caudal máximo,el + número único de identificación y diferentes punteros a otros objetos. +\layout Standard + +También esta definida en esta clase la estuctura que representa los conectores + físicos, y otra que representa a los conectores lógicos. +\layout Standard + +Esta clase contiene métodos abstractos ya que cualquier elemento que descienda + de ella deberá poder implementar los mismos porque, por ejemplo, ningún + item se guarda en un archivo de la misma manera; este es el caso del método + +\begin_inset Quotes eld +\end_inset + +save( FILE archivo) +\begin_inset Quotes erd +\end_inset + +. +\layout Standard + +Existe otro método abstracto dentro de esta clase que es +\begin_inset Quotes eld +\end_inset + +check_connection() +\begin_inset Quotes erd +\end_inset + +. + Del mismo modo que un item se guarda de forma diferente que otro, también + verifica su conexión de distinta forma, es por eso que cada item debe implement +ar su manera de verificar como y con quién esta conectado. +\layout Standard + +\the_end