Roster Viewer Drop Target

Identifier:
org.eclipse.ecf.presence.ui.rosterViewerDropTarget

Since:
1.0.0

Description:
This extension point allows drop targets to be specified for the MultiRosterView.

Configuration Markup:

<!ELEMENT extension (dropTarget+)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!ELEMENT dropTarget EMPTY>

<!ATTLIST dropTarget

class CDATA #REQUIRED>

Drop target element.



Examples:

   <extension
         point="org.eclipse.ecf.presence.ui.rosterViewerDropTarget">
      <dropTarget
            class="org.eclipse.ecf.presence.collab.ui.TextRosterViewerDropTarget">
      </dropTarget>
   </extension>

API Information:

/**
 * Roster viewer drop target.  This interface defines the 
 * required methods for implementers of the rosterViewerDropTarget
 * extension point.
 */
public interface IRosterViewerDropTarget {

    /**
     * Validates dropping on the given roster item. This method is called whenever some 
     * aspect of the drop operation changes.
     * 
     * @param target the object that the mouse is currently hovering over, or
     *   <code>null</code> if the mouse is hovering over empty space
     * @param operation the current drag operation (copy, move, etc.)
     * @param transferType the current transfer type
     * @return <code>true</code> if the drop is valid, and <code>false</code>
     *   otherwise
     */
 public boolean validateDrop(IRosterItem rosterItem, int operation,
            TransferData transferType);

    /**
     * Performs any work associated with the drop.
     *
     * @param data the drop data
     * @return <code>true</code> if the drop was successful, and 
     *   <code>false</code> otherwise
     */

 public boolean performDrop(Object data);
}

Supplied Implementation:
No supplied implementation.


Copyright (c) 2004 Composent, Inc. and others. This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which is available at https://www.eclipse.org/legal/epl-2.0/ SPDX-License-Identifier: EPL-2.0