Class AgendaSkinTimeScale24HourAbstract<T>

java.lang.Object
javafx.scene.control.SkinBase<Agenda>
jfxtras.internal.scene.control.skin.agenda.base24hour.AgendaSkinTimeScale24HourAbstract<T>
All Implemented Interfaces:
javafx.scene.control.Skin<Agenda>, AgendaSkin
Direct Known Subclasses:
AgendaDaysFromDisplayedSkin, AgendaDaySkin, AgendaWeekSkin

public abstract class AgendaSkinTimeScale24HourAbstract<T> extends javafx.scene.control.SkinBase<Agenda> implements AgendaSkin
  • Property Details

    • snapToMinutes

      public final javafx.beans.property.ObjectProperty<Double> snapToMinutesProperty
      snapToMinutes I am clueless why the Integer version of this property gets a double pushed in (which results in a ClassCastException)
      See Also:
  • Field Details

    • control

      protected final Agenda control
    • appointments

      AllAppointments appointments
    • localeInvalidationListener

      private javafx.beans.InvalidationListener localeInvalidationListener
    • displayedDateTimeChangeListener

      private javafx.beans.value.ChangeListener<? super LocalDateTime> displayedDateTimeChangeListener
    • appointmentsListChangeListener

      private javafx.collections.ListChangeListener<Agenda.Appointment> appointmentsListChangeListener
    • appointmentNodeMapCleanUpListChangeListener

      private javafx.collections.ListChangeListener<Agenda.Appointment> appointmentNodeMapCleanUpListChangeListener
    • appointmentNodeMap

      private final Map<Integer,javafx.scene.layout.Pane> appointmentNodeMap
    • snapToMinutesProperty

      private javafx.beans.property.ObjectProperty<Double> snapToMinutesProperty
    • borderPane

      protected javafx.scene.layout.BorderPane borderPane
    • weekHeaderPane

    • weekScrollPane

      private javafx.scene.control.ScrollPane weekScrollPane
    • weekBodyPane

    • nowLine

      final javafx.scene.shape.Rectangle nowLine
    • nowUpdateRunnable

      Runnable nowUpdateRunnable
      This is implemented as a runnable so it can be called from a timer, but also directly
    • nowTimer

      Timer nowTimer
      This timer takes care of updating NOW
    • layoutHelp

      private LayoutHelp layoutHelp
  • Constructor Details

    • AgendaSkinTimeScale24HourAbstract

      public AgendaSkinTimeScale24HourAbstract(Agenda control)
  • Method Details

    • reconstruct

      protected void reconstruct()
      Reconstruct the UI part
    • construct

      private void construct()
    • dispose

      public void dispose()
      Specified by:
      dispose in interface javafx.scene.control.Skin<T>
      Overrides:
      dispose in class javafx.scene.control.SkinBase<Agenda>
    • assignDateToDayAndHeaderPanes

      private void assignDateToDayAndHeaderPanes()
      Assign a calendar to each day, so it knows what it must draw.
    • refreshLocale

      private void refreshLocale()
    • setupAppointments

      public void setupAppointments()
      Have all days reconstruct the appointments
      Specified by:
      setupAppointments in interface AgendaSkin
    • refresh

      public void refresh()
      Description copied from interface: AgendaSkin
      Complete refresh
      Specified by:
      refresh in interface AgendaSkin
    • getNodeForPopup

      public javafx.scene.layout.Pane getNodeForPopup(Agenda.Appointment appointment)
      Description copied from interface: AgendaSkin
      Finds rendered node for appointment. The node can be used as the owner for a popup. or finding its x, y coordinates.
      Specified by:
      getNodeForPopup in interface AgendaSkin
      Returns:
      rendered node that represents appointment
    • appointmentNodeMap

      Map<Integer,javafx.scene.layout.Pane> appointmentNodeMap()
    • snapToMinutesProperty

      public final javafx.beans.property.ObjectProperty<Double> snapToMinutesProperty()
      snapToMinutes I am clueless why the Integer version of this property gets a double pushed in (which results in a ClassCastException)
      See Also:
    • setSnapToMinutes

      public final void setSnapToMinutes(double value)
      Sets the value of the property snapToMinutes.
      Property description:
      snapToMinutes I am clueless why the Integer version of this property gets a double pushed in (which results in a ClassCastException)
    • getSnapToMinutes

      public final double getSnapToMinutes()
      Gets the value of the property snapToMinutes.
      Property description:
      snapToMinutes I am clueless why the Integer version of this property gets a double pushed in (which results in a ClassCastException)
    • withSnapToMinutes

      public final T withSnapToMinutes(double value)
    • getClassCssMetaData

      public static List<javafx.css.CssMetaData<? extends javafx.css.Styleable,?>> getClassCssMetaData()
      Returns:
      The CssMetaData associated with this class, which may include the CssMetaData of its super classes.
    • getCssMetaData

      public List<javafx.css.CssMetaData<? extends javafx.css.Styleable,?>> getCssMetaData()
      This method should delegate to Node.getClassCssMetaData() so that a Node's CssMetaData can be accessed without the need for reflection.
      Overrides:
      getCssMetaData in class javafx.scene.control.SkinBase<Agenda>
      Returns:
      The CssMetaData associated with this node, which may include the CssMetaData of its super classes.
    • createNodes

      private void createNodes()
      construct the nodes
    • scrollWeekpaneToShowDisplayedTime

      private void scrollWeekpaneToShowDisplayedTime()
    • determineDisplayedLocalDates

      protected abstract List<LocalDate> determineDisplayedLocalDates()
    • isWeekend

      private boolean isWeekend(LocalDate localDate)
      check if a certain weekday name is a certain day-of-the-week
    • calculateSizes

      private void calculateSizes()
      These values can not be determined by binding them to other values, because their calculation is too complex
    • convertClickInSceneToDateTime

      public LocalDateTime convertClickInSceneToDateTime(double x, double y)
      Specified by:
      convertClickInSceneToDateTime in interface AgendaSkin
      Parameters:
      x - scene coordinate
      y - scene coordinate
      Returns:
      a localDateTime equivalent of the click location, where a drop in the day section has nano seconds == 1, and a drop in a header (wholeday) section has nano seconds == 0
    • print

      public void print(javafx.print.PrinterJob job)
      Prints the current skin using the given printer job.

      This method does not modify the state of the job, nor does it call PrinterJob.endJob(), so the job may be safely reused afterwards.

      Specified by:
      print in interface AgendaSkin
      Parameters:
      job - printer job used for printing
      Since:
      JavaFX 8.0