agregar interactividad y la funcion undo

25
Agregar Interactividad y la Función Undo

Upload: uvm

Post on 16-Jul-2015

489 views

Category:

Documents


0 download

TRANSCRIPT

Agregar Interactividad y la Función Undo

Mtl Lourdes Cahuich 2

Objetivo

Este módulo presenta una estrategia general para implementar los subsistemas undo y redo, adaptables a muchas aplicaciones.

Mtl Lourdes Cahuich 3

Interactividad

Además de crear nuevos displays con controles PictureBox, también puedes crear objetos interactivos adhoc.

Esto lo puedes hacer mediante el manejo de eventos que reciben los controles PictureBox, transformando sus entradas y modificando su salida para crear un resultado.

Mtl Lourdes Cahuich 4

Interactividad

Al crear objetos interactivos, los manejadores para uno o más de estos eventos típicamente realizan cuatro tipos de acciones.

Primero determinan la forma en la que las entradas se relacionan con cualquiera de las partes individuales del objeto.

Mtl Lourdes Cahuich 5

Interactividad

Típicamente se utiliza un proceso que llamaremos picking

Por ejemplo, un objeto como ScrollBar necesitará determinar si el evento Click ocurrió sobre alguna de sus flechas, su botón de avance de página o en algún otro lugar.

Después, el objeto utiliza la información referente al estado actual para determinar como se debe interpretar la entrada.

Mtl Lourdes Cahuich 6

Interactividad

Por ejemplo, un objeto radio button requiere realizar una acción diferente cuando el botón se encuentra seleccionado, y una acción opuesta cuando este no se encuentra seleccionado.

Otra cosa, el objeto realiza una acción dependiendo de la entrada de los datos.

Mtl Lourdes Cahuich 7

Interactividad

Generalmente se hace al cambiar los valores en el modelo o mandando llamar a las rutinas de la aplicación directamente (lo cual, como resultado, pueden cambiar los valores en el modelo o hasta cambiar el estado del objeto).

Mtl Lourdes Cahuich 8

Interactividad

Por último, si ha cambiado cualquier cosa del objeto que el usuario puede, o debe ver, generará un nuevo dibujo con las actualizaciones correspondientes

Mtl Lourdes Cahuich 9

Picking

La primer tarea determina si una entrada determinada esta enfocada directamente hacia cierta parte del objeto.

En general, esto se hace mediante el proceso de picking, que consiste en determinar si los datos de entrada se encuentran dentro del área de alguna de las partes del objeto .

Mtl Lourdes Cahuich 10

Picking

También el sistema, internamente utiliza el proceso de picking para decidir cuales objetos deberán enviar eventos.

El picking se puede implementar de varias formas, pero la manera más simple consiste en determinar, para cada una de las partes, si el punto se encuentra dentro del area en cuestión.

Mtl Lourdes Cahuich 11

Bounding box

Esta prueba se simplifica al revisar solamente el extent o el bounding box de dicha parte—esto es, el pequeño rectángulo que se encuentra alrededor de la parte.

Solamente cuando las partes en cuestión son líneas ( u objetos grandes no rectangulares) es cuando se lleva a cabo una prueba más detallada, y solamente cuando termina con éxito la prueba de bounding box

Mtl Lourdes Cahuich 12

Bounding box

Si se lleva a cabo una prueba simple de bounding box, se puede hacer utilizando las cuatro comparaciones siguientes, por ejemplo:

partPicked = (x >= partX and x < partX + partW and y >= partY and

y < partY + partH)

Mtl Lourdes Cahuich 13

Bounding box

Observa que si hay partes que se traslapan, entonces es posible que se puedan seleccionar (pick) diferentes partes en una misma posición x,y.

Debido a que las partes se dibujan una sobre la otra, por lo general, el picking se lleva a cabo en el orden inverso (por ejemplo, la parte que se dibuja al último es la primera que se somete a prueba).

Mtl Lourdes Cahuich 14

Bounding box

Con esto, nos aseguramos que la prueba de pick seleccionará primero el objeto que se encuentra en la parte de arriba del dibujo.

Potencial de la Función Undo

Mtl Lourdes Cahuich 16

Función undo

El incluir una función undo confiable puede tener un impacto positivo en la usabilidad de casi cualquier sistema interactivo.

Como resultado, pocas interfaces se consideran completas si no cuentan con al menos una función undo limitada.

Mtl Lourdes Cahuich 17

Función undo

Desgraciadamente, no siempre es fácil implementar la función undo, debido a que impactan diferentes partes del sistema

Mtl Lourdes Cahuich 18

Función undo

Seguramente estás familiarizado con la operación básica de la función undo interactiva.

Su función principal consiste en permitir que el usuario de un paso hacia atrás—que pueda cambiar de opinión respecto a la operación que acaba de realizar y regresar al sistema al estado en el que se encontraba antes de que realizara dicha operación.

Mtl Lourdes Cahuich 19

Función undo

Como resultado, la tarea principal de un sistema undo es regresar el estado del sistema a su estado previo

Para esto, debe recordar el estado en que se encontraba el sistema y contar con un mecanismo para restablecer el sistema a esa condición, según lo solicite el usuario

Mtl Lourdes Cahuich 20

Función undo

Debido a que una sola operación que realiza el usuario puede consistir de varios pasos internos, es importante que el mecanismo de undo conozca todas las operaciones que corresponden a dicha acción.

Esto permite que el usuario comprenda la operación de undo y sea fácil de usar

Mtl Lourdes Cahuich 21

Función undo

El estado del sistema computacional, se caracteriza generalmente por una serie de valores que se almacenan en diferentes localidades de memoria.

Igualmente, el estado del programa se caracteriza por la serie de valores que se almacenan (o acceden a las referencias almacenadas) en sus variables.

Mtl Lourdes Cahuich 22

Función undo

Así pues, se puede decir que la mayor parte del trabajo de undo es almacenar los valores anteriores de varias variables cuando cambien y así poder regresar esos valores cuando se ejecute la función de undo.

Mtl Lourdes Cahuich 23

Excepción undo

Una excepción importante es cuando la información se encuentra almacenada en dispositivos de almacenamiento, como drives de disco.

Para simplificar la implementación de la función de undo, sin embargo, la mayoría de los sistemas manejan las operaciones de manipulación de archivos como operaciones irreversibles y no ofrecen una función undo

Mtl Lourdes Cahuich 24

Excepción undo

Otra excepción es cuando se usan valores ocultos para el programa—suponga los valores que maneja el sistema operativo o que la herramienta gráfica pero a los cuales no se tiene acceso directo desde la aplicación

Mtl Lourdes Cahuich 25

Limite función undo

El límite del tamaño de la pila determina el número de funciones undo que se pueden realizar.

En conclusión, la razón por la cual se tiene un límite en el número de funciones undo que se pueden realizar se relaciona con el uso eficiente del espacio, no por ser más difícil de implementar.