nextupprevious
Next:Los HomólogosUp:InteracciónPrevious:Los Actores


Eventos reconocidos

El propósito de esta sección es enumerar los eventos identificados hasta el momento. En la mayoría de bibliotecas gráficas se reconoce un conjunto de eventos sensiblemente mayor al aquí identificado. Como posteriormente se verá, es relativamente sencillo agregar eventos nuevos en nuestra arquitectura y seguramente esto se hará incrementalmente a medida que surja la necesidad. Al igual que en BiCoTI-I no se pretendió implementar todo algoritmo imaginable (entre otras razones porque hubiera sido en vano), sino dar un framework sobre el cual crecer; en BiCoTI-II el esfuerzo estuvo centrado en buscar una arquitectura con las mismas características.
Si bien son en definitiva los actores las fuentes de eventos concretas, la existencia de un módulo interaction donde se establece la naturaleza de los eventos, se justifica al ser la primer etapa a concretar a la hora de incrementar el grado de interacción. Este es primer módulo donde se deben agregar las clases que extiendan el grado de interacción soportado, sin necesidad aún de concentrarse en la implementación concreta de los mismos.
Los esquemas de interacción en cuestión son:
\includegraphics[scale=0.4]{InteractionTimer.eps}
Figure 4: Interaction Timer
Se considera que un evento TimerTic ha sucedido, en el momento que es invocado el método FireTimerTic().
\includegraphics[scale=0.35]{InteractionMouse.eps}
Figure 5: Interaction Mouse

 
\includegraphics[scale=0.35]{InteractionMouseMotion.eps}
Figure 6: Interaction Mouse Motion
La anterior Fig.6 esquematiza esta relación.
\includegraphics[scale=0.4]{InteractionPushButton.eps}
Figure 7: Interaction Push Button

 
\includegraphics[scale=0.40]{InteractionMenu.eps}
Figure 8: Interaction Menu
Los eventos: (a), (b), (c), (d) y (e) presentan como característica común no involucrar cambios de estado en el actor. A modo de ejemplo, el estado de un botón (posición, tamaño, texto, color, etc.) es independiente de que se produzca un FirePushButtonClicked() en este.
En cambio en (f), (g), (h) e (i), cualquier evento está asociado a un cambio de estado. Antes de entrar en detalles comentaremos la diferencia semántica entre un fire en ambos casos. En el primer grupo, un fire implica automáticamente que todos los listeners son notificados del evento. En el segundo en cambio hay que chequear que realmente se está dando un cambio de estado y cambiarlo efectivamente de ser cierto. Este control se delega a las clases especializadas (los actores), que son los que tienen la información de estado, mediante los métodos check() como se ve en el detalle de cada caso.
 
\includegraphics[scale=0.35]{InteractionGeometry.eps}
Figure 9: Interaction Geometry

 
\includegraphics[scale=0.45]{InteractionField.eps}
Figure 10: Interaction Text Field

 
\includegraphics[scale=0.35]{InteractionScrollBar.eps}
Figure 11: Interaction Scroll Bar
Suele existir más de una forma de cambiar la posición (valor) del slider entre las que rescatamos:

nextupprevious
Next:Los HomólogosUp:InteracciónPrevious:Los Actores
Claudio Risso 2001-06-02