Class AbstractAxisParameter

  • All Implemented Interfaces:
    Axis, javafx.beans.Observable, javafx.css.Styleable, javafx.event.EventTarget
    Direct Known Subclasses:
    AbstractAxis

    public abstract class AbstractAxisParameter
    extends javafx.scene.layout.Pane
    implements Axis
    Class containing the properties, getters and setters for the AbstractNumericAxis class

    intention is to move the boiler-plate code here for better readability of the AbstractNumericAxis class

    Author:
    rstein
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected AxisRange autoRange
      if available (last) auto-range that has been computed
      protected AxisLabel axisLabel  
      protected static int DEFAULT_MINOR_TICK_COUNT  
      protected boolean isInvertedAxis  
      protected boolean isTimeAxis  
      protected javafx.beans.property.DoubleProperty lowerBound
      The value for the lower bound of this axis, ie min value.
      protected javafx.collections.ObservableList<TickMark> majorTickMarks  
      protected javafx.scene.shape.Path majorTickStyle
      Paths used for css-type styling.
      protected boolean measureInvalid  
      protected javafx.collections.ObservableList<TickMark> minorTickMarkValues  
      protected javafx.scene.shape.Path minorTickStyle  
      protected double oldAxisLength
      This is the minimum/maximum current data value and it is used while auto ranging.
      protected boolean rangeValid  
      protected javafx.beans.property.DoubleProperty scaleBinding
      Used to update scale property in AbstractAxisParameter (that is read-only) TODO: remove is possible
      protected javafx.beans.property.DoubleProperty tickLabelRotation
      Rotation in degrees of tick mark labels from their normal horizontal.
      protected boolean tickLabelsVisibleInvalid  
      protected javafx.css.SimpleStyleableDoubleProperty tickUnit  
      protected javafx.beans.property.DoubleProperty upperBound
      The value for the upper bound of this axis, ie max value.
      protected AxisRange userRange
      user-specified range (ie.
      • 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
      AbstractAxisParameter()
      Create a auto-ranging AbstractAxisParameter
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      javafx.beans.property.BooleanProperty animatedProperty()  
      javafx.beans.property.IntegerProperty animationDurationProperty()  
      javafx.beans.property.BooleanProperty autoGrowRangingProperty()
      This is true when the axis determines its range from the data automatically
      javafx.beans.property.DoubleProperty autoRangePaddingProperty()
      Fraction of the range to be applied as padding on both sides of the axis range.
      javafx.beans.property.BooleanProperty autoRangeRoundingProperty()
      With autoRangingProperty() on, defines if the range should be extended to the major tick unit value.
      javafx.beans.property.BooleanProperty autoRangingProperty()
      This is true when the axis determines its range from the data automatically
      javafx.beans.property.BooleanProperty autoUnitScalingProperty()  
      javafx.beans.property.DoubleProperty axisLabelGapProperty()  
      javafx.beans.property.ObjectProperty<javafx.scene.text.TextAlignment> axisLabelTextAlignmentProperty()  
      javafx.beans.property.DoubleProperty axisPaddingProperty()  
      javafx.beans.property.DoubleProperty centerAxisPositionProperty()  
      protected double decadeRange()  
      abstract void fireInvalidated()  
      javafx.scene.text.TextAlignment getaAxisLabelTextAlignment()  
      boolean getAnimated()
      Indicates whether the changes to axis range will be animated or not.
      int getAnimationDuration()  
      AxisRange getAutoRange()
      if available (last) auto-range that has been computed
      double getAutoRangePadding()
      Returns the value of the autoRangePaddingProperty().
      boolean getAutoUnitScaling()  
      javafx.scene.text.Text getAxisLabel()  
      double getAxisLabelGap()  
      double getAxisPadding()  
      double getCenterAxisPosition()  
      static java.util.List<javafx.css.CssMetaData<? extends javafx.css.Styleable,​?>> getClassCssMetaData()  
      java.util.List<javafx.css.CssMetaData<? extends javafx.css.Styleable,​?>> getCssMetaData()
      java.lang.String getLabel()  
      double getLength()  
      double getLowerBound()  
      javafx.scene.shape.Path getMajorTickStyle()  
      int getMinorTickCount()  
      double getMinorTickLength()  
      javafx.collections.ObservableList<TickMark> getMinorTickMarks()  
      javafx.scene.shape.Path getMinorTickStyle()  
      AxisLabelOverlapPolicy getOverlapPolicy()  
      AxisRange getRange()
      on auto-ranging this returns getAutoRange(), otherwise the user-specified range getUserRange() (ie.
      double getScale()  
      Side getSide()  
      javafx.scene.paint.Paint getTickLabelFill()  
      javafx.scene.text.Font getTickLabelFont()  
      javafx.util.StringConverter<java.lang.Number> getTickLabelFormatter()  
      double getTickLabelGap()  
      double getTickLabelRotation()  
      double getTickLength()  
      javafx.collections.ObservableList<TickMark> getTickMarks()  
      double getTickUnit()
      Returns tick unit value expressed in data units.
      java.lang.String getUnit()  
      double getUnitScaling()  
      double getUpperBound()  
      AxisRange getUserRange()
      user-specified range (ie.
      protected void invalidateRange()
      Mark the current range invalid, this will cause anything that depends on the range to be recalculated on the next layout.
      void invertAxis​(boolean value)
      This is true when the axis labels and data point order should be inverted
      javafx.beans.property.BooleanProperty invertAxisProperty()
      This is true when the axis labels and data point order should be inverted
      boolean isAutoGrowRanging()
      This is true when the axis determines its range from the data automatically and grows it if necessary
      boolean isAutoRangeRounding()
      Returns the value of the autoRangeRoundingProperty().
      boolean isAutoRanging()
      This is true when the axis determines its range from the data automatically
      boolean isInvertedAxis()
      This is true when the axis labels and data point order should be inverted
      boolean isMinorTickVisible()  
      boolean isTickLabelsVisible()  
      boolean isTickMarkVisible()  
      boolean isTimeAxis()
      This is true when the axis corresponds to a time-axis
      javafx.beans.property.StringProperty labelProperty()  
      javafx.beans.property.DoubleProperty lowerBoundProperty()  
      javafx.beans.property.IntegerProperty minorTickCountProperty()  
      javafx.beans.property.DoubleProperty minorTickLengthProperty()  
      javafx.beans.property.BooleanProperty minorTickVisibleProperty()  
      javafx.beans.property.ObjectProperty<AxisLabelOverlapPolicy> overlapPolicyProperty()  
      abstract void requestAxisLayout()
      Request that the axis is laid out in the next layout pass.
      javafx.beans.property.ReadOnlyDoubleProperty scaleProperty()  
      void setAnimated​(boolean value)  
      void setAnimationDuration​(int value)  
      void setAutoGrowRanging​(boolean state)
      This is true when the axis determines its range from the data automatically and grows it if necessary
      void setAutoRangePadding​(double padding)
      Sets the value of the autoRangePaddingProperty()
      void setAutoRangeRounding​(boolean round)
      Sets the value of the autoRangeRoundingProperty()
      void setAutoRanging​(boolean value)
      This is true when the axis determines its range from the data automatically
      void setAutoUnitScaling​(boolean value)  
      void setAxisCentrePosition​(double value)  
      void setAxisLabelAlignment​(javafx.scene.text.TextAlignment value)  
      void setAxisLabelGap​(double value)  
      void setAxisPadding​(double value)  
      void setLabel​(java.lang.String value)  
      void setLowerBound​(double value)  
      void setMinorTickCount​(int value)  
      void setMinorTickLength​(double value)  
      void setMinorTickVisible​(boolean value)  
      void setOverlapPolicy​(AxisLabelOverlapPolicy value)  
      protected void setScale​(double scale)  
      void setSide​(Side value)  
      void setTickLabelFill​(javafx.scene.paint.Paint value)  
      void setTickLabelFont​(javafx.scene.text.Font value)  
      void setTickLabelFormatter​(javafx.util.StringConverter<java.lang.Number> value)  
      void setTickLabelGap​(double value)  
      void setTickLabelRotation​(double value)  
      void setTickLabelsVisible​(boolean value)  
      void setTickLength​(double value)  
      void setTickMarkVisible​(boolean value)  
      void setTickUnit​(double unit)
      Sets the value of the tickUnitProperty().
      void setTimeAxis​(boolean value)
      This is true when the axis labels and data point should be plotted according to some time-axis definition
      void setUnit​(java.lang.String value)  
      void setUnitScaling​(double value)  
      void setUnitScaling​(MetricPrefix prefix)  
      void setUpperBound​(double value)  
      javafx.beans.property.ObjectProperty<Side> sideProperty()  
      javafx.beans.property.ObjectProperty<javafx.scene.paint.Paint> tickLabelFillProperty()  
      javafx.beans.property.ObjectProperty<javafx.scene.text.Font> tickLabelFontProperty()  
      javafx.beans.property.ObjectProperty<javafx.util.StringConverter<java.lang.Number>> tickLabelFormatterProperty()  
      javafx.beans.property.DoubleProperty tickLabelGapProperty()  
      javafx.beans.property.DoubleProperty tickLabelRotationProperty()  
      javafx.beans.property.BooleanProperty tickLabelsVisibleProperty()  
      javafx.beans.property.DoubleProperty tickLengthProperty()  
      javafx.beans.property.BooleanProperty tickMarkVisibleProperty()  
      javafx.beans.property.DoubleProperty tickUnitProperty()
      The value between each major tick mark in data units.
      javafx.beans.property.BooleanProperty timeAxisProperty()
      This is true when the axis labels and data point should be plotted according to some time-axis definition
      javafx.beans.property.ObjectProperty<java.lang.String> unitProperty()  
      javafx.beans.property.DoubleProperty unitScalingProperty()  
      protected void updateAxisLabelAndUnit()  
      protected void updateScaleAndUnitPrefix()  
      javafx.beans.property.DoubleProperty upperBoundProperty()  
      • Methods inherited from class javafx.scene.layout.Pane

        getChildren
      • Methods inherited from class javafx.scene.layout.Region

        backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, 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, layoutChildren, lookup, needsLayoutProperty, queryAccessibleAttribute, requestLayout, 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, getContentBias, 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.beans.Observable

        addListener, removeListener
      • Methods inherited from interface javafx.css.Styleable

        getStyleableNode
    • Field Detail

      • DEFAULT_MINOR_TICK_COUNT

        protected static final int DEFAULT_MINOR_TICK_COUNT
        See Also:
        Constant Field Values
      • majorTickStyle

        protected final javafx.scene.shape.Path majorTickStyle
        Paths used for css-type styling. Not used for actual drawing. Used as a storage contained for the settings applied to GraphicsContext which allow much faster (and less complex) drawing routines but do no not allow CSS-type styling.
      • minorTickStyle

        protected final javafx.scene.shape.Path minorTickStyle
      • axisLabel

        protected final AxisLabel axisLabel
      • oldAxisLength

        protected double oldAxisLength
        This is the minimum/maximum current data value and it is used while auto ranging. Package private solely for test purposes TODO: replace concept with 'actual range', 'user-defined range', 'auto-range' (+min, max range limit for auto).... actual is used to compute tick marks and defined by either user or auto (ie. auto axis is always being computed), ALSO add maybe a zoom range (ie. limited by user-set/auto-range range)
      • rangeValid

        protected boolean rangeValid
      • measureInvalid

        protected boolean measureInvalid
      • tickLabelsVisibleInvalid

        protected boolean tickLabelsVisibleInvalid
      • majorTickMarks

        protected final javafx.collections.ObservableList<TickMark> majorTickMarks
      • minorTickMarkValues

        protected final javafx.collections.ObservableList<TickMark> minorTickMarkValues
      • autoRange

        protected AxisRange autoRange
        if available (last) auto-range that has been computed
      • userRange

        protected AxisRange userRange
        user-specified range (ie. limits based on [lower,upper]Bound)
      • tickLabelRotation

        protected final javafx.beans.property.DoubleProperty tickLabelRotation
        Rotation in degrees of tick mark labels from their normal horizontal.
      • upperBound

        protected final javafx.beans.property.DoubleProperty upperBound
        The value for the upper bound of this axis, ie max value. This is automatically set if auto ranging is on.
      • lowerBound

        protected final javafx.beans.property.DoubleProperty lowerBound
        The value for the lower bound of this axis, ie min value. This is automatically set if auto ranging is on.
      • scaleBinding

        protected final javafx.beans.property.DoubleProperty scaleBinding
        Used to update scale property in AbstractAxisParameter (that is read-only) TODO: remove is possible
      • isInvertedAxis

        protected boolean isInvertedAxis
      • isTimeAxis

        protected boolean isTimeAxis
      • tickUnit

        protected final javafx.css.SimpleStyleableDoubleProperty tickUnit
    • Constructor Detail

      • AbstractAxisParameter

        public AbstractAxisParameter()
        Create a auto-ranging AbstractAxisParameter
    • Method Detail

      • getMajorTickStyle

        public javafx.scene.shape.Path getMajorTickStyle()
        Returns:
        the majorTickStyle for custom user-code based styling
      • getMinorTickStyle

        public javafx.scene.shape.Path getMinorTickStyle()
        Returns:
        the minorTickStyle for custom user-code based styling
      • getAxisLabel

        public javafx.scene.text.Text getAxisLabel()
        Returns:
        the axisLabel
      • getTickMarks

        public javafx.collections.ObservableList<TickMark> getTickMarks()
        Specified by:
        getTickMarks in interface Axis
        Returns:
        observable list containing of each major TickMark on this axis
      • getMinorTickMarks

        public javafx.collections.ObservableList<TickMark> getMinorTickMarks()
        Specified by:
        getMinorTickMarks in interface Axis
        Returns:
        observable list containing of each minor TickMark on this axis
      • getAutoRange

        public AxisRange getAutoRange()
        Description copied from interface: Axis
        if available (last) auto-range that has been computed
        Specified by:
        getAutoRange in interface Axis
        Returns:
        computed auto-range
      • getUserRange

        public AxisRange getUserRange()
        Description copied from interface: Axis
        user-specified range (ie. limits based on [lower,upper]Bound)
        Specified by:
        getUserRange in interface Axis
        Returns:
        user-specified range
      • getRange

        public AxisRange getRange()
        on auto-ranging this returns getAutoRange(), otherwise the user-specified range getUserRange() (ie. limits based on [lower,upper]Bound)
        Specified by:
        getRange in interface Axis
        Returns:
        actual range that is being used.
      • getSide

        public Side getSide()
        Specified by:
        getSide in interface Axis
        Returns:
        the layout side
      • setSide

        public void setSide​(Side value)
        Specified by:
        setSide in interface Axis
      • sideProperty

        public javafx.beans.property.ObjectProperty<Side> sideProperty()
        Specified by:
        sideProperty in interface Axis
      • overlapPolicyProperty

        public javafx.beans.property.ObjectProperty<AxisLabelOverlapPolicy> overlapPolicyProperty()
      • getCenterAxisPosition

        public double getCenterAxisPosition()
      • setAxisCentrePosition

        public void setAxisCentrePosition​(double value)
      • centerAxisPositionProperty

        public javafx.beans.property.DoubleProperty centerAxisPositionProperty()
      • getaAxisLabelTextAlignment

        public javafx.scene.text.TextAlignment getaAxisLabelTextAlignment()
      • setAxisLabelAlignment

        public void setAxisLabelAlignment​(javafx.scene.text.TextAlignment value)
      • axisLabelTextAlignmentProperty

        public javafx.beans.property.ObjectProperty<javafx.scene.text.TextAlignment> axisLabelTextAlignmentProperty()
      • getLabel

        public java.lang.String getLabel()
        Specified by:
        getLabel in interface Axis
        Returns:
        axis primary label
      • setLabel

        public void setLabel​(java.lang.String value)
        Specified by:
        setLabel in interface Axis
        Parameters:
        value - the new axis primary label
      • labelProperty

        public javafx.beans.property.StringProperty labelProperty()
        Specified by:
        labelProperty in interface Axis
        Returns:
        the primary label property
      • isTickMarkVisible

        public boolean isTickMarkVisible()
      • setTickMarkVisible

        public void setTickMarkVisible​(boolean value)
      • tickMarkVisibleProperty

        public javafx.beans.property.BooleanProperty tickMarkVisibleProperty()
      • isTickLabelsVisible

        public boolean isTickLabelsVisible()
      • setTickLabelsVisible

        public void setTickLabelsVisible​(boolean value)
      • tickLabelsVisibleProperty

        public javafx.beans.property.BooleanProperty tickLabelsVisibleProperty()
      • getAxisPadding

        public double getAxisPadding()
      • setAxisPadding

        public void setAxisPadding​(double value)
      • axisPaddingProperty

        public javafx.beans.property.DoubleProperty axisPaddingProperty()
      • getTickLength

        public double getTickLength()
      • setTickLength

        public void setTickLength​(double value)
      • tickLengthProperty

        public javafx.beans.property.DoubleProperty tickLengthProperty()
      • isAutoRanging

        public boolean isAutoRanging()
        Description copied from interface: Axis
        This is true when the axis determines its range from the data automatically
        Specified by:
        isAutoRanging in interface Axis
        Returns:
        true if axis shall be updated to the optimal data range
      • setAutoRanging

        public void setAutoRanging​(boolean value)
        Description copied from interface: Axis
        This is true when the axis determines its range from the data automatically
        Specified by:
        setAutoRanging in interface Axis
        Parameters:
        value - true if axis shall be updated to the optimal data range
      • autoRangingProperty

        public javafx.beans.property.BooleanProperty autoRangingProperty()
        Description copied from interface: Axis
        This is true when the axis determines its range from the data automatically
        Specified by:
        autoRangingProperty in interface Axis
        Returns:
        property
      • getTickLabelFont

        public javafx.scene.text.Font getTickLabelFont()
        Specified by:
        getTickLabelFont in interface Axis
        Returns:
        the font for all tick labels
      • setTickLabelFont

        public void setTickLabelFont​(javafx.scene.text.Font value)
      • tickLabelFontProperty

        public javafx.beans.property.ObjectProperty<javafx.scene.text.Font> tickLabelFontProperty()
      • getTickLabelFill

        public javafx.scene.paint.Paint getTickLabelFill()
        Specified by:
        getTickLabelFill in interface Axis
        Returns:
        the fill for all tick labels
      • setTickLabelFill

        public void setTickLabelFill​(javafx.scene.paint.Paint value)
      • tickLabelFillProperty

        public javafx.beans.property.ObjectProperty<javafx.scene.paint.Paint> tickLabelFillProperty()
      • getTickLabelGap

        public double getTickLabelGap()
        Specified by:
        getTickLabelGap in interface Axis
        Returns:
        the gap between tick labels and the tick mark lines
      • setTickLabelGap

        public void setTickLabelGap​(double value)
      • tickLabelGapProperty

        public javafx.beans.property.DoubleProperty tickLabelGapProperty()
      • getAxisLabelGap

        public double getAxisLabelGap()
      • setAxisLabelGap

        public void setAxisLabelGap​(double value)
      • axisLabelGapProperty

        public javafx.beans.property.DoubleProperty axisLabelGapProperty()
      • getAnimationDuration

        public int getAnimationDuration()
      • setAnimationDuration

        public void setAnimationDuration​(int value)
      • animationDurationProperty

        public javafx.beans.property.IntegerProperty animationDurationProperty()
      • getAnimated

        public boolean getAnimated()
        Indicates whether the changes to axis range will be animated or not.
        Returns:
        true if axis range changes will be animated and false otherwise
      • setAnimated

        public void setAnimated​(boolean value)
        Specified by:
        setAnimated in interface Axis
        Parameters:
        value - true if axis range changes will be animated and false otherwise
      • animatedProperty

        public javafx.beans.property.BooleanProperty animatedProperty()
      • getTickLabelRotation

        public double getTickLabelRotation()
      • setTickLabelRotation

        public void setTickLabelRotation​(double value)
      • tickLabelRotationProperty

        public javafx.beans.property.DoubleProperty tickLabelRotationProperty()
      • isMinorTickVisible

        public boolean isMinorTickVisible()
      • setMinorTickVisible

        public void setMinorTickVisible​(boolean value)
      • minorTickVisibleProperty

        public javafx.beans.property.BooleanProperty minorTickVisibleProperty()
      • getLength

        public double getLength()
        Specified by:
        getLength in interface Axis
        Returns:
        axis length in pixel
      • getScale

        public double getScale()
      • setScale

        protected void setScale​(double scale)
      • scaleProperty

        public javafx.beans.property.ReadOnlyDoubleProperty scaleProperty()
      • getUpperBound

        public double getUpperBound()
        Specified by:
        getUpperBound in interface Axis
      • setUpperBound

        public void setUpperBound​(double value)
        Specified by:
        setUpperBound in interface Axis
      • upperBoundProperty

        public javafx.beans.property.DoubleProperty upperBoundProperty()
        Specified by:
        upperBoundProperty in interface Axis
      • getLowerBound

        public double getLowerBound()
        Specified by:
        getLowerBound in interface Axis
      • setLowerBound

        public void setLowerBound​(double value)
        Specified by:
        setLowerBound in interface Axis
      • lowerBoundProperty

        public javafx.beans.property.DoubleProperty lowerBoundProperty()
        Specified by:
        lowerBoundProperty in interface Axis
      • getTickLabelFormatter

        public javafx.util.StringConverter<java.lang.Number> getTickLabelFormatter()
        Specified by:
        getTickLabelFormatter in interface Axis
      • setTickLabelFormatter

        public void setTickLabelFormatter​(javafx.util.StringConverter<java.lang.Number> value)
      • tickLabelFormatterProperty

        public javafx.beans.property.ObjectProperty<javafx.util.StringConverter<java.lang.Number>> tickLabelFormatterProperty()
      • getMinorTickLength

        public double getMinorTickLength()
      • setMinorTickLength

        public void setMinorTickLength​(double value)
      • minorTickLengthProperty

        public javafx.beans.property.DoubleProperty minorTickLengthProperty()
      • setMinorTickCount

        public void setMinorTickCount​(int value)
      • minorTickCountProperty

        public javafx.beans.property.IntegerProperty minorTickCountProperty()
      • isAutoGrowRanging

        public boolean isAutoGrowRanging()
        This is true when the axis determines its range from the data automatically and grows it if necessary
        Specified by:
        isAutoGrowRanging in interface Axis
        Returns:
        true if axis shall be updated to the optimal data range
      • setAutoGrowRanging

        public void setAutoGrowRanging​(boolean state)
        This is true when the axis determines its range from the data automatically and grows it if necessary
        Specified by:
        setAutoGrowRanging in interface Axis
        Parameters:
        state - true if axis shall be updated to the optimal data range and grows it if necessary
      • autoGrowRangingProperty

        public javafx.beans.property.BooleanProperty autoGrowRangingProperty()
        This is true when the axis determines its range from the data automatically
        Specified by:
        autoGrowRangingProperty in interface Axis
        Returns:
        property
      • autoRangeRoundingProperty

        public javafx.beans.property.BooleanProperty autoRangeRoundingProperty()
        With autoRangingProperty() on, defines if the range should be extended to the major tick unit value. For example with range [3, 74] and major tick unit [5], the range will be extended to [0, 75].

        Default value: true

        Returns:
        autoRangeRounding property
      • isAutoRangeRounding

        public boolean isAutoRangeRounding()
        Returns the value of the autoRangeRoundingProperty().
        Returns:
        the auto range rounding flag
      • setAutoRangeRounding

        public void setAutoRangeRounding​(boolean round)
        Sets the value of the autoRangeRoundingProperty()
        Parameters:
        round - if true, lower and upper bound will be adjusted to the tick unit value
      • isInvertedAxis

        public boolean isInvertedAxis()
        This is true when the axis labels and data point order should be inverted
        Specified by:
        isInvertedAxis in interface Axis
        Returns:
        true if axis shall be inverted (i.e. drawn from 'max->min', rather than the normal 'min->max')
      • invertAxis

        public void invertAxis​(boolean value)
        This is true when the axis labels and data point order should be inverted
        Specified by:
        invertAxis in interface Axis
        Parameters:
        value - true if axis shall be inverted (i.e. drawn from 'max->min', rather than the normal 'min->max')
      • invertAxisProperty

        public javafx.beans.property.BooleanProperty invertAxisProperty()
        This is true when the axis labels and data point order should be inverted
        Specified by:
        invertAxisProperty in interface Axis
        Returns:
        property
      • isTimeAxis

        public boolean isTimeAxis()
        This is true when the axis corresponds to a time-axis
        Specified by:
        isTimeAxis in interface Axis
        Returns:
        true if axis is a time scale
      • setTimeAxis

        public void setTimeAxis​(boolean value)
        This is true when the axis labels and data point should be plotted according to some time-axis definition
        Specified by:
        setTimeAxis in interface Axis
        Parameters:
        value - true if axis shall be drawn with time-axis labels
      • timeAxisProperty

        public javafx.beans.property.BooleanProperty timeAxisProperty()
        This is true when the axis labels and data point should be plotted according to some time-axis definition
        Specified by:
        timeAxisProperty in interface Axis
        Returns:
        time axis property reference
      • autoRangePaddingProperty

        public javafx.beans.property.DoubleProperty autoRangePaddingProperty()
        Fraction of the range to be applied as padding on both sides of the axis range. E.g. if set to 0.1 (10%) on axis with data range [10, 20], the new automatically calculated range will be [9, 21].
        Returns:
        autoRangePadding property
      • getAutoRangePadding

        public double getAutoRangePadding()
        Returns the value of the autoRangePaddingProperty().
        Returns:
        the auto range padding
      • setAutoRangePadding

        public void setAutoRangePadding​(double padding)
        Sets the value of the autoRangePaddingProperty()
        Parameters:
        padding - padding factor
      • decadeRange

        protected double decadeRange()
      • updateScaleAndUnitPrefix

        protected void updateScaleAndUnitPrefix()
      • updateAxisLabelAndUnit

        protected void updateAxisLabelAndUnit()
      • getUnit

        public java.lang.String getUnit()
        Specified by:
        getUnit in interface Axis
        Returns:
        axis primary unit scaling
      • setUnit

        public void setUnit​(java.lang.String value)
        Specified by:
        setUnit in interface Axis
        Parameters:
        value - the new axis primary unit scaling
      • unitProperty

        public javafx.beans.property.ObjectProperty<java.lang.String> unitProperty()
        Specified by:
        unitProperty in interface Axis
        Returns:
        the primary unit scaling property
      • getAutoUnitScaling

        public boolean getAutoUnitScaling()
        Specified by:
        getAutoUnitScaling in interface Axis
        Returns:
        whether unit is automatically adjusted to multiples of 1e3 (kilo, mega, ...) or 1e-3 (milli, micro, ...)
      • setAutoUnitScaling

        public void setAutoUnitScaling​(boolean value)
        Specified by:
        setAutoUnitScaling in interface Axis
        Parameters:
        value - scaling value true -> scale to the nearest SI unit prefix
      • autoUnitScalingProperty

        public javafx.beans.property.BooleanProperty autoUnitScalingProperty()
        Specified by:
        autoUnitScalingProperty in interface Axis
        Returns:
        true -> scale to the nearest SI unit prefix
      • getUnitScaling

        public double getUnitScaling()
        Specified by:
        getUnitScaling in interface Axis
        Returns:
        axis primary unit scaling
      • setUnitScaling

        public void setUnitScaling​(double value)
        Specified by:
        setUnitScaling in interface Axis
        Parameters:
        value - the new axis primary unit label
      • setUnitScaling

        public void setUnitScaling​(MetricPrefix prefix)
        Specified by:
        setUnitScaling in interface Axis
        Parameters:
        prefix - the new axis primary unit label
      • unitScalingProperty

        public javafx.beans.property.DoubleProperty unitScalingProperty()
        Specified by:
        unitScalingProperty in interface Axis
        Returns:
        the primary unit label property
      • tickUnitProperty

        public javafx.beans.property.DoubleProperty tickUnitProperty()
        The value between each major tick mark in data units. This is automatically set if we are auto-ranging.
        Specified by:
        tickUnitProperty in interface Axis
        Returns:
        tickUnit property
      • getTickUnit

        public double getTickUnit()
        Returns tick unit value expressed in data units.
        Specified by:
        getTickUnit in interface Axis
        Returns:
        major tick unit value
      • setTickUnit

        public void setTickUnit​(double unit)
        Sets the value of the tickUnitProperty().
        Specified by:
        setTickUnit in interface Axis
        Parameters:
        unit - major tick unit
      • invalidateRange

        protected void invalidateRange()
        Mark the current range invalid, this will cause anything that depends on the range to be recalculated on the next layout.
      • requestAxisLayout

        public abstract void requestAxisLayout()
        Request that the axis is laid out in the next layout pass. This replaces requestLayout() as it has been overridden to do nothing so that changes to children's bounds etc do not cause a layout. This was done as a optimisation as the Axis knows the exact minimal set of changes that really need layout to be updated. So we only want to request layout then, not on any child change.
        Specified by:
        requestAxisLayout in interface Axis
      • fireInvalidated

        public abstract void fireInvalidated()
      • getClassCssMetaData

        public static java.util.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 java.util.List<javafx.css.CssMetaData<? extends javafx.css.Styleable,​?>> getCssMetaData()
        Specified by:
        getCssMetaData in interface javafx.css.Styleable
        Overrides:
        getCssMetaData in class javafx.scene.layout.Region