com.alee.extended.tree
Class ExTreeTransferHandler<N extends UniqueNode,T extends WebExTree<N>>

java.lang.Object
  extended by javax.swing.TransferHandler
      extended by com.alee.extended.tree.AbstractTreeTransferHandler<N,T,ExTreeModel<N>>
          extended by com.alee.extended.tree.ExTreeTransferHandler<N,T>
All Implemented Interfaces:
java.io.Serializable

public abstract class ExTreeTransferHandler<N extends UniqueNode,T extends WebExTree<N>>
extends AbstractTreeTransferHandler<N,T,ExTreeModel<N>>

Custom TransferHandler for WebAsyncTree that provides a quick and convenient way to implement nodes DnD.

Author:
Mikle Garin
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class com.alee.extended.tree.AbstractTreeTransferHandler
AbstractTreeTransferHandler.NodesTransferable
 
Nested classes/interfaces inherited from class javax.swing.TransferHandler
javax.swing.TransferHandler.DropLocation, javax.swing.TransferHandler.TransferSupport
 
Field Summary
 
Fields inherited from class com.alee.extended.tree.AbstractTreeTransferHandler
draggedNodeIndices, draggedNodes, expandMultiplyNodes, expandSingleNode, flavors, nodesFlavor, optimizeDraggedNodes
 
Fields inherited from class javax.swing.TransferHandler
COPY, COPY_OR_MOVE, LINK, MOVE, NONE
 
Constructor Summary
ExTreeTransferHandler()
           
 
Method Summary
protected  boolean performDropOperation(java.util.List<N> nodes, N parent, T tree, ExTreeModel<N> model, int index)
          Performs actual nodes drop operation.
protected  boolean prepareDropOperation(javax.swing.TransferHandler.TransferSupport support, java.util.List<N> nodes, int dropIndex, N parent, T tree, ExTreeModel<N> model)
          Performs all preparations required to perform drop operation and calls for actual drop when ready.
protected  void removeTreeNodes(T tree, java.util.List<N> nodesToRemove)
          Asks tree to remove nodes after drag move operation has completed.
 
Methods inherited from class com.alee.extended.tree.AbstractTreeTransferHandler
canBeDragged, canBeDropped, canDropTo, canImport, collect, copy, createNodesFlavor, createTransferable, exportDone, getAdjustedDropIndex, getSourceActions, importData, isExpandMultiplyNodes, isExpandSingleNode, isMoveAction, isOptimizeDraggedNodes, nodesDropped, setExpandMultiplyNodes, setExpandSingleNode, setOptimizeDraggedNodes, toString
 
Methods inherited from class javax.swing.TransferHandler
canImport, exportAsDrag, exportToClipboard, getCopyAction, getCutAction, getPasteAction, getVisualRepresentation, importData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ExTreeTransferHandler

public ExTreeTransferHandler()
Method Detail

removeTreeNodes

protected void removeTreeNodes(T tree,
                               java.util.List<N> nodesToRemove)
Asks tree to remove nodes after drag move operation has completed.

Specified by:
removeTreeNodes in class AbstractTreeTransferHandler<N extends UniqueNode,T extends WebExTree<N>,ExTreeModel<N extends UniqueNode>>
Parameters:
tree - tree to remove nodes from
nodesToRemove - nodes that should be removed

prepareDropOperation

protected boolean prepareDropOperation(javax.swing.TransferHandler.TransferSupport support,
                                       java.util.List<N> nodes,
                                       int dropIndex,
                                       N parent,
                                       T tree,
                                       ExTreeModel<N> model)
Performs all preparations required to perform drop operation and calls for actual drop when ready.

Specified by:
prepareDropOperation in class AbstractTreeTransferHandler<N extends UniqueNode,T extends WebExTree<N>,ExTreeModel<N extends UniqueNode>>
Parameters:
support - transfer support data
nodes - list of nodes to drop
dropIndex - preliminary nodes drop index
parent - parent node to drop nodes into
tree - tree to drop nodes onto
model - tree model
Returns:
true if drop operation was successfully completed, false otherwise

performDropOperation

protected boolean performDropOperation(java.util.List<N> nodes,
                                       N parent,
                                       T tree,
                                       ExTreeModel<N> model,
                                       int index)
Performs actual nodes drop operation.

Specified by:
performDropOperation in class AbstractTreeTransferHandler<N extends UniqueNode,T extends WebExTree<N>,ExTreeModel<N extends UniqueNode>>
Parameters:
nodes - list of nodes to drop
parent - parent node to drop nodes into
tree - tree to drop nodes onto
model - tree model
index - nodes drop index
Returns:
true if drop operation was successfully completed, false otherwise