diff --git a/CalendarFXSampler/src/main/java/com/calendarfx/demo/views/HelloResourcesCalendarView.java b/CalendarFXSampler/src/main/java/com/calendarfx/demo/views/HelloResourcesCalendarView.java index b21a6990..a9c5e353 100644 --- a/CalendarFXSampler/src/main/java/com/calendarfx/demo/views/HelloResourcesCalendarView.java +++ b/CalendarFXSampler/src/main/java/com/calendarfx/demo/views/HelloResourcesCalendarView.java @@ -47,7 +47,7 @@ public String getSampleName() { @Override public Node getPanel(Stage stage) { ResourceCalendarView resourceCalendarView = new ResourceCalendarView<>(); - + resourceCalendarView.setShowNoonMarker(false); resourceCalendarView.setOverlapResolutionStrategy(OverlapResolutionStrategy.VISUAL_BOUNDS); resourceCalendarView.setHeaderFactory(resource -> { Label label1 = new Label("IG-TR"); diff --git a/CalendarFXView/src/main/java/com/calendarfx/view/DateControl.java b/CalendarFXView/src/main/java/com/calendarfx/view/DateControl.java index 33c37c42..91048d65 100644 --- a/CalendarFXView/src/main/java/com/calendarfx/view/DateControl.java +++ b/CalendarFXView/src/main/java/com/calendarfx/view/DateControl.java @@ -1868,6 +1868,26 @@ public final void setShowToday(boolean show) { showTodayProperty().set(show); } + private final BooleanProperty showNoonMarker = new SimpleBooleanProperty(this, "showNoonMarker", true); + + public final boolean isShowNoonMarker() { + return showNoonMarker.get(); + } + + /** + * A property used to indicate whether the day view should mark noon with a special + * marker. + * + * @return true if noon will be marked in a special way + */ + public final BooleanProperty showNoonMarkerProperty() { + return showNoonMarker; + } + + public final void setShowNoonMarker(boolean showNoonMarker) { + this.showNoonMarker.set(showNoonMarker); + } + private final ObjectProperty date = new SimpleObjectProperty<>(this, "date", LocalDate.now()); /** @@ -2616,6 +2636,7 @@ public final void bind(DateControl otherControl, boolean bindDate) { Bindings.bindBidirectional(otherControl.availableZoneIdsProperty(), availableZoneIdsProperty()); Bindings.bindBidirectional(otherControl.enableTimeZoneSupportProperty(), enableTimeZoneSupportProperty()); Bindings.bindBidirectional(otherControl.showDetailsUponCreationProperty(), showDetailsUponCreationProperty()); + Bindings.bindBidirectional(otherControl.showNoonMarkerProperty(), showNoonMarkerProperty()); if (bindDate) { Bindings.bindBidirectional(otherControl.dateProperty(), dateProperty()); @@ -2684,6 +2705,7 @@ public final void unbind(DateControl otherControl) { Bindings.unbindBidirectional(otherControl.availabilityGridProperty(), availabilityGridProperty()); Bindings.unbindBidirectional(otherControl.availabilityFillProperty(), availabilityFillProperty()); Bindings.unbindBidirectional(otherControl.showDetailsUponCreationProperty(), showDetailsUponCreationProperty()); + Bindings.unbindBidirectional(otherControl.showNoonMarkerProperty(), showNoonMarkerProperty()); // unbind callbacks Bindings.unbindBidirectional(otherControl.entryDetailsCallbackProperty(), entryDetailsCallbackProperty()); diff --git a/CalendarFXView/src/main/java/impl/com/calendarfx/view/DayViewSkin.java b/CalendarFXView/src/main/java/impl/com/calendarfx/view/DayViewSkin.java index 7b39103e..4ef7a480 100644 --- a/CalendarFXView/src/main/java/impl/com/calendarfx/view/DayViewSkin.java +++ b/CalendarFXView/src/main/java/impl/com/calendarfx/view/DayViewSkin.java @@ -458,10 +458,12 @@ protected void layoutChildrenInfiniteScrolling(double contentX, double contentY, line.getStyleClass().add(MIDNIGHT_LINE_STYLE_CLASS); line.setStartX(snapPositionX(contentX)); line.setEndX(snapPositionX(contentX + contentWidth)); - } else if (localTime.equals(LocalTime.NOON)) { - line.getStyleClass().add(NOON_LINE_STYLE_CLASS); + } else if (localTime.equals(LocalTime.NOON) ) { line.setStartX(snapPositionX(contentX)); line.setEndX(snapPositionX(contentX + contentWidth)); + if (view.isShowNoonMarker()) { + line.getStyleClass().add(NOON_LINE_STYLE_CLASS); + } } else { line.setStartX(snapPositionX(contentX + 4)); line.setEndX(snapPositionX(contentX + contentWidth - 4));