com.ontimize.gantt.chart
Class GanttChartComponent
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
com.ontimize.gantt.chart.GanttChartComponent
- All Implemented Interfaces:
- java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, javax.swing.Scrollable, java.io.Serializable, javax.swing.event.TreeExpansionListener, javax.swing.event.TreeModelListener
- public class GanttChartComponent
- extends javax.swing.JComponent
- implements javax.swing.Scrollable, javax.swing.event.TreeModelListener, javax.swing.event.TreeExpansionListener
This class implements a Gantt Chart representation. All chart representations are managed
from here task colors, work packages drawings or date ranges to draw.
Notes:
Render to draw work packages (phases and tasks) is DefaultTaskRenderer, but it is
configurable with method setTaskRenderer(TaskRenderer).
Moreover, model for tasks is defined by TaskModel class.
- Author:
- Imatia Innovation
- See Also:
- Serialized Form
| Nested classes inherited from class javax.swing.JComponent |
javax.swing.JComponent.AccessibleJComponent |
| Nested classes inherited from class java.awt.Container |
java.awt.Container.AccessibleAWTContainer |
| Nested classes inherited from class java.awt.Component |
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy |
| 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 |
|
Method Summary |
void |
addNotify()
|
void |
addTaskListener(TaskListener l)
|
void |
checkBounds()
|
void |
clear()
|
protected void |
configureEnclosingScrollPane()
|
protected int |
countTasks()
|
protected int |
countTotalChildren(Task node)
|
protected int |
countVisibleChildren(Task node)
|
protected int |
countVisibleTasks()
|
protected void |
fireTaskChange(TaskEvent taskEvent)
|
long |
getEndDate()
|
java.awt.Component |
getGanttHeader()
|
protected int |
getMaxDescriptionSize(Task node)
|
long[] |
getMinimumBounds()
|
javax.swing.tree.TreeModel |
getModel()
|
double |
getPixelsByDay()
|
protected int |
getPreferredChartWidth()
|
java.awt.Dimension |
getPreferredScrollableViewportSize()
|
java.awt.Dimension |
getPreferredSize()
|
RelationBuilder |
getRelationBuilder()
|
protected int |
getRowForTask(java.util.Hashtable keysValues)
|
protected int |
getRowForTask(int id)
|
int |
getRowForTask(Task tr)
|
int |
getScrollableBlockIncrement(java.awt.Rectangle visibleRect,
int orientation,
int direction)
|
boolean |
getScrollableTracksViewportHeight()
|
boolean |
getScrollableTracksViewportWidth()
|
int |
getScrollableUnitIncrement(java.awt.Rectangle visibleRect,
int orientation,
int direction)
|
long |
getStartDate()
|
protected Task |
getTask(int id)
|
Task |
getTaskAt(java.awt.event.MouseEvent e)
|
protected int |
getTaskCount()
|
int |
getTaskHeight()
|
int |
getTaskHeightPixels()
|
Task |
getTaskInRow(int row)
|
int |
getTaskMargin()
|
TaskRenderer |
getTaskRenderer()
|
protected java.util.ArrayList |
getTasks()
|
protected void |
getTasks(Task task,
java.util.ArrayList l)
|
java.lang.String |
getTooltipText()
|
java.lang.String |
getToolTipText(java.awt.event.MouseEvent e)
|
protected void |
installMouseHandler()
|
boolean |
isEditable()
|
protected boolean |
isExpanded(Task task)
|
protected long |
maxEndDate(Task node)
|
protected long |
minStartDate(Task node)
|
protected void |
paintBackground(java.awt.Graphics g)
|
void |
paintComponent(java.awt.Graphics g)
|
protected void |
paintCurrentDate(java.awt.Graphics g)
|
void |
paintPercentComplete(java.awt.Graphics g,
Task t)
|
void |
paintRelations(java.awt.Graphics g)
|
protected int |
paintRelations(java.awt.Graphics g,
Task task,
int hoffset)
|
protected void |
paintTasks(java.awt.Graphics g)
|
protected int |
paintTasks(java.awt.Graphics g,
Task task,
int hoffset)
|
int |
pixelEnd(Task t)
|
int |
pixelStart(Task t)
|
protected long |
pixelsToTime(int pixels)
|
protected long |
pixelsToTime(int pixels,
long elapsed)
|
protected long |
pixelsToTimeDiff(int pixels)
|
protected int |
pixelTime(long time)
|
protected int |
pixelWidth(Task t)
|
protected void |
recalculateBounds()
recalculateBounds |
void |
removeTaskListener(TaskListener l)
|
void |
repaint()
|
void |
seeAllBounds()
|
void |
setEditable(boolean editable)
|
void |
setJTree(javax.swing.JTree tree)
|
void |
setModel(TaskModel newModel)
|
void |
setPixelsByDay(double p)
|
void |
setRelationBuilder(RelationBuilder relationbuilder)
|
void |
setTaskHeight(int height)
|
void |
setTaskHeightPixels(int taskHeightPixels)
|
void |
setTaskMargin(int taskMargin)
|
void |
setTaskRenderer(TaskRenderer renderer)
|
void |
setTimeBounds(long start,
long end)
|
void |
setTooltipText(java.lang.String tooltipText)
|
void |
treeCollapsed(javax.swing.event.TreeExpansionEvent event)
|
void |
treeExpanded(javax.swing.event.TreeExpansionEvent event)
|
void |
treeNodesChanged(javax.swing.event.TreeModelEvent e)
|
void |
treeNodesInserted(javax.swing.event.TreeModelEvent e)
|
void |
treeNodesRemoved(javax.swing.event.TreeModelEvent e)
|
void |
treeStructureChanged(javax.swing.event.TreeModelEvent e)
|
| Methods inherited from class javax.swing.JComponent |
addAncestorListener, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI |
| Methods inherited from class java.awt.Container |
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, 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 |
taskModel
protected TaskModel taskModel
tree
protected javax.swing.JTree tree
relationPaintManager
protected RelationPaintManager relationPaintManager
oddColor
protected java.awt.Color oddColor
evenColor
protected java.awt.Color evenColor
taskBGColor
protected java.awt.Color taskBGColor
parentTaskBGColor
protected java.awt.Color parentTaskBGColor
taskFGColor
protected java.awt.Color taskFGColor
taskCompleteColor
protected java.awt.Color taskCompleteColor
defaultMilestoneColor
public static java.awt.Color defaultMilestoneColor
intertaskLineColor
protected java.awt.Color intertaskLineColor
currentDateLineColor
protected java.awt.Color currentDateLineColor
borderTaskColor
protected java.awt.Color borderTaskColor
lineColor
protected java.awt.Color lineColor
parentTaskHeightPixels
protected int parentTaskHeightPixels
taskCompleteMargin
protected int taskCompleteMargin
startDate
protected long startDate
endDate
protected long endDate
pixelsByDayPref
protected double pixelsByDayPref
arrowWidth
protected int arrowWidth
tooltipText
protected java.lang.String tooltipText
ganttHeader
protected GanttHeader ganttHeader
relationbuilder
protected RelationBuilder relationbuilder
df
protected java.text.SimpleDateFormat df
editable
protected boolean editable
DAY_IN_MILLIS
public static final long DAY_IN_MILLIS
- See Also:
- Constant Field Values
START_DATE_TOOLTIP
protected static final java.lang.String START_DATE_TOOLTIP
- See Also:
- Constant Field Values
END_DATE_TOOLTIP
protected static final java.lang.String END_DATE_TOOLTIP
- See Also:
- Constant Field Values
COMPLETED
protected static final java.lang.String COMPLETED
- See Also:
- Constant Field Values
mhandler
protected GanttChartComponent.MouseHandler mhandler
renderer
protected TaskRenderer renderer
titleRenderer
protected TitleTaskRenderer titleRenderer
taskListenerList
protected javax.swing.event.EventListenerList taskListenerList
GanttChartComponent
public GanttChartComponent(TaskModel taskModel,
javax.swing.JTree tree)
installMouseHandler
protected void installMouseHandler()
getToolTipText
public java.lang.String getToolTipText(java.awt.event.MouseEvent e)
getTaskHeight
public int getTaskHeight()
setTaskHeight
public void setTaskHeight(int height)
getTaskAt
public Task getTaskAt(java.awt.event.MouseEvent e)
addNotify
public void addNotify()
configureEnclosingScrollPane
protected void configureEnclosingScrollPane()
getGanttHeader
public java.awt.Component getGanttHeader()
setJTree
public void setJTree(javax.swing.JTree tree)
setModel
public void setModel(TaskModel newModel)
setEditable
public void setEditable(boolean editable)
isEditable
public boolean isEditable()
getModel
public javax.swing.tree.TreeModel getModel()
recalculateBounds
protected void recalculateBounds()
- recalculateBounds
setPixelsByDay
public void setPixelsByDay(double p)
getPixelsByDay
public double getPixelsByDay()
setTimeBounds
public void setTimeBounds(long start,
long end)
seeAllBounds
public void seeAllBounds()
clear
public void clear()
getStartDate
public long getStartDate()
getEndDate
public long getEndDate()
getTooltipText
public java.lang.String getTooltipText()
setTooltipText
public void setTooltipText(java.lang.String tooltipText)
minStartDate
protected long minStartDate(Task node)
maxEndDate
protected long maxEndDate(Task node)
getMaxDescriptionSize
protected int getMaxDescriptionSize(Task node)
paintComponent
public void paintComponent(java.awt.Graphics g)
countVisibleChildren
protected int countVisibleChildren(Task node)
countTotalChildren
protected int countTotalChildren(Task node)
countVisibleTasks
protected int countVisibleTasks()
countTasks
protected int countTasks()
getPreferredChartWidth
protected int getPreferredChartWidth()
pixelsToTime
protected long pixelsToTime(int pixels,
long elapsed)
pixelsToTime
protected long pixelsToTime(int pixels)
pixelsToTimeDiff
protected long pixelsToTimeDiff(int pixels)
getPreferredSize
public java.awt.Dimension getPreferredSize()
paintBackground
protected void paintBackground(java.awt.Graphics g)
getRowForTask
public int getRowForTask(Task tr)
getRowForTask
protected int getRowForTask(int id)
getRowForTask
protected int getRowForTask(java.util.Hashtable keysValues)
getTaskInRow
public Task getTaskInRow(int row)
getTask
protected Task getTask(int id)
getTaskCount
protected int getTaskCount()
paintCurrentDate
protected void paintCurrentDate(java.awt.Graphics g)
paintTasks
protected void paintTasks(java.awt.Graphics g)
paintRelations
public void paintRelations(java.awt.Graphics g)
paintRelations
protected int paintRelations(java.awt.Graphics g,
Task task,
int hoffset)
getTasks
protected java.util.ArrayList getTasks()
getTasks
protected void getTasks(Task task,
java.util.ArrayList l)
isExpanded
protected boolean isExpanded(Task task)
paintTasks
protected int paintTasks(java.awt.Graphics g,
Task task,
int hoffset)
paintPercentComplete
public void paintPercentComplete(java.awt.Graphics g,
Task t)
pixelWidth
protected int pixelWidth(Task t)
pixelStart
public int pixelStart(Task t)
pixelEnd
public int pixelEnd(Task t)
pixelTime
protected int pixelTime(long time)
getScrollableTracksViewportHeight
public boolean getScrollableTracksViewportHeight()
- Specified by:
getScrollableTracksViewportHeight in interface javax.swing.Scrollable
getScrollableTracksViewportWidth
public boolean getScrollableTracksViewportWidth()
- Specified by:
getScrollableTracksViewportWidth in interface javax.swing.Scrollable
getPreferredScrollableViewportSize
public java.awt.Dimension getPreferredScrollableViewportSize()
- Specified by:
getPreferredScrollableViewportSize in interface javax.swing.Scrollable
getScrollableBlockIncrement
public int getScrollableBlockIncrement(java.awt.Rectangle visibleRect,
int orientation,
int direction)
- Specified by:
getScrollableBlockIncrement in interface javax.swing.Scrollable
getScrollableUnitIncrement
public int getScrollableUnitIncrement(java.awt.Rectangle visibleRect,
int orientation,
int direction)
- Specified by:
getScrollableUnitIncrement in interface javax.swing.Scrollable
treeNodesChanged
public void treeNodesChanged(javax.swing.event.TreeModelEvent e)
- Specified by:
treeNodesChanged in interface javax.swing.event.TreeModelListener
treeNodesInserted
public void treeNodesInserted(javax.swing.event.TreeModelEvent e)
- Specified by:
treeNodesInserted in interface javax.swing.event.TreeModelListener
treeNodesRemoved
public void treeNodesRemoved(javax.swing.event.TreeModelEvent e)
- Specified by:
treeNodesRemoved in interface javax.swing.event.TreeModelListener
treeStructureChanged
public void treeStructureChanged(javax.swing.event.TreeModelEvent e)
- Specified by:
treeStructureChanged in interface javax.swing.event.TreeModelListener
treeCollapsed
public void treeCollapsed(javax.swing.event.TreeExpansionEvent event)
- Specified by:
treeCollapsed in interface javax.swing.event.TreeExpansionListener
treeExpanded
public void treeExpanded(javax.swing.event.TreeExpansionEvent event)
- Specified by:
treeExpanded in interface javax.swing.event.TreeExpansionListener
getTaskRenderer
public TaskRenderer getTaskRenderer()
setTaskRenderer
public void setTaskRenderer(TaskRenderer renderer)
getMinimumBounds
public long[] getMinimumBounds()
checkBounds
public void checkBounds()
addTaskListener
public void addTaskListener(TaskListener l)
removeTaskListener
public void removeTaskListener(TaskListener l)
fireTaskChange
protected void fireTaskChange(TaskEvent taskEvent)
setRelationBuilder
public void setRelationBuilder(RelationBuilder relationbuilder)
getRelationBuilder
public RelationBuilder getRelationBuilder()
setTaskHeightPixels
public void setTaskHeightPixels(int taskHeightPixels)
getTaskHeightPixels
public int getTaskHeightPixels()
setTaskMargin
public void setTaskMargin(int taskMargin)
getTaskMargin
public int getTaskMargin()
repaint
public void repaint()