FlexGanttFX Developer Manual : 3.1 GanttChart

Introduction

A generic JavaFX control to visualize any kind of scheduling data along a timeline. The model data needed by the control consists of rows with activities, links between activities, and layers to group activities together. 

Structure

The control consists of several children controls:

  • TreeTableView: shown on the left-hand side to display a hierarchical structure of rows
  • GraphicsBase: shown on the right-hand side to display a graphical representation of the model data
  • Timeline: shown above the graphics view. The timeline itself consists of two child controls.
  • Dateline: displays days, weeks, months, years, etc...
  • Eventline: displays various time markers

The screenshot belows shows the initial appearance of an empty Gantt chart control.

Master / Detail Panes

The Gantt chart uses two MasterDetailPane instances from ControlsFX for the high-level layout. The primary master detail pane displays the tree table as its detail node and the secondary master detail pane initially displays a property sheet as its detail node. The property sheet is used at development time and can be replaced with any node by calling setDetail(Node). The property sheet displays a lot of properties that are used by the controls, the renderers, the system layers to fine-tune the appearance of the control. Many of them can be changed at runtime.

Standalone vs. Multi- / DualGanttChart

A Gantt chart can be used standalone or inside a MultiGanttChartContainer or DualGanttChartContainer. When used in one of these containers the position of the Gantt chart becomes important. The control can be the first chart, the last chart, the only chart, or a chart somewhere in the middle. A "first" or "only" chart always displays a timeline. A "middle" or "last" displays a special header (see setGraphicsHeader()). The containers are also the reason why the control distinguishes between a timeline (getTimeline()) and a master timeline (getMasterTimeline()). The master timeline is the one shown by the "first" chart, while the regular timeline is the one that belongs directly to this instance.

Attachments:

gantt-chart.png (image/png)
gantt-chart.png (image/png)