|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.dlsc.flexgantt.swing.layer.AbstractLayer com.dlsc.flexgantt.swing.layer.system.AbstractSystemLayer com.dlsc.flexgantt.swing.layer.system.DragLayer
public class DragLayer
The drag layer is responsible for handling drag and drop events that are used to move timeline objects.
Field Summary |
---|
Fields inherited from class com.dlsc.flexgantt.swing.layer.AbstractLayer |
---|
alpha, changeSupport, ganttChart, layerContainer, PROPERTY_ALPHA, PROPERTY_VISIBLE |
Constructor Summary | |
---|---|
DragLayer(LayerContainer lc)
Constructs a new drag layer. |
Method Summary | |
---|---|
void |
addDragLayerListener(IDragLayerListener l)
Adds a drag layer listener to the drag layer. |
protected java.awt.Image |
createDragImage(ObjectBounds bounds)
Creates an image that will be shown in combination with the drag cursor during drag & drop operations. |
protected java.awt.Cursor |
createEditModeCursor(IEditModeController.EditMode mode)
Factory method for the cursors of the various edit modes. |
void |
dragDropEnd(java.awt.dnd.DragSourceDropEvent dsde)
|
void |
dragEnter(java.awt.dnd.DragSourceDragEvent dsde)
|
void |
dragEnter(java.awt.dnd.DropTargetDragEvent dtde)
|
void |
dragExit(java.awt.dnd.DragSourceEvent dse)
|
void |
dragExit(java.awt.dnd.DropTargetEvent dte)
|
void |
dragGestureRecognized(java.awt.dnd.DragGestureEvent dge)
|
void |
dragOver(java.awt.dnd.DragSourceDragEvent dsde)
|
void |
dragOver(java.awt.dnd.DropTargetDragEvent dtde)
|
void |
drop(java.awt.dnd.DropTargetDropEvent dtde)
|
void |
dropActionChanged(java.awt.dnd.DragSourceDragEvent dsde)
|
void |
dropActionChanged(java.awt.dnd.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(java.lang.Class cl)
Returns a drag info renderer for a given timeline object type. |
IDragRowRenderer |
getDragRowRenderer(java.lang.Class cl)
Returns a drag row renderer for a given tree / hierarchy node. |
java.awt.dnd.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(java.lang.Class cl)
Returns an edit mode controller for a given timeline object type. |
java.awt.event.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. |
void |
mouseDragged(java.awt.event.MouseEvent e)
|
void |
mouseMoved(java.awt.event.MouseEvent e)
|
protected void |
paintDragRowRenderers(java.awt.Graphics g)
Paints the drag row renderers during a drag operation. |
protected void |
paintLayer(java.awt.Graphics g)
|
void |
removeDragLayerListener(IDragLayerListener l)
Removes a drag layer listener from the drag layer. |
void |
setDragInfoRenderer(java.lang.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(java.lang.Class objectType,
IDragRowRenderer renderer)
Maps the implementation of a drag row renderer to a tree node type. |
void |
setEditModeController(java.lang.Class objectType,
IEditModeController controller)
Maps the implementation of an edit mode controller to a timeline object type. |
Methods inherited from class com.dlsc.flexgantt.swing.layer.AbstractLayer |
---|
addPropertyChangeListener, getAlpha, getDateline, getEventline, getGanttChart, getLayerContainer, getLayerPolicyProvider, getModel, getName, getStartRow, getTimeAt, getTimeline, getTimeLocation, getTimeSpanUsed, getToolTipText, getTreeTable, getTreeTablePolicyProvider, isVisible, removePropertyChangeListener, repaint, repaint, repaint, setAlpha, setVisible, tearDown |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public DragLayer(LayerContainer lc)
lc
- the layer container to which the drag layer belongsMethod Detail |
---|
public boolean isDragging()
protected void paintLayer(java.awt.Graphics g)
paintLayer
in class AbstractLayer
protected void paintDragRowRenderers(java.awt.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(java.lang.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(java.lang.Class cl)
cl
- the timeline object type in need of rendering
setDragInfoRenderer(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(java.lang.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(java.lang.Class cl)
cl
- the object type of the tree node
setDragRowRenderer(Class, IDragRowRenderer)
,
DefaultDragRowRenderer
public void mouseMoved(java.awt.event.MouseEvent e)
mouseMoved
in interface java.awt.event.MouseMotionListener
public void mouseDragged(java.awt.event.MouseEvent e)
mouseDragged
in interface java.awt.event.MouseMotionListener
public void dragGestureRecognized(java.awt.dnd.DragGestureEvent dge)
dragGestureRecognized
in interface java.awt.dnd.DragGestureListener
protected java.awt.Image createDragImage(ObjectBounds bounds)
bounds
- the object bounds for which to create an image
public void dragDropEnd(java.awt.dnd.DragSourceDropEvent dsde)
dragDropEnd
in interface java.awt.dnd.DragSourceListener
public void dragEnter(java.awt.dnd.DragSourceDragEvent dsde)
dragEnter
in interface java.awt.dnd.DragSourceListener
public void dragExit(java.awt.dnd.DragSourceEvent dse)
dragExit
in interface java.awt.dnd.DragSourceListener
public void dragOver(java.awt.dnd.DragSourceDragEvent dsde)
dragOver
in interface java.awt.dnd.DragSourceListener
public void dropActionChanged(java.awt.dnd.DragSourceDragEvent dsde)
dropActionChanged
in interface java.awt.dnd.DragSourceListener
public void dragEnter(java.awt.dnd.DropTargetDragEvent dtde)
dragEnter
in interface java.awt.dnd.DropTargetListener
public void dragExit(java.awt.dnd.DropTargetEvent dte)
dragExit
in interface java.awt.dnd.DropTargetListener
public void dragOver(java.awt.dnd.DropTargetDragEvent dtde)
dragOver
in interface java.awt.dnd.DropTargetListener
public void drop(java.awt.dnd.DropTargetDropEvent dtde)
drop
in interface java.awt.dnd.DropTargetListener
public void dropActionChanged(java.awt.dnd.DropTargetDragEvent dtde)
dropActionChanged
in interface java.awt.dnd.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(java.lang.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(java.lang.Class cl)
cl
- the timeline object type in need of rendering
setDragInfoRenderer(Class, IDragInfoRenderer)
,
DefaultDragInfoRenderer
protected java.awt.Cursor createEditModeCursor(IEditModeController.EditMode mode)
IconRegistry
via the following
identifiers:
IconId.CURSOR_EDIT_CAPACITY
IconId.CURSOR_EDIT_PERCENTAGE
IconId.CURSOR_CHANGE_START_TIME
IconId.CURSOR_CHANGE_END_TIME
IconId.CURSOR_MOVE_HORIZONTAL
IconId.CURSOR_MOVE_VERTICAL
IconId.CURSOR_MOVE
mode
- the edit mode for which to create a cursor
public IEditModeController.EditMode getEditMode()
public java.awt.dnd.DropTarget getDropTarget()
MultiDropTarget
public java.awt.event.MouseEvent getTriggerEvent()
DragGestureEvent.getTriggerEvent()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |