Each row in the graphics area can display its own header, which will be displayed on the left-hand side of the row. The header always stays in this place and does not scroll when the visible time range changes (e.g. when the user scrolls left or right).

The default row header that ships with FlexGanttFX knows how to display scales when the application uses chart or agenda layouts. The implementation of the default header can be found in the ScaleRowHeader class.

Custom row headers can be created by subclassing GraphicsBase.RowHeader. The item property will be updated whenever the row changes for which the header is used. Just like list or table cells the row header class is an extension of Label, which means that you can completely replace its content by calling setGraphics(Node node) and setContentDisplay(ContentDisplay.GRAPHICS_ONLY).

See also:

public void setRowHeaderFactory(Callback<GraphicsBase<R>, RowHeader<R>> factory);
public void setShowRowHeaders(boolean showRowHeaders);

Note: in older versions of FlexGanttFX the functionality for displaying a row header / scales was found inside the ScaleLayer class. With the introduction of the canvas buffer concept and scrolling via the translateX property it became necessary to change this because the scales were placed in all kinds of places, depending on the translateX property value.