Class DelegatingDropAdapter

  • All Implemented Interfaces:
    java.util.EventListener, DropTargetListener, SWTEventListener

    public class DelegatingDropAdapter
    extends DelegatingDropAdapter
    A DropTargetListener that manages and delegates to a set of TransferDropTargetListeners. Each TransferDropTargetListener can then be implemented as if it were the DropTarget's only DropTargetListener.

    On each DropTargetEvent, a current listener is obtained from the set of all TransferDropTargetListers. The current listener is the first listener to return true for TransferDropTargetListener.isEnabled(DropTargetEvent). The current listener is forwarded all DropTargetEvents until some other listener becomes the current listener, or the Drop terminates.

    As listeners are added and removed, the combined set of Transfers is updated to contain the Tranfer from each listener. getTransferTypes() provides the merged transfers. This set of Transfers should be set on the SWT DropTarget.

    • Constructor Detail

      • DelegatingDropAdapter

        public DelegatingDropAdapter()
    • Method Detail

      • addDropTargetListener

        public void addDropTargetListener​(TransferDropTargetListener listener)
        Deprecated.
        Adds the given TransferDropTargetListener.
        Parameters:
        listener - the listener
      • getTransferTypes

        public Transfer[] getTransferTypes()
        Deprecated.
        use getTransfers() instead
        Adds the Transfer from each listener to an array and returns that array.
        Returns:
        the merged Transfers from all listeners
      • removeDropTargetListener

        public void removeDropTargetListener​(TransferDropTargetListener listener)
        Removes the given TransferDropTargetListener.
        Parameters:
        listener - the listener