1 #LyX 1.3 created this file. For more info see http://www.lyx.org/
14 \use_numerical_citations 0
15 \paperorientation portrait
18 \paragraph_separation indent
20 \quotes_language english
24 \paperpagestyle default
35 \begin_inset LatexCommand \tableofcontents{}
45 Al ser una aplicación visual, algunos conceptos de la programación orientada
46 a objetos no se han tomados al pie de la letra, ya sea cuestiones de encapsulam
50 Descripción del desarrollo:
56 La clase principal de esta aplicación es la clase Constructor.
57 Ella es la encargada de obtener e inicializar todos los elementos de la
58 ventana principal, ya sean botones, cuadros de diálogo, barras de herramientas,
62 Para cada botón referenciado por esta clase, es conectado a ellos una señal,
63 que será el método que deben invocar al ser presionados.
66 Uno de los métodos mas importantes de esta clase es
67 \begin_inset Quotes eld
70 on_item_drop_drag_recived()
71 \begin_inset Quotes erd
74 que es la encargada de crear un nuevo elemento si es arrastrado desde la
75 barra de elementos, o de moverlo dentro del área de trabajo si este ya
79 Cada nuevo elemento creado es almacenado en una lista de elementos (
80 \begin_inset Quotes eld
84 \begin_inset Quotes erd
87 ) de transporte o almacenamiento de fluido, o de elementos lógicos, según
89 \begin_inset Quotes eld
93 \begin_inset Quotes erd
99 Otra de las funciones principales es
100 \begin_inset Quotes eld
104 \begin_inset Quotes erd
107 que recorre todos los items de ambas listas y verifica que se haya formado
108 en el momento del diseño un circuito posible.
109 Mas adelante se verá como cada elemento verifica su conexión.
112 También está contenida en ella la clase WorkPlace, que detalla a continuación.
118 Esta clase es la encarga de de manejar el área trabajo.
119 Una de sus principales tareas es redibujarse cuando sea necesario y al
120 mismo tiempo, redibujar los elementos que contiene, como pueden ser los
121 items de la planta o las líneas lógicas que conectan los mismos.
124 También se encarga de eliminar correctamente un item, eliminando al mismo
125 tiempo las lineas que llegan o salen de él.
131 Acá se definen los comportamientos comunes de todo los items de la aplicación,
132 como puede ser la imagen actual, la posición en la grilla, el caudal máximo,el
133 número único de identificación y diferentes punteros a otros objetos.
136 También esta definida en esta clase la estuctura que representa los conectores
137 físicos, y otra que representa a los conectores lógicos.
140 Esta clase contiene métodos abstractos ya que cualquier elemento que descienda
141 de ella deberá poder implementar los mismos porque, por ejemplo, ningún
142 item se guarda en un archivo de la misma manera; este es el caso del método
144 \begin_inset Quotes eld
148 \begin_inset Quotes erd
154 Existe otro método abstracto dentro de esta clase que es
155 \begin_inset Quotes eld
159 \begin_inset Quotes erd
163 Del mismo modo que un item se guarda de forma diferente que otro, también
164 verifica su conexión de distinta forma, es por eso que cada item debe implement
165 ar su manera de verificar como y con quién esta conectado.