com.dlsc.flexgantt.swing.layer.system
Class DefaultDragInfoRenderer

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by com.dlsc.flexgantt.swing.layer.system.DefaultDragInfoRenderer
All Implemented Interfaces:
IDragInfoRenderer, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.border.Border

public class DefaultDragInfoRenderer
extends javax.swing.JPanel
implements IDragInfoRenderer, javax.swing.border.Border

The default drag info renderer expects the IDragInfoPolicy that is currently being used to return an object that can be serialized via a simple call to Object.toString(). The renderer contains a text area, which will display the serialized object. The renderer additionally features a label at its top, which will use the currently installed ILabelPolicy to lookup a title via the LabelType.DRAG_INFO_TITLE value.

Since:
1.0
Author:
Dirk Lemmermann
See Also:
IDragInfoPolicy, TimeGranularityDragInfoPolicy, ILabelPolicy, DragLayer, Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
DefaultDragInfoRenderer()
          Constructs a new drag info renderer.
 
Method Summary
 java.awt.Color getBackgroundColor1()
          Returns the first background color used for the gradient paint that fills the background.
 java.awt.Color getBackgroundColor2()
          Returns the second background color used for the gradient paint that fills the background.
 java.awt.Insets getBorderInsets(java.awt.Component c)
           
 java.awt.Component getDragInfoRendererComponent(DragLayer layer, java.lang.Object node, java.lang.Object timelineObject, java.lang.Object dragInfo, ITimeSpan span, int dragAction)
          Returns a component that will be used to render the drag information.
 java.awt.Color getLineColor()
          Returns the color used for drawing the border line around the info object.
 javax.swing.JTextArea getTextArea()
          Returns the text area that displays the drag information.
 java.awt.Color getTextColor()
          Returns the color used for the text shown by the info renderer.
 javax.swing.JLabel getTitleLabel()
          Returns the label used to display a short title in the drag info.
 boolean isBorderOpaque()
           
 void paintBorder(java.awt.Component c, java.awt.Graphics g, int x, int y, int width, int height)
           
protected  void paintComponent(java.awt.Graphics g)
           
 void setBackgroundColor1(java.awt.Color color)
          Sets the first background color used for the gradient paint that fills the background.
 void setBackgroundColor2(java.awt.Color color)
          Sets the first background color used for the gradient paint that fills the background.
 void setLineColor(java.awt.Color color)
          Sets the color used for drawing the border line around the info object.
 void setTextColor(java.awt.Color color)
          Sets the color used for the text shown by the info renderer.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, 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, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, 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, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, 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
 

Constructor Detail

DefaultDragInfoRenderer

public DefaultDragInfoRenderer()
Constructs a new drag info renderer.

Since:
1.0
Method Detail

getDragInfoRendererComponent

public java.awt.Component getDragInfoRendererComponent(DragLayer layer,
                                                       java.lang.Object node,
                                                       java.lang.Object timelineObject,
                                                       java.lang.Object dragInfo,
                                                       ITimeSpan span,
                                                       int dragAction)
Description copied from interface: IDragInfoRenderer
Returns a component that will be used to render the drag information.

Specified by:
getDragInfoRendererComponent in interface IDragInfoRenderer
Parameters:
layer - the drag layer where the rendering will take place
node - the tree node that owns the timeline object that is currently being dragged
timelineObject - the dragged timeline object
dragInfo - the drag information object
span - the time span where the drop would take place if the d&d operation finished now
dragAction - the type of drag and drop that is being performed (move, copy) (a value listed in DnDConstants)
Returns:
a renderer component for the drag information

paintComponent

protected void paintComponent(java.awt.Graphics g)
Overrides:
paintComponent in class javax.swing.JComponent

isBorderOpaque

public boolean isBorderOpaque()
Specified by:
isBorderOpaque in interface javax.swing.border.Border

paintBorder

public void paintBorder(java.awt.Component c,
                        java.awt.Graphics g,
                        int x,
                        int y,
                        int width,
                        int height)
Specified by:
paintBorder in interface javax.swing.border.Border

getBorderInsets

public java.awt.Insets getBorderInsets(java.awt.Component c)
Specified by:
getBorderInsets in interface javax.swing.border.Border

getTitleLabel

public javax.swing.JLabel getTitleLabel()
Returns the label used to display a short title in the drag info.

Returns:
the label for the title
Since:
1.0

getTextArea

public javax.swing.JTextArea getTextArea()
Returns the text area that displays the drag information.

Returns:
the text area used for displaying the drag info
Since:
1.0

getBackgroundColor1

public java.awt.Color getBackgroundColor1()
Returns the first background color used for the gradient paint that fills the background.

Returns:
the first background color
Since:
1.0

setBackgroundColor1

public void setBackgroundColor1(java.awt.Color color)
Sets the first background color used for the gradient paint that fills the background.

Parameters:
color - the first background color
Since:
1.0

getBackgroundColor2

public java.awt.Color getBackgroundColor2()
Returns the second background color used for the gradient paint that fills the background.

Returns:
the second background color
Since:
1.0

setBackgroundColor2

public void setBackgroundColor2(java.awt.Color color)
Sets the first background color used for the gradient paint that fills the background.

Parameters:
color - the first background color
Since:
1.0

getLineColor

public java.awt.Color getLineColor()
Returns the color used for drawing the border line around the info object.

Returns:
the border line color
Since:
1.0

setLineColor

public void setLineColor(java.awt.Color color)
Sets the color used for drawing the border line around the info object.

Parameters:
color - the border line color
Since:
1.0

getTextColor

public java.awt.Color getTextColor()
Returns the color used for the text shown by the info renderer.

Returns:
the color used for the info text
Since:
1.0

setTextColor

public void setTextColor(java.awt.Color color)
Sets the color used for the text shown by the info renderer.

Parameters:
color - the color used for the info text
Since:
1.0