View
489
Download
0
Category
Preview:
Citation preview
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.
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.
Recommended