com.dlsc.flexgantt.swing
Interface IComponentFactory

All Known Implementing Classes:
DefaultComponentFactory, SimpleComponentFactory

public interface IComponentFactory

An interface used for factories that are capable of creating the various components that constitute a Gantt chart (timeline, tree table, layer container, row header, column header, ...).

Since:
1.0
Author:
Dirk Lemmermann

Method Summary
 Dateline createDateline(Timeline timeline)
          Creates a new Dateline for the given Gantt chart and timeline.
 Eventline createEventline(Timeline timeline, Dateline dateline)
          Creates a new Eventline for the given Gantt chart and timeline.
 LayerContainer createLayerContainer(AbstractGanttChart gc, TreeTable table, IGanttChartModel model)
          Creates a LayerContainer for the given Gantt chart and tree table combination.
 javax.swing.JComponent createLayerContainerCorner(LayerContainer lc, java.lang.String corner)
          Creates a new component that will be placed in the specified corner of the layer container scrollpane.
 LayerContainerRowHeader createLayerContainerRowHeader(LayerContainer lc)
          Creates a new LayerContainerRowHeader that will be used for the given layer container.
 Timeline createTimeline(AbstractGanttChart gc)
          Creates a new Timeline for the given Gantt chart.
 TreeTable createTreeTable(AbstractGanttChart gc, ITreeTableModel model)
          Creates a TreeTable for the given Gantt chart.
 javax.swing.JComponent createTreeTableCorner(TreeTable table, java.lang.String corner)
          Creates a component that will be placed in the upper left corner of the scrollpane that contains the tree table.
 TreeTableHeader createTreeTableHeader(AbstractGanttChart gc)
          Creates a TreeTableHeader for the given Gantt chart.
 TreeTableRowHeader createTreeTableRowHeader(TreeTable table)
          Creates a new TreeTableRowHeader that will be used for the given tree table.
 

Method Detail

createTimeline

Timeline createTimeline(AbstractGanttChart gc)
Creates a new Timeline for the given Gantt chart. The timeline will forward the given time span and time zone to the dateline that it will also create via the same component factory.

Parameters:
gc - the owner Gantt chart
Returns:
a timeline that covers the given time span and time zone
Since:
1.0
See Also:
createDateline(Timeline), createEventline(Timeline, Dateline)

createDateline

Dateline createDateline(Timeline timeline)
Creates a new Dateline for the given Gantt chart and timeline. The dateline will show times / dates for the given time zone and it will allow the user to scroll across the given time span.

Parameters:
timeline - the parent timeline
Returns:
a dateline that covers the given time span and time zone
Since:
1.0
See Also:
createTimeline(AbstractGanttChart), createEventline(Timeline, Dateline)

createEventline

Eventline createEventline(Timeline timeline,
                          Dateline dateline)
Creates a new Eventline for the given Gantt chart and timeline. The eventline will show global events and activities.

Parameters:
timeline - the parent timeline
dateline - the dateline that is used in the same timeline
Returns:
an eventline for displaying global events and activities
Since:
1.0
See Also:
createDateline(Timeline), createTimeline(AbstractGanttChart)

createTreeTable

TreeTable createTreeTable(AbstractGanttChart gc,
                          ITreeTableModel model)
Creates a TreeTable for the given Gantt chart. The table can use the given model to populate itself with date.

Parameters:
gc - the owner Gantt chart / parent container of the table
model - the date source for the table
Returns:
a tree table that visualizes the given data source
Since:
1.0

createTreeTableHeader

TreeTableHeader createTreeTableHeader(AbstractGanttChart gc)
Creates a TreeTableHeader for the given Gantt chart. A Gantt chart only uses a single column header even if it displays more than one table at a time.

Parameters:
gc - the owner Gantt chart of the header
Returns:
a column header for the left-hand side of the Gantt chart (the table side)
Since:
1.0
See Also:
AbstractGanttChart.getTreeTableHeader()

createTreeTableRowHeader

TreeTableRowHeader createTreeTableRowHeader(TreeTable table)
Creates a new TreeTableRowHeader that will be used for the given tree table. Row headers display toggles for expanding/collapsing tree nodes and also row numbers / outline numbers for each row.

Parameters:
table - the tree table that uses the row header for visualizing row numbers
Returns:
a row header that will be used in combination with the given table
Since:
1.0

createTreeTableCorner

javax.swing.JComponent createTreeTableCorner(TreeTable table,
                                             java.lang.String corner)
Creates a component that will be placed in the upper left corner of the scrollpane that contains the tree table.

Parameters:
table - the table that is wrapped by the scrollpane
corner - the corner where the component will be placed (UPPER_LEFT, UPPER_RIGHT, LOWER_LEFT, LOWER_RIGHT)
Returns:
a component that will be placed in the upper left corner of the tree table scrollpane
Since:
1.0
See Also:
TreeTableScrollPane, JScrollPane.setCorner(String, java.awt.Component)

createLayerContainer

LayerContainer createLayerContainer(AbstractGanttChart gc,
                                    TreeTable table,
                                    IGanttChartModel model)
Creates a LayerContainer for the given Gantt chart and tree table combination. The layer container can utilize the given Gantt chart model to determine how many layers and spreadsheets it has to add to itself.

Parameters:
gc - the owner Gantt chart of the layer container
table - the table to the left of the layer container
model - the model represented by the layer container
Returns:
a layer container that visualizes the various types of layers supported by the framework (system, timeline, custom)
Since:
1.0

createLayerContainerRowHeader

LayerContainerRowHeader createLayerContainerRowHeader(LayerContainer lc)
Creates a new LayerContainerRowHeader that will be used for the given layer container. Layer container row headers can be used for things like the display of a scale for a resource capacity.

Parameters:
lc - the layer container that uses the row header for things like capacity scales
Returns:
a row header that will be used in combination with the given layer container
Since:
1.0

createLayerContainerCorner

javax.swing.JComponent createLayerContainerCorner(LayerContainer lc,
                                                  java.lang.String corner)
Creates a new component that will be placed in the specified corner of the layer container scrollpane.

Parameters:
lc - the layer container
corner - the corner in which to place the component (UPPER_LEFT, UPPER_RIGHT, LOWER_LEFT, LOWER_RIGHT)
Returns:
a user interface component for use in combination with the timeline
Since:
1.0
See Also:
NavigationControlPanel