Class 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)
    • Constructor Detail

      • AgendaLayout

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

      • minLineSpacingProperty

        public final DoubleProperty minLineSpacingProperty()
        Stores the minimum space between two hour lines.
        Returns:
        the minimum space between hour lines
      • 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
        Returns:
        the start time used for the agenda layout
        Since:
        1.0
      • 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
        Returns:
        the start time used for the agenda layout
        Since:
        1.0
      • 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.
        Returns:
        the minimum duration of activities
        Since:
        1.0
      • 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).
        Returns:
        the layout strategy property
        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.
        Returns:
        the offset in pixels
        Since:
        1.0
      • 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