java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.layout.Pane
javafx.scene.layout.VBox
jfxtras.internal.scene.control.skin.agenda.icalendar.base24hour.popup.EditRecurrenceRuleVBox<T>
Type Parameters:
T - subclass of VDisplayable
All Implemented Interfaces:
javafx.css.Styleable, javafx.event.EventTarget
Direct Known Subclasses:
EditRecurrenceRuleVEventVBox, EditRecurrenceRuleVJournalVBox, EditRecurrenceRuleVTodoVBox

public abstract class EditRecurrenceRuleVBox<T extends VDisplayable<T>> extends javafx.scene.layout.VBox
VBox containing controls to edit the RecurrenceRule in a VDisplayable.

Note: Only supports one Exception Date property (the iCalendar standard allows multiple Exception Date properties)

  • Property Summary

    Properties inherited from class javafx.scene.layout.VBox

    alignment, fillWidth, spacing

    Properties inherited from class javafx.scene.layout.Region

    background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, width

    Properties inherited from class javafx.scene.Parent

    needsLayout

    Properties inherited from class javafx.scene.Node

    accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, viewOrder, visible
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private javafx.scene.control.Button
     
    private final Map<javafx.beans.property.BooleanProperty,DayOfWeek>
     
    protected javafx.beans.property.ObjectProperty<Temporal>
     
    private javafx.beans.property.ObjectProperty<Temporal>
     
    private final javafx.beans.value.ChangeListener<? super Temporal>
     
    private javafx.scene.control.RadioButton
     
    private javafx.beans.value.ChangeListener<? super Boolean>
     
    private final javafx.beans.value.ChangeListener<? super Boolean>
     
    private Map<DayOfWeek,javafx.beans.property.BooleanProperty>
     
    (package private) final javafx.collections.ObservableList<DayOfWeek>
     
    private javafx.scene.control.RadioButton
     
    static final Period
     
    private javafx.scene.control.Spinner<Integer>
     
    private javafx.scene.control.RadioButton
     
    private javafx.scene.control.ToggleGroup
     
    private javafx.scene.control.RadioButton
     
    private javafx.scene.control.Label
     
    static final int
     
    private javafx.scene.control.ComboBox<Temporal>
     
    private List<Temporal>
     
    private javafx.scene.control.ListView<Temporal>
     
    (package private) javafx.scene.control.ComboBox<FrequencyType>
     
    private javafx.scene.control.Label
     
    private final javafx.beans.value.ChangeListener<? super FrequencyType>
     
    private javafx.scene.control.CheckBox
     
    static final int
     
    (package private) javafx.scene.control.Spinner<Integer>
     
    private final javafx.beans.value.ChangeListener<? super Integer>
     
    private final javafx.beans.InvalidationListener
     
    private javafx.scene.control.CheckBox
     
    private javafx.scene.control.ToggleGroup
     
    private javafx.scene.control.Label
     
    private javafx.scene.layout.VBox
     
    private final javafx.beans.value.ChangeListener<? super Boolean>
     
     
    private javafx.beans.property.ObjectProperty<RecurrenceRuleValue>
     
    private javafx.scene.control.Button
     
    private javafx.scene.control.CheckBox
     
    private javafx.scene.layout.GridPane
     
    private javafx.scene.control.Label
     
     
     
    private javafx.scene.control.CheckBox
     
    (package private) javafx.scene.control.DatePicker
     
    private javafx.scene.control.CheckBox
     
    private javafx.scene.control.CheckBox
     
    private javafx.scene.control.CheckBox
     
    private javafx.scene.control.DatePicker
     
    private final javafx.beans.value.ChangeListener<? super LocalDate>
     
    private javafx.scene.control.RadioButton
     
    private final javafx.beans.value.ChangeListener<? super Boolean>
     
    (package private) T
     
    private javafx.scene.control.CheckBox
     
    private javafx.scene.layout.HBox
     
    private javafx.scene.control.Label
     
    private final javafx.beans.value.ChangeListener<? super Temporal>
     

    Fields inherited from class javafx.scene.layout.Region

    USE_COMPUTED_SIZE, USE_PREF_SIZE

    Fields inherited from class javafx.scene.Node

    BASELINE_OFFSET_SAME_AS_HEIGHT
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    private void
     
    private static String
    Produces an easy to ready summary for ByDay rule with only one ByDayPair.
    private Temporal
    findUntil(LocalDate initialUntilDate)
    Finds closest recurrence, at least one recurrence past DTSTART, from initialUntilDate
     
    private void
     
    private void
     
    void
     
    private boolean
    isSupported(VDisplayable<?> vComponent)
     
    protected static void
    loadFxml(URL fxmlFile, Object rootController)
     
    private void
    Make list of start date/times for exceptionComboBox
    static String
    makeSummary(RecurrenceRuleValue rrule, Temporal startTemporal)
    Produce easy to read summary of repeat rule Is limited to producing strings for following repeat rules: Any individual Frequency (FREQ) COUNT and UNTIL properties MONTHLY and WEEKLY with ByDay Byxxx rule For example: RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=11;BYDAY=MO,WE,FR produces: "Every 2 weeks on Monday, Wednesday, Friday, 11 times"
    private static void
    notDateAlert(String exampleDate)
     
    private static void
     
    private static void
     
    private void
    Make list of start date/times for exceptionComboBox
    private void
     
    private void
     
    private void
    Set day of week properties if FREQ=WEEKLY and has BYDAY rule This method is called only during setup
    private void
     
    private void
     
    private void
    setIntervalText(int value)
     
    void
    setupData(T vComponent, javafx.beans.property.ObjectProperty<Temporal> dateTimeStartRecurrenceNew)
    Provide necessary data to setup
    (package private) void
    Synch startDatePicker with DTSTART component.
    private static void
     

    Methods inherited from class javafx.scene.layout.VBox

    alignmentProperty, clearConstraints, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, fillWidthProperty, getAlignment, getClassCssMetaData, getContentBias, getCssMetaData, getMargin, getSpacing, getVgrow, isFillWidth, layoutChildren, requestLayout, setAlignment, setFillWidth, setMargin, setSpacing, setVgrow, spacingProperty

    Methods inherited from class javafx.scene.layout.Pane

    getChildren

    Methods inherited from class javafx.scene.layout.Region

    backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computeMaxHeight, computeMaxWidth, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isResizable, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty

    Methods inherited from class javafx.scene.Parent

    getBaselineOffset, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, queryAccessibleAttribute, requestParentLayout, setNeedsLayout, updateBounds

    Methods inherited from class javafx.scene.Node

    accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInitialFocusTraversable, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface javafx.css.Styleable

    getStyleableNode
  • Field Details

    • EXCEPTION_CHOICE_LIMIT

      public static final int EXCEPTION_CHOICE_LIMIT
      See Also:
    • INITIAL_COUNT

      public static final int INITIAL_COUNT
      See Also:
    • DEFAULT_UNTIL_PERIOD

      public static final Period DEFAULT_UNTIL_PERIOD
    • vComponent

      T extends VDisplayable<T> vComponent
    • rrule

      private RecurrenceRuleValue rrule
    • oldRRule

      private RecurrenceRuleValue oldRRule
    • recurrenceRuleProperty

      private javafx.beans.property.ObjectProperty<RecurrenceRuleValue> recurrenceRuleProperty
    • dateTimeStartRecurrenceNew

      private javafx.beans.property.ObjectProperty<Temporal> dateTimeStartRecurrenceNew
    • dateTimeStartProperty

      protected javafx.beans.property.ObjectProperty<Temporal> dateTimeStartProperty
    • resources

      private ResourceBundle resources
    • repeatableCheckBox

      private javafx.scene.control.CheckBox repeatableCheckBox
    • repeatableGridPane

      private javafx.scene.layout.GridPane repeatableGridPane
    • frequencyComboBox

      javafx.scene.control.ComboBox<FrequencyType> frequencyComboBox
    • intervalSpinner

      javafx.scene.control.Spinner<Integer> intervalSpinner
    • frequencyLabel

      private javafx.scene.control.Label frequencyLabel
    • eventLabel

      private javafx.scene.control.Label eventLabel
    • weeklyLabel

      private javafx.scene.control.Label weeklyLabel
    • weeklyHBox

      private javafx.scene.layout.HBox weeklyHBox
    • sundayCheckBox

      private javafx.scene.control.CheckBox sundayCheckBox
    • mondayCheckBox

      private javafx.scene.control.CheckBox mondayCheckBox
    • tuesdayCheckBox

      private javafx.scene.control.CheckBox tuesdayCheckBox
    • wednesdayCheckBox

      private javafx.scene.control.CheckBox wednesdayCheckBox
    • thursdayCheckBox

      private javafx.scene.control.CheckBox thursdayCheckBox
    • fridayCheckBox

      private javafx.scene.control.CheckBox fridayCheckBox
    • saturdayCheckBox

      private javafx.scene.control.CheckBox saturdayCheckBox
    • checkBoxDayOfWeekMap

      private final Map<javafx.beans.property.BooleanProperty,DayOfWeek> checkBoxDayOfWeekMap
    • dayOfWeekList

      final javafx.collections.ObservableList<DayOfWeek> dayOfWeekList
    • dayOfWeekCheckBoxMap

      private Map<DayOfWeek,javafx.beans.property.BooleanProperty> dayOfWeekCheckBoxMap
    • monthlyVBox

      private javafx.scene.layout.VBox monthlyVBox
    • monthlyLabel

      private javafx.scene.control.Label monthlyLabel
    • monthlyGroup

      private javafx.scene.control.ToggleGroup monthlyGroup
    • dayOfMonthRadioButton

      private javafx.scene.control.RadioButton dayOfMonthRadioButton
    • dayOfWeekRadioButton

      private javafx.scene.control.RadioButton dayOfWeekRadioButton
    • startDatePicker

      javafx.scene.control.DatePicker startDatePicker
    • endNeverRadioButton

      private javafx.scene.control.RadioButton endNeverRadioButton
    • endAfterRadioButton

      private javafx.scene.control.RadioButton endAfterRadioButton
    • untilRadioButton

      private javafx.scene.control.RadioButton untilRadioButton
    • endAfterEventsSpinner

      private javafx.scene.control.Spinner<Integer> endAfterEventsSpinner
    • untilDatePicker

      private javafx.scene.control.DatePicker untilDatePicker
    • endGroup

      private javafx.scene.control.ToggleGroup endGroup
    • repeatSummaryLabel

      private javafx.scene.control.Label repeatSummaryLabel
    • exceptionComboBox

      private javafx.scene.control.ComboBox<Temporal> exceptionComboBox
    • addExceptionButton

      private javafx.scene.control.Button addExceptionButton
    • exceptionsListView

      private javafx.scene.control.ListView<Temporal> exceptionsListView
    • removeExceptionButton

      private javafx.scene.control.Button removeExceptionButton
    • exceptionMasterList

      private List<Temporal> exceptionMasterList
    • dayOfWeekCheckBoxListener

      private final javafx.beans.value.ChangeListener<? super Boolean> dayOfWeekCheckBoxListener
    • dayOfWeekButtonListener

      private javafx.beans.value.ChangeListener<? super Boolean> dayOfWeekButtonListener
    • makeExceptionDatesAndSummaryListener

      private final javafx.beans.InvalidationListener makeExceptionDatesAndSummaryListener
    • neverListener

      private final javafx.beans.value.ChangeListener<? super Boolean> neverListener
    • weeklyRecurrenceListener

      private final javafx.beans.value.ChangeListener<? super Temporal> weeklyRecurrenceListener
    • frequencyListener

      private final javafx.beans.value.ChangeListener<? super FrequencyType> frequencyListener
    • intervalSpinnerListener

      private final javafx.beans.value.ChangeListener<? super Integer> intervalSpinnerListener
    • untilListener

      private final javafx.beans.value.ChangeListener<? super LocalDate> untilListener
    • untilRadioButtonListener

      private final javafx.beans.value.ChangeListener<? super Boolean> untilRadioButtonListener
    • dateTimeStartToExceptionChangeListener

      private final javafx.beans.value.ChangeListener<? super Temporal> dateTimeStartToExceptionChangeListener
  • Constructor Details

    • EditRecurrenceRuleVBox

      public EditRecurrenceRuleVBox()
  • Method Details

    • getFormatter

      private DateTimeFormatter getFormatter(Temporal t)
    • refreshSummary

      private void refreshSummary()
    • setIntervalText

      private void setIntervalText(int value)
    • setFrequencyVisibility

      private void setFrequencyVisibility(FrequencyType f)
    • findUntil

      private Temporal findUntil(LocalDate initialUntilDate)
      Finds closest recurrence, at least one recurrence past DTSTART, from initialUntilDate
      Parameters:
      initialUntilDate - - selected date from untilDatePicker
      Returns:
      - best match for until
    • synchStartDatePickerAndComponent

      void synchStartDatePickerAndComponent(LocalDate oldValue, LocalDate newValue)
      Synch startDatePicker with DTSTART component. In subclass DTEND or DUE are synched too
    • initialize

      public void initialize()
    • setupData

      public void setupData(T vComponent, javafx.beans.property.ObjectProperty<Temporal> dateTimeStartRecurrenceNew)
      Provide necessary data to setup
      Parameters:
      vComponent - - component to be edited
      dateTimeStartRecurrenceNew - - reference to start date or date/time from EditDecriptiveVBox
    • addListeners

      private void addListeners()
    • removeListeners

      private void removeListeners()
    • setInitialValues

      private void setInitialValues(VDisplayable<?> vComponent)
    • setDayOfWeek

      private void setDayOfWeek(RecurrenceRuleValue rRule)
      Set day of week properties if FREQ=WEEKLY and has BYDAY rule This method is called only during setup
    • refreshExceptionDates

      private void refreshExceptionDates()
      Make list of start date/times for exceptionComboBox
    • makeExceptionDates

      private void makeExceptionDates()
      Make list of start date/times for exceptionComboBox
    • handleAddException

      private void handleAddException()
    • handleRemoveException

      private void handleRemoveException()
    • notNumberAlert

      private static void notNumberAlert()
    • tooEarlyDateAlert

      private static void tooEarlyDateAlert(Temporal t)
    • notOccurrenceDateAlert

      private static void notOccurrenceDateAlert(Temporal temporal)
    • notDateAlert

      private static void notDateAlert(String exampleDate)
    • makeSummary

      public static String makeSummary(RecurrenceRuleValue rrule, Temporal startTemporal)
      Produce easy to read summary of repeat rule Is limited to producing strings for following repeat rules: Any individual Frequency (FREQ) COUNT and UNTIL properties MONTHLY and WEEKLY with ByDay Byxxx rule For example: RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=11;BYDAY=MO,WE,FR produces: "Every 2 weeks on Monday, Wednesday, Friday, 11 times"
      Parameters:
      startTemporal - LocalDate or LocalDateTime of start date/time (DTSTART)
      Returns:
      Easy to read summary of repeat rule
    • isSupported

      private boolean isSupported(VDisplayable<?> vComponent)
    • byDaySummary

      private static String byDaySummary(ByDay byDay)
      Produces an easy to ready summary for ByDay rule with only one ByDayPair. Returns null for more than one ByDayPair. Example: third Monday
      Returns:
      easy to read summary of rule
    • loadFxml

      protected static void loadFxml(URL fxmlFile, Object rootController)