next up previous contents
Next: B.2.8 Herramientas Up: AÏDA Previous: Eventos

B.2.7 Mecanismos de transferencia

AÏDA soporta mecanismos internos de cortar y pegar mediante los cuales es posible transferir información de una aplicación a otra de modo instantáneo e interactivo. Para ello se hace de la función current-selection-client y de los eventos generate-copy-selection, generate-cut-selection y available-selection.

También soporta mecanismos externos de cortar y pegar mediante los cuales se puede transferir texto bidireccionalmente entre AÏDA y aplicaciones externas. Las funciones display-store-selection y display-get-selection se utilizan para este fin.

También soporta mecanismos de arrastar y soltar, aunque sólo entre aplicaciones AÏDA: el objeto se selecciona en una aplicación (denominada giver), se elige el destino (una aplicación que recibe el nombre de catcher) y se realiza la transferencia. Se dice que la aplicación giver ofrece un servicio y que la catcher lo acepta. Los pasos involucrados en una operación arrastrar y pegar son:

  1. Comienzo de la operación.
  2. Preparar al giver con prepare y destacarlo con high.
  3. Utilizar un fantasma que sigue el movimiento del ratón. Para se usan las funciones draw y erase.
  4. Búsqueda del catcher. Aquellos que acepten servicios del giver deben destacarse cuando el cursor del ratón pase sobre ellos. Para ello se utiliza high y unhigh.
  5. El objeto se suelta en un catcher que acepta el servicio. Se utilizan las funciones begin y end para mostrar gráficamente que se ha aceptado el servicio.
  6. Si el objeto se suelta en un catcher que no acepta el servicio o sobre un objeto que no es un catcher, se informa al giver del fallo de la operación por medio de refused.
  7. El giver retorna a su estado original por medio de unhigh.


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