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

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.DefaultPopupRenderer
All Implemented Interfaces:
IPopupRenderer, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.border.Border

public class DefaultPopupRenderer
extends javax.swing.JPanel
implements IPopupRenderer, javax.swing.border.Border

A popup renderer implementation that displays a simple text.

Since:
1.0
Author:
Dirk Lemmermann
See Also:
PopupLayer.setPopupRenderer(Class, IPopupRenderer), PopupLayer.getPopupRenderer(Class), 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
DefaultPopupRenderer()
          Constructs a new popup renderer.
 
Method Summary
 javax.swing.JTextArea getArea()
          Returns the text area used for displaying the popup text.
 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.Color getLineColor()
          Returns the color used for drawing the border line around the info object.
 javax.swing.JComponent getPopupRendererComponent(PopupLayer pl, java.lang.Object popupValue, java.lang.Object node, java.lang.Object timelineObject, IGanttChartModel model, boolean pinned)
          Returns the component that will be used as a popup that provides additional information about a timeline object.
protected  java.lang.String getPopupText(java.lang.Object popupValue)
          Converts the given popup value to a String.
 javax.swing.JTextArea getTextArea()
          Returns the text area that is used inside the renderer to display the popup text.
 java.awt.Color getTextColor()
          Returns the color used for the text shown by the info renderer.
protected  javax.swing.Icon getTitleIcon(java.lang.Object popupValue, java.lang.Object node, java.lang.Object timelineObject, IGanttChartModel model)
          Returns an icon that will be shown in the header / title of the popup.
 javax.swing.JLabel getTitleLabel()
          Returns the label that gets used to display the title of the popup.
 boolean isBorderOpaque()
           
 boolean isRenderingArrow()
          Returns TRUE if the renderer will show an arrow that points to the timeline object to which the popup information belongs.
 void paintBorder(java.awt.Component c, java.awt.Graphics g, int x, int y, int width, int height)
           
 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 setRenderingArrow(boolean renderArrow)
          Specifies whether the renderer will show an arrow that points to the timeline object to which the popup information belongs.
 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, paintComponent, 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

DefaultPopupRenderer

public DefaultPopupRenderer()
Constructs a new popup renderer.

Since:
1.0
Method Detail

getPopupRendererComponent

public javax.swing.JComponent getPopupRendererComponent(PopupLayer pl,
                                                        java.lang.Object popupValue,
                                                        java.lang.Object node,
                                                        java.lang.Object timelineObject,
                                                        IGanttChartModel model,
                                                        boolean pinned)
Description copied from interface: IPopupRenderer
Returns the component that will be used as a popup that provides additional information about a timeline object.

Specified by:
getPopupRendererComponent in interface IPopupRenderer
Parameters:
pl - the popup layer that requires a popup
popupValue - the object that represents the input for the popup
node - the tree node that owns the timeline object
timelineObject - the timeline object
model - the data source
pinned - indicates whether the popup is visible because it is sticky (TRUE) or because the mouse cursor hovers over the timeline object (FALSE)
Returns:
a component to be used as a popup
See Also:
IPopupPolicy.getPopupValue(Object, Object, IGanttChartModel, boolean)

getTitleIcon

protected javax.swing.Icon getTitleIcon(java.lang.Object popupValue,
                                        java.lang.Object node,
                                        java.lang.Object timelineObject,
                                        IGanttChartModel model)
Returns an icon that will be shown in the header / title of the popup. The default implementation always returns NULL. Subclasses may override to return an icon that is (for example) based on the timeline object type or maybe the popup value object type.

Parameters:
popupValue - the popup value that will be shown in the popup
node - the tree table node that owns the given timeline object
timelineObject - the timeline object for which a popup is shown
model - the data source that returned the node and the timeline object
Returns:
an icon to be used in the header / title of the popup
Since:
1.0

getPopupText

protected java.lang.String getPopupText(java.lang.Object popupValue)
Converts the given popup value to a String. The value was previously returned from a popup policy. The default implementation of this method will simply call Object.toString() on the popup value. Subclasses may override to return a text that is computed based on the value object.

Parameters:
popupValue - the value returned from the popup policy
Returns:
a text based on the given popup value
Since:
1.0

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

getTextArea

public javax.swing.JTextArea getTextArea()
Returns the text area that is used inside the renderer to display the popup text.

Returns:
a text area that is used to show the popup text
Since:
1.0

getTitleLabel

public javax.swing.JLabel getTitleLabel()
Returns the label that gets used to display the title of the popup.

Returns:
the title label
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

getArea

public javax.swing.JTextArea getArea()
Returns the text area used for displaying the popup text.

Returns:
the text area that is used for showing the text
Since:
1.0

isRenderingArrow

public boolean isRenderingArrow()
Returns TRUE if the renderer will show an arrow that points to the timeline object to which the popup information belongs.

Returns:
TRUE if an arrow gets shown
Since:
1.0

setRenderingArrow

public void setRenderingArrow(boolean renderArrow)
Specifies whether the renderer will show an arrow that points to the timeline object to which the popup information belongs.

Parameters:
renderArrow - if TRUE an arrow gets shown
Since:
1.0