com.javadocking.drag.painter
Class TransparentWindowDockableDragPainter

java.lang.Object
  extended by com.javadocking.drag.painter.TransparentWindowDockableDragPainter
All Implemented Interfaces:
DockableDragPainter

public class TransparentWindowDockableDragPainter
extends java.lang.Object
implements DockableDragPainter

A dockable drag painter that only paints the dockable when the new dock is a FloatDock. The dockable is painted on a transparent window. The given RectanglePainter paints the dockable on this window.

WARNING: this works only for fast computers!

Author:
Heidi Rakels.

Constructor Summary
TransparentWindowDockableDragPainter(RectanglePainter rectanglePainter)
          Constructs a dockable drag painter.
TransparentWindowDockableDragPainter(RectanglePainter rectanglePainter, boolean drawLabel)
          Constructs a dockable drag painter.
 
Method Summary
 void clear()
          Clears everything what was painted by this painter before.
 boolean isDrawLabel()
          Determines if a label has to be painted on the rectangle.
 void paintDockableDrag(Dockable dockable, Dock dock, java.awt.Rectangle rectangle, java.awt.Point locationInDestinationDock)
           Paints a dockable during dragging.
 void setDrawLabel(boolean drawLabel)
          Sets if a label has to be painted on the rectangle.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TransparentWindowDockableDragPainter

public TransparentWindowDockableDragPainter(RectanglePainter rectanglePainter)
Constructs a dockable drag painter.

Parameters:
rectanglePainter - The rectangle painter used by the default drag component factory to paint the dragged dockable on the component.

TransparentWindowDockableDragPainter

public TransparentWindowDockableDragPainter(RectanglePainter rectanglePainter,
                                            boolean drawLabel)
Constructs a dockable drag painter.

Parameters:
rectanglePainter - The rectangle painter used by the default drag component factory to paint the dragged dockable on the component.
drawLabel - True when a label has to be painted on the rectangle.
Method Detail

clear

public void clear()
Description copied from interface: DockableDragPainter
Clears everything what was painted by this painter before.

Specified by:
clear in interface DockableDragPainter

paintDockableDrag

public void paintDockableDrag(Dockable dockable,
                              Dock dock,
                              java.awt.Rectangle rectangle,
                              java.awt.Point locationInDestinationDock)
Description copied from interface: DockableDragPainter

Paints a dockable during dragging.

Usually a rectangle is painted. It shows where the dockable will be docked in the dock, if the mouse would be released at the current mouse position.

Specified by:
paintDockableDrag in interface DockableDragPainter
Parameters:
dockable - The dockable that will be painted.
dock - The dock in which the dockable can be docked.
rectangle - The rectangle that defines, where the given dockable will be docked, if the mouse is released at the current mouse position. The position of the rectangle is relative to the given dock.
locationInDestinationDock - The position of the mouse relative to the given dock.

isDrawLabel

public boolean isDrawLabel()
Determines if a label has to be painted on the rectangle.

Returns:
True when a label has to be painted on the rectangle.

setDrawLabel

public void setDrawLabel(boolean drawLabel)
Sets if a label has to be painted on the rectangle.

Parameters:
drawLabel - True when a label has to be painted on the rectangle.