# Package com.dlsc.flexgantt.swing.layer

The right-hand side of any Gantt chart is a layer container, which is responsible for managing the various layer types.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  ILayerContainerListener | A listener interface that can be implemented by objects that want to be informed about certain changes that can occur inside the layer container.
  ILayerContainerMenuProvider | A menu provider is a convenient way of adding a context sensitive popup menu to the `LayerContainer`.
  ILayerContainerRowHeaderRenderer | An extension of the row header renderer used for rendering the row headers of each row inside a `LayerContainerRowHeader` component.
  ILayerContainerSelectionModel | A selection model used by the layer container to manage the selection of time spans.
  ILayerContainerSelectionModelListener | A listener for use with `ILayerContainerSelectionModel` instances.
  ILayerFactory | Layer factories are used by layer containers in order to create the actual user interface components for the various system layers, object layers, and custom layers.

- Class Summary
  Class | Description
  --- | ---
  AbstractCustomLayer | An abstract superclass for all custom layers.
  AbstractLayer | The abstract superclass of all layers inside a layer container.
  DefaultLayerContainerMenuProvider | A default implementation of a layer container menu provider.
  DefaultLayerContainerRowHeaderRenderer | The default implementation of a row header renderer for the layer container row header.
  DefaultLayerContainerSelectionModel | The default implementation of `ILayerContainerSelectionModel`.
  DefaultLayerFactory | A layer factory implementation.
  DefaultResourceNodeRowHeaderRenderer | The default row header renderer that will be used when the tree table node is of type `DefaultResourceNode`.
  LayerContainer | The layer container is the main user interface component on the right-hand side of the Gantt chart.
  LayerContainerEvent | An event object used by the `LayerContainer` to inform its listeners when changes have occured.
  LayerContainerRowHeader | A row header component used on the left edge of the layer container.
  LayerContainerScrollPane | A scrollpane customized for use with a layer container and a timeline.
  LayerContainerScrollPaneLayout | A specialization of the standard scrollpane layout manager so that additional controls can be shown next to the scrollbars.
  LayerPalette | A panel that provides controls for each layer managed by a given layer container that allow the user to toggle the layer's visibility, to change the layer's position within the container's layer stack, and to change the layer's translucency (alpha channel).
  OverviewPalette | A panel used for rendering an overview of the Gantt chart.
  TimeSpanSelectionEvent | An event object thrown by the `ILayerContainerSelectionModel` whenever time spans have been added to or removed from the model.

- Enum Summary
  Enum | Description
  --- | ---
  LayerContainer.RenderingDirection | An enumerator, which can be used to specify a rendering hint for the framework.
  LayerContainerEvent.ID | An ID enumerator used to distinguish between different types of events.

## Package com.dlsc.flexgantt.swing.layer Description

The right-hand side of any Gantt chart is a layer container, which is responsible for managing the various layer types. There are system, custom and timeline layers. The number of system layers is fixed while the number of custom and timeline layers is variable. System layers are used to provide standard Gantt chart features such as vertical and horizontal grid lines, popups, 'time now' cursor, etc.

Timeline layers are based on information retrieved from the Gantt chart model. Each model returns an array of layer definitions. For each layer definition a transparent timeline layer will be added to the layer container. Timeline layers render the timeline objects associated with the layer definitions. The ordering, the visibility and the opacity of the timeline layers can be changed at runtime. The controls to do so are once again provided by a system layer.

Custom layers can display any kind of information. No custom layers are provided as part of the framework. A custom layer might for example provide some kind of boxing rendering routine that visualizes which timeline objects belong logically together.

Copyright © 2006–2020 Dirk Lemmermann Software & Consulting. All rights reserved.