public class DragLayer extends AbstractSystemLayer implements DragGestureListener, DragSourceListener, DropTargetListener, MouseMotionListener
alpha, changeSupport, ganttChart, layerContainer, PROPERTY_ALPHA, PROPERTY_VISIBLE
Constructor and Description |
---|
DragLayer(LayerContainer lc)
Constructs a new drag layer.
|
Modifier and Type | Method and Description |
---|---|
void |
addDragLayerListener(IDragLayerListener l)
Adds a drag layer listener to the drag layer.
|
protected Image |
createDragImage(ObjectBounds bounds)
Creates an image that will be shown in combination with the drag cursor
during drag & drop operations.
|
protected Cursor |
createEditModeCursor(IEditModeController.EditMode mode)
Factory method for the cursors of the various edit modes.
|
protected Cursor |
createEditModeCustomCursors(IEditModeController.EditMode mode)
Factory method for the cursors of the various edit modes.
|
protected Cursor |
createEditModeDefaultCursors(IEditModeController.EditMode mode)
Factory method for the cursors of the various edit modes.
|
void |
dragDropEnd(DragSourceDropEvent dsde) |
void |
dragEnter(DragSourceDragEvent dsde) |
void |
dragEnter(DropTargetDragEvent dtde) |
void |
dragExit(DragSourceEvent dse) |
void |
dragExit(DropTargetEvent dte) |
void |
dragGestureRecognized(DragGestureEvent dge) |
void |
dragOver(DragSourceDragEvent dsde) |
void |
dragOver(DropTargetDragEvent dtde) |
void |
drop(DropTargetDropEvent dtde) |
void |
dropActionChanged(DragSourceDragEvent dsde) |
void |
dropActionChanged(DropTargetDragEvent dtde) |
protected void |
fireDragLayerEvent(DragLayerEvent evt)
Sends the given event object to all drag layer listeners that are
currently observing the drag layer.
|
IDragInfoRenderer |
getDragInfoRenderer(Class cl)
Returns a drag info renderer for a given timeline object type.
|
IDragRowRenderer |
getDragRowRenderer(Class cl)
Returns a drag row renderer for a given tree / hierarchy node.
|
DropTarget |
getDropTarget()
Returns the drop target object associated with the drag layer / the layer
container.
|
IEditModeController.EditMode |
getEditMode()
Returns the active edit mode.
|
IEditModeController |
getEditModeController(Class cl)
Returns an edit mode controller for a given timeline object type.
|
MouseEvent |
getTriggerEvent()
Returns the mouse event, which triggered the last drag gesture.
|
boolean |
isDragging()
Determines whether the user is currently dragging an object.
|
boolean |
isDragInfoVisible()
Determines whether the drag information is shown during a drag & drop
operation.
|
boolean |
isShowingDefaultCursors()
Determines whether the
#createEditModeCursor(EditMode) method
delegates to #createEditModeDefaultCursors(EditMode) or
#createEditModeCustomCursors(EditMode) . |
void |
mouseDragged(MouseEvent e) |
void |
mouseMoved(MouseEvent e) |
protected void |
paintDragRowRenderers(Graphics g)
Paints the drag row renderers during a drag operation.
|
protected void |
paintLayer(Graphics g) |
void |
removeDragLayerListener(IDragLayerListener l)
Removes a drag layer listener from the drag layer.
|
void |
setDragInfoRenderer(Class objectType,
IDragInfoRenderer renderer)
Maps the implementation of a drag info renderer to a timeline object
type.
|
void |
setDragInfoVisible(boolean visible)
Specifies whether the drag information is shown during a drag & drop
operation.
|
void |
setDragRowRenderer(Class objectType,
IDragRowRenderer renderer)
Maps the implementation of a drag row renderer to a tree node type.
|
void |
setEditModeController(Class objectType,
IEditModeController controller)
Maps the implementation of an edit mode controller to a timeline object
type.
|
void |
setShowingDefaultCursors(boolean show)
Specifies whether the
#createEditModeCursor(EditMode) method
delegates to #createEditModeDefaultCursors(EditMode) or
#createEditModeCustomCursors(EditMode) . |
addPropertyChangeListener, getAlpha, getDateline, getEventline, getGanttChart, getHeight, getLayerContainer, getLayerPolicyProvider, getModel, getName, getStartRow, getTimeAt, getTimeline, getTimeLocation, getTimeSpanUsed, getToolTipText, getTreeTable, getTreeTablePolicyProvider, getWidth, isVisible, removePropertyChangeListener, repaint, repaint, repaint, setAlpha, setVisible, tearDown
public DragLayer(LayerContainer lc)
lc
- the layer container to which the drag layer belongspublic boolean isDragging()
protected void paintLayer(Graphics g)
paintLayer
in class AbstractLayer
protected void paintDragRowRenderers(Graphics g)
IDragRowRenderer
implementation for each
row in the layer container. The renderer can then visualize information
relevant for the drag operation (for example: "drop here not allowed"
causes the row to be grayed out).g
- the graphics context into which to drawsetDragRowRenderer(Class, IDragRowRenderer)
public void setDragInfoRenderer(Class objectType, IDragInfoRenderer renderer)
objectType
- the type of the timeline object for which the info will be
rendered with the given rendererrenderer
- a renderer implementation that will be used to renderer
instances of the given timeline object typeDefaultDragInfoRenderer
public IDragInfoRenderer getDragInfoRenderer(Class cl)
cl
- the timeline object type in need of renderingsetDragInfoRenderer(Class, IDragInfoRenderer)
,
DefaultDragInfoRenderer
public boolean isDragInfoVisible()
IDragInfoPolicy
,
IDragInfoRenderer
,
setDragInfoRenderer(Class, IDragInfoRenderer)
public void setDragInfoVisible(boolean visible)
visible
- if TRUE the drag info will be shownIDragInfoPolicy
,
IDragInfoRenderer
,
setDragInfoRenderer(Class, IDragInfoRenderer)
public void setDragRowRenderer(Class objectType, IDragRowRenderer renderer)
objectType
- the type of the tree node for which the row will be rendered
with the given rendererrenderer
- a renderer implementation that will be used to renderer the
row with drag and drop informationDefaultDragRowRenderer
public IDragRowRenderer getDragRowRenderer(Class cl)
cl
- the object type of the tree nodesetDragRowRenderer(Class, IDragRowRenderer)
,
DefaultDragRowRenderer
public void mouseMoved(MouseEvent e)
mouseMoved
in interface MouseMotionListener
public void mouseDragged(MouseEvent e)
mouseDragged
in interface MouseMotionListener
public void dragGestureRecognized(DragGestureEvent dge)
dragGestureRecognized
in interface DragGestureListener
protected Image createDragImage(ObjectBounds bounds)
bounds
- the object bounds for which to create an imagepublic void dragDropEnd(DragSourceDropEvent dsde)
dragDropEnd
in interface DragSourceListener
public void dragEnter(DragSourceDragEvent dsde)
dragEnter
in interface DragSourceListener
public void dragExit(DragSourceEvent dse)
dragExit
in interface DragSourceListener
public void dragOver(DragSourceDragEvent dsde)
dragOver
in interface DragSourceListener
public void dropActionChanged(DragSourceDragEvent dsde)
dropActionChanged
in interface DragSourceListener
public void dragEnter(DropTargetDragEvent dtde)
dragEnter
in interface DropTargetListener
public void dragExit(DropTargetEvent dte)
dragExit
in interface DropTargetListener
public void dragOver(DropTargetDragEvent dtde)
dragOver
in interface DropTargetListener
public void drop(DropTargetDropEvent dtde)
drop
in interface DropTargetListener
public void dropActionChanged(DropTargetDragEvent dtde)
dropActionChanged
in interface DropTargetListener
public void addDragLayerListener(IDragLayerListener l)
l
- the drag layer listenerpublic void removeDragLayerListener(IDragLayerListener l)
l
- the drag layer listenerprotected void fireDragLayerEvent(DragLayerEvent evt)
evt
- the drag layer event that will be sent to all listenerspublic void setEditModeController(Class objectType, IEditModeController controller)
objectType
- the type of the timeline object for which the edit mode will
be calculated by the given controllercontroller
- an edit mode controller implementation that will make the
actual decision on the edit mode that will be used when the
mouse cursor hovers over a timeline object of the given typeDefaultEditModeController
public IEditModeController getEditModeController(Class cl)
cl
- the timeline object type in need of renderingsetDragInfoRenderer(Class, IDragInfoRenderer)
,
DefaultDragInfoRenderer
public void setShowingDefaultCursors(boolean show)
#createEditModeCursor(EditMode)
method
delegates to #createEditModeDefaultCursors(EditMode)
or
#createEditModeCustomCursors(EditMode)
.show
- if TRUE the layer will display the default cursors while
draggingpublic boolean isShowingDefaultCursors()
#createEditModeCursor(EditMode)
method
delegates to #createEditModeDefaultCursors(EditMode)
or
#createEditModeCustomCursors(EditMode)
.protected Cursor createEditModeCursor(IEditModeController.EditMode mode)
isShowingDefaultCursors()
the method
delegates to #createEditModeDefaultCursors(EditMode)
or
#createEditModeCustomCursors(EditMode)
.mode
- the edit mode for which to create a cursorprotected Cursor createEditModeCustomCursors(IEditModeController.EditMode mode)
IconRegistry
via the following
identifiers:
The hotspot for the cursors is always (16, 16) except for the percentage
complete cursor (31, 15).mode
- the edit mode for which to create a cursorprotected Cursor createEditModeDefaultCursors(IEditModeController.EditMode mode)
IconRegistry
via the following identifiers:
The hotspot for the percentage complete cursor located at (31, 15).mode
- the edit mode for which to create a cursorpublic IEditModeController.EditMode getEditMode()
public DropTarget getDropTarget()
MultiDropTarget
public MouseEvent getTriggerEvent()
DragGestureEvent.getTriggerEvent()
Copyright © 2006–2020 Dirk Lemmermann Software & Consulting. All rights reserved.