|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.swing.TransferHandler
com.alee.extended.tree.AbstractTreeTransferHandler<N,T,M>
public abstract class AbstractTreeTransferHandler<N extends UniqueNode,T extends WebTree<N>,M extends WebTreeModel<N>>
Nested Class Summary | |
---|---|
class |
AbstractTreeTransferHandler.NodesTransferable
Custom nodes transferable used for D&D operation. |
Nested classes/interfaces inherited from class javax.swing.TransferHandler |
---|
javax.swing.TransferHandler.DropLocation, javax.swing.TransferHandler.TransferSupport |
Field Summary | |
---|---|
protected java.util.Map<java.lang.String,java.util.List<java.lang.Integer>> |
draggedNodeIndices
Map of node indices lists under their parent node IDs. |
protected java.util.List<N> |
draggedNodes
Array of dragged nodes. |
protected boolean |
expandMultiplyNodes
Whether or not should expand multiply dragged nodes when they are dropped onto the tree. |
protected boolean |
expandSingleNode
Whether or not should expand single dragged node when it is dropped onto the tree. |
protected java.awt.datatransfer.DataFlavor[] |
flavors
Nodes flavor array. |
protected java.awt.datatransfer.DataFlavor |
nodesFlavor
Nodes flavor. |
protected boolean |
optimizeDraggedNodes
Whether or not should optimize dragged nodes list to minimum. |
Fields inherited from class javax.swing.TransferHandler |
---|
COPY, COPY_OR_MOVE, LINK, MOVE, NONE |
Constructor Summary | |
---|---|
AbstractTreeTransferHandler()
Constructs new tree transfer handler. |
Method Summary | ||
---|---|---|
protected abstract boolean |
canBeDragged(java.util.List<N> nodes)
Returns whether the specified nodes drag can be started or not. |
|
protected abstract boolean |
canBeDropped(java.util.List<N> nodes,
N dropLocation,
int dropIndex)
Returns whether nodes can be dropped to the specified location and index or not. |
|
protected boolean |
canDropTo(N dropLocation)
Checks whether specified target is acceptable for drop or not. |
|
boolean |
canImport(javax.swing.TransferHandler.TransferSupport support)
|
|
protected
|
collect(java.util.List<N> nodes)
Returns user objects collected from specified nodes. |
|
protected abstract N |
copy(N node)
Returns node copy used in createTransferable. |
|
protected java.awt.datatransfer.DataFlavor |
createNodesFlavor()
Creates nodes transferable flavor. |
|
protected java.awt.datatransfer.Transferable |
createTransferable(javax.swing.JComponent c)
Creates a Transferable to use as the source for a data transfer. |
|
protected void |
exportDone(javax.swing.JComponent source,
java.awt.datatransfer.Transferable data,
int action)
Invoked after data has been exported. |
|
protected int |
getAdjustedDropIndex(int dropIndex,
int dropAction,
N parent)
Returns properly adjusted nodes drop index. |
|
int |
getSourceActions(javax.swing.JComponent c)
Returns the type of transfer actions supported by the source. |
|
boolean |
importData(javax.swing.TransferHandler.TransferSupport support)
|
|
boolean |
isExpandMultiplyNodes()
Returns whether or not should expand multiply dragged nodes when they are dropped onto the tree. |
|
boolean |
isExpandSingleNode()
Returns whether should expand single dragged node when it is dropped onto the tree or not. |
|
protected boolean |
isMoveAction(int action)
Returns whether action is MOVE or not. |
|
boolean |
isOptimizeDraggedNodes()
Return whether or not should optimize dragged nodes list to minimum. |
|
abstract void |
nodesDropped(java.util.List<N> nodes,
N parent,
T tree,
M model,
int index)
Informs about nodes drop operation completition in a separate tree thread. |
|
protected abstract boolean |
performDropOperation(java.util.List<N> nodes,
N parent,
T tree,
M model,
int index)
Performs actual nodes drop operation. |
|
protected abstract boolean |
prepareDropOperation(javax.swing.TransferHandler.TransferSupport support,
java.util.List<N> nodes,
int dropIndex,
N parent,
T tree,
M model)
Performs all preparations required to perform drop operation and calls for actual drop when ready. |
|
protected abstract void |
removeTreeNodes(T tree,
java.util.List<N> nodesToRemove)
Asks tree to remove nodes after drag move operation has completed. |
|
void |
setExpandMultiplyNodes(boolean expand)
Sets whether or not should expand multiply dragged nodes when they are dropped onto the tree. |
|
void |
setExpandSingleNode(boolean expand)
Sets whether should expand single dragged node when it is dropped onto the tree or not. |
|
void |
setOptimizeDraggedNodes(boolean optimize)
Sets whether or not should optimize dragged nodes list to minimum. |
|
java.lang.String |
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 |
Field Detail |
---|
protected java.awt.datatransfer.DataFlavor nodesFlavor
protected java.awt.datatransfer.DataFlavor[] flavors
protected boolean optimizeDraggedNodes
protected boolean expandSingleNode
protected boolean expandMultiplyNodes
protected java.util.List<N extends UniqueNode> draggedNodes
protected java.util.Map<java.lang.String,java.util.List<java.lang.Integer>> draggedNodeIndices
Constructor Detail |
---|
public AbstractTreeTransferHandler()
Method Detail |
---|
protected java.awt.datatransfer.DataFlavor createNodesFlavor()
public boolean isOptimizeDraggedNodes()
public void setOptimizeDraggedNodes(boolean optimize)
optimize
- whether or not should optimize dragged nodes list to minimumpublic boolean isExpandSingleNode()
public void setExpandSingleNode(boolean expand)
expand
- whether should expand single dragged node when it is dropped onto the tree or notpublic boolean isExpandMultiplyNodes()
public void setExpandMultiplyNodes(boolean expand)
expand
- whether or not should expand multiply dragged nodes when they are dropped onto the treepublic int getSourceActions(javax.swing.JComponent c)
COPY
, MOVE
and LINK
.
Returning NONE
disables transfers from the component.
getSourceActions
in class javax.swing.TransferHandler
c
- the component holding the data to be transferred
protected java.awt.datatransfer.Transferable createTransferable(javax.swing.JComponent c)
createTransferable
in class javax.swing.TransferHandler
c
- the component holding the data to be transferred, provided to enable sharing of TransferHandlers
public boolean canImport(javax.swing.TransferHandler.TransferSupport support)
canImport
in class javax.swing.TransferHandler
public boolean importData(javax.swing.TransferHandler.TransferSupport support)
importData
in class javax.swing.TransferHandler
protected abstract boolean prepareDropOperation(javax.swing.TransferHandler.TransferSupport support, java.util.List<N> nodes, int dropIndex, N parent, T tree, M model)
support
- transfer support datanodes
- list of nodes to dropdropIndex
- preliminary nodes drop indexparent
- parent node to drop nodes intotree
- tree to drop nodes ontomodel
- tree model
protected abstract boolean performDropOperation(java.util.List<N> nodes, N parent, T tree, M model, int index)
nodes
- list of nodes to dropparent
- parent node to drop nodes intotree
- tree to drop nodes ontomodel
- tree modelindex
- nodes drop index
protected int getAdjustedDropIndex(int dropIndex, int dropAction, N parent)
dropIndex
- drop index if dropped between nodes under dropLocation node or -1 if dropped directly onto dropLocation nodedropAction
- actual drop actionparent
- parent node to drop nodes into @return properly adjusted nodes drop indexprotected void exportDone(javax.swing.JComponent source, java.awt.datatransfer.Transferable data, int action)
exportDone
in class javax.swing.TransferHandler
source
- the component that was the source of the datadata
- the data that was transferred or possibly null if the action is NONEaction
- the actual action that was performedprotected boolean isMoveAction(int action)
action
- drag action
protected abstract boolean canBeDragged(java.util.List<N> nodes)
nodes
- nodes to drag
protected boolean canDropTo(N dropLocation)
dropLocation
- node onto which drop was performed
protected abstract boolean canBeDropped(java.util.List<N> nodes, N dropLocation, int dropIndex)
nodes
- list of nodes to dropdropLocation
- node onto which drop was performeddropIndex
- drop index if dropped between nodes under dropLocation node or -1 if dropped directly onto dropLocation node
protected abstract N copy(N node)
node
- node to copy
protected abstract void removeTreeNodes(T tree, java.util.List<N> nodesToRemove)
tree
- tree to remove nodes fromnodesToRemove
- nodes that should be removedpublic abstract void nodesDropped(java.util.List<N> nodes, N parent, T tree, M model, int index)
nodes
- list of nodes to dropparent
- parent node to drop nodes intotree
- tree to drop nodes ontomodel
- tree modelindex
- nodes drop indexprotected <O> java.util.List<O> collect(java.util.List<N> nodes)
O
- user object typenodes
- list of nodes to collect user objects from
public java.lang.String toString()
toString
in class java.lang.Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |