]> git.llucax.com Git - z.facultad/75.42/plaqui.git/commitdiff
mas documentos
authorNicolás Dimov <ndimov@gmail.com>
Mon, 1 Dec 2003 15:53:31 +0000 (15:53 +0000)
committerNicolás Dimov <ndimov@gmail.com>
Mon, 1 Dec 2003 15:53:31 +0000 (15:53 +0000)
Constructor/doc/especificaciones_tecnicas.lyx [new file with mode: 0644]

diff --git a/Constructor/doc/especificaciones_tecnicas.lyx b/Constructor/doc/especificaciones_tecnicas.lyx
new file mode 100644 (file)
index 0000000..92e4033
--- /dev/null
@@ -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