Adobe Air (wiwobooks.com Release)
Objekt somit abgelegt (vorausgesetzt, es befindet sich über einem geeigneten UI-Element, auf dem es abgelegt werden darf).
Wie bei Copy&Paste können die auszutauschenden Daten oder Objekte in einem einzelnen Clipboard -Objekt in mehreren Formaten geliefert werden. Das ist auch grundsätzlich keine schlechte Idee, denn während Sie bei Drag & Drop-Operationen innerhalb der Anwendung noch die Kontrolle darüber haben, in welchem Kontext die Daten verwendet werden, können Sie z. B. bei Ihrer AIR-Anwendung nicht erkennen, in welchem Programm die aus Ihrer Anwendung »herausgezogenen« Daten verwendet werden.
15.2.2 Ereignisse und Ablauf
Wie alle Vorgänge, die mit Interaktion mit der AIR-Anwendung zu tun haben, wird auch Drag & Drop in AIR mithilfe von Ereignissen und Ereignis-Listenern gesteuert. Jede der drei im vorigen Abschnitt angesprochenen Phasen verfügt über Ereignisse, die es ermöglichen, den Ablauf der Drag & Drop-Aktion zu beeinflussen. Anders als die in der Klasse DragEvent definierten Konstanten für Drag & Drop-Operationen innerhalb der Anwendung sind die Klassenkonstanten für das Drag & Drop vom Kontext des Betriebssystems zur AIR-Anwendung und zurück in der Klasse NativeDragEvent definiert. Tabelle 15.3 zeigt eine Übersicht über die NativeDragEvent -Ereignisse.
Ereignis Bedeutung
NativeDragEvent.NATIVE_DRAG_COMPLETE Es wird ausgelöst, wenn das Drag-Objekt
NativeDragEvent.NATIVE_DRAG_DROP
NativeDragEvent.NATIVE_DRAG_ENTER
NativeDragEvent.NATIVE_DRAG_EXIT
NativeDragEvent.NATIVE_DRAG_OVER
NativeDragEvent.NATIVE_DRAG_START
losgelassen wird.
Es wird ausgelöst, wenn die Maustaste über einem gültigen Drag & Drop-Empfänger losgelassen wird (innerhalb der AIR-Anwendung).
Es wird ausgelöst, wenn das Drag&DropObjekt über ein mögliches Ziel (interaktives Objekt innerhalb der AIR-Anwendung) gezogen wird.
Es wird ausgelöst, wenn das Drag&DropObjekt ein mögliches Ziel (interaktives Objekt innerhalb der AIR-Anwendung) wieder verlässt.
Es wird ausgelöst, wenn das Drag&DropObjekt über einem möglichen Ziel (interaktives Objekt innerhalb der AIR-Anwendung) bewegt wird.
Es wird ausgelöst, wenn eine Drag&DropAktion begonnen wird.
Tabelle 15.3 Ereigniskonstanten für native Drag-Ereignisse Ereignis
NativeDragEvent.NATIVE_DRAG_UPDATE
Bedeutung
Es wird wiederholt ausgelöst, solange die Drag&Drop-Operation anhält.
Tabelle 15.3 Ereigniskonstanten für native Drag-Ereignisse (Forts.)
Der Ablauf einer Drag & Drop-Operation mit ihren zugehörigen Ereignissen stellt sich wie folgt dar:
1. Start der Drag & Drop-Operation durch »Anfassen« eines Objekts mithilfe Mausklick und Halten des Klicks.
2. Wenn die Drag & Drop-Operation von der AIR-Anwendung ausgeht, wird ein Ereignis vom Typ NativeDragEvent.NATIVE_DRAG_START ausgelöst.Das Objekt wird bei gehaltener Maustaste gezogen.
Während der gesamten Drag & Drop-Operation: NativeDragEvent. NATIVE_DRAG_UPDATE wird ausgelöst (nicht in AIR für Linux). Wenn ein interaktives Objekt innerhalb der AIR-Anwendung erreicht wird: NativeDragEvent.NATIVE_DRAG_ENTER wird ausgelöst.
Solange sich das Drag & Drop-Objekt über einem interaktiven Objekt innerhalb der AIR-Anwendung befindet: NativeDragEvent.NATIVE_DRAG_ OVER wird ausgelöst.
Wenn das Drag & Drop-Objekt das interaktive Objekt innerhalb der AIRAnwendung wieder verlässt: NativeDragEvent.NATIVE_DRAG_EXIT wird ausgelöst.
3. Wenn sich der Mauszeiger innerhalb der AIR-Anwendung befindet: Eine mögliche Zielregion signalisiert, dass die »Ablage« des Objekts zulässig ist. 4. Das Objekt wird durch Loslassen der Maustaste »fallen gelassen«.
Wenn das Ziel der Operation die AIR-Anwendung oder eine Komponente darin ist, wird NativeDragEvent.NATIVE_DRAG_DROP ausgelöst.Wenn das Ziel der Operation außerhalb einer AIR-Anwendung liegt, verarbeitet das Betriebssystem das »Fallenlassen«.
Wenn die Drag & Drop-Operation innerhalb einer AIR-Anwendung begonnen hat, wird NativeDragsEvent.NATIVE_DRAG_COMPLETE ausgelöst.
15.2.3 Erlaubte Drag-Aktionen
Im Zuge des Drag & Drop-Vorgangs können Sie bestimmen, welche Art der Drag & Drop-Aktionen erlaubt sind: Verschieben, Kopieren oder Verknüpfen. AIR bietet hierfur die Klasse NativeDragOptions an. Sie können in einer NativeDragOptions Instanz die boolschen Eigenschaften allowMove (Verschieben), allowCopy (Kopieren) bzw. allowLink (Verknupfen) auf true setzen, um die entsprechende Aktion zu erlauben – und folgerichtig auf false , um die Aktion zu
Weitere Kostenlose Bücher