Next: B.2.7 Mecanismos de transferencia
Up: AÏDA
 Previous: B.2.5 Recursos gráficos
 
El manejo de los eventos relacionados con el VBD está al cargo del programa que se conoce
con el nombre de motor de AÏDA
. Los eventos generados por el VBD son tratados 
de modo asíncrono, es decir, se procesan solamente cuando el motor está activo,
esto es, mientras la función process-pending-events se está ejecutando.
Cada evento se procesa en cinco fases:
-  Lectura del evento.
 -  Búsqueda de la aplicación asociada al evento. Si la ventana 
        en que se produjo el evento pertenece a AÏDA, la aplicación 
        se encuentra en el campo appli de la ventana. Si no, sólo
        se procesan los eventos modify, kill y keyboard-focus.
 -  Decodificación del evento. Los eventos concretos recibidos 
        en la cola de eventos del VBD se decodifican en eventos abstractos.
        Por ejemplo, cuando una aplicación selecionable recibe un evento concreto 
        como down-event con un campo de detalle con valor 0 (botón 
        izquierdo del ratón pulsado), se transforma en un evento abstracto 
        select que se interpreta como una petición del usuario para seleccionar 
        la aplicación.
 -  Ejecución del comportamiento de instancia. El evento original es restaurado
        una vez que ha sido devuelto el control por parte de la función que define 
        el comportamiento de instancia, con lo cual se evitan posibles perturbaciones
        debidas a la manipulación del evento por dicha función.
 -  Envío de un mensaje a la aplicación. Se envía un mensaje con el mismo nombre
        que el código del evento, con el propio evento como argumento.
 
Una aplicación puede tomar el control de la cola de eventos por medio de llamadas a
las funciones que dan acceso a ella.
 
Miguel A. Alonso Pardo 
Thu Nov 20 16:47:01 CET 1997