next up previous contents
Next: 3.6.6 Combinación de todos Up: 3.6 Construcción de la Previous: 3.6.4 La definición de

3.6.5 Construcción del desplazador del editor

El usuario puede moverse libremente por el texto utilizando el cursor, pero en ciertos casos en que se desea dar grandes saltos en el texto, es conveniente disponer de elementos como las barras de desplazamiento. La misión de estas barras es permitir deslizar el texto tanto horizontal como verticalmente sin necesidad de pulsar repetidamente las teclas de movimiento del cursor. Accionando con el ratón las barras de scroll es posible realizar rápidos desplazamientos por todo el texto.

La barra de scroll vertical

Los editores {textedit} admiten la posibilidad de ser enlazados con una aplicación de tipo {scrollbar}. Dicho enlace se realiza mediante la función te-attach-scrollbar. Durante la ejecución de la función create-ICEeditor se crea una barra de desplazamiento vertical mediante la función verticalsrollbar. Dicha barra se integra en la jerarquía de componentes de ICEeditor, recibiendo el nombre de SCROLLBAR.

Una vez situada la barra de desplazamiento en la imagen, hecho que ocurre durante la ejecución del método create-image, se establece una perfecta interacción entre ella y el editor, de modo que que cualquier cambio de posición en uno de los dos elementos se ve inmediatamente reflejado en el otro.

El desplazador horizontal

Aunque resulte paradógico, los objetos de tipo {textedit}, que tan hábilmente interactúan con la barra de scroll vertical, no proporcionan ningún medio directo de enlace con una barra de scroll horizontal.

Otros tipos de editores, como por ejemplo {medite}, utilizan una correspondencia biyectiva entre líneas de texto y líneas de editor. En ellos el texto se desplaza en la dirección correcta cuando el cursor alcanza el límite derecho o izquierdo de la ventana del editor.

Los editores textedit desplazan el cursor a la línea siguiente cuando se alcanza el borde derecho y a la línea precedente cuando se alcanza el borde izquierdo.

Como ya se comentó anteriormente, esta es una de las causas que provocaron la elección de un tamaño fijo lo suficiantemente grande para permitir la edición de la mayoría de los textos. Como este editor completo no cabría en la pantalla, es preciso utilizar un desplazador que acote la imagen del editor y permita al usuario desplazarse por toda su superficie mediante el uso del ratón.

El editor ignora la existencia del desplazador, por lo que no le advierte en ningún momento de cuándo se debe realizar un desplazamiento provocado por el movimiento del cursor de inserción. Es preciso capturar los eventos asociados al teclado para actualizar manualmente la porción del editor que deberá estar visible en la ventana del desplazador.

El desplazador se incorpora a la jerarquía de componentes con el nombre de SCROLLER.

Combinación de los desplazadores

De lo comentado en los puntos anteriores se desprende que las barras de desplazmiento horizontal y vertical son totalmente independiente, estando ligadas al editor por medios también enteramente distintos:

Sin embargo, al construir la imagen, se han situado de tal modo que el usuario tiene la sensación de que están integradas en un único desplazador. Con ello se demuestra una vez más la importancia de separar lo que es el comportamiento de un objeto de lo que es la imagen en sí.


next up previous contents
Next: 3.6.6 Combinación de todos Up: 3.6 Construcción de la Previous: 3.6.4 La definición de

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