Module jfxtras.icalendaragenda
Class EditRecurrenceRuleVBox<T extends VDisplayable<T>>
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 ofVDisplayable
- 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
FieldsModifier and TypeFieldDescriptionprivate javafx.scene.control.Button
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>
(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 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 RecurrenceRuleValue
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 ResourceBundle
private RecurrenceRuleValue
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 -
Method Summary
Modifier and TypeMethodDescriptionprivate void
private static String
byDaySummary
(ByDay byDay) Produces an easy to ready summary for ByDay rule with only one ByDayPair.private Temporal
Finds closest recurrence, at least one recurrence past DTSTART, from initialUntilDateprivate DateTimeFormatter
private void
private void
void
private boolean
isSupported
(VDisplayable<?> vComponent) protected static void
private void
Make list of start date/times for exceptionComboBoxstatic 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
notOccurrenceDateAlert
(Temporal temporal) private void
Make list of start date/times for exceptionComboBoxprivate void
private void
private void
setDayOfWeek
(RecurrenceRuleValue rRule) Set day of week properties if FREQ=WEEKLY and has BYDAY rule This method is called only during setupprivate void
private void
setInitialValues
(VDisplayable<?> vComponent) private void
setIntervalText
(int value) void
Provide necessary data to setup(package private) void
synchStartDatePickerAndComponent
(LocalDate oldValue, LocalDate newValue) 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
-
vComponent
T extends VDisplayable<T> vComponent -
rrule
-
oldRRule
-
recurrenceRuleProperty
-
dateTimeStartRecurrenceNew
-
dateTimeStartProperty
-
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
-
dayOfWeekList
-
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
-
untilDatePicker
private javafx.scene.control.DatePicker untilDatePicker -
endGroup
private javafx.scene.control.ToggleGroup endGroup -
repeatSummaryLabel
private javafx.scene.control.Label repeatSummaryLabel -
exceptionComboBox
-
addExceptionButton
private javafx.scene.control.Button addExceptionButton -
exceptionsListView
-
removeExceptionButton
private javafx.scene.control.Button removeExceptionButton -
exceptionMasterList
-
dayOfWeekCheckBoxListener
-
dayOfWeekButtonListener
-
makeExceptionDatesAndSummaryListener
private final javafx.beans.InvalidationListener makeExceptionDatesAndSummaryListener -
neverListener
-
weeklyRecurrenceListener
-
frequencyListener
-
intervalSpinnerListener
-
untilListener
-
untilRadioButtonListener
-
dateTimeStartToExceptionChangeListener
private final javafx.beans.value.ChangeListener<? super Temporal> dateTimeStartToExceptionChangeListener
-
-
Constructor Details
-
EditRecurrenceRuleVBox
public EditRecurrenceRuleVBox()
-
-
Method Details
-
getFormatter
-
refreshSummary
private void refreshSummary() -
setIntervalText
private void setIntervalText(int value) -
setFrequencyVisibility
-
findUntil
Finds closest recurrence, at least one recurrence past DTSTART, from initialUntilDate- Parameters:
initialUntilDate
- - selected date from untilDatePicker- Returns:
- - best match for until
-
synchStartDatePickerAndComponent
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 editeddateTimeStartRecurrenceNew
- - reference to start date or date/time fromEditDecriptiveVBox
-
addListeners
private void addListeners() -
removeListeners
private void removeListeners() -
setInitialValues
-
setDayOfWeek
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
-
notOccurrenceDateAlert
-
notDateAlert
-
makeSummary
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
-
byDaySummary
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
-