VdexReload 1.1.3 API

uk.ac.reload.dweezil.gui.tree
Class ReloadDragTree

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JTree
                  extended byuk.ac.reload.dweezil.gui.tree.ReloadTree
                      extended byuk.ac.reload.dweezil.gui.tree.ReloadDragTree
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.dnd.Autoscroll, java.awt.dnd.DragGestureListener, java.awt.dnd.DragSourceListener, java.awt.dnd.DropTargetListener, DweezilConstants, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, javax.swing.Scrollable, java.io.Serializable
Direct Known Subclasses:
CPResourcesTree, ManifestTree

public abstract class ReloadDragTree
extends ReloadTree
implements java.awt.dnd.DragSourceListener, java.awt.dnd.DragGestureListener, java.awt.dnd.DropTargetListener, java.awt.dnd.Autoscroll, DweezilConstants

A Tree based on ReloadTree with support for Drag and Drop

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JTree
javax.swing.JTree.AccessibleJTree, javax.swing.JTree.DynamicUtilTreeNode, javax.swing.JTree.EmptySelectionModel, javax.swing.JTree.TreeModelHandler, javax.swing.JTree.TreeSelectionRedirector
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  ReloadTreeNode prevHilitedNode
          The previous highlighted node
 
Fields inherited from class uk.ac.reload.dweezil.gui.tree.ReloadTree
dirtyTree
 
Fields inherited from class javax.swing.JTree
ANCHOR_SELECTION_PATH_PROPERTY, CELL_EDITOR_PROPERTY, CELL_RENDERER_PROPERTY, cellEditor, cellRenderer, editable, EDITABLE_PROPERTY, EXPANDS_SELECTED_PATHS_PROPERTY, INVOKES_STOP_CELL_EDITING_PROPERTY, invokesStopCellEditing, LARGE_MODEL_PROPERTY, largeModel, LEAD_SELECTION_PATH_PROPERTY, ROOT_VISIBLE_PROPERTY, rootVisible, ROW_HEIGHT_PROPERTY, rowHeight, SCROLLS_ON_EXPAND_PROPERTY, scrollsOnExpand, SELECTION_MODEL_PROPERTY, selectionModel, selectionRedirector, SHOWS_ROOT_HANDLES_PROPERTY, showsRootHandles, TOGGLE_CLICK_COUNT_PROPERTY, toggleClickCount, TREE_MODEL_PROPERTY, treeModel, treeModelListener, VISIBLE_ROW_COUNT_PROPERTY, visibleRowCount
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface uk.ac.reload.dweezil.DweezilConstants
CR, DEBUG
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ReloadDragTree()
          Default Constructor
 
Method Summary
 void autoscroll(java.awt.Point cursorLocn)
          Scroll support for Drag and Drop
 void dragDropEnd(java.awt.dnd.DragSourceDropEvent event)
           
 void dragEnter(java.awt.dnd.DragSourceDragEvent event)
           
 void dragEnter(java.awt.dnd.DropTargetDragEvent event)
          Called while a drag operation is ongoing, when the mouse pointer enters the operable part of the drop site for the DropTarget registered with this listener.
 void dragExit(java.awt.dnd.DragSourceEvent event)
           
 void dragExit(java.awt.dnd.DropTargetEvent event)
          Called while a drag operation is ongoing, when the mouse pointer has exited the operable part of the drop site for the DropTarget registered with this listener.
 void dragGestureRecognized(java.awt.dnd.DragGestureEvent event)
          A DragGestureRecognizer has detected a platform-dependent drag initiating gesture and is notifying this listener in order for it to initiate the action for the user.
 void dragOver(java.awt.dnd.DragSourceDragEvent event)
           
 void dragOver(java.awt.dnd.DropTargetDragEvent event)
          We are being dragged over - select the Node if OK Over-ride and call super if need be
 void drop(java.awt.dnd.DropTargetDropEvent event)
          Called when the drag operation has terminated with a drop on the operable part of the drop site for the DropTarget registered with this listener.
 void dropActionChanged(java.awt.dnd.DragSourceDragEvent event)
           
 void dropActionChanged(java.awt.dnd.DropTargetDragEvent event)
          Called if the user has modified the current drop gesture.
 java.awt.Insets getAutoscrollInsets()
          Scroll support for Drag and Drop
 int getCorrectDropContext(java.awt.dnd.DropTargetDragEvent event)
          Amendment History
 int getCorrectDropContext(java.awt.dnd.DropTargetDropEvent event)
          Amendment History
 java.awt.image.BufferedImage getDragImage(javax.swing.tree.TreePath path, java.awt.Point ptDragOrigin)
          Get the Drag Image
protected  ReloadTreeNode getDragOverTreeNode(java.awt.dnd.DropTargetDragEvent event)
          Returns the node that is being dragged over
