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:
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.