Class AgendaLayout

java.lang.Object
com.flexganttfx.model.Layout
com.flexganttfx.model.layout.AgendaLayout

public class AgendaLayout
extends Layout
The agenda layout class is used to lay out activities in a style similar to a regular calendar where a vertical scale will display hours. Activities are used to represent appointments for a given day.

Note: Activities shown in agenda layout might be rendered several times. This is, for example, the case when an activity spans several days. Agenda Layout

Since:
1.0
See Also:
Row.setLayout(Layout), Row.getLineLayout(int), LinesManager.getLineLayout(int)
  • Property Details

  • Constructor Details

    • AgendaLayout

      public AgendaLayout()
      Constructs a new agenda layout instance.
      Since:
      1.0
  • Method Details

    • minLineSpacingProperty

      public final DoubleProperty minLineSpacingProperty()
      Stores the minimum space between two hour lines.
      See Also:
      getMinLineSpacing(), setMinLineSpacing(double)
    • setMinLineSpacing

      public final void setMinLineSpacing​(double min)
      Sets the value of minLineSpacingProperty().
      Parameters:
      min - the minimum space between hour lines
    • getMinLineSpacing

      public final double getMinLineSpacing()
      Returns the value of minLineSpacingProperty().
      Returns:
      the minimum space between hour lines
    • startTimeProperty

      public final ObjectProperty<LocalTime> startTimeProperty()
      Returns the property used for storing the start time of the agenda. The start time is used for the vertical time scale. The default value of this property is LocalTime.MIN, which is equivalent to midnight.

      Agenda Scale

      Since:
      1.0
      See Also:
      getStartTime(), setStartTime(LocalTime)
    • getStartTime

      public final LocalTime getStartTime()
      Returns the value of the startTimeProperty().
      Returns:
      the agenda start time
      Since:
      1.0
    • setStartTime

      public final void setStartTime​(LocalTime time)
      Sets the value of the startTimeProperty().
      Parameters:
      time - the new agenda start time
      Since:
      1.0
    • endTimeProperty

      public final ObjectProperty<LocalTime> endTimeProperty()
      Returns the property used for storing the end time of the agenda. The end time is used for the vertical time scale. The default value of this property is LocalTime.MAX, which is equivalent to the time just before midnight.

      Agenda Scale

      Since:
      1.0
      See Also:
      getEndTime(), setEndTime(LocalTime)
    • getEndTime

      public final LocalTime getEndTime()
      Returns the value of the endTimeProperty().
      Returns:
      the agenda end time
      Since:
      1.0
    • setEndTime

      public final void setEndTime​(LocalTime time)
      Sets the value of endTimeProperty().
      Parameters:
      time - the new agenda end time
      Since:
      1.0
    • minDurationProperty

      public final ObjectProperty<Duration> minDurationProperty()
      A property used to store the minimum duration of activities in the agenda layout.
      Since:
      1.0
      See Also:
      getMinDuration(), setMinDuration(Duration)
    • getMinDuration

      public final Duration getMinDuration()
      Returns the value of the minDurationProperty().
      Returns:
      the minimum duration of agenda activities
      Since:
      1.0
    • setMinDuration

      public final void setMinDuration​(Duration duration)
      Sets the value of the minDurationProperty().
      Parameters:
      duration - the new minimum duration of agenda activities
      Since:
      1.0
    • layoutStrategyProperty

      public final ObjectProperty<AgendaLayout.LayoutStrategy> layoutStrategyProperty()
      The property used to store the strategy that will be applied when the time intervals of activities in agenda layout intersect with each other. The strategy determines if the overlapping activities will be drawn on top of each other or in parallel (swim lanes).
      Since:
      1.0
      See Also:
      getLayoutStrategy(), setLayoutStrategy(AgendaLayout.LayoutStrategy)
    • getLayoutStrategy

      public final AgendaLayout.LayoutStrategy getLayoutStrategy()
      Returns the value of the layoutStrategyProperty().
      Returns:
      the currently used layout strategy
      Since:
      1.0
    • setLayoutStrategy

      public final void setLayoutStrategy​(AgendaLayout.LayoutStrategy strategy)
      Sets the value of the layoutStrategyProperty().
      Parameters:
      strategy - the layout strategy to use
      Since:
      1.0
    • overlapOffsetProperty

      public final DoubleProperty overlapOffsetProperty()
      A property used to store an offset value between 0 and .5 that is used to indent activities when they overlap each other. The value must be between 0 and .5, which will be interpreted as a percentage of the width of the agenda entries. A value of .5 indicates that half the width of an entry will be overlapped by another one.
      Since:
      1.0
      See Also:
      getOverlapOffset(), setOverlapOffset(double)
    • setOverlapOffset

      public final void setOverlapOffset​(double offset)
      Sets the value of overlapOffsetProperty(). The value must be between 0 and .5, which will be interpreted as a percentage of the width of the agenda entries. A value of .5 indicates that half the width of an entry will be overlapped by another one.
      Parameters:
      offset - the offset in pixels
      Since:
      1.0
    • getOverlapOffset

      public final double getOverlapOffset()
      Returns the value of overlapOffsetProperty().
      Returns:
      the offset in pixels
      Since:
      1.0
    • isSupportingHorizontalCursorLine

      public boolean isSupportingHorizontalCursorLine()
      Description copied from class: Layout
      Determines if the UI should be able to show a horizontal cursor line. Currently only the ChartLayout and the AgendaLayout support this.
      Specified by:
      isSupportingHorizontalCursorLine in class Layout
      Returns:
      true if a horizontal cursor line makes sense
    • toString

      public String toString()
      Overrides:
      toString in class Object