protected  ReloadTreeNode getDragSourceTreeNode(java.awt.dnd.DragGestureEvent event)
          Return the tree node that has been picked up and dragged
protected  void hiliteNode(ReloadTreeNode node, boolean hilite)
          Highlight a node on a tree as we drag over it.
abstract  boolean isDropOK(java.awt.dnd.DropTargetDragEvent event)
          Give feedback on whether it's OK to drop here.
 
Methods inherited from class uk.ac.reload.dweezil.gui.tree.ReloadTree
expandedNodes, expandNode, expandNode, expandTree, getExpandedNodes, getNode, getSelectedNode, isDirtyTree, isRootPath, loadState, scrollNodeToVisible, selectNode, selectNodeByObject, treeCollapsed, treeExpanded, updateNodes, updateSelectedNode, writeState
 
Methods inherited from class javax.swing.JTree
addSelectionInterval, addSelectionPath, addSelectionPaths, addSelectionRow, addSelectionRows, addTreeExpansionListener, addTreeSelectionListener, addTreeWillExpandListener, cancelEditing, clearSelection, clearToggledPaths, collapsePath, collapseRow, convertValueToText, createTreeModel, createTreeModelListener, expandPath, expandRow, fireTreeCollapsed, fireTreeExpanded, fireTreeWillCollapse, fireTreeWillExpand, fireValueChanged, getAccessibleContext, getAnchorSelectionPath, getCellEditor, getCellRenderer, getClosestPathForLocation, getClosestRowForLocation, getDefaultTreeModel, getDescendantToggledPaths, getDragEnabled, getEditingPath, getExpandedDescendants, getExpandsSelectedPaths, getInvokesStopCellEditing, getLastSelectedPathComponent, getLeadSelectionPath, getLeadSelectionRow, getMaxSelectionRow, getMinSelectionRow, getModel, getNextMatch, getPathBetweenRows, getPathBounds, getPathForLocation, getPathForRow, getPreferredScrollableViewportSize, getRowBounds, getRowCount, getRowForLocation, getRowForPath, getRowHeight, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getScrollsOnExpand, getSelectionCount, getSelectionModel, getSelectionPath, getSelectionPaths, getSelectionRows, getShowsRootHandles, getToggleClickCount, getToolTipText, getTreeExpansionListeners, getTreeSelectionListeners, getTreeWillExpandListeners, getUI, getUIClassID, getVisibleRowCount, hasBeenExpanded, isCollapsed, isCollapsed, isEditable, isEditing, isExpanded, isExpanded, isFixedRowHeight, isLargeModel, isPathEditable, isPathSelected, isRootVisible, isRowSelected, isSelectionEmpty, isVisible, makeVisible, paramString, removeDescendantSelectedPaths, removeDescendantToggledPaths, removeSelectionInterval, removeSelectionPath, removeSelectionPaths, removeSelectionRow, removeSelectionRows, removeTreeExpansionListener, removeTreeSelectionListener, removeTreeWillExpandListener, scrollPathToVisible, scrollRowToVisible, setAnchorSelectionPath, setCellEditor, setCellRenderer, setDragEnabled, setEditable, setExpandedState, setExpandsSelectedPaths, setInvokesStopCellEditing, setLargeModel, setLeadSelectionPath, setModel, setRootVisible, setRowHeight, setScrollsOnExpand, setSelectionInterval, setSelectionModel, setSelectionPath, setSelectionPaths, setSelectionRow, setSelectionRows, setShowsRootHandles, setToggleClickCount, setUI, setVisibleRowCount, startEditingAtPath, stopEditing, treeDidChange, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

prevHilitedNode

protected ReloadTreeNode prevHilitedNode
The previous highlighted node

Constructor Detail

ReloadDragTree

public ReloadDragTree()
Default Constructor

Method Detail

hiliteNode

protected void hiliteNode(ReloadTreeNode node,
                          boolean hilite)
Highlight a node on a tree as we drag over it. It's up to the Tree Renderer to actually draw the highlight.

Parameters:
node - The node we are highlighting
hilite - True or false depending on whether we want to highlight the node or not

getAutoscrollInsets

public java.awt.Insets getAutoscrollInsets()
Scroll support for Drag and Drop

Specified by:
getAutoscrollInsets in interface java.awt.dnd.Autoscroll
Returns:
Insets

autoscroll

public void autoscroll(java.awt.Point cursorLocn)
Scroll support for Drag and Drop

Specified by:
autoscroll in interface java.awt.dnd.Autoscroll
Parameters:
cursorLocn - the cursor location

getDragSourceTreeNode

protected ReloadTreeNode getDragSourceTreeNode(java.awt.dnd.DragGestureEvent event)
Return the tree node that has been picked up and dragged

Parameters:
event - the DragGestureEvent
Returns:
the ReloadTreeNode that has been picked up and dragged

getDragOverTreeNode

protected ReloadTreeNode getDragOverTreeNode(java.awt.dnd.DropTargetDragEvent event)
Returns the node that is being dragged over

Parameters:
event - the DropTargetDragEvent
Returns:
the ReloadTreeNode that is being dragged over

getDragImage

public java.awt.image.BufferedImage getDragImage(javax.swing.tree.TreePath path,
                                                 java.awt.Point ptDragOrigin)
Get the Drag Image

Parameters:
path - the TreePath concerned
ptDragOrigin - the drag origin point
Returns:
a Drag Image

isDropOK

public abstract boolean isDropOK(java.awt.dnd.DropTargetDragEvent event)
Give feedback on whether it's OK to drop here. Over-ride this with something sensible.

Parameters:
event - the DropTargetDragEvent
Returns:
true if it is OK to drop here, false otherwise

dragDropEnd

public void dragDropEnd(java.awt.dnd.DragSourceDropEvent event)
Specified by:
dragDropEnd in interface java.awt.dnd.DragSourceListener

dragEnter

public void dragEnter(java.awt.dnd.DragSourceDragEvent event)
Specified by:
dragEnter in interface java.awt.dnd.DragSourceListener

dragExit

public void dragExit(java.awt.dnd.DragSourceEvent event)
Specified by:
dragExit in interface java.awt.dnd.DragSourceListener

dragOver

public void dragOver(java.awt.dnd.DragSourceDragEvent event)
Specified by:
dragOver in interface java.awt.dnd.DragSourceListener

dropActionChanged

public void dropActionChanged(java.awt.dnd.DragSourceDragEvent event)
Specified by:
dropActionChanged in interface java.awt.dnd.DragSourceListener

dragGestureRecognized

public void dragGestureRecognized(java.awt.dnd.DragGestureEvent event)
A DragGestureRecognizer has detected a platform-dependent drag initiating gesture and is notifying this listener in order for it to initiate the action for the user. Over-ride this function

Specified by:
dragGestureRecognized in interface java.awt.dnd.DragGestureListener
Parameters:
event - the DragGestureEvent

dragEnter

public void dragEnter(java.awt.dnd.DropTargetDragEvent event)
Called while a drag operation is ongoing, when the mouse pointer enters the operable part of the drop site for the DropTarget registered with this listener. Over-ride this function

Specified by:
dragEnter in interface java.awt.dnd.DropTargetListener
Parameters:
event - the DropTargetDragEvent

dragExit

public void dragExit(java.awt.dnd.DropTargetEvent event)
Called while a drag operation is ongoing, when the mouse pointer has exited the operable part of the drop site for the DropTarget registered with this listener. Over-this function

Specified by:
dragExit in interface java.awt.dnd.DropTargetListener
Parameters:
event - the DropTargetEvent

dragOver

public void dragOver(java.awt.dnd.DropTargetDragEvent event)
We are being dragged over - select the Node if OK Over-ride and call super if need be

Specified by:
dragOver in interface java.awt.dnd.DropTargetListener
Parameters:
event - the DropTargetDragEvent

drop

public void drop(java.awt.dnd.DropTargetDropEvent event)
Called when the drag operation has terminated with a drop on the operable part of the drop site for the DropTarget registered with this listener. Over-ride this function

Specified by:
drop in interface java.awt.dnd.DropTargetListener
Parameters:
event - the DropTargetDropEvent

dropActionChanged

public void dropActionChanged(java.awt.dnd.DropTargetDragEvent event)
Called if the user has modified the current drop gesture. Over-ride this function

Specified by:
dropActionChanged in interface java.awt.dnd.DropTargetListener
Parameters:
event - the DropTargetDragEvent

getCorrectDropContext

public int getCorrectDropContext(java.awt.dnd.DropTargetDropEvent event)

Amendment History

Due to Mac specific issues, this method has been added to ensure that the correct drop target event is recorded. On MacOS X "event.getDropAction()" does not return 1 for move and 2 for copy as it should do (like it does on PC). This method checks to see if the OS is Mac and then makes sure the correct int value is returned

Parameters:
event - a DropTargetDropEvent
Returns:
int representing the type of action - move or copy

getCorrectDropContext

public int getCorrectDropContext(java.awt.dnd.DropTargetDragEvent event)

Amendment History

Due to Mac specific issues, this method has been added to ensure that the correct drop target event is recorded. On MacOS X "event.getDropAction()" does not return 1 for move and 2 for copy as it should do (like it does on PC). This method checks to see if the OS is Mac and then makes sure the correct int value is returned

Parameters:
event - a DropTargetDropEvent
Returns:
int representing the type of action - move or copy

VdexReload 1.1.3 API