next up previous contents
Next: 3.7 El comportamiento de Up: 3.6 Construcción de la Previous: 3.6.5 Construcción del desplazador

3.6.6 Combinación de todos los elementos

Una vez que se han creado todos los componentes de la imagen surge el problema de su disposición. Se deben de considerar los siguientes aspectos:

  1. La posición relativa que ocupará cada componente con respecto a los demás. Se obtendrá un esquema en el que se indicará cosas como por ejemplo que la barra de botones estará situada a la derecha del editor o que las barras de scroll estarán a la izquierda y abajo en el editor. Con ello se obtendrá una configuración general de la imagen.
  2. Las dimensiones iniciales de la imagen y la proporción ocupada por cada componente en ella.
  3. Cómo reaccionará cada componente ante los eventos de redimensionamiento que tengan lugar en la ventana de la aplicación.

La solución adoptada en lo referente a los dos primeros puntos depende en gran medida de la estética del diseñador. Se debe tener siempre en mente la importancia del confort del usuario. Puede ser preciso sacrificar la estética en aras de conseguir una mayor ergonomía y facilidad de uso.

El tercer punto está más ligado al diseño y programación de la aplicación. El tamaño de la ventana utilizada por ICEeditor puede verse modificado como consecuencia de la acción del usuario, por razones variadas:

Ciertamente si se modifica el tamaño de la ventana se ha de producir una modificación el el tamaño de la imagen. Los distintos componente se repartirán el espacio manteniendo las mismas posiciones relativas y a ser posible las mismas proporciones con respecto a la imagen total. En una aplicación compleja como ICEeditor se pueden establecer distintas clases de componentes si tomamos como base su respuesta al cambio de tamaño:

En AÏDA existe el constructor de imágenes constrainedview. Este constructor es una variación de view, la superposición de imágenes. A diferencia de éstas, donde todos los objetos que forman la imagen crecen proporcionalmente, una constrainedview permite establecer puntos de anclaje para dichos objetos. Los anclajes se realizan con respecto a los bordes de la ventana.

Cuando un objeto tiene anclado uno de sus bordes, se mantendrá la distancia entre el borde del objeto y el borde de la ventana. La única excepción viene dada por el establecimiento de un tamaño mínimo para la aplicación. Dicho mínimo viene dado por el tamaño inicial establecido cuando se creó la aplicación.

Mediante a función constrainedview se crea un objeto imagen de tipo {constrainedview}. Esta función toma como parámetros los objetos que forman la imagen. Posteriomente se utiliza el método update-constraint para establecer los puntos de anclaje de cada uno de dichos objetos. Los puntos de anclaje se almacenan en objetos {strechconstraint}, que contiene el anclaje para los cuatro bordes de la bounding-box del objeto.


next up previous contents
Next: 3.7 El comportamiento de Up: 3.6 Construcción de la Previous: 3.6.5 Construcción del desplazador

Miguel A. Alonso Pardo
Thu Nov 20 16:47:01 CET 1997