Class AbstractTreeTransferHandler
- java.lang.Object
-
- javax.swing.TransferHandler
-
- com.inductiveautomation.ignition.client.util.gui.tree.AbstractTreeTransferHandler
-
- All Implemented Interfaces:
java.awt.dnd.DropTargetListener
,java.io.Serializable
,java.util.EventListener
- Direct Known Subclasses:
ClientTagTreeTransferHandler
,TagTransferHandler
public abstract class AbstractTreeTransferHandler extends javax.swing.TransferHandler implements java.awt.dnd.DropTargetListener
A class that can acts as a 1.4 TransferHandler, and a 1.3 DropTargetListener all at once.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected java.awt.Stroke
highlightStroke
protected javax.swing.tree.TreePath
lastHighlight
protected java.awt.Rectangle
rect
protected AutoscrollingJTree
tree
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractTreeTransferHandler(AutoscrollingJTree tree, int action, boolean beADropTarget)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract boolean
canPerformAction(AutoscrollingJTree target, java.util.List<java.awt.datatransfer.DataFlavor> flavors, int action, java.awt.Point location, javax.swing.tree.TreePath dropPath)
protected abstract boolean
canStartDrag(javax.swing.tree.TreePath[] paths)
protected void
clearHighlight()
protected java.awt.datatransfer.Transferable
createTransferable(javax.swing.JComponent c)
java.awt.datatransfer.Transferable
createTransferable(javax.swing.JComponent c, boolean drag)
protected abstract java.awt.datatransfer.Transferable
createTransferableForCutCopy(javax.swing.tree.TreePath[] paths)
protected abstract java.awt.datatransfer.Transferable
createTransferableForDrag(javax.swing.tree.TreePath[] paths)
void
dragEnter(java.awt.dnd.DropTargetDragEvent dtde)
void
dragExit(java.awt.dnd.DropTargetEvent dte)
void
dragOver(java.awt.dnd.DropTargetDragEvent dtde)
protected void
drawHighlight(javax.swing.tree.TreePath path)
void
drop(java.awt.dnd.DropTargetDropEvent dtde)
void
dropActionChanged(java.awt.dnd.DropTargetDragEvent dtde)
protected abstract boolean
executeDrop(AutoscrollingJTree tree, java.awt.datatransfer.Transferable transferable, javax.swing.tree.TreePath parentTreePath, int action)
void
exportToClipboard(javax.swing.JComponent comp, java.awt.datatransfer.Clipboard clip, int action)
Copied from super so that it calls createTransferableForCutCopy instead of the normal one.int
getSourceActions(javax.swing.JComponent c)
---------------------------- Methods from TransferHandler ------------------------------protected abstract int
getSourceActions(javax.swing.tree.TreePath[] selPaths)
Override to provide the actions available for the given pathsprotected javax.swing.tree.TreePath
pathFor(java.awt.Point pt)
-
-
-
Field Detail
-
tree
protected AutoscrollingJTree tree
-
rect
protected java.awt.Rectangle rect
-
lastHighlight
protected javax.swing.tree.TreePath lastHighlight
-
highlightStroke
protected java.awt.Stroke highlightStroke
-
-
Constructor Detail
-
AbstractTreeTransferHandler
protected AbstractTreeTransferHandler(AutoscrollingJTree tree, int action, boolean beADropTarget)
- Parameters:
tree
- The tree in question.action
- A bitmask to use as the acceptable actions (@seeDropTarget.getDefaultActions()
beADropTarget
- Should this tree be a drop target?
-
-
Method Detail
-
drawHighlight
protected void drawHighlight(javax.swing.tree.TreePath path)
-
clearHighlight
protected void clearHighlight()
-
dragEnter
public void dragEnter(java.awt.dnd.DropTargetDragEvent dtde)
- Specified by:
dragEnter
in interfacejava.awt.dnd.DropTargetListener
-
dragExit
public void dragExit(java.awt.dnd.DropTargetEvent dte)
- Specified by:
dragExit
in interfacejava.awt.dnd.DropTargetListener
-
dragOver
public void dragOver(java.awt.dnd.DropTargetDragEvent dtde)
- Specified by:
dragOver
in interfacejava.awt.dnd.DropTargetListener
-
dropActionChanged
public void dropActionChanged(java.awt.dnd.DropTargetDragEvent dtde)
- Specified by:
dropActionChanged
in interfacejava.awt.dnd.DropTargetListener
-
drop
public void drop(java.awt.dnd.DropTargetDropEvent dtde)
- Specified by:
drop
in interfacejava.awt.dnd.DropTargetListener
-
pathFor
protected javax.swing.tree.TreePath pathFor(java.awt.Point pt)
-
getSourceActions
public int getSourceActions(javax.swing.JComponent c)
---------------------------- Methods from TransferHandler ------------------------------- Overrides:
getSourceActions
in classjavax.swing.TransferHandler
-
getSourceActions
protected abstract int getSourceActions(javax.swing.tree.TreePath[] selPaths)
Override to provide the actions available for the given paths
-
createTransferable
protected java.awt.datatransfer.Transferable createTransferable(javax.swing.JComponent c)
- Overrides:
createTransferable
in classjavax.swing.TransferHandler
-
createTransferable
public java.awt.datatransfer.Transferable createTransferable(javax.swing.JComponent c, boolean drag)
-
exportToClipboard
public void exportToClipboard(javax.swing.JComponent comp, java.awt.datatransfer.Clipboard clip, int action) throws java.lang.IllegalStateException
Copied from super so that it calls createTransferableForCutCopy instead of the normal one.- Overrides:
exportToClipboard
in classjavax.swing.TransferHandler
- Throws:
java.lang.IllegalStateException
-
canStartDrag
protected abstract boolean canStartDrag(javax.swing.tree.TreePath[] paths)
-
createTransferableForDrag
protected abstract java.awt.datatransfer.Transferable createTransferableForDrag(javax.swing.tree.TreePath[] paths)
-
createTransferableForCutCopy
protected abstract java.awt.datatransfer.Transferable createTransferableForCutCopy(javax.swing.tree.TreePath[] paths)
-
canPerformAction
protected abstract boolean canPerformAction(AutoscrollingJTree target, java.util.List<java.awt.datatransfer.DataFlavor> flavors, int action, java.awt.Point location, javax.swing.tree.TreePath dropPath)
-
executeDrop
protected abstract boolean executeDrop(AutoscrollingJTree tree, java.awt.datatransfer.Transferable transferable, javax.swing.tree.TreePath parentTreePath, int action)
-
-