com.dlsc.flexgantt.swing
Class AbstractGanttChart

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.AbstractGanttChart
All Implemented Interfaces:
IPagingModelListener, IColumnModelListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible
Direct Known Subclasses:
DualGanttChart, GanttChart, PrintGanttChart, TreeTableContainer

public abstract class AbstractGanttChart
extends javax.swing.JPanel
implements IColumnModelListener, java.beans.PropertyChangeListener, IPagingModelListener

The abstract Gantt chart provides functionality that all Gantt chart implementations have in common:

Since:
1.0
Author:
Dirk Lemmermann
See Also:
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
static java.lang.String PROPERTY_CALENDAR_MODEL
          Constant used for those property change events that get fired when the calendar model changes.
static java.lang.String PROPERTY_CALENDAR_VISIBLE
          Constant used for those property change events that get fired when the calendar layer gets set to be visible/invisible.
static java.lang.String PROPERTY_COLUMN_MODEL
          Constant used for those property change events that get fired when the column model changes.
static java.lang.String PROPERTY_COMMAND_STACK
          Constant used for those property change events that get fired when the command stack of the gantt chart gets set.
static java.lang.String PROPERTY_CONTROLS_BG_COLOR
          Constant used for those property change events that get fired when the controls background color changes.
static java.lang.String PROPERTY_CONTROLS_FG_COLOR
          Constant used for those property change events that get fired when the controls foreground color changes.
static java.lang.String PROPERTY_CROSSHAIR_VISIBLE
          Constant used for those property change events that get fired when the crosshair layer gets set to be visible/invisible.
static java.lang.String PROPERTY_GRID_LINE_MODE
          Constant used for those property change events that get fired when the grid mode changes ( GridLineMode ).
static java.lang.String PROPERTY_KEY_COLUMN_POSITION
          Constant used for those property change events that get fired when the Gantt chart's key column position changes.
static java.lang.String PROPERTY_LABELS_VISIBLE
          Constant used for those property change events that get fired when the relationship layer gets set to be visible/invisible.
static java.lang.String PROPERTY_MODEL
          Constant used for those property change events that get fired when the Gantt chart model changes.
static java.lang.String PROPERTY_PAGING_MODEL
          Constant used for those property change events that get fired when the paging information changes.
static java.lang.String PROPERTY_POLICY_PROVIDER
          Constant used for those property change events that get fired when the policy provider gets replaced.
static java.lang.String PROPERTY_POPUP_VISIBLE
          Constant used for those property change events that get fired when the popup (popup layer) gets set to be visible/invisible.
static java.lang.String PROPERTY_RELATIONS_VISIBLE
          Constant used for those property change events that get fired when the relationship layer gets set to be visible/invisible.
static java.lang.String PROPERTY_ROW_HEADER_WIDTH
          Constant used for those property change events that get fired when the row header width gets changed.
static java.lang.String PROPERTY_ROW_LAYER_VISIBLE
          Constant used for those property change events that get fired when the row layer gets set to be visible/invisible.
static java.lang.String PROPERTY_ROW_RESIZE_POSITION
          Constant used for those property change events that get fired when the position of the row resize changes.
static java.lang.String PROPERTY_TIME_NOW_SCROLLING
          Constant used for those property change events that get fired when the automatic time now scrolling gets turned on / off.
static java.lang.String PROPERTY_TIME_NOW_VISIBLE
          Constant used for those property change events that get fired when the vertical time now line gets set to be visible/invisible.
static java.lang.String PROPERTY_VERTICAL_LINES_ON_TOP
          Constant used for those property change events that get fired when the vertical lines get set to be on top or below the timeline objects.
 
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
protected AbstractGanttChart()
          Constructs a new Gantt chart with the two 'singleton' elements: a timeline (includes dateline and eventline) and a colum header.
protected AbstractGanttChart(IColumnModel columnModel)
          Constructs a new Gantt chart with the two 'singleton' elements: a timeline (includes dateline and eventline) and a colum header.
protected AbstractGanttChart(IComponentFactory compFactory)
          Constructs a new Gantt chart with the two 'singleton' elements: a timeline (includes dateline and eventline) and a colum header.
protected AbstractGanttChart(IGanttChartModel model)
          Constructs a new Gantt chart with the two 'singleton' elements: a timeline (includes dateline and eventline) and a colum header.
protected AbstractGanttChart(IGanttChartModel model, IColumnModel columnModel)
          Constructs a new Gantt chart with the two 'singleton' elements: a timeline (includes dateline and eventline) and a colum header.
protected AbstractGanttChart(IGanttChartModel model, IColumnModel columnModel, IComponentFactory compFactory)
          Constructs a new Gantt chart with the two 'singleton' elements: a timeline (includes dateline and eventline) and a colum header.
protected AbstractGanttChart(IGanttChartModel model, IComponentFactory compFactory)
          Constructs a new Gantt chart with the two 'singleton' elements: a timeline (includes dateline and eventline) and a colum header.
 
Method Summary
 void addAvailableColumn(TreeTableColumn column)
          Adds a column to the Gantt chart that can be added to the column model interactively by the user.
 void addMessage(IMessage msg)
          Adds a message for the user to the Gantt chart.
 void addMessageListener(IMessageListener l)
          Adds a message listener to the Gantt chart.
 void addSortingListener(ISortingListener l)
          Adds a tree table sorting listener to the table.
 void addToolBarAction(javax.swing.Action action)
          Adds an action to the Gantt chart, which will automatically be picked up and shown by the toolbar.
 void alignEndTimes()
          Adjusts the end times of all currently selected and visible timeline objects so that they are all the same.
 void alignStartTimes()
          Adjusts the start times of all currently selected and visible timeline objects so that they are all the same.
 void clearMessages()
          Removes all messages from the Gantt chart.
 void clearToolBarActions()
          Removes all toolbar actions from the Gantt chart.
 void collapseAll()
          Collapses all tree nodes in all tree tables.
 void columnModelChanged(ColumnModelEvent e)
          The listener's callback method that will be invoked when columns get added, removed, inserted.
 void commandExecute(ICommand cmd)
          Executes the given command via the command stack.
 void commandRedo()
          Redoes the last command that was executed (if the command can be redone) by calling ICommandStack.redo(IProgressMonitor).
 void commandUndo()
          Undoes the last command that was executed (if the command can be undone) by calling ICommandStack.undo(IProgressMonitor).
 void expandAll()
          Expands all tree nodes in all tree tables.
protected  void fireMessageAdded(IMessage msg)
          Iterates over all message listeners that are currently attached to the Gantt chart and calls the messageAdded() event method.
protected  void fireMessageRemoved(IMessage msg)
          Iterates over all message listeners that are currently attached to the Gantt chart and calls the messageRemoved() event method.
protected  void fireMessagesCleared()
          Iterates over all message listeners that are currently attached to the Gantt chart and calls the messagesCleared() event method.
protected  void fireSortingEvent(SortingEvent evt)
          Fires a sorting event when the user performed a sort on the Gantt chart.
 java.util.List<TreeTableColumn> getAvailableColumns()
          Returns the list of available columns.
 ICalendarModel getCalendarModel()
          Returns the calendar model associated with the Gantt chart.
 TreeTableColumn getColumn(int index)
          Returns the column at the given index.
 int getColumnCount()
          Returns the number of columns in the column model.
 IColumnModel getColumnModel()
          Returns the Gantt chart's column model.
 ICommandInterceptor getCommandInterceptor(java.lang.Class cl)
          Returns a command interceptor implementation for the given command type.
 ICommandStack getCommandStack()
          Returns the command stack that is being used by the Gantt chart to execute commands.
 IComponentFactory getComponentFactory()
          Returns the component factory used by the Gantt chart to create components such as Timeline, TreeTableHeader, TreeTable, LayerContainer, TreeTableRowHeader.
 java.awt.Color getControlsBackground()
          Returns the color used to paint the background of those controls that 'surround' the actual Gantt chart content (column header, row header, dateline).
 java.awt.Color getControlsForeground()
          Returns the color used to paint the foreground of those controls that 'surround' the actual Gantt chart content (column header, row header, dateline).
 Dateline getDateline()
          Returns the dateline component, which is responsible for rendering the time (days, minutes, seconds, ...).
 IDatelineModel getDatelineModel()
          Returns the dateline model.
 Eventline getEventline()
          Returns the Eventline component, which is responsible for rendering events and activities that have a global character.
abstract  IGridComponent[] getGridComponents()
          Returns all grid components managed by the Gantt chart container.
 GridLineMode getGridLineMode()
          Returns the grid mode used by the Gantt chart.
 KeyColumn getKeyColumn()
          Returns the key column used by the Gantt chart.
 int getKeyColumnPosition()
          Returns the key column position, which specifies how many regular columns will be placed to the left of the key column.
abstract  LayerContainer[] getLayerContainers()
          Returns all layer containers managed by the Gantt chart container.
abstract  LayerContainerScrollPane[] getLayerContainerScrollPanes()
          Returns all layer container scrollpanes managed by the Gantt chart container.
 java.util.Collection<IMessage> getMessages()
          Returns a list of all messages that are currently attached to the Gantt chart.
 IGanttChartModel getModel()
          Returns the Gantt chart's data model.
 IPagingModel getPagingModel()
          Returns the (optional) paging model.
 IPolicyProvider getPolicyProvider()
          Returns the policy provider used by the Gantt chart to lookup policy implementations.
abstract  PrintContext[] getPrintContexts()
          Returns all print context supported by the Gantt chart.
 IProgressMonitorFactory getProgressMonitorFactory()
          Returns the progress monitor factory used by the Gantt chart to create new instances of IProgressMonitor.
 int getRowHeaderWidth()
          Returns the width used to calculate the preferred size of all row headers currently in use by the Gantt chart.
 int getRowResizePosition()
          Gets the position where the row resizing takes place.
 Timeline getTimeline()
          Returns the Timeline component, which consists of the Dateline and the Eventline.
 ITimeSpan getTimeSpan()
          Convenience method, which returns the total time span covered by the Gantt chart.
 javax.swing.Action[] getToolBarActions()
          Returns all toolbar actions currently associated with the Gantt chart.
 TreeTableHeader getTreeTableHeader()
          Returns the tree table header component.
abstract  TreeTable[] getTreeTables()
          Returns all tree tables managed by the Gantt chart container.
abstract  TreeTableScrollPane[] getTreeTableScrollPanes()
          Returns all tree table scrollpanes managed by the Gantt chart container.
protected  void initializeKeyStrokes()
          Registers several actions with the Gantt chart component.
 boolean isCalendarVisible()
          Returns TRUE if the layer that is responsible for displaying calendar information is currently visible.
 boolean isCrosshairVisible()
          Returns TRUE if the layer that is responsible for displaying the crosshair is currently visible.
 boolean isLabelsVisible()
          Returns TRUE if the layer that is responsible for displaying object labels is currently visible.
 boolean isPopupVisible()
          Returns TRUE if the layer that is responsible for displaying the popup is currently visible.
 boolean isRelationsVisible()
          Returns TRUE if the layer that is responsible for displaying object relationships (lines with arrows between timeline objects) is currently visible.
 boolean isRowLayerVisible()
          Returns TRUE if the layer that is responsible for displaying the row renderers is currently visible.
 boolean isTimeNowScrolling()
          Determines whether automatic time now scrolling is turned on or off.
 boolean isTimeNowVisible()
          Returns TRUE if the vertical line that indicates time now is currently visible.
 boolean isVerticalLinesOnTop()
          Returns TRUE if the vertical lines (the major and/or minor grid) will be drawn on top of the timeline objects (the default is below).
 void pageChanged(PagingEvent evt)
          Listener callback method that will be invoked after the page model was changed.
 void pageWillChange(PagingEvent evt)
          Listener callback method that will be invoked before the page model gets changed.
 void paint(java.awt.Graphics g)
           
protected  void paintRowResizePosition(java.awt.Graphics g)
          Renders the visual feedback when the user resizes a row.
 void print(boolean preview)
          Prints the Gantt chart.
abstract  void print(boolean preview, ITimeSpan span)
          Prints the Gantt chart.
 void propertyChange(java.beans.PropertyChangeEvent evt)
           
 void removeAvailableColumn(TreeTableColumn column)
          Removes a column from the list of available columns.
 void removeMessage(IMessage msg)
          Removes a message from the Gantt chart.
 void removeMessageListener(IMessageListener l)
          Removes a message listener from the Gantt chart.
 void removeSortingListener(ISortingListener l)
          Removes a tree table sorting listener from the table.
 void removeToolBarAction(javax.swing.Action action)
          Removes a toolbar action from the Gantt chart.
abstract  void resetToPreferredSizes()
          Causes the Gantt chart to lay out its left- and right-hand side in such a way that the tree table on the left becomes fully visible.
 void setCalendarModel(ICalendarModel model)
          Sets the Gantt chart's calendarModel.
 void setCalendarVisible(boolean visible)
          Specifies whether the layer that is showing the calendar information will be visible or not.
 void setColumnModel(IColumnModel model)
          Assigns a column model to the Gantt chart and attaches listeners to the model itself, to the model's key column and to each of the model's regular columns.
 void setCommandInterceptor(java.lang.Class<? extends ICommand> cl, ICommandInterceptor interceptor)
          Registers a command interceptor implementation for the given command type.
 void setCommandStack(ICommandStack stack)
          Specifies a new command stack for the Gantt chart.
 void setControlsBackground(java.awt.Color color)
          Changes the color used for the background of those controls that 'surround' the actual Gantt chart content (column header, row header, dateline).
 void setControlsForeground(java.awt.Color color)
          Changes the color used for the foreground of those controls that 'surround' the actual Gantt chart content (column header, row header, dateline).
 void setCrosshairVisible(boolean visible)
          Specifies whether the layer that is showing the crosshair will be visible or not.
 void setGranularity(IGranularity granularity)
          Sets a new granularity.
 void setGridLineMode(GridLineMode mode)
          Sets a new grid mode to be used for rendering the vertical lines inside the layer containers.
 void setKeyColumnPosition(int position)
          Specifies at which position the key column will be placed inside the tree table.
 void setLabelsVisible(boolean visible)
          Specifies whether the layer that is showing the timeline object labels will be visible or not.
 void setModel(IGanttChartModel model)
          Specifies a model to be used by the Gantt chart as a data source.
 void setPagingModel(IPagingModel model)
          Sets the (optional) paging model.
 void setPolicyProvider(IPolicyProvider provider)
          Sets the policy provider used by the Gantt chart to lookup policy implementations.
 void setPopupVisible(boolean visible)
          Specifies whether the layer that is showing the popups will be visible or not.
 void setProgressMonitorFactory(IProgressMonitorFactory factory)
          Sets a new factory for progress monitors on the Gantt chart.
 void setRelationsVisible(boolean visible)
          Specifies whether the layer that is showing the relationships between timeline objects will be visible or not.
 void setRowHeaderWidth(int width)
          Sets the width used to calculate the preferred size of all row headers currently in use by the Gantt chart.
 void setRowLayerVisible(boolean visible)
          Specifies whether the layer that is showing the rows will be visible or not.
 void setRowResizePosition(int position)
          Sets the new position where the row resize operation takes place.
 void setTimeNowScrolling(boolean scrolling)
          Enables / disables automatic time now scrolling, which ensures that layer containers will scroll by themselves so that the time now location is always visible.
 void setTimeNowVisible(boolean visible)
          If set to 'true' then a line will be drawn from the top of the panel to the bottom indicating where the time 'now' is.
 void setTimeSpan(ITimeSpan span)
          Sets a new time span.
 void setVerticalLinesOnTop(boolean top)
          Determines whether or not the limit lines are drawn above the diagram entries or below them.
 void showAllObjects()
          Scrolls and zooms the Dateline in such a way that all timeline objects (stored on the currently visible rows) become visible.
 void showEarliestObjects()
          Scrolls the Dateline in such a way that the earliest timeline objects (stored on the currently visible rows) become visible.
 void showLatestObjects()
          Scrolls the Dateline in such a way that the latest timeline objects (stored on the currently visible rows) become visible.
 void showMessage(java.lang.String msg)
          Shows a message in a dialog to the user.
 void showMessage(java.lang.String msg, MessageTypeId id)
          Shows a message in a dialog to the user.
 void showMessage(java.lang.String msg, MessageTypeId id, java.lang.Object details)
          Shows a message in a dialog to the user.
 void showMessageContext(IMessage msg)
          Shows the context of the given message.
 void showMessages()
          Brings up a dialog, which displays the user messages that are currently attached to the Gantt chart.
 void showTime(long time, boolean center)
          Requests that the given time will be shown by the Gantt chart.
 void showTimeNow(boolean center)
          Requests that the time now will be shown by the Gantt chart.
 void sortTables(int[] modelIndices, boolean[] sortDirections)
          Invokes multi-column sorting on the tree tables in the Gantt chart.
 
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, 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
 

Field Detail

PROPERTY_MODEL

public static final java.lang.String PROPERTY_MODEL
Constant used for those property change events that get fired when the Gantt chart model changes.

Since:
1.0
See Also:
setModel(IGanttChartModel), Constant Field Values

PROPERTY_COLUMN_MODEL

public static final java.lang.String PROPERTY_COLUMN_MODEL
Constant used for those property change events that get fired when the column model changes.

Since:
1.0
See Also:
setColumnModel(IColumnModel), Constant Field Values

PROPERTY_CALENDAR_MODEL

public static final java.lang.String PROPERTY_CALENDAR_MODEL
Constant used for those property change events that get fired when the calendar model changes.

Since:
1.0
See Also:
setCalendarModel(ICalendarModel), Constant Field Values

PROPERTY_POLICY_PROVIDER

public static final java.lang.String PROPERTY_POLICY_PROVIDER
Constant used for those property change events that get fired when the policy provider gets replaced.

Since:
1.0
See Also:
setPolicyProvider(IPolicyProvider), Constant Field Values

PROPERTY_COMMAND_STACK

public static final java.lang.String PROPERTY_COMMAND_STACK
Constant used for those property change events that get fired when the command stack of the gantt chart gets set.

Since:
1.0
See Also:
setCommandStack(ICommandStack), Constant Field Values

PROPERTY_ROW_HEADER_WIDTH

public static final java.lang.String PROPERTY_ROW_HEADER_WIDTH
Constant used for those property change events that get fired when the row header width gets changed.

Since:
1.0
See Also:
setRowHeaderWidth(int), Constant Field Values

PROPERTY_GRID_LINE_MODE

public static final java.lang.String PROPERTY_GRID_LINE_MODE
Constant used for those property change events that get fired when the grid mode changes ( GridLineMode ).

Since:
1.0
See Also:
setGridLineMode(GridLineMode), Constant Field Values

PROPERTY_CONTROLS_BG_COLOR

public static final java.lang.String PROPERTY_CONTROLS_BG_COLOR
Constant used for those property change events that get fired when the controls background color changes.

Since:
1.0
See Also:
setControlsBackground(Color), Constant Field Values

PROPERTY_CONTROLS_FG_COLOR

public static final java.lang.String PROPERTY_CONTROLS_FG_COLOR
Constant used for those property change events that get fired when the controls foreground color changes.

Since:
1.0
See Also:
setControlsForeground(Color), Constant Field Values

PROPERTY_CALENDAR_VISIBLE

public static final java.lang.String PROPERTY_CALENDAR_VISIBLE
Constant used for those property change events that get fired when the calendar layer gets set to be visible/invisible.

Since:
1.0
See Also:
setCalendarVisible(boolean), Constant Field Values

PROPERTY_CROSSHAIR_VISIBLE

public static final java.lang.String PROPERTY_CROSSHAIR_VISIBLE
Constant used for those property change events that get fired when the crosshair layer gets set to be visible/invisible.

Since:
1.0
See Also:
setCrosshairVisible(boolean), Constant Field Values

PROPERTY_KEY_COLUMN_POSITION

public static final java.lang.String PROPERTY_KEY_COLUMN_POSITION
Constant used for those property change events that get fired when the Gantt chart's key column position changes.

Since:
1.0
See Also:
setKeyColumnPosition(int), Constant Field Values

PROPERTY_LABELS_VISIBLE

public static final java.lang.String PROPERTY_LABELS_VISIBLE
Constant used for those property change events that get fired when the relationship layer gets set to be visible/invisible.

Since:
1.0
See Also:
setLabelsVisible(boolean), Constant Field Values

PROPERTY_POPUP_VISIBLE

public static final java.lang.String PROPERTY_POPUP_VISIBLE
Constant used for those property change events that get fired when the popup (popup layer) gets set to be visible/invisible.

Since:
1.0
See Also:
setPopupVisible(boolean), Constant Field Values

PROPERTY_RELATIONS_VISIBLE

public static final java.lang.String PROPERTY_RELATIONS_VISIBLE
Constant used for those property change events that get fired when the relationship layer gets set to be visible/invisible.

Since:
1.0
See Also:
setRelationsVisible(boolean), Constant Field Values

PROPERTY_ROW_LAYER_VISIBLE

public static final java.lang.String PROPERTY_ROW_LAYER_VISIBLE
Constant used for those property change events that get fired when the row layer gets set to be visible/invisible.

Since:
1.0
See Also:
setRowLayerVisible(boolean), Constant Field Values

PROPERTY_TIME_NOW_VISIBLE

public static final java.lang.String PROPERTY_TIME_NOW_VISIBLE
Constant used for those property change events that get fired when the vertical time now line gets set to be visible/invisible.

Since:
1.0
See Also:
setTimeNowVisible(boolean), Constant Field Values

PROPERTY_VERTICAL_LINES_ON_TOP

public static final java.lang.String PROPERTY_VERTICAL_LINES_ON_TOP
Constant used for those property change events that get fired when the vertical lines get set to be on top or below the timeline objects.

Since:
1.0
See Also:
setVerticalLinesOnTop(boolean), Constant Field Values

PROPERTY_TIME_NOW_SCROLLING

public static final java.lang.String PROPERTY_TIME_NOW_SCROLLING
Constant used for those property change events that get fired when the automatic time now scrolling gets turned on / off.

Since:
1.0
See Also:
setTimeNowScrolling(boolean), Constant Field Values

PROPERTY_PAGING_MODEL

public static final java.lang.String PROPERTY_PAGING_MODEL
Constant used for those property change events that get fired when the paging information changes.

Since:
1.0
See Also:
setPagingModel(IPagingModel), Constant Field Values

PROPERTY_ROW_RESIZE_POSITION

public static final java.lang.String PROPERTY_ROW_RESIZE_POSITION
Constant used for those property change events that get fired when the position of the row resize changes.

Since:
1.0
See Also:
setRowResizePosition(int), Constant Field Values
Constructor Detail

AbstractGanttChart

protected AbstractGanttChart(IGanttChartModel model,
                             IColumnModel columnModel,
                             IComponentFactory compFactory)
Constructs a new Gantt chart with the two 'singleton' elements: a timeline (includes dateline and eventline) and a colum header. These elements only exist once for each concrete Gantt chart implementation (while tree tables and layer containers can exist multiple times, see DualGanttChart).

The Gantt chart uses a component factory to delegate the creation of these elements.

Parameters:
model - the data model used to populate the tree table, to query the timeline objects, to retrieve the list of timeline layers, etc...
columnModel - the module used by the tree table's column header to query for a list of tree table columns and the key column
compFactory - the factory used to create the elements of a Gantt chart (timeline, dateline, eventline, column header row header, tree table, layer container)
Since:
1.0

AbstractGanttChart

protected AbstractGanttChart(IGanttChartModel model,
                             IColumnModel columnModel)
Constructs a new Gantt chart with the two 'singleton' elements: a timeline (includes dateline and eventline) and a colum header. These elements only exist once for each concrete Gantt chart implementation (while tree tables and layer containers can exist multiple times, see DualGanttChart).

The Gantt chart uses the default component factory implementation to delegate the creation of these elements.

Parameters:
model - the data model used to populate the tree table, to query the timeline objects, to retrieve the list of timeline layers, etc...
columnModel - the module used by the tree table's column header to query for a list of tree table columns and the key column
Since:
1.0
See Also:
DefaultComponentFactory

AbstractGanttChart

protected AbstractGanttChart(IColumnModel columnModel)
Constructs a new Gantt chart with the two 'singleton' elements: a timeline (includes dateline and eventline) and a colum header. These elements only exist once for each concrete Gantt chart implementation (while tree tables and layer containers can exist multiple times, see DualGanttChart).

The Gantt chart uses the default component factory implementation to delegate the creation of these elements.

Parameters:
columnModel - the module used by the tree table's column header to query for a list of tree table columns and the key column
Since:
1.0
See Also:
DefaultComponentFactory

AbstractGanttChart

protected AbstractGanttChart(IGanttChartModel model,
                             IComponentFactory compFactory)
Constructs a new Gantt chart with the two 'singleton' elements: a timeline (includes dateline and eventline) and a colum header. These elements only exist once for each concrete Gantt chart implementation (while tree tables and layer containers can exist multiple times, see DualGanttChart).

The Gantt chart uses the default column model implementation.

Parameters:
model - the data model used to populate the tree table, to query the timeline objects, to retrieve the list of timeline layers, etc...
compFactory - the factory used to create the elements of a Gantt chart (timeline, dateline, eventline, column header row header, tree table, layer container)
Since:
1.0
See Also:
DefaultColumnModel

AbstractGanttChart

protected AbstractGanttChart(IComponentFactory compFactory)
Constructs a new Gantt chart with the two 'singleton' elements: a timeline (includes dateline and eventline) and a colum header. These elements only exist once for each concrete Gantt chart implementation (while tree tables and layer containers can exist multiple times, see DualGanttChart).

The Gantt chart uses the default column model implementation.

Parameters:
compFactory - the factory used to create the elements of a Gantt chart (timeline, dateline, eventline, column header row header, tree table, layer container)
Since:
1.0
See Also:
DefaultColumnModel

AbstractGanttChart

protected AbstractGanttChart(IGanttChartModel model)
Constructs a new Gantt chart with the two 'singleton' elements: a timeline (includes dateline and eventline) and a colum header. These elements only exist once for each concrete Gantt chart implementation (while tree tables and layer containers can exist multiple times, see DualGanttChart).

The Gantt chart uses the default implementations of a component factory and a column model.

Parameters:
model - the data model used to populate the tree table, to query the timeline objects, to retrieve the list of timeline layers, etc...
Since:
1.0
See Also:
DefaultComponentFactory, DefaultColumnModel

AbstractGanttChart

protected AbstractGanttChart()
Constructs a new Gantt chart with the two 'singleton' elements: a timeline (includes dateline and eventline) and a colum header. These elements only exist once for each concrete Gantt chart implementation (while tree tables and layer containers can exist multiple times, see DualGanttChart).

The Gantt chart uses the default Gantt chart model implementation as a data source and the default component factory implementation to delegate the creation of the timeline and the column header. The column model gets provided by the default column model implementation. The time zone gets set to be the JVM's default time zone.

Since:
1.0
See Also:
DefaultGanttChartModel, DefaultColumnModel, DefaultComponentFactory, TimeZone.getDefault()
Method Detail

setModel

public void setModel(IGanttChartModel model)
Specifies a model to be used by the Gantt chart as a data source. Calling this method will cause a property change event if the new model is different than the current model. The event name will be equal to PROPERTY_MODEL.

Parameters:
model - the new Gantt chart model
Since:
1.0
See Also:
getModel()

getModel

public IGanttChartModel getModel()
Returns the Gantt chart's data model.

Returns:
the Gantt chart model
Since:
1.0
See Also:
setModel(IGanttChartModel)

setTimeSpan

public void setTimeSpan(ITimeSpan span)
Sets a new time span. This is a convenience method which delegates its call to IDatelineModel.setTimeSpan(ITimeSpan). The dateline model might throw a DatelineModelException if the time span can not be used. A message will be shown to the user informing him of the problem.

Parameters:
span - the span requested by the application
Since:
1.0

setGranularity

public void setGranularity(IGranularity granularity)
Sets a new granularity. This is a convenience method which delegates its call to IDatelineModel.setGranularity(IGranularity). The dateline model might throw a DatelineModelException if the granularity can not be used. A message will be shown to the user informing him of the problem.

Parameters:
granularity - the granularity requested by the application
Since:
1.0

getTimeSpan

public ITimeSpan getTimeSpan()
Convenience method, which returns the total time span covered by the Gantt chart. 'Covered' means the earliest and the latest time that will be displayed by the dateline and to which the user can scroll with the horizontal scrollbar underneath the layer container.

Returns:
the time span covered by the Gantt chart
Since:
1.0
See Also:
IDatelineModel.getTimeSpan()

setCommandStack

public void setCommandStack(ICommandStack stack)
Specifies a new command stack for the Gantt chart. Calling this method will cause a property change event if the new command stack is different than the current stack. The event name will be equal to PROPERTY_COMMAND_STACK.

Parameters:
stack - the command stack
Since:
1.0
See Also:
DefaultCommandStack, getCommandStack()

getCommandStack

public ICommandStack getCommandStack()
Returns the command stack that is being used by the Gantt chart to execute commands. By default every Gantt charts owns its own stack of type DefaultCommandStack.

Returns:
the command stack
Since:
1.0
See Also:
setCommandStack(ICommandStack), DefaultCommandStack

setCommandInterceptor

public void setCommandInterceptor(java.lang.Class<? extends ICommand> cl,
                                  ICommandInterceptor interceptor)
Registers a command interceptor implementation for the given command type. Interceptors are invoked just before a command gets passed on to the command stack. This allows the application to (for example) prompt the user for confirmation. NULL can be passed for the interceptor instance so that interceptors can be removed.

Parameters:
cl - the command type
interceptor - the interceptor to use before actually executing the command
Since:
1.0
See Also:
getCommandInterceptor(Class), ICommandInterceptor.intercept(AbstractGanttChart, ICommand)

getCommandInterceptor

public ICommandInterceptor getCommandInterceptor(java.lang.Class cl)
Returns a command interceptor implementation for the given command type.

Parameters:
cl - the command type
Returns:
a command interceptor
Since:
1.0
See Also:
setCommandInterceptor(Class, ICommandInterceptor), ICommandInterceptor.intercept(AbstractGanttChart, ICommand)

commandExecute

public void commandExecute(ICommand cmd)
Executes the given command via the command stack. Additionally a newly created progress monitor will be passed to the command stack. The command execution can be monitored by attaching listeners to the command stack.

Parameters:
cmd - the command to execute
Since:
1.0
See Also:
ICommandStack, ICommandStackListener, IProgressMonitor, setProgressMonitorFactory(IProgressMonitorFactory)

commandUndo

public void commandUndo()
Undoes the last command that was executed (if the command can be undone) by calling ICommandStack.undo(IProgressMonitor). The monitor passed to the undo will be created by the Gantt chart's progress monitor factory.

Since:
1.0
See Also:
ICommandStack.undo(IProgressMonitor), ICommandStack.isUndoable(), IProgressMonitor

commandRedo

public void commandRedo()
Redoes the last command that was executed (if the command can be redone) by calling ICommandStack.redo(IProgressMonitor). The monitor passed to the redo will be created by the Gantt chart's progress monitor factory.

Since:
1.0
See Also:
ICommandStack.redo(IProgressMonitor), ICommandStack.isRedoable(), IProgressMonitor

setColumnModel

public void setColumnModel(IColumnModel model)
Assigns a column model to the Gantt chart and attaches listeners to the model itself, to the model's key column and to each of the model's regular columns. A call to this method will cause a property change event to be fired. The event's name will be PROPERTY_COLUMN_MODEL.

Parameters:
model - the column model
Since:
1.0
See Also:
getColumnModel(), DefaultColumnModel, getKeyColumn(), getColumn(int)

getColumnModel

public IColumnModel getColumnModel()
Returns the Gantt chart's column model. A Gantt chart has only one column model because it also only has one column header, which gets shared by all tree tables.

Returns:
the column model
Since:
1.0
See Also:
setColumnModel(IColumnModel), getKeyColumn(), getColumn(int)

getColumn

public TreeTableColumn getColumn(int index)
Returns the column at the given index. This is a convenience method, which delegates to the column model. Note: the key column can not be queried this way. Use getKeyColumn() instead.

Parameters:
index - the index of the column to return
Returns:
the column at the given index
Since:
1.0
See Also:
getKeyColumn()

getColumnCount

public int getColumnCount()
Returns the number of columns in the column model. This method delegates its call to IColumnModel.getColumnCount().

Returns:
the column count
Since:
1.0
See Also:
getColumn(int)

columnModelChanged

public void columnModelChanged(ColumnModelEvent e)
Description copied from interface: IColumnModelListener
The listener's callback method that will be invoked when columns get added, removed, inserted.

Specified by:
columnModelChanged in interface IColumnModelListener
Parameters:
e - the event description

getTreeTableHeader

public TreeTableHeader getTreeTableHeader()
Returns the tree table header component.

Returns:
the Gantt chart's tree table header
Since:
1.0
See Also:
IComponentFactory.createTreeTableHeader(AbstractGanttChart)

getTimeline

public Timeline getTimeline()
Returns the Timeline component, which consists of the Dateline and the Eventline.

Returns:
the Gantt chart's timeline
Since:
1.0
See Also:
IComponentFactory.createTimeline(AbstractGanttChart)

getDateline

public Dateline getDateline()
Returns the dateline component, which is responsible for rendering the time (days, minutes, seconds, ...).

Returns:
the Gantt chart's dateline
Since:
1.0
See Also:
IComponentFactory.createDateline(Timeline)

getDatelineModel

public IDatelineModel getDatelineModel()
Returns the dateline model. This is a convenience method and ultimately calls Dateline.getModel().

Returns:
the dateline model
Since:
1.0

getEventline

public Eventline getEventline()
Returns the Eventline component, which is responsible for rendering events and activities that have a global character.

Returns:
Eventline the Gantt chart's eventline
Since:
1.0
See Also:
IComponentFactory.createEventline(Timeline, Dateline)

addMessage

public void addMessage(IMessage msg)
Adds a message for the user to the Gantt chart. Adding a message will trigger an event to be sent to all IMessageListener that are currently attached to the Gantt chart.

Parameters:
msg - the message that will be added
Since:
1.0
See Also:
removeMessage(IMessage), addMessageListener(IMessageListener), Message, TreePathMessage, TimelineObjectPathMessage

removeMessage

public void removeMessage(IMessage msg)
Removes a message from the Gantt chart. Removing a message will trigger an event to be sent to all IMessageListener that are currently attached to the Gantt chart.

Parameters:
msg - the message that will be added
Since:
1.0
See Also:
addMessage(IMessage), clearMessages(), addMessageListener(IMessageListener), Message, TreePathMessage, TimelineObjectPathMessage

clearMessages

public void clearMessages()
Removes all messages from the Gantt chart. Clearing the messages will trigger an event to be sent to all IMessageListener that are currently attached to the Gantt chart.

Since:
1.0
See Also:
addMessage(IMessage), removeMessage(IMessage), addMessageListener(IMessageListener), Message, TreePathMessage, TimelineObjectPathMessage

getMessages

public java.util.Collection<IMessage> getMessages()
Returns a list of all messages that are currently attached to the Gantt chart.

Returns:
the list of messages that can be presented to the user
Since:
1.0
See Also:
addMessage(IMessage), addMessageListener(IMessageListener)

addMessageListener

public void addMessageListener(IMessageListener l)
Adds a message listener to the Gantt chart. The listener will be informed whenever messages are being added to or removed from the Gantt chart.

Parameters:
l - the message listener
Since:
1.0

removeMessageListener

public void removeMessageListener(IMessageListener l)
Removes a message listener from the Gantt chart.

Parameters:
l - the message listener
Since:
1.0

fireMessageAdded

protected void fireMessageAdded(IMessage msg)
Iterates over all message listeners that are currently attached to the Gantt chart and calls the messageAdded() event method.

Parameters:
msg - the message that was added
Since:
1.0
See Also:
addMessage(IMessage), addMessageListener(IMessageListener)

fireMessageRemoved

protected void fireMessageRemoved(IMessage msg)
Iterates over all message listeners that are currently attached to the Gantt chart and calls the messageRemoved() event method.

Parameters:
msg - the message that was removed
Since:
1.0
See Also:
removeMessage(IMessage), addMessageListener(IMessageListener)

fireMessagesCleared

protected void fireMessagesCleared()
Iterates over all message listeners that are currently attached to the Gantt chart and calls the messagesCleared() event method.

Since:
1.0
See Also:
clearMessages(), addMessageListener(IMessageListener)

showMessages

public void showMessages()
Brings up a dialog, which displays the user messages that are currently attached to the Gantt chart. The user can then use the dialog to navigate to the sources of those events (example: a timeline object that violates scheduling constraints).

Since:
1.0
See Also:
addMessage(IMessage), MessageDialog

paint

public void paint(java.awt.Graphics g)
Overrides:
paint in class javax.swing.JComponent

paintRowResizePosition

protected void paintRowResizePosition(java.awt.Graphics g)
Renders the visual feedback when the user resizes a row. The default implementation will simply draw a thick black line acoss the entire Gantt chart.

Parameters:
g - the graphics context into which to draw
Since:
1.0

print

public void print(boolean preview)
Prints the Gantt chart.

Parameters:
preview - if TRUE a preview dialog will be shown first before printing
Since:
1.0
See Also:
print(boolean, ITimeSpan)

print

public abstract void print(boolean preview,
                           ITimeSpan span)
Prints the Gantt chart.

Parameters:
preview - if TRUE a preview dialog will be shown first before printing
span - the time span that needs to be printed
Since:
1.0

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent evt)
Specified by:
propertyChange in interface java.beans.PropertyChangeListener

showMessage

public void showMessage(java.lang.String msg)
Shows a message in a dialog to the user.

Parameters:
msg - the message to show
Since:
1.0

showMessage

public void showMessage(java.lang.String msg,
                        MessageTypeId id)
Shows a message in a dialog to the user. The message can be an INFORMATION message, a WARNING message, or an ERROR message, depending on the given message type.

Parameters:
msg - the message to show to the user
id - the message type (INFORMATION, WARNING, ERROR)
Since:
1.0

showMessage

public void showMessage(java.lang.String msg,
                        MessageTypeId id,
                        java.lang.Object details)
Shows a message in a dialog to the user. The message can be an INFORMATION message, a WARNING message, or an ERROR message, depending on the given message type. An additional object can provide additional information about the cause of the message.

Parameters:
msg - the message to show to the user
id - the message type (INFORMATION, WARNING, ERROR)
details - some additional information about the cause of the message (for example an Exception)
Since:
1.0

showMessageContext

public void showMessageContext(IMessage msg)
Shows the context of the given message. If the message type is equal to TreePathMessage then the tree path will be opened. If the message is a TimelineObjectPathMessage then the matching timeline object will be shown.

Parameters:
msg - the message for which to show the context
Since:
1.0

showAllObjects

public void showAllObjects()
Scrolls and zooms the Dateline in such a way that all timeline objects (stored on the currently visible rows) become visible.

Since:
1.0

showEarliestObjects

public void showEarliestObjects()
Scrolls the Dateline in such a way that the earliest timeline objects (stored on the currently visible rows) become visible.

Since:
1.0

showLatestObjects

public void showLatestObjects()
Scrolls the Dateline in such a way that the latest timeline objects (stored on the currently visible rows) become visible.

Since:
1.0

showTimeNow

public void showTimeNow(boolean center)
Requests that the time now will be shown by the Gantt chart.

Parameters:
center - if TRUE the time now will be shown in the center / middle of the layer container, otherwise it will be on the left edge of the layer container
Since:
1.0
See Also:
showTime(long, boolean)

showTime

public void showTime(long time,
                     boolean center)
Requests that the given time will be shown by the Gantt chart.

Parameters:
time - the time to make visible
center - if TRUE the time now will be shown in the center / middle of the layer container, otherwise it will be on the left edge of the layer container
Since:
1.0
See Also:
showTimeNow(boolean)

getPrintContexts

public abstract PrintContext[] getPrintContexts()
Returns all print context supported by the Gantt chart. A standard Gantt chart will only return a single print context, a dual Gantt chart will return two contexts, ...

Returns:
all print contexts supported by the Gantt chart
Since:
1.0

getLayerContainerScrollPanes

public abstract LayerContainerScrollPane[] getLayerContainerScrollPanes()
Returns all layer container scrollpanes managed by the Gantt chart container.

Returns:
all layer container scrollpanes
Since:
1.0

getLayerContainers

public abstract LayerContainer[] getLayerContainers()
Returns all layer containers managed by the Gantt chart container.

Returns:
all layer containers
Since:
1.0

getTreeTableScrollPanes

public abstract TreeTableScrollPane[] getTreeTableScrollPanes()
Returns all tree table scrollpanes managed by the Gantt chart container.

Returns:
all tree table scrollpanes
Since:
1.0

getTreeTables

public abstract TreeTable[] getTreeTables()
Returns all tree tables managed by the Gantt chart container.

Returns:
all tree tables
Since:
1.0

getGridComponents

public abstract IGridComponent[] getGridComponents()
Returns all grid components managed by the Gantt chart container. Layer containers and eventlines implement the grid component interface and can be controlled via GridControl instances.

Returns:
all grid components
Since:
1.0

collapseAll

public void collapseAll()
Collapses all tree nodes in all tree tables.

Since:
1.0

expandAll

public void expandAll()
Expands all tree nodes in all tree tables.

Since:
1.0

alignStartTimes

public void alignStartTimes()
Adjusts the start times of all currently selected and visible timeline objects so that they are all the same.

Since:
1.0
See Also:
alignEndTimes()

alignEndTimes

public void alignEndTimes()
Adjusts the end times of all currently selected and visible timeline objects so that they are all the same.

Since:
1.0
See Also:
alignStartTimes()

addSortingListener

public void addSortingListener(ISortingListener l)
Adds a tree table sorting listener to the table. The listener will be informed when the sorting inside the table changes.

Parameters:
l - the tree table sorting listener
Since:
1.0
See Also:
removeSortingListener(ISortingListener)

removeSortingListener

public void removeSortingListener(ISortingListener l)
Removes a tree table sorting listener from the table.

Parameters:
l - the listener to remove
Since:
1.0
See Also:
addSortingListener(ISortingListener)

fireSortingEvent

protected void fireSortingEvent(SortingEvent evt)
Fires a sorting event when the user performed a sort on the Gantt chart.

Parameters:
evt - the event that will be issued
Since:
1.0
See Also:
SortingEvent

sortTables

public void sortTables(int[] modelIndices,
                       boolean[] sortDirections)
Invokes multi-column sorting on the tree tables in the Gantt chart. Each column can be sorted in ascending or descending order. The lengths of the two parameters arrays need to be equal. A call to this method will cause instances of SortingEvent to be sent to all observers, which implement the ISortingListener interface.

Parameters:
modelIndices - the model indices that are used to determine which column values to compare for sorting (use KeyColumn.MODEL_INDEX to specify a sort based on the key column
sortDirections - if TRUE the sort direction will be ascending
Since:
1.0

resetToPreferredSizes

public abstract void resetToPreferredSizes()
Causes the Gantt chart to lay out its left- and right-hand side in such a way that the tree table on the left becomes fully visible.

Since:
1.0

setProgressMonitorFactory

public void setProgressMonitorFactory(IProgressMonitorFactory factory)
Sets a new factory for progress monitors on the Gantt chart.

Parameters:
factory - the new progress monitor factory
Since:
1.0

getProgressMonitorFactory

public IProgressMonitorFactory getProgressMonitorFactory()
Returns the progress monitor factory used by the Gantt chart to create new instances of IProgressMonitor.

Returns:
the Gantt chart's progress monitor factory
Since:
1.0

getComponentFactory

public IComponentFactory getComponentFactory()
Returns the component factory used by the Gantt chart to create components such as Timeline, TreeTableHeader, TreeTable, LayerContainer, TreeTableRowHeader.

Returns:
the Gantt chart's component factory
Since:
1.0

getCalendarModel

public ICalendarModel getCalendarModel()
Returns the calendar model associated with the Gantt chart.

Returns:
the Gantt chart's calendar model
Since:
1.0
See Also:
TimeGranularityCalendarModel

setCalendarModel

public void setCalendarModel(ICalendarModel model)
Sets the Gantt chart's calendarModel.

Parameters:
model - the new calendar model
Since:
1.0
See Also:
TimeGranularityCalendarModel

getPolicyProvider

public IPolicyProvider getPolicyProvider()
Returns the policy provider used by the Gantt chart to lookup policy implementations.

Returns:
the Gantt chart's policy provider
Since:
1.0
See Also:
setPolicyProvider(IPolicyProvider)

setPolicyProvider

public void setPolicyProvider(IPolicyProvider provider)
Sets the policy provider used by the Gantt chart to lookup policy implementations.

Parameters:
provider - the Gantt chart's policy provider
Since:
1.0

getRowHeaderWidth

public int getRowHeaderWidth()
Returns the width used to calculate the preferred size of all row headers currently in use by the Gantt chart. Usually a component's preferred size is stored on the component itself, but in a Gantt chart we have dependencies between multiple row headers and their width needs to stay in sync.

Returns:
the preferred width of all row headers in the Gantt chart
Since:
1.0

setRowHeaderWidth

public void setRowHeaderWidth(int width)
Sets the width used to calculate the preferred size of all row headers currently in use by the Gantt chart. Usually a component's preferred size is stored on the component itself, but in a Gantt chart we have dependencies between multiple row headers and their width needs to stay in sync. Calling this method will trigger a property change event where the property name is equal to PROPERTY_ROW_HEADER_WIDTH.

Parameters:
width - the width used for calculating the row headers preferred size
Since:
1.0

setGridLineMode

public void setGridLineMode(GridLineMode mode)
Sets a new grid mode to be used for rendering the vertical lines inside the layer containers. Setting a new grid mode will trigger a property change event with the name/id set to PROPERTY_GRID_LINE_MODE.

Parameters:
mode - the grid mode
Since:
1.0

getGridLineMode

public GridLineMode getGridLineMode()
Returns the grid mode used by the Gantt chart. Depending on the grid mode the layer containers will draw more or less vertical lines.

Returns:
the active grid mode
Since:
1.0
See Also:
setGridLineMode(GridLineMode)

setControlsBackground

public void setControlsBackground(java.awt.Color color)
Changes the color used for the background of those controls that 'surround' the actual Gantt chart content (column header, row header, dateline). Setting a new color will trigger a property change event with the name/id set to the constant PROPERTY_CONTROLS_BG_COLOR.

Parameters:
color - the controls color
Since:
1.0
See Also:
getControlsBackground()

getControlsBackground

public java.awt.Color getControlsBackground()
Returns the color used to paint the background of those controls that 'surround' the actual Gantt chart content (column header, row header, dateline).

Returns:
Color the color used for drawing the background of various controls such as the column header, the row header, the dateline
Since:
1.0
See Also:
setControlsBackground(Color)

setControlsForeground

public void setControlsForeground(java.awt.Color color)
Changes the color used for the foreground of those controls that 'surround' the actual Gantt chart content (column header, row header, dateline). Setting a new color will trigger a property change event with the name/id set to the constant PROPERTY_CONTROLS_FG_COLOR.

Parameters:
color - the controls color
Since:
1.0
See Also:
getControlsBackground()

getControlsForeground

public java.awt.Color getControlsForeground()
Returns the color used to paint the foreground of those controls that 'surround' the actual Gantt chart content (column header, row header, dateline).

Returns:
Color the color used for drawing the foreground of various controls such as the column header, the row header, the dateline
Since:
1.0
See Also:
setControlsForeground(Color)

isCalendarVisible

public boolean isCalendarVisible()
Returns TRUE if the layer that is responsible for displaying calendar information is currently visible.

Returns:
TRUE if the calendar information is visible
Since:
1.0
See Also:
setCalendarVisible(boolean), CalendarLayer

setCalendarVisible

public void setCalendarVisible(boolean visible)
Specifies whether the layer that is showing the calendar information will be visible or not. Changing the visibility will trigger a property change event with its name equal to PROPERTY_CALENDAR_VISIBLE.

Parameters:
visible - if TRUE the layer will become visible
Since:
1.0
See Also:
CalendarLayer, isCalendarVisible()

getKeyColumnPosition

public int getKeyColumnPosition()
Returns the key column position, which specifies how many regular columns will be placed to the left of the key column. The value of the position is always larger than or equal to 0. It can be larger than the total number of columns. In this case the key column will simply be placed last. This approach is implemented in the ColumnModelIterator.

Returns:
the position of the key columnb
Since:
1.0

isCrosshairVisible

public boolean isCrosshairVisible()
Returns TRUE if the layer that is responsible for displaying the crosshair is currently visible.

Returns:
TRUE if the crosshair (layer) is visible
Since:
1.0
See Also:
setCrosshairVisible(boolean), CrosshairLayer

isLabelsVisible

public boolean isLabelsVisible()
Returns TRUE if the layer that is responsible for displaying object labels is currently visible.

Returns:
TRUE if the labels (layer) is visible
Since:
1.0
See Also:
setLabelsVisible(boolean), LabelLayer

isPopupVisible

public boolean isPopupVisible()
Returns TRUE if the layer that is responsible for displaying the popup is currently visible.

Returns:
TRUE if the popup (layer) is visible
Since:
1.0
See Also:
setPopupVisible(boolean), PopupLayer

isRelationsVisible

public boolean isRelationsVisible()
Returns TRUE if the layer that is responsible for displaying object relationships (lines with arrows between timeline objects) is currently visible.

Returns:
TRUE if the relationships (layer) is visible
Since:
1.0
See Also:
setRelationsVisible(boolean), RelationshipLayer

isRowLayerVisible

public boolean isRowLayerVisible()
Returns TRUE if the layer that is responsible for displaying the row renderers is currently visible.

Returns:
TRUE if the row layer is visible
Since:
1.0
See Also:
setRowLayerVisible(boolean), RowLayer

isTimeNowVisible

public boolean isTimeNowVisible()
Returns TRUE if the vertical line that indicates time now is currently visible.

Returns:
TRUE if the time now line is visible
Since:
1.0
See Also:
setTimeNowVisible(boolean)

isVerticalLinesOnTop

public boolean isVerticalLinesOnTop()
Returns TRUE if the vertical lines (the major and/or minor grid) will be drawn on top of the timeline objects (the default is below).

Returns:
TRUE if the vertical lines are drawn on top of timeline objects
Since:
1.0
See Also:
setVerticalLinesOnTop(boolean)

setCrosshairVisible

public void setCrosshairVisible(boolean visible)
Specifies whether the layer that is showing the crosshair will be visible or not. Changing the visibility will trigger a property change event with the name/id set to the constant PROPERTY_CROSSHAIR_VISIBLE.

Parameters:
visible - if TRUE the layer will become visible
Since:
1.0
See Also:
CrosshairLayer, isCrosshairVisible()

setKeyColumnPosition

public void setKeyColumnPosition(int position)
Specifies at which position the key column will be placed inside the tree table. The default value is 0. A value of N indicates that N columns of the column model will be placed to the left of the key column. The value of the position must be larger than or equal to 0. The position can be larger than the total number of columns returned by the column model. In this case the key column will simply be placed last. This approach is implemented in the ColumnModelIterator. Calling this method will trigger a property change event where the property name equals PROPERTY_KEY_COLUMN_POSITION.b

Parameters:
position - the new position for the key column (must be larger than 0).
Since:
1.0

setLabelsVisible

public void setLabelsVisible(boolean visible)
Specifies whether the layer that is showing the timeline object labels will be visible or not. Changing the visibility will trigger a property change event with its name equal to PROPERTY_LABELS_VISIBLE.

Parameters:
visible - if TRUE the layer will become visible
Since:
1.0
See Also:
LabelLayer, isLabelsVisible()

setPopupVisible

public void setPopupVisible(boolean visible)
Specifies whether the layer that is showing the popups will be visible or not. Changing the visibility will trigger a property change event with the name/id set to the constant PROPERTY_POPUP_VISIBLE.

Parameters:
visible - if TRUE the layer will become visible
Since:
1.0
See Also:
PopupLayer, isPopupVisible()

setRelationsVisible

public void setRelationsVisible(boolean visible)
Specifies whether the layer that is showing the relationships between timeline objects will be visible or not. Changing the visibility will trigger a property change event with the name/id set to the constant PROPERTY_RELATIONS_VISIBLE.

Parameters:
visible - if TRUE the layer will become visible
Since:
1.0
See Also:
RelationshipLayer, isRelationsVisible()

setRowLayerVisible

public void setRowLayerVisible(boolean visible)
Specifies whether the layer that is showing the rows will be visible or not. Changing the visibility will trigger a property change event with the name/id set to the constant PROPERTY_ROW_LAYER_VISIBLE.

Parameters:
visible - if TRUE the layer will become visible
Since:
1.0
See Also:
RowLayer, isRowLayerVisible()

setTimeNowVisible

public void setTimeNowVisible(boolean visible)
If set to 'true' then a line will be drawn from the top of the panel to the bottom indicating where the time 'now' is.

Parameters:
visible - if TRUE the 'time now' cursor (line) will be visible
See Also:
isTimeNowVisible(), TimeNowLayer

setVerticalLinesOnTop

public void setVerticalLinesOnTop(boolean top)
Determines whether or not the limit lines are drawn above the diagram entries or below them. Applications with many entries per diagram might require the limits to be drawn above the entries because otherwise they may not be visible at all. The default is to draw the limits below the entries.

Parameters:
top - if TRUE the vertical (minor, major) grid lines will be drawn on top of the timeline objects
Since:
1.0
See Also:
isVerticalLinesOnTop()

isTimeNowScrolling

public boolean isTimeNowScrolling()
Determines whether automatic time now scrolling is turned on or off.

Returns:
TRUE if time now scrolling is turned on
Since:
1.0
See Also:
setTimeNowScrolling(boolean)

setTimeNowScrolling

public void setTimeNowScrolling(boolean scrolling)
Enables / disables automatic time now scrolling, which ensures that layer containers will scroll by themselves so that the time now location is always visible. The horizontal scrollbar used for scrolling the layer container will be disabled as long as time now scrolling is turned on.

Parameters:
scrolling - if TRUE the time now will always remain visible
Since:
1.0

getPagingModel

public IPagingModel getPagingModel()
Returns the (optional) paging model. A paging control will be added to the Gantt chart if a paging model is specified.

Returns:
the (optional) paging model
Since:
1.0
See Also:
PagingControlPanel

setPagingModel

public void setPagingModel(IPagingModel model)
Sets the (optional) paging model. A paging control will be added to the Gantt chart if a paging model is specified.

Parameters:
model - the paging model
Since:
1.0
See Also:
PagingControlPanel

pageWillChange

public void pageWillChange(PagingEvent evt)
Description copied from interface: IPagingModelListener
Listener callback method that will be invoked before the page model gets changed. Listeners are free to observe the change and to throw a veto exception if they can not permit the change to the model to continue.

Specified by:
pageWillChange in interface IPagingModelListener
Parameters:
evt - an event object that informs the listeners about the change that is about to happen

pageChanged

public void pageChanged(PagingEvent evt)
Description copied from interface: IPagingModelListener
Listener callback method that will be invoked after the page model was changed.

Specified by:
pageChanged in interface IPagingModelListener
Parameters:
evt - an event object that informs the listeners about the change that has happened

addAvailableColumn

public void addAvailableColumn(TreeTableColumn column)
Adds a column to the Gantt chart that can be added to the column model interactively by the user.

Parameters:
column - the column that will be added to the list of available columns
Since:
1.0
See Also:
ColumnChooser, ColumnChooserSelector

removeAvailableColumn

public void removeAvailableColumn(TreeTableColumn column)
Removes a column from the list of available columns. The user will no longer be able to add this column to the column model.

Parameters:
column - the column that will be removed
Since:
1.0

getAvailableColumns

public java.util.List<TreeTableColumn> getAvailableColumns()
Returns the list of available columns. Any column listed in this data structure can be added to the column model by the user.

Returns:
the list of available table columns
Since:
1.0
See Also:
ColumnChooser, ColumnChooserSelector

getKeyColumn

public KeyColumn getKeyColumn()
Returns the key column used by the Gantt chart. This method will first try to retrieve the key column from the column model. If the model does not have a key column then the list of available columns will be searched for one. If no column can be found then an illegal argument exception will be thrown.

Returns:
the Gantt chart's key column
Since:
1.0

getRowResizePosition

public int getRowResizePosition()
Gets the position where the row resizing takes place. This position is used to draw a horizontal line indicating where the resized row will end.

Returns:
the position where the row resize operation takes place
Since:
1.0

setRowResizePosition

public void setRowResizePosition(int position)
Sets the new position where the row resize operation takes place. This is the position where the resized row will end once the user finishes the resizing operation. A glass pane can pick up this location and draw a horizontal line at its place.

Parameters:
position - the new position where the row resize operation takes place
Since:
1.0

initializeKeyStrokes

protected void initializeKeyStrokes()
Registers several actions with the Gantt chart component. These actions can be triggered whenever the Gantt chart or one of its children components has the focus. Subclasses an override this method in order to setup different actions. The list of available actions gets displayed by the status bar.

Since:
1.0
See Also:
StatusBarField.KEY_STROKES

addToolBarAction

public void addToolBarAction(javax.swing.Action action)
Adds an action to the Gantt chart, which will automatically be picked up and shown by the toolbar. The actions will only be shown if added before the toolbar gets created or (when using a multi Gantt chart container) when the user switches between Gantt charts.

Parameters:
action - the action to add
Since:
1.0
See Also:
GanttChartToolBar, removeToolBarAction(Action), clearToolBarActions(), getToolBarActions()

removeToolBarAction

public void removeToolBarAction(javax.swing.Action action)
Removes a toolbar action from the Gantt chart.

Parameters:
action - the action to add
Since:
1.0
See Also:
GanttChartToolBar, addToolBarAction(Action), clearToolBarActions(), getToolBarActions()

clearToolBarActions

public void clearToolBarActions()
Removes all toolbar actions from the Gantt chart.

Since:
1.0
See Also:
GanttChartToolBar, addToolBarAction(Action), removeToolBarAction(Action), getToolBarActions()

getToolBarActions

public javax.swing.Action[] getToolBarActions()
Returns all toolbar actions currently associated with the Gantt chart. The actions will only be shown if added before the toolbar gets created or (when using a multi Gantt chart container) when the user switches between Gantt charts.

Returns:
the actions defined for use in the toolbar
Since:
1.0
See Also:
GanttChartToolBar, addToolBarAction(Action), removeToolBarAction(Action), clearToolBarActions()