com.dlsc.flexgantt.swing.layer

## Class LayerContainer

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - javax.swing.JComponent
      - - javax.swing.JPanel
        - - com.dlsc.flexgantt.swing.layer.LayerContainer

- All Implemented Interfaces:
    ICommandStackListener, ICalendarModelListener, IDatelineModelListener, IGanttChartModelListener, ITreeTableModelListener, IGridComponent, ILayerContainerListener, ILayerContainerSelectionModelListener, Autoscroll, MouseListener, MouseMotionListener, ImageObserver, MenuContainer, PropertyChangeListener, Serializable, EventListener, Accessible, TreeExpansionListener, TreeModelListener, TreeSelectionListener

      public class LayerContainer
      extends JPanel
      implements MouseListener, MouseMotionListener, PropertyChangeListener, ICommandStackListener, IGanttChartModelListener, ILayerContainerSelectionModelListener, ICalendarModelListener, IDatelineModelListener, ILayerContainerListener, IGridComponent, Autoscroll, ITreeTableModelListener, TreeSelectionListener, TreeExpansionListener

  The layer container is the main user interface component on the right-hand side of the Gantt chart. It stores and manages the various UI layers that were created based on the layer information retrieved from the Gantt chart model. It also manages spreadsheets and time span selections.
  Since:
    1.0
  Version:
    $Revision: 1.54 $
  Author:
    Dirk Lemmermann
  See Also:
    Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `LayerContainer.RenderingDirection` An enumerator, which can be used to specify a rendering hint for the framework.

    - ### Nested classes/interfaces inherited from class javax.swing.JPanel

      `JPanel.AccessibleJPanel`

    - ### Nested classes/interfaces inherited from class javax.swing.JComponent

      `JComponent.AccessibleJComponent`

    - ### Nested classes/interfaces inherited from class java.awt.Container

      `Container.AccessibleAWTContainer`

    - ### Nested classes/interfaces inherited from class java.awt.Component

      `Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `PROPERTY_ALTERNATING_BACKGROUND` A constant used for property change events that get fired when the alternating background color gets replaced.
    `static String` | `PROPERTY_BOOKMARK_MODEL` Constant used for those property change events that get fired when the bookmark information changes.
    `static String` | `PROPERTY_DRAGGING_ENABLED` A constant used for property change events that get fired when the dragging feature gets globally turned on or off.
    `static String` | `PROPERTY_GRID_GRANULARITY` Constant used for those property change events that get fired when the grid granularity changes.
    `static String` | `PROPERTY_LINKING_ENABLED` A constant used for property change events that get fired when the linking feature gets globally turned on or off.
    `static String` | `PROPERTY_MODEL` A constant used for property change events that get fired when the model changes.
    `static String` | `PROPERTY_POLICY_PROVIDER` A constant used for property change events that get fired when the policy provider gets replaced.
    `static String` | `PROPERTY_SELECTION_MODEL` A constant used for property change events that get fired when the selection model gets replaced.

    - ### Fields inherited from class javax.swing.JComponent

      `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

      `accessibleContext, 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

    Constructors
    Constructor and Description
    `LayerContainer(AbstractGanttChart ganttChart, IGanttChartModel model, TreeTable treeTable, ILayerFactory layerFactory)` Constructs a new layer container.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addGridComponentListener(IGridComponentListener l)` Adds a listener to the grid component.
    `void` | `addHighlightedObject(TimelineObjectPath path)` Adds a single timeline object path to the set of highlighted objects.
    `void` | `addHighlightedObjects(Collection<TimelineObjectPath> paths)` Adds a collection of timeline object paths where each timeline object referenced will be added to the set of highlighted objects.
    `void` | `addLayerContainerListener(ILayerContainerListener l)` Adds a listener to the layer container.
    `void` | `addNotify()` Calls `JComponent.addNotify()` and additionally initializes some colors for the layer container.
    `void` | `alignEndTimes()` Aligns the end times of all currently selected (and visible) timeline objects with each other.
    `void` | `alignStartTimes()` Aligns the start times of all currently selected (and visible) timeline objects with each other.
    `void` | `autoscroll(Point cursorLocn)`
    `void` | `calendarChanged(CalendarModelEvent evt)` Listener callback method that gets invoked whenever the calendar model changes.
    `void` | `clearHighlightedObjects()` Clears the set of highlighted objects.
    `void` | `clearTimelineObjectSelection()` Clears all timeline object selections on all layers, independent of whether the layer is currently visible or not.
    `void` | `clearTimeSpanSelection()` Clears all time span selections.
    `void` | `commandStackChanged(CommandStackEvent evt)` Gets called whenever the command stack changed.
    `void` | `datelineModelChanged(DatelineModelEvent evt)` The listener's callback method that gets invoked when the model's time span or time zone changes.
    `void` | `datelineModelWillChange(DatelineModelEvent evt)` The listener's callback method that gets invoked when the model's time span or time zone will change.
    `void` | `deleteSelectedRelationships()` Deletes all currently selected relationships.This method delegates to `RelationshipLayer.deleteSelectedRelationships()`;
    `void` | `deleteSelectedTimelineObjects()` Deletes all currently selected timeline objects.
    `protected void` | `fireGridChanged()` Informs all grid component listeners that the grid used by the eventline has changed.
    `protected void` | `fireLayerContainerChanged(LayerContainerEvent evt)` Fires a layer container event, which will be sent to all listeners currently attached to the container.
    `void` | `ganttChartChanged(GanttChartModelEvent e)` Callback method that gets invoked whenever change occures in the Gantt chart model that is being observed by the listener.
    `Collection<ObjectBounds>` | `getAllObjectBoundsAt(int x, int y)` Searches for and returns all object bounds for the given coordinates.
    `Collection<ObjectBounds>` | `getAllObjectBoundsAt(MouseEvent evt)` Searches for and returns all object bounds for the coordinates of the given mouse event.
    `Color` | `getAlternatingBackground()` Returns the color used as an alternating background color for odd row numbers.
    `Insets` | `getAutoscrollInsets()`
    `Color` | `getBackground(int row)` Returns the background color for the given row.
    `IBookmarkModel` | `getBookmarkModel()` Returns the (optional) bookmark model.
    `List<TreeTableNode>` | `getClipNodes()` Returns a list of tree table nodes where each node is contained within the current drawing clip.
    `int` | `getClippingExtra()` Returns the number of pixels that will be added to the clipping rectangle during repaint operations of the layer container.
    `AbstractCustomLayer` | `getCustomLayer(ILayer layer)` Returns the customer layer for the given model layer.
    `Dateline` | `getDateline()` Returns the dateline.
    `Eventline` | `getEventline()` Returns the eventline.
    `AbstractGanttChart` | `getGanttChart()` Returns the parent Gantt chart.
    `String` | `getGridComponentName()` Returns the name of the grid component.
    `IGranularity` | `getGridGranularity()` Returns the granularity used for a virtual grid that gets used during drag & drop operations to make timeline objects snap to specific time points rather than just the current drop location.
    `IGridPolicy` | `getGridPolicy()` Returns the grid policy used by the grid component.
    `long` | `getHighlightingDelay()` Returns the delay in milliseconds used by the highlighting thread which makes the highlighted objects blink (default behaviour).
    `long` | `getHighlightingDuration()` Returns the highlighting duration in milliseconds used by the highlighting thread which makes the highlighted objects blink (default behaviour).
    `ILayerFactory` | `getLayerFactory()` Returns the factory that was used to create the various layer UIs.
    `Icon` | `getLayerIcon(ILayer layer)` Returns an icon representation for the given layer.
    `int` | `getLayerIndex(AbstractLayer layer)` Returns the index of the given layer within the list of layers that are currently managed by the layer container.
    `int` | `getLayerIndex(ILayer layer)` Returns the index of the given layer within the layer stack.
    `ILayer[]` | `getLayers()` Returns the layer stack.
    `ILayerContainerMenuProvider` | `getMenuProvider()` Returns a menu provider that can be used by the layer container to lookup a popup menu for a specific context where the context is defined by the tree path, timeline object paths, etc...
    `Dimension` | `getMinimumSize()`
    `IGanttChartModel` | `getModel()` Returns the Gantt chart model.
    `ObjectBounds` | `getObjectBounds(TimelineObjectPath path)` Returns the object bounds for the given timeline object path.
    `ObjectBounds` | `getObjectBoundsAt(int x, int y)` Searches for and returns object bounds for the given coordinates.
    `ObjectBounds` | `getObjectBoundsAt(int x, int y, int proximity)` Searches for and returns object bounds for the given coordinates.
    `ObjectBounds` | `getObjectBoundsAt(MouseEvent evt)` Searches for and returns object bounds for the coordinates of the given mouse event.
    `IPolicyProvider` | `getPolicyProvider()` Returns the layer container's policy provider.
    `JPopupMenu` | `getPopup()` Returns the currently or last used popup menu.
    `Dimension` | `getPreferredSize()`
    `Map<Class,ITimelineObjectRenderer>` | `getRendererMap()` Returns the map that is containing the mapping of timeline object classes to renderers.
    `CellRendererPane` | `getRendererPane()` Returns the shared renderer pane that can be used by the layer UIs to draw objects via renderers.
    `LayerContainer.RenderingDirection` | `getRenderingDirection()` Returns a hint whether the timeline objects will be rendered right to left or left to right (default).
    `IResolutionProvider` | `getResolutionProvider()` Returns the resolution provider used by the layer container.
    `int` | `getRowAt(int y)` Returns the row index at the given vertical location.
    `List<TimelineObjectPath>` | `getSelectedTimelineObjects()` Returns all timeline objects that are currently selected on the visible timeline layers.
    `List<TimelineObjectPath>` | `getSelectedTimelineObjects(ILayer layer)` Returns all timeline objects that are currently selected on the given timeline layer (independent of whether or not the layer is visible).
    `ILayerContainerSelectionModel` | `getSelectionModel()` Returns the selection model associated with the layer container.
    `ITimelineObjectSelectionModel` | `getSelectionModel(ILayer layer)` Returns the selection model for the given layer.
    `int` | `getStartRow()` Returns the first visible row in the currently visible rectangle.
    `<T extends AbstractSystemLayer> T` | `getSystemLayer(Class<T> layerType)` Returns the UI component for the given system layer.
    `Timeline` | `getTimeline()` Returns the timeline.
    `ITimelineObjectEditor` | `getTimelineObjectEditor(Class cl)` Returns a timeline object editor for an object.
    `TimelineObjectLayer` | `getTimelineObjectLayer(ILayer layer)` Returns the timeline object layer for the given model layer.
    `Collection<TimelineObjectLayer>` | `getTimelineObjectLayers()` Returns a collection of all timeline object layers.
    `ITimelineObjectRenderer` | `getTimelineObjectRenderer(Class cl)` Returns a timeline object renderer for an object.
    `Color` | `getTimelineObjectStatusColor(Object status)` Returns the color mapped to the given status object.
    `Icon` | `getTimelineObjectStatusIcon(Object status)` Returns the icon mapped to the given status object.
    `ITimeSpan` | `getTimeSpanUsed()` Returns the time span used by the layer container.
    `TreeTable` | `getTreeTable()` Returns the tree table that is placed to the left of the layer container.
    `protected List<Class<? extends AbstractSystemLayer>>` | `getTypesOfLowerSystemLayers()` Returns those system layers that will be placed below the timeline object layers and the customer layers.
    `protected List<Class<? extends AbstractSystemLayer>>` | `getTypesOfUpperSystemLayers()` Returns those system layers that will be placed above the timeline object layers and the customer layers.
    `ILayer[]` | `getVisibleLayers()` Returns the layer stack of those layers that are currently visible.
    `boolean` | `hasClipNodes()` Determines whether or not the current drawing clip affected any tree table nodes.
    `void` | `hideAllLayers()` Hides all timeline object and custom layers.
    `void` | `hideLayer(ILayer layer)` Hides the layer that belongs to the given model layer.
    `boolean` | `isDraggingEnabled()` Returns TRUE if the layer container generally supports drag and drop operations on timeline objects.
    `boolean` | `isGridAutomatic()` Determines whether the component is using an automatic grid.
    `boolean` | `isGridControlVisible()` Determines whether the UI component used to control the grid is currently visible or not.
    `boolean` | `isHighlighted(TimelineObjectPath path)` Determines if the timeline object specified by the given path is currently a member of the set of highlighted objects.
    `boolean` | `isHighlighting()` Determines whether timeline objects that are contained in the set of highlighted objects shall render themselves highlighted or normal.
    `boolean` | `isIgnoringTreeTableSelection()` Determines whether selections made in the layer container (e.g. via the lasso) will affect the selections made in the tree table.
    `boolean` | `isLayerVisible(ILayer layer)` Checks whether the given model layer has a visible user interface layer.
    `boolean` | `isLinkingEnabled()` Returns TRUE if the layer container generally supports the linking of timeline objects.
    `boolean` | `isPopupShowing()` Determines whether a popup menu is currently in use.
    `boolean` | `isPrimary()` Determines whether the layer container is the primary layer container.
    `void` | `layerContainerChanged(LayerContainerEvent evt)` The listener's callback method that gets invoked by the `LayerContainer` when the container changes.
    `void` | `mouseClicked(MouseEvent evt)`
    `void` | `mouseDragged(MouseEvent evt)`
    `void` | `mouseEntered(MouseEvent evt)`
    `void` | `mouseExited(MouseEvent evt)`
    `void` | `mouseMoved(MouseEvent e)`
    `void` | `mousePressed(MouseEvent evt)`
    `void` | `mouseReleased(MouseEvent evt)`
    `void` | `moveBack(ILayer layer)` Moves the given layer backwards causing the layer's timeline objects to be drawn at a later stage than before.
    `void` | `moveForward(ILayer layer)` Moves the given layer forward causing the layer's timeline objects to be drawn at an earlier stage than before.
    `void` | `moveToBack(ILayer layer)` Moves the given layer to the back so that the layer will be drawn first and all other layers will be drawn after it / on top of it.
    `void` | `moveToFront(ILayer layer)` Moves the given layer to the front so that the layer will be drawn last and all other layers will be drawn before it / below it.
    `void` | `paintComponent(Graphics g)`
    `void` | `propertyChange(PropertyChangeEvent evt)`
    `void` | `removeGridComponentListener(IGridComponentListener l)` Removes a listener from the grid component.
    `void` | `removeHighlightedObjects(Collection<TimelineObjectPath> paths)` Removes a collection of timeline object paths where each timeline object referenced will be removed from the set of highlighted objects
    `void` | `removeLayerContainerListener(ILayerContainerListener l)` Removes a listener from the container
    `void` | `repaintRow(int row)` Repaints the given row only.
    `void` | `selectAllTimelineObjects()` Selects all timeline objects on all layers, independent of whether the layer is currently visible or not.
    `void` | `setAlternatingBackground(Color color)` Sets the color used as an alternating background color for odd row numbers.
    `void` | `setBookmarkModel(IBookmarkModel model)` Sets the (optional) bookmark model.
    `void` | `setClippingExtra(int extra)` Specifies the number of pixels that will be added to the clipping rectangle during repaint operations of the layer container.
    `void` | `setDraggingEnabled(boolean enabled)` Enabled / disables dragging globally.
    `void` | `setGridAutomatic(boolean auto)` Specifies whether the component is using an automatic grid.
    `void` | `setGridControlVisible(boolean b)` Specifies whether the grid control will be visible in the Gantt chart.
    `void` | `setGridGranularity(IGranularity granularity)` Sets the granularity used for a virtual grid that gets used during drag & drop operations to make timeline objects snap to specific time points rather than just the current drop location.
    `void` | `setHighlighting(boolean b)` Sets the highlight flag that will be passed to timeline object renderers to tell them whether those timeline objects contained in the set of highlighted objects are to be rendered highlighted or not.
    `void` | `setHighlightingDelay(long delay)` Sets the delay in milliseconds used by the highlighting thread which makes the highlighted objects blink (default behaviour).
    `void` | `setHighlightingDuration(long duration)` Sets the highlighting duration in milliseconds used by the highlighting thread which makes the highlighted objects blink (default behaviour).
    `void` | `setIgnoringTreeTableSelection(boolean ignore)` Specifies whether selections made in the layer container (e.g. via the lasso) will affect the selections made in the tree table.
    `void` | `setLayerIcon(ILayer layer, Icon icon)` Sets an icon that will be used to represent the given layer in various user interface components, for example in the `LayerPalette`.
    `void` | `setLinkingEnabled(boolean enabled)` Enabled / disables linking timeline objects globally.
    `void` | `setMenuProvider(ILayerContainerMenuProvider provider)` Specifies a menu provider that can be used by the layer container to lookup a popup menu for a specific context where the context is defined by the tree path, timeline object paths, etc...
    `void` | `setModel(IGanttChartModel model)` Sets a new Gantt chart model.
    `void` | `setPolicyProvider(IPolicyProvider provider)` Changes the container's policy provider.
    `void` | `setPrimary(boolean primary)` Specifies that the layer container is the primary layer container.
    `void` | `setRendererMap(Map<Class,ITimelineObjectRenderer> map)` Sets an entire set of timeline object renderers at once.
    `void` | `setRenderingDirection(LayerContainer.RenderingDirection direction)` Provides a hint whether the timeline objects will be rendered right to left or left to right (default).
    `void` | `setResolutionProvider(IResolutionProvider provider)` Sets the resolution provider used by the layer container.
    `void` | `setSelectionModel(ILayerContainerSelectionModel model)` Replaces the current selection model with a new one.
    `void` | `setSelectionModel(ILayer layer, ITimelineObjectSelectionModel model)` Sets a selection model implementation for the given layer.
    `void` | `setTimelineObjectEditor(Class objectType, ITimelineObjectEditor editor)` Maps the implementation of a timeline object editor to a class definition.
    `void` | `setTimelineObjectRenderer(Class objectType, ITimelineObjectRenderer renderer)` Maps the implementation of a timeline object renderer to a class definition.
    `void` | `setTimelineObjectStatusColor(Object status, Color color)` Maps a color to the given status object.
    `void` | `setTimelineObjectStatusIcon(Object status, Icon icon)` Maps an icon to the given status object.
    `void` | `showAllLayers()` Shows all timeline object and custom layers.
    `void` | `showAllObjects()` Scrolls and zooms the `Dateline` in such a way that allf 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` | `showLayer(ILayer layer)` Ensures that the given layer becomes visible.
    `void` | `tearDown()` Tears down the container by invoking `AbstractLayer.tearDown()` on all layers used by the container, indepedent of whether they are currently visible or not.
    `void` | `timeSpansAdded(TimeSpanSelectionEvent evt)` Callback method that gets invoked when time spans have been added to the selection model.
    `void` | `timeSpansRemoved(TimeSpanSelectionEvent evt)` Callback method that gets invoked when time spans have been removed from the selection model.
    `void` | `treeCollapsed(TreeExpansionEvent event)`
    `void` | `treeExpanded(TreeExpansionEvent event)`
    `void` | `treeNodeKeyChanged(TreeTableModelEvent evt)` Callback method that gets invoked if the user edited the key value of a tree table node.
    `void` | `treeNodesChanged(TreeModelEvent e)`
    `void` | `treeNodesInserted(TreeModelEvent e)`
    `void` | `treeNodesRemoved(TreeModelEvent e)`
    `void` | `treeNodeValueChanged(TreeTableModelEvent evt)` Callback method that gets invoked if the user edited a column value of a tree table node.
    `void` | `treeStructureChanged(TreeModelEvent e)`
    `void` | `valueChanged(TreeSelectionEvent e)`

    - ### Methods inherited from class javax.swing.JPanel

      `getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI`

    - ### Methods inherited from class javax.swing.JComponent

      `addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, 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, 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, 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, transferFocusBackward, transferFocusUpCycle`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### PROPERTY_DRAGGING_ENABLED

          public static final String PROPERTY_DRAGGING_ENABLED

      A constant used for property change events that get fired when the dragging feature gets globally turned on or off.
      Since:
        1.0
      See Also:
        Constant Field Values

    - #### PROPERTY_LINKING_ENABLED

          public static final String PROPERTY_LINKING_ENABLED

      A constant used for property change events that get fired when the linking feature gets globally turned on or off.
      Since:
        2.0
      See Also:
        Constant Field Values

    - #### PROPERTY_POLICY_PROVIDER

          public static final String PROPERTY_POLICY_PROVIDER

      A constant used for property change events that get fired when the policy provider gets replaced.
      Since:
        1.0
      See Also:
        Constant Field Values

    - #### PROPERTY_SELECTION_MODEL

          public static final String PROPERTY_SELECTION_MODEL

      A constant used for property change events that get fired when the selection model gets replaced.
      Since:
        1.0
      See Also:
        Constant Field Values

    - #### PROPERTY_ALTERNATING_BACKGROUND

          public static final String PROPERTY_ALTERNATING_BACKGROUND

      A constant used for property change events that get fired when the alternating background color gets replaced.
      Since:
        1.0
      See Also:
        Constant Field Values

    - #### PROPERTY_MODEL

          public static final String PROPERTY_MODEL

      A constant used for property change events that get fired when the model changes.
      Since:
        1.1
      See Also:
        Constant Field Values

    - #### PROPERTY_BOOKMARK_MODEL

          public static final String PROPERTY_BOOKMARK_MODEL

      Constant used for those property change events that get fired when the bookmark information changes.
      Since:
        1.0
      See Also:
        `setBookmarkModel(IBookmarkModel)`, Constant Field Values

    - #### PROPERTY_GRID_GRANULARITY

          public static final String PROPERTY_GRID_GRANULARITY

      Constant used for those property change events that get fired when the grid granularity changes.
      Since:
        1.0
      See Also:
        `setBookmarkModel(IBookmarkModel)`, Constant Field Values

  - ### Constructor Detail

    - #### LayerContainer

          public LayerContainer(AbstractGanttChart ganttChart,
                                IGanttChartModel model,
                                TreeTable treeTable,
                                ILayerFactory layerFactory)

      Constructs a new layer container.
      Parameters:
        `ganttChart` - the parent container
        `model` - the Gantt chart model visualized by the layer container
        `treeTable` - the tree table that belongs to the layer container
        `layerFactory` - the factory used to create the different layer types
      Since:
        1.0

  - ### Method Detail

    - #### calendarChanged

          public void calendarChanged(CalendarModelEvent evt)

      Description copied from interface: `ICalendarModelListener`
      Listener callback method that gets invoked whenever the calendar model changes.
      Specified by:
        `calendarChanged` in interface `ICalendarModelListener`
      Parameters:
        `evt` - the change event with more information on the source of the change

    - #### setModel

          public void setModel(IGanttChartModel model)

      Sets a new Gantt chart model. Makes sure the container removes itself as a listener from the old model and adds itself as a listener to the new model.
      Parameters:
        `model` - the new Gantt chart model
      Since:
        1.0

    - #### ganttChartChanged

          public void ganttChartChanged(GanttChartModelEvent e)

      Description copied from interface: `IGanttChartModelListener`
      Callback method that gets invoked whenever change occures in the Gantt chart model that is being observed by the listener.
      Specified by:
        `ganttChartChanged` in interface `IGanttChartModelListener`
      Parameters:
        `e` - the event object describing the change that took place in the Gantt chart model

    - #### getLayerFactory

          public ILayerFactory getLayerFactory()

      Returns the factory that was used to create the various layer UIs.
      Returns:
        the container's layer factory
      Since:
        1.0

    - #### getTypesOfUpperSystemLayers

          protected List<Class<? extends AbstractSystemLayer>> getTypesOfUpperSystemLayers()

      Returns those system layers that will be placed above the timeline object layers and the customer layers. The system layers will be added to the layer container in the order found in the returned list. The default ordering is:
      - Drop Shadow Layer
      - Drag Layer
      - Lasso Layer
      - Dateline Layer
      - Editing Layer
      - Crosshair Layer
      - Popup Layer
      - Time Now Layer
      - Label Layer
      - Action Layer
      - Spreadsheet Layer
      The default implementation of this method takes into account that the `AbstractGanttChart.isVerticalLinesOnTop()` method controls whether the `GridLayer` will be added to the system layers that are on top or the ones that are on the bottom.
      Returns:
        the order in which system layers will be added above the timeline object and custom layers
      Since:
        1.0
      See Also:
        `getTypesOfLowerSystemLayers()`

    - #### getTypesOfLowerSystemLayers

          protected List<Class<? extends AbstractSystemLayer>> getTypesOfLowerSystemLayers()

      Returns those system layers that will be placed below the timeline object layers and the customer layers. The system layers will be added to the layer container in the order found in the returned list. The default ordering is:
      - Relationship Layer
      - Link Layer
      - Eventline Layer
      - Selection Layer
      - Row Layer
      - Calendar Layer
      - Background Layer
      The default implementation of this method takes into account that the `AbstractGanttChart.isVerticalLinesOnTop()` method controls whether the `GridLayer` will be added to the system layers that are on top or the ones that are on the bottom.
      Returns:
        the order in which system layers will be added above the timeline object and custom layers
      Since:
        1.0
      See Also:
        `getTypesOfUpperSystemLayers()`

    - #### getLayerIndex

          public int getLayerIndex(AbstractLayer layer)

      Returns the index of the given layer within the list of layers that are currently managed by the layer container. Layers in the list are drawn in the order stored in the list. Since the background layer always gets drawn first its index is 0.
      Parameters:
        `layer` - the layer for which to return the index
      Returns:
        the layer's index
      Since:
        1.0

    - #### getSystemLayer

          public <T extends AbstractSystemLayer> T getSystemLayer(Class<T> layerType)

      Returns the UI component for the given system layer.
      Type Parameters:
        `T` - the type of the system layer
      Parameters:
        `layerType` - the system layer type
      Returns:
        the UI component for the given system layer ID
      Since:
        1.0

    - #### getObjectBoundsAt

          public ObjectBounds getObjectBoundsAt(int x,
                                                int y)

      Searches for and returns object bounds for the given coordinates. Only currently visible layers will be considered.
      Parameters:
        `x` - the x-coordinate
        `y` - the y-coordinate
      Returns:
        the object bounds at the given location
      Since:
        1.0

    - #### getObjectBoundsAt

          public ObjectBounds getObjectBoundsAt(int x,
                                                int y,
                                                int proximity)

      Searches for and returns object bounds for the given coordinates. Only currently visible layers will be considered.
      Parameters:
        `x` - the x-coordinate
        `y` - the y-coordinate
        `proximity` - controls whether to find objects that are within the proximity of the given location, objects that are "close enough"
      Returns:
        the object bounds at the given location
      Since:
        1.0

    - #### getObjectBoundsAt

          public ObjectBounds getObjectBoundsAt(MouseEvent evt)

      Searches for and returns object bounds for the coordinates of the given mouse event. Only currently visible layers will be considered.
      Parameters:
        `evt` - the mouse event
      Returns:
        the object bounds at the location of the given mouse event
      Since:
        1.1

    - #### getAllObjectBoundsAt

          public Collection<ObjectBounds> getAllObjectBoundsAt(int x,
                                                               int y)

      Searches for and returns all object bounds for the given coordinates. Only currently visible layers will be considered.
      Parameters:
        `x` - the x-coordinate
        `y` - the y-coordinate
      Returns:
        all object bounds at the given location
      Since:
        1.0
      See Also:
        `getObjectBoundsAt(int, int)`

    - #### getAllObjectBoundsAt

          public Collection<ObjectBounds> getAllObjectBoundsAt(MouseEvent evt)

      Searches for and returns all object bounds for the coordinates of the given mouse event. Only currently visible layers will be considered.
      Parameters:
        `evt` - the mouse event
      Returns:
        the object bounds at the location of the given mouse event
      Since:
        1.1

    - #### getObjectBounds

          public ObjectBounds getObjectBounds(TimelineObjectPath path)

      Returns the object bounds for the given timeline object path.
      Parameters:
        `path` - the path to locate the timeline object
      Returns:
        the object bounds for the given path
      Since:
        1.0

    - #### getSelectedTimelineObjects

          public List<TimelineObjectPath> getSelectedTimelineObjects()

      Returns all timeline objects that are currently selected on the visible timeline layers.
      Returns:
        a list of all selected (and visible) timeline objects
      Since:
        1.0

    - #### getSelectedTimelineObjects

          public List<TimelineObjectPath> getSelectedTimelineObjects(ILayer layer)

      Returns all timeline objects that are currently selected on the given timeline layer (independent of whether or not the layer is visible).
      Parameters:
        `layer` - the layer for which to return the selected timeline objects
      Returns:
        a list of all selected timeline objects on the given layer
      Since:
        1.0

    - #### getTimelineObjectLayer

          public TimelineObjectLayer getTimelineObjectLayer(ILayer layer)

      Returns the timeline object layer for the given model layer.
      Parameters:
        `layer` - the model layer
      Returns:
        the UI component for the given model layer
      Since:
        1.0

    - #### getTimelineObjectLayers

          public Collection<TimelineObjectLayer> getTimelineObjectLayers()

      Returns a collection of all timeline object layers.
      Returns:
        all timeline layers
      Since:
        1.0

    - #### getCustomLayer

          public AbstractCustomLayer getCustomLayer(ILayer layer)

      Returns the customer layer for the given model layer. The model layer has to be a custom layer specification.
      Parameters:
        `layer` - the model layer
      Returns:
        the custom layer for the given model layer
      Since:
        1.0
      See Also:
        `ILayer.isCustomLayer()`

    - #### addNotify

          public void addNotify()

      Calls `JComponent.addNotify()` and additionally initializes some colors for the layer container. The colors are based on colors retrieved from the tree table.
      Overrides:
        `addNotify` in class `JComponent`
      Since:
        1.0
      See Also:
        `JPanel.updateUI()`

    - #### getPreferredSize

          public Dimension getPreferredSize()

      Overrides:
        `getPreferredSize` in class `JComponent`

    - #### getMinimumSize

          public Dimension getMinimumSize()

      Overrides:
        `getMinimumSize` in class `JComponent`

    - #### getTimeline

          public Timeline getTimeline()

      Returns the timeline. This is a convenience method delegating to `AbstractGanttChart.getTimeline()`.
      Returns:
        the Gantt chart's timeline
      Since:
        1.0
      See Also:
        `getDateline()`, `getEventline()`

    - #### getDateline

          public Dateline getDateline()

      Returns the dateline. This is a convenience method delegating to `Timeline.getDateline()`.
      Returns:
        the Gantt chart's dateline
      Since:
        1.0
      See Also:
        `getTimeline()`, `getEventline()`

    - #### getEventline

          public Eventline getEventline()

      Returns the eventline. This is a convenience method delegating to `Timeline.getEventline()`.
      Returns:
        the Gantt chart's dateline
      Since:
        1.0
      See Also:
        `getTimeline()`, `getDateline()`

    - #### getModel

          public IGanttChartModel getModel()

      Returns the Gantt chart model.
      Returns:
        the model
      Since:
        1.0

    - #### getGanttChart

          public AbstractGanttChart getGanttChart()

      Returns the parent Gantt chart.
      Returns:
        the Gantt chart parent
      Since:
        1.0

    - #### getTreeTable

          public TreeTable getTreeTable()

      Returns the tree table that is placed to the left of the layer container.
      Returns:
        the tree table
      Since:
        1.0

    - #### getBackground

          public Color getBackground(int row)

      Returns the background color for the given row. If an alternating background color has been specified then this method will return it for any even row number.
      Parameters:
        `row` - the row for which to return a background color
      Returns:
        a background color for the given row
      Since:
        1.0

    - #### getRowAt

          public int getRowAt(int y)

      Returns the row index at the given vertical location.
      Parameters:
        `y` - the y-coordinate for which to return a row number
      Returns:
        the row at the given location
      Since:
        1.0

    - #### getTimeSpanUsed

          public ITimeSpan getTimeSpanUsed()

      Returns the time span used by the layer container. The span depends on the time spans used by the individual custom and timeline layers. The method will only consider the currently visible timeline object layers.
      Returns:
        the time span used by the layer container
      Since:
        1.0
      See Also:
        `AbstractLayer.getTimeSpanUsed()`

    - #### getStartRow

          public int getStartRow()

      Returns the first visible row in the currently visible rectangle. The layer container caches this value for the layers. This way we save a lot of calls to the binary search method `TreeTable.getRowAt(int)`
      Returns:
        the first visible row
      Since:
        1.0

    - #### paintComponent

          public void paintComponent(Graphics g)

      Overrides:
        `paintComponent` in class `JComponent`

    - #### commandStackChanged

          public void commandStackChanged(CommandStackEvent evt)

      Description copied from interface: `ICommandStackListener`
      Gets called whenever the command stack changed. The event object that is passed to this method contains information about the type of event and a reference to the command that caused the event.
      Specified by:
        `commandStackChanged` in interface `ICommandStackListener`
      Parameters:
        `evt` - the event issued by the command stack

    - #### propertyChange

          public void propertyChange(PropertyChangeEvent evt)

      Specified by:
        `propertyChange` in interface `PropertyChangeListener`

    - #### getLayers

          public ILayer[] getLayers()

      Returns the layer stack. The timeline and custom layer UIs are added in the same order as this array. The stack does not express whether a layer is currently visible or not.
      Returns:
        the layer stack
      Since:
        1.0
      See Also:
        `getVisibleLayers()`, `moveBack(ILayer)`, `moveForward(ILayer)`, `moveToBack(ILayer)`, `moveToFront(ILayer)`

    - #### getVisibleLayers

          public ILayer[] getVisibleLayers()

      Returns the layer stack of those layers that are currently visible. The timeline and custom layer UIs are added in the same order as this array.
      Returns:
        the (visible) layer stack
      Since:
        1.0
      See Also:
        `getLayers()`

    - #### isLayerVisible

          public boolean isLayerVisible(ILayer layer)

      Checks whether the given model layer has a visible user interface layer.
      Parameters:
        `layer` - the model layer to check for visibility
      Returns:
        TRUE if the model layer is currently visualized
      Since:
        1.0

    - #### moveToBack

          public void moveToBack(ILayer layer)

      Moves the given layer to the back so that the layer will be drawn first and all other layers will be drawn after it / on top of it. The layer's timeline objects will appear as if they were physically placed all the way in the background.
      Parameters:
        `layer` - the layer that will be moved to the back
      Since:
        1.0
      See Also:
        `moveToFront(ILayer)`, `moveBack(ILayer)`, `moveForward(ILayer)`

    - #### moveToFront

          public void moveToFront(ILayer layer)

      Moves the given layer to the front so that the layer will be drawn last and all other layers will be drawn before it / below it. The layer's timeline objects will appear as if they were physically placed in front of all other timeline objects.
      Parameters:
        `layer` - the layer that will be moved to the front
      Since:
        1.0
      See Also:
        `moveToBack(ILayer)`, `moveBack(ILayer)`, `moveForward(ILayer)`

    - #### moveBack

          public void moveBack(ILayer layer)

      Moves the given layer backwards causing the layer's timeline objects to be drawn at a later stage than before. Some objects that used to be drawn below the layer's objects might now show up on top of them.
      Parameters:
        `layer` - the layer that will be moved backwards
      Since:
        1.0
      See Also:
        `moveForward(ILayer)`, `moveToBack(ILayer)`, `moveToFront(ILayer)`

    - #### moveForward

          public void moveForward(ILayer layer)

      Moves the given layer forward causing the layer's timeline objects to be drawn at an earlier stage than before. Some objects that used to be drawn on top of the layer's objects might now show up below them.
      Parameters:
        `layer` - the layer that will be moved backwards
      Since:
        1.0
      See Also:
        `moveForward(ILayer)`, `moveToBack(ILayer)`, `moveToFront(ILayer)`

    - #### getLayerIndex

          public int getLayerIndex(ILayer layer)

      Returns the index of the given layer within the layer stack. The method takes all layers into account, not just the visible ones.
      Parameters:
        `layer` - the layer for which to return the index
      Returns:
        the layer's index within the layer stack (-1 if layer is not a member of the container)
      Since:
        1.0
      See Also:
        `getLayers()`

    - #### showLayer

          public void showLayer(ILayer layer)

      Ensures that the given layer becomes visible.
      Parameters:
        `layer` - the layer to show
      Since:
        1.0
      See Also:
        `hideLayer(ILayer)`

    - #### showAllLayers

          public void showAllLayers()

      Shows all timeline object and custom layers.
      Since:
        1.0

    - #### hideLayer

          public void hideLayer(ILayer layer)

      Hides the layer that belongs to the given model layer.
      Parameters:
        `layer` - the layer to hide
      Since:
        1.0
      See Also:
        `showLayer(ILayer)`

    - #### hideAllLayers

          public void hideAllLayers()

      Hides all timeline object and custom layers.
      Since:
        1.0

    - #### alignStartTimes

          public void alignStartTimes()

      Aligns the start times of all currently selected (and visible) timeline objects with each other. After this operation all selected timeline objects will have the same start time.
      Since:
        1.0
      See Also:
        `alignEndTimes()`

    - #### alignEndTimes

          public void alignEndTimes()

      Aligns the end times of all currently selected (and visible) timeline objects with each other. After this operation all selected timeline objects will have the same end time.
      Since:
        1.0
      See Also:
        `alignStartTimes()`

    - #### mouseClicked

          public void mouseClicked(MouseEvent evt)

      Specified by:
        `mouseClicked` in interface `MouseListener`

    - #### mouseEntered

          public void mouseEntered(MouseEvent evt)

      Specified by:
        `mouseEntered` in interface `MouseListener`

    - #### mouseExited

          public void mouseExited(MouseEvent evt)

      Specified by:
        `mouseExited` in interface `MouseListener`

    - #### mousePressed

          public void mousePressed(MouseEvent evt)

      Specified by:
        `mousePressed` in interface `MouseListener`

    - #### mouseReleased

          public void mouseReleased(MouseEvent evt)

      Specified by:
        `mouseReleased` in interface `MouseListener`

    - #### mouseDragged

          public void mouseDragged(MouseEvent evt)

      Specified by:
        `mouseDragged` in interface `MouseMotionListener`

    - #### mouseMoved

          public void mouseMoved(MouseEvent e)

      Specified by:
        `mouseMoved` in interface `MouseMotionListener`

    - #### getPolicyProvider

          public IPolicyProvider getPolicyProvider()

      Returns the layer container's policy provider.
      Returns:
        the container's policy provider
      Since:
        1.0

    - #### setPolicyProvider

          public void setPolicyProvider(IPolicyProvider provider)

      Changes the container's policy provider. Calling this method will cause a property change event to be fired where the property name is equal to `PROPERTY_POLICY_PROVIDER`.
      Parameters:
        `provider` - the new policy provider
      Since:
        1.0
      See Also:
        `getPolicyProvider()`

    - #### setDraggingEnabled

          public void setDraggingEnabled(boolean enabled)

      Enabled / disables dragging globally. Calling this method will cause a property change event to be fired where the property name is equal to `PROPERTY_DRAGGING_ENABLED`.
      Parameters:
        `enabled` - enables / disables dragging
      Since:
        1.0
      See Also:
        `isDraggingEnabled()`

    - #### isDraggingEnabled

          public boolean isDraggingEnabled()

      Returns TRUE if the layer container generally supports drag and drop operations on timeline objects.
      Returns:
        TRUE if the layer container supports DnD
      Since:
        1.0
      See Also:
        `setDraggingEnabled(boolean)`

    - #### setLinkingEnabled

          public void setLinkingEnabled(boolean enabled)

      Enabled / disables linking timeline objects globally. Calling this method will cause a property change event to be fired where the property name is equal to `PROPERTY_LINKING_ENABLED`.
      Parameters:
        `enabled` - enables / disables linking
      Since:
        2.0
      See Also:
        `isLinkingEnabled()`

    - #### isLinkingEnabled

          public boolean isLinkingEnabled()

      Returns TRUE if the layer container generally supports the linking of timeline objects.
      Returns:
        TRUE if the layer container supports DnD
      Since:
        2.0
      See Also:
        `setLinkingEnabled(boolean)`

    - #### getSelectionModel

          public ILayerContainerSelectionModel getSelectionModel()

      Returns the selection model associated with the layer container. Each container has its own selection model that is used to manage selected time spans.
      Returns:
        the container's selection model
      Since:
        1.0
      See Also:
        `setSelectionModel(ILayerContainerSelectionModel)`, `DefaultLayerContainerSelectionModel`

    - #### setSelectionModel

          public void setSelectionModel(ILayerContainerSelectionModel model)

      Replaces the current selection model with a new one. Calling this method will cause a property change event to be fired where the property name is equal to `PROPERTY_SELECTION_MODEL`.
      Parameters:
        `model` - the new selection model
      Since:
        1.0
      See Also:
        `getSelectionModel()`, `DefaultLayerContainerSelectionModel`

    - #### timeSpansAdded

          public void timeSpansAdded(TimeSpanSelectionEvent evt)

      Description copied from interface: `ILayerContainerSelectionModelListener`
      Callback method that gets invoked when time spans have been added to the selection model.
      Specified by:
        `timeSpansAdded` in interface `ILayerContainerSelectionModelListener`
      Parameters:
        `evt` - an event describing the modification of the selection model
      See Also:
        `ILayerContainerSelectionModelListener.timeSpansRemoved(TimeSpanSelectionEvent)`

    - #### timeSpansRemoved

          public void timeSpansRemoved(TimeSpanSelectionEvent evt)

      Description copied from interface: `ILayerContainerSelectionModelListener`
      Callback method that gets invoked when time spans have been removed from the selection model.
      Specified by:
        `timeSpansRemoved` in interface `ILayerContainerSelectionModelListener`
      Parameters:
        `evt` - an event describing the modification of the selection model
      See Also:
        `ILayerContainerSelectionModelListener.timeSpansAdded(TimeSpanSelectionEvent)`

    - #### getMenuProvider

          public ILayerContainerMenuProvider getMenuProvider()

      Returns a menu provider that can be used by the layer container to lookup a popup menu for a specific context where the context is defined by the tree path, timeline object paths, etc...
      Returns:
        a menu provider for retrieving context-aware popup menus
      Since:
        1.0

    - #### setMenuProvider

          public void setMenuProvider(ILayerContainerMenuProvider provider)

      Specifies a menu provider that can be used by the layer container to lookup a popup menu for a specific context where the context is defined by the tree path, timeline object paths, etc...
      Parameters:
        `provider` - the provider that will be used by the layer container to find a suitable popup menu for a specific context
      Since:
        1.0

    - #### getAlternatingBackground

          public Color getAlternatingBackground()

      Returns the color used as an alternating background color for odd row numbers. Using alternating row colors greatly enhances the readability of the Gantt chart information.
      Returns:
        the background color used for odd row numbers
      Since:
        1.0
      See Also:
        `setAlternatingBackground(Color)`, `TreeTable.getAlternatingBackground()`

    - #### setAlternatingBackground

          public void setAlternatingBackground(Color color)

      Sets the color used as an alternating background color for odd row numbers. Using alternating row colors greatly enhances the readability of the Gantt chart information. Calling this method will trigger a property change event with the ID `PROPERTY_ALTERNATING_BACKGROUND`.
      Parameters:
        `color` - the background color for odd row numbers
      Since:
        1.0

    - #### getClipNodes

          public List<TreeTableNode> getClipNodes()

      Returns a list of tree table nodes where each node is contained within the current drawing clip. Layers can use this method to implement a loop over all nodes in the list to perform their drawing operations.
      Returns:
        those tree table nodes affected by the current drawing clip
      Since:
        1.0

    - #### hasClipNodes

          public boolean hasClipNodes()

      Determines whether or not the current drawing clip affected any tree table nodes. The clip might have been at the bottom of the Gantt chart where no tree table nodes are displayed but only empty rows to fill the chart and make it look nice.
      Returns:
        TRUE if tree table nodes are affected by the current drawing clip
      Since:
        1.0

    - #### setTimelineObjectStatusColor

          public void setTimelineObjectStatusColor(Object status,
                                                   Color color)

      Maps a color to the given status object. The color can be used by the user interface (for example the `OverviewPalette`) to render timeline objects differently based on their status.
      Parameters:
        `status` - the status object to which a color gets mapped
        `color` - the color to use for the given status
      Since:
        1.0

    - #### getTimelineObjectStatusColor

          public Color getTimelineObjectStatusColor(Object status)

      Returns the color mapped to the given status object. The color can be used by the user interface (for example the `OverviewPalette`) to render timeline objects differently based on their status.
      Parameters:
        `status` - the status object to which a color gets mapped
      Returns:
        the color to use for the given status
      Since:
        1.0

    - #### setTimelineObjectStatusIcon

          public void setTimelineObjectStatusIcon(Object status,
                                                  Icon icon)

      Maps an icon to the given status object. The icon can be used by the user interface (for example the `OverviewPalette`) to render timeline objects differently based on their status.
      Parameters:
        `status` - the status object to which a color gets mapped
        `icon` - the icon to use for the given status
      Since:
        1.0

    - #### getTimelineObjectStatusIcon

          public Icon getTimelineObjectStatusIcon(Object status)

      Returns the icon mapped to the given status object. The icon can be used by the user interface (for example the `OverviewPalette`) to render timeline objects differently based on their status.
      Parameters:
        `status` - the status object to which a color gets mapped
      Returns:
        the icon to use for the given status
      Since:
        1.0

    - #### datelineModelWillChange

          public void datelineModelWillChange(DatelineModelEvent evt)

      Description copied from interface: `IDatelineModelListener`
      The listener's callback method that gets invoked when the model's time span or time zone will change.
      Specified by:
        `datelineModelWillChange` in interface `IDatelineModelListener`
      Parameters:
        `evt` - the event that occured on the dateline

    - #### datelineModelChanged

          public void datelineModelChanged(DatelineModelEvent evt)

      Description copied from interface: `IDatelineModelListener`
      The listener's callback method that gets invoked when the model's time span or time zone changes.
      Specified by:
        `datelineModelChanged` in interface `IDatelineModelListener`
      Parameters:
        `evt` - the event that occured on the dateline

    - #### getRendererPane

          public CellRendererPane getRendererPane()

      Returns the shared renderer pane that can be used by the layer UIs to draw objects via renderers.
      Returns:
        the shared renderer instance
      Since:
        1.0

    - #### addLayerContainerListener

          public void addLayerContainerListener(ILayerContainerListener l)

      Adds a listener to the layer container.
      Parameters:
        `l` - the added listener
      Since:
        1.0

    - #### removeLayerContainerListener

          public void removeLayerContainerListener(ILayerContainerListener l)

      Removes a listener from the container
      Parameters:
        `l` - the removed listener
      Since:
        1.0

    - #### fireLayerContainerChanged

          protected void fireLayerContainerChanged(LayerContainerEvent evt)

      Fires a layer container event, which will be sent to all listeners currently attached to the container.
      Parameters:
        `evt` - the layer container event
      Since:
        1.0

    - #### layerContainerChanged

          public void layerContainerChanged(LayerContainerEvent evt)

      Description copied from interface: `ILayerContainerListener`
      The listener's callback method that gets invoked by the `LayerContainer` when the container changes.
      Specified by:
        `layerContainerChanged` in interface `ILayerContainerListener`

    - #### getPopup

          public JPopupMenu getPopup()

      Returns the currently or last used popup menu. Popup menus are looked up by the layer container via an `ILayerContainerMenuProvider` or by calling `JComponent.getComponentPopupMenu()`.
      Returns:
        the currently or last used popup menu
      Since:
        1.0

    - #### isPopupShowing

          public boolean isPopupShowing()

      Determines whether a popup menu is currently in use.
      Returns:
        TRUE if a popup is used
      Since:
        1.0

    - #### addHighlightedObject

          public void addHighlightedObject(TimelineObjectPath path)

      Adds a single timeline object path to the set of highlighted objects.
      Parameters:
        `path` - a timeline object path that will be added to the set of highlighted objects
      Since:
        1.0
      See Also:
        `addHighlightedObjects(Collection)`, `removeHighlightedObjects(Collection)`, `clearHighlightedObjects()`

    - #### addHighlightedObjects

          public void addHighlightedObjects(Collection<TimelineObjectPath> paths)

      Adds a collection of timeline object paths where each timeline object referenced will be added to the set of highlighted objects.
      Parameters:
        `paths` - a collection of timeline object paths where each timeline object referenced will be added to the set of highlighted objects
      Since:
        1.0
      See Also:
        `removeHighlightedObjects(Collection)`, `clearHighlightedObjects()`

    - #### removeHighlightedObjects

          public void removeHighlightedObjects(Collection<TimelineObjectPath> paths)

      Removes a collection of timeline object paths where each timeline object referenced will be removed from the set of highlighted objects
      Parameters:
        `paths` - a collection of timeline object paths where each timeline object referenced will be removed from the set of highlighted objects
      Since:
        1.0
      See Also:
        `addHighlightedObjects(Collection)`, `clearHighlightedObjects()`

    - #### clearHighlightedObjects

          public void clearHighlightedObjects()

      Clears the set of highlighted objects.
      Since:
        1.0
      See Also:
        `addHighlightedObjects(Collection)`, `removeHighlightedObjects(Collection)`

    - #### isHighlighted

          public boolean isHighlighted(TimelineObjectPath path)

      Determines if the timeline object specified by the given path is currently a member of the set of highlighted objects.
      Parameters:
        `path` - the path pointing to the timeline object to check for highlighting
      Returns:
        TRUE if the referenced timeline object is a member of the set of highlighted objects
      Since:
        1.0

    - #### setHighlighting

          public void setHighlighting(boolean b)

      Sets the highlight flag that will be passed to timeline object renderers to tell them whether those timeline objects contained in the set of highlighted objects are to be rendered highlighted or not.
      Parameters:
        `b` - if TRUE highlighting will be turned on
      Since:
        1.0
      See Also:
        `isHighlighting()`, `addHighlightedObjects(Collection)`, `removeHighlightedObjects(Collection)`, `clearHighlightedObjects()`

    - #### isHighlighting

          public boolean isHighlighting()

      Determines whether timeline objects that are contained in the set of highlighted objects shall render themselves highlighted or normal.
      Returns:
        TRUE if highlighting is turned on
      Since:
        1.0
      See Also:
        `setHighlighting(boolean)`, `addHighlightedObjects(Collection)`, `removeHighlightedObjects(Collection)`, `clearHighlightedObjects()`

    - #### getHighlightingDelay

          public long getHighlightingDelay()

      Returns the delay in milliseconds used by the highlighting thread which makes the highlighted objects blink (default behaviour).
      Returns:
        the highlight thread delay (in milliseconds)
      Since:
        1.0

    - #### setHighlightingDelay

          public void setHighlightingDelay(long delay)

      Sets the delay in milliseconds used by the highlighting thread which makes the highlighted objects blink (default behaviour).
      Parameters:
        `delay` - the highlight thread delay (in milliseconds)
      Since:
        1.0

    - #### getHighlightingDuration

          public long getHighlightingDuration()

      Returns the highlighting duration in milliseconds used by the highlighting thread which makes the highlighted objects blink (default behaviour). Returns -1 if the highlighting needs to be stopped explicitly.
      Returns:
        the highlight thread delay (in milliseconds)
      Since:
        2.1
      See Also:
        `setHighlighting(boolean)`

    - #### setHighlightingDuration

          public void setHighlightingDuration(long duration)

      Sets the highlighting duration in milliseconds used by the highlighting thread which makes the highlighted objects blink (default behaviour). Use -1 to make the highlighting thread run until explicitly stopped.
      Parameters:
        `duration` - the highlight thread delay (in milliseconds)
      Since:
        2.1
      See Also:
        `setHighlighting(boolean)`

    - #### setTimelineObjectRenderer

          public void setTimelineObjectRenderer(Class objectType,
                                                ITimelineObjectRenderer renderer)

      Maps the implementation of a timeline object renderer to a class definition.
      Parameters:
        `objectType` - the type of those timeline objects that will be rendered with the given renderer
        `renderer` - an implementation that will be used to renderer instances of the given object type
      Since:
        1.0
      See Also:
        `DefaultTimelineObjectRenderer`, `getTimelineObjectRenderer(Class)`

    - #### setTimelineObjectEditor

          public void setTimelineObjectEditor(Class objectType,
                                              ITimelineObjectEditor editor)

      Maps the implementation of a timeline object editor to a class definition.
      Parameters:
        `objectType` - the type of those timeline objects that will be rendered with the given renderer
        `editor` - an implementation that will be used to edit instances of the given object type
      Since:
        1.0
      See Also:
        `AbstractTimelineObjectEditor`, `getTimelineObjectEditor(Class)`

    - #### getTimelineObjectRenderer

          public ITimelineObjectRenderer getTimelineObjectRenderer(Class cl)

      Returns a timeline object renderer for an object. The lookup of the renderer is based on the object type of the given object.
      Parameters:
        `cl` - the object type in need of rendering
      Returns:
        a matching timeline object renderer implementation
      Since:
        1.0
      See Also:
        `setTimelineObjectRenderer(Class, ITimelineObjectRenderer)`, `DefaultTimelineObjectRenderer`

    - #### getTimelineObjectEditor

          public ITimelineObjectEditor getTimelineObjectEditor(Class cl)

      Returns a timeline object editor for an object. The lookup of the editor is based on the object type of the given object. This method will return the default timeline object editor if no other editor was explicitly assigned to the type or any supertype of the given object.
      Parameters:
        `cl` - the object type in need of editing
      Returns:
        a matching timeline object editor implementation
      Since:
        1.0
      See Also:
        `setTimelineObjectEditor(Class, ITimelineObjectEditor)`, `AbstractTimelineObjectEditor`

    - #### setLayerIcon

          public void setLayerIcon(ILayer layer,
                                   Icon icon)

      Sets an icon that will be used to represent the given layer in various user interface components, for example in the `LayerPalette`.
      Parameters:
        `layer` - the layer to which the icon will be mapped
        `icon` - the icon that will be used to visualize the given layer
      Since:
        1.0
      See Also:
        `getLayerIcon(ILayer)`

    - #### getLayerIcon

          public Icon getLayerIcon(ILayer layer)

      Returns an icon representation for the given layer.
      Parameters:
        `layer` - the layer for which to return an icon
      Returns:
        an icon for the given layer
      Since:
        1.0
      See Also:
        `setLayerIcon(ILayer, Icon)`

    - #### getSelectionModel

          public ITimelineObjectSelectionModel getSelectionModel(ILayer layer)

      Returns the selection model for the given layer.
      Parameters:
        `layer` - the layer for which to return a selection model
      Returns:
        the selection model for the given layer
      Since:
        1.0
      See Also:
        `setSelectionModel(ILayer, ITimelineObjectSelectionModel)`

    - #### setSelectionModel

          public void setSelectionModel(ILayer layer,
                                        ITimelineObjectSelectionModel model)

      Sets a selection model implementation for the given layer.
      Parameters:
        `layer` - the layer for which to set a selection model
        `model` - the selection model for the given layer
      Since:
        1.0
      See Also:
        `getSelectionModel(ILayer)`

    - #### getRendererMap

          public Map<Class,ITimelineObjectRenderer> getRendererMap()

      Returns the map that is containing the mapping of timeline object classes to renderers.
      Returns:
        the renderer map used by the layer container to lookup renderers based on the type of a timeline object
      Since:
        1.0

    - #### setRendererMap

          public void setRendererMap(Map<Class,ITimelineObjectRenderer> map)

      Sets an entire set of timeline object renderers at once. This is a convenient way to copy the renderers from one layer container to another.
      Parameters:
        `map` - the renderers map used by the layer container to lookup renderers based on the type of a timeline object
      Since:
        1.0

    - #### getBookmarkModel

          public IBookmarkModel getBookmarkModel()

      Returns the (optional) bookmark model. A bookmark control will be added to the Gantt chart if a bookmark model is specified.
      Returns:
        the (optional) bookmark model
      Since:
        1.0
      See Also:
        `NavigationControlPanel`

    - #### setBookmarkModel

          public void setBookmarkModel(IBookmarkModel model)

      Sets the (optional) bookmark model.
      Parameters:
        `model` - the bookmark model
      Since:
        1.0
      See Also:
        `PagingControlPanel`

    - #### getGridGranularity

          public IGranularity getGridGranularity()

      Returns the granularity used for a virtual grid that gets used during drag & drop operations to make timeline objects snap to specific time points rather than just the current drop location.
      Specified by:
        `getGridGranularity` in interface `IGridComponent`
      Returns:
        the grid granularity
      Since:
        1.0

    - #### setGridGranularity

          public void setGridGranularity(IGranularity granularity)

      Sets the granularity used for a virtual grid that gets used during drag & drop operations to make timeline objects snap to specific time points rather than just the current drop location.
      Specified by:
        `setGridGranularity` in interface `IGridComponent`
      Parameters:
        `granularity` - the grid granularity
      Since:
        1.0
      See Also:
        `IGridComponent.setGridAutomatic(boolean)`

    - #### setGridAutomatic

          public void setGridAutomatic(boolean auto)

      Description copied from interface: `IGridComponent`
      Specifies whether the component is using an automatic grid. A grid is automatic if it is not based on the grid granularity but on some other granularity of various origin. The dateline, for example, displays a major and a minor time (granularity). The minor granularity can be used for calculating grid locations.
      Specified by:
        `setGridAutomatic` in interface `IGridComponent`
      Parameters:
        `auto` - if TRUE the grid gets calculated automatically and not based on the given grid granularity

    - #### isGridAutomatic

          public boolean isGridAutomatic()

      Description copied from interface: `IGridComponent`
      Determines whether the component is using an automatic grid. A grid is automatic if it is not based on the grid granularity but on some other granularity of various origin. The dateline, for example, displays a major and a minor time (granularity). The minor granularity can be used for calculating grid locations.
      Specified by:
        `isGridAutomatic` in interface `IGridComponent`
      Returns:
        TRUE if the grid gets calculated automatically and not based on the given grid granularity

    - #### setGridControlVisible

          public void setGridControlVisible(boolean b)

      Specifies whether the grid control will be visible in the Gantt chart. Calling this method will cause an event to be fired to all grid component listeners currently attached to the layer container.
      Parameters:
        `b` - if TRUE the control will be shown
      Since:
        1.0
      See Also:
        `IGridComponentListener.gridComponentChanged()`

    - #### isGridControlVisible

          public boolean isGridControlVisible()

      Description copied from interface: `IGridComponent`
      Determines whether the UI component used to control the grid is currently visible or not.
      Specified by:
        `isGridControlVisible` in interface `IGridComponent`
      Returns:
        TRUE if the grid control is visible

    - #### getGridComponentName

          public String getGridComponentName()

      Description copied from interface: `IGridComponent`
      Returns the name of the grid component. This is useful for displaying a grid control so that the controls used for the different grid components can be distinguished from each other.
      Specified by:
        `getGridComponentName` in interface `IGridComponent`
      Returns:
        the name of the grid component

    - #### getGridPolicy

          public IGridPolicy getGridPolicy()

      Description copied from interface: `IGridComponent`
      Returns the grid policy used by the grid component. Each component can have its own grid policy, which is used to determine which granularities are supported by the component.
      Specified by:
        `getGridPolicy` in interface `IGridComponent`
      Returns:
        the component's grid policy

    - #### isPrimary

          public boolean isPrimary()

      Determines whether the layer container is the primary layer container. A layer container is considered primary if it is the top-most layer container right below the timeline.
      Returns:
        TRUE if the layer container is the primary one
      Since:
        1.0

    - #### setPrimary

          public void setPrimary(boolean primary)

      Specifies that the layer container is the primary layer container. A layer container is considered primary if it is the top-most layer container right below the timeline.
      Parameters:
        `primary` - if TRUE the layer container is the primary one
      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

    - #### showAllObjects

          public void showAllObjects()

      Scrolls and zooms the `Dateline` in such a way that allf timeline objects (stored on the currently visible rows) become visible.
      Since:
        1.0

    - #### selectAllTimelineObjects

          public void selectAllTimelineObjects()

      Selects all timeline objects on all layers, independent of whether the layer is currently visible or not.
      Since:
        1.0

    - #### clearTimelineObjectSelection

          public void clearTimelineObjectSelection()

      Clears all timeline object selections on all layers, independent of whether the layer is currently visible or not.
      Since:
        1.0

    - #### clearTimeSpanSelection

          public void clearTimeSpanSelection()

      Clears all time span selections.
      Since:
        1.1

    - #### deleteSelectedTimelineObjects

          public void deleteSelectedTimelineObjects()

      Deletes all currently selected timeline objects. A compound command will be created composed of individual delete commands, one for each timeline object that gets deleted.
      Since:
        1.0

    - #### deleteSelectedRelationships

          public void deleteSelectedRelationships()

      Deletes all currently selected relationships.This method delegates to `RelationshipLayer.deleteSelectedRelationships()`;
      Since:
        2.0

    - #### repaintRow

          public void repaintRow(int row)

      Repaints the given row only.
      Parameters:
        `row` - the row that will be repainted
      Since:
        1.0

    - #### addGridComponentListener

          public void addGridComponentListener(IGridComponentListener l)

      Description copied from interface: `IGridComponent`
      Adds a listener to the grid component. The listener will be informed whenever the grid granularity used by the component gets changed.
      Specified by:
        `addGridComponentListener` in interface `IGridComponent`
      Parameters:
        `l` - the grid component listener

    - #### removeGridComponentListener

          public void removeGridComponentListener(IGridComponentListener l)

      Description copied from interface: `IGridComponent`
      Removes a listener from the grid component.
      Specified by:
        `removeGridComponentListener` in interface `IGridComponent`
      Parameters:
        `l` - the grid component listener that gets removed

    - #### fireGridChanged

          protected void fireGridChanged()

      Informs all grid component listeners that the grid used by the eventline has changed.
      Since:
        1.0

    - #### setClippingExtra

          public void setClippingExtra(int extra)

      Specifies the number of pixels that will be added to the clipping rectangle during repaint operations of the layer container. These extra pixels are extremely important in order to render events correctly. Events do not have a duration, they are a time point. This means that their visual representation is larger than their actual width, which is always just one pixel.

      During scrolling it can happen that the visual appearance of the event needs rendering even though the time point represented by the event is not within the visible rectangle, yet. The extra pixels added to the clipping rectangle will ensure that the event will be rendered never the less. The number of extra pixels should be equal to at least half the width of the largest event representation (e.g. half the diamond with used by the default timeline object renderer). The default setting of this property is 25.

      Parameters:
        `extra` - the number of extra pixels added to the clipping rectangle during repaint operations
      Since:
        1.0

    - #### getClippingExtra

          public int getClippingExtra()

      Returns the number of pixels that will be added to the clipping rectangle during repaint operations of the layer container. These extra pixels are extremely important in order to render events correctly. Events do not have a duration, they are a time point. This means that their visual representation is larger than their actual width, which is always just one pixel.

      During scrolling it can happen that the visual appearance of the event needs rendering even though the time point represented by the event is not within the visible rectangle, yet. The extra pixels added to the clipping rectangle will ensure that the event will be rendered never the less. The number of extra pixels should be equal to at least half the width of the largest event representation (e.g. half the diamond with used by the default timeline object renderer). The default setting of this property is 25.

      Returns:
        the number of extra pixels added to the clipping rectangle during repaint operations
      Since:
        1.0

    - #### setRenderingDirection

          public void setRenderingDirection(LayerContainer.RenderingDirection direction)

      Provides a hint whether the timeline objects will be rendered right to left or left to right (default). Setting this attribute does not actually change the rendering but lets the framework know that the timeline object iterators returned by the Gantt chart model iterate one direction or another.
      Parameters:
        `direction` - a hint regarding the rendering direction
      Since:
        1.0
      See Also:
        `IGanttChartModel.getTimelineObjectsIterator(Object, ILayer, ITimeSpan)`

    - #### getRenderingDirection

          public LayerContainer.RenderingDirection getRenderingDirection()

      Returns a hint whether the timeline objects will be rendered right to left or left to right (default). Setting this attribute does not actually change the rendering but lets the framework know that the timeline object iterators returned by the Gantt chart model iterate one direction or another.
      Returns:
        a hint regarding the rendering direction
      Since:
        1.0
      See Also:
        `IGanttChartModel.getTimelineObjectsIterator(Object, ILayer, ITimeSpan)`

    - #### autoscroll

          public void autoscroll(Point cursorLocn)

      Specified by:
        `autoscroll` in interface `Autoscroll`

    - #### getAutoscrollInsets

          public Insets getAutoscrollInsets()

      Specified by:
        `getAutoscrollInsets` in interface `Autoscroll`

    - #### treeCollapsed

          public void treeCollapsed(TreeExpansionEvent event)

      Specified by:
        `treeCollapsed` in interface `TreeExpansionListener`

    - #### treeExpanded

          public void treeExpanded(TreeExpansionEvent event)

      Specified by:
        `treeExpanded` in interface `TreeExpansionListener`

    - #### treeNodeKeyChanged

          public void treeNodeKeyChanged(TreeTableModelEvent evt)

      Description copied from interface: `ITreeTableModelListener`
      Callback method that gets invoked if the user edited the key value of a tree table node.
      Specified by:
        `treeNodeKeyChanged` in interface `ITreeTableModelListener`
      Parameters:
        `evt` - the event fired by the tree table model
      See Also:
        `ITreeTableModelListener.treeNodeValueChanged(TreeTableModelEvent)`

    - #### treeNodeValueChanged

          public void treeNodeValueChanged(TreeTableModelEvent evt)

      Description copied from interface: `ITreeTableModelListener`
      Callback method that gets invoked if the user edited a column value of a tree table node.
      Specified by:
        `treeNodeValueChanged` in interface `ITreeTableModelListener`
      Parameters:
        `evt` - the event fired by the tree table model
      See Also:
        `ITreeTableModelListener.treeNodeKeyChanged(TreeTableModelEvent)`

    - #### treeNodesChanged

          public void treeNodesChanged(TreeModelEvent e)

      Specified by:
        `treeNodesChanged` in interface `TreeModelListener`

    - #### treeNodesInserted

          public void treeNodesInserted(TreeModelEvent e)

      Specified by:
        `treeNodesInserted` in interface `TreeModelListener`

    - #### treeNodesRemoved

          public void treeNodesRemoved(TreeModelEvent e)

      Specified by:
        `treeNodesRemoved` in interface `TreeModelListener`

    - #### treeStructureChanged

          public void treeStructureChanged(TreeModelEvent e)

      Specified by:
        `treeStructureChanged` in interface `TreeModelListener`

    - #### isIgnoringTreeTableSelection

          public boolean isIgnoringTreeTableSelection()

      Determines whether selections made in the layer container (e.g. via the lasso) will affect the selections made in the tree table. If the layer container does not ignore the tree table then the table's selection will be cleared whenever the user performs a selection.
      Returns:
        TRUE if the lasso ignores the tree table selection
      Since:
        1.0

    - #### setIgnoringTreeTableSelection

          public void setIgnoringTreeTableSelection(boolean ignore)

      Specifies whether selections made in the layer container (e.g. via the lasso) will affect the selections made in the tree table. If the layer container does not ignore the tree table then the table's selection will be cleared whenever the user performs a selection.
      Parameters:
        `ignore` - if TRUE the lasso ignores the tree table selection
      Since:
        1.0

    - #### tearDown

          public void tearDown()

      Tears down the container by invoking `AbstractLayer.tearDown()` on all layers used by the container, indepedent of whether they are currently visible or not. Layers need to implement their `tearDown()` method if they need to free resources.
      Since:
        1.1

    - #### valueChanged

          public void valueChanged(TreeSelectionEvent e)

      Specified by:
        `valueChanged` in interface `TreeSelectionListener`

    - #### getResolutionProvider

          public IResolutionProvider getResolutionProvider()

      Returns the resolution provider used by the layer container. The resolution provider is used to lookup resolutions (quick fixes) for constraint violations.
      Returns:
        a resolution provider
      Since:
        2.1
      See Also:
        `IResolution`, `Violation`, `DefaultResolutionProvider`

    - #### setResolutionProvider

          public void setResolutionProvider(IResolutionProvider provider)

      Sets the resolution provider used by the layer container. The resolution provider is used to lookup resolutions (quick fixes) for constraint violations.
      Parameters:
        `provider` - a resolution provider
      Since:
        2.1
      See Also:
        `IResolution`, `Violation`, `DefaultResolutionProvider`

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