Class LinearScaleTicks2

  • All Implemented Interfaces:
    ITicksProvider

    public class LinearScaleTicks2
    extends java.lang.Object
    implements ITicksProvider
    Class to represent a major tick for axes with scientific notation. This tick provider is used if a DAxis is created.
    • Field Detail

      • NAME

        public static final java.lang.String NAME
        The name of this tick provider
        See Also:
        Constant Field Values
      • ticks

        protected java.util.List<Tick> ticks
        the list of ticks marks
      • maxWidth

        private int maxWidth
        the maximum width of tick labels
      • maxHeight

        private int maxHeight
        the maximum height of tick labels
      • minorPositions

        protected java.util.ArrayList<java.lang.Integer> minorPositions
        the array of minor tick positions in pixels
      • ticksIndexBased

        private boolean ticksIndexBased
      • showMaxLabel

        private boolean showMaxLabel
        default: show max label
      • showMinLabel

        private boolean showMinLabel
        default: show min label
      • TICKMINDIST_IN_PIXELS_X

        private static final int TICKMINDIST_IN_PIXELS_X
        See Also:
        Constant Field Values
      • TICKMINDIST_IN_PIXELS_Y

        private static final int TICKMINDIST_IN_PIXELS_Y
        See Also:
        Constant Field Values
      • LAST_STEP_FRAC

        private static final double LAST_STEP_FRAC
        fraction of major tick step between 9 and 10
    • Constructor Detail

      • LinearScaleTicks2

        public LinearScaleTicks2​(DAxis scale)
        constructor
        Parameters:
        scale -
    • Method Detail

      • getPositions

        public java.util.List<java.lang.Integer> getPositions()
        Description copied from interface: ITicksProvider
        Gets the tick positions.
        Specified by:
        getPositions in interface ITicksProvider
        Returns:
        the tick positions
      • getVisibilities

        public java.util.List<java.lang.Boolean> getVisibilities()
        Specified by:
        getVisibilities in interface ITicksProvider
        Returns:
        the tick visibilities
      • getLabels

        public java.util.List<java.lang.String> getLabels()
        Specified by:
        getLabels in interface ITicksProvider
        Returns:
        the tick labels
      • getPosition

        public int getPosition​(int index)
        Specified by:
        getPosition in interface ITicksProvider
        Returns:
        tick position
      • getValue

        public double getValue​(int index)
        Specified by:
        getValue in interface ITicksProvider
        Returns:
        tick value
      • getLabel

        public java.lang.String getLabel​(int index)
        Specified by:
        getLabel in interface ITicksProvider
        Returns:
        tick label
      • isVisible

        public boolean isVisible​(int index)
        Specified by:
        isVisible in interface ITicksProvider
        Returns:
        true if tick is visible
      • getMinorPosition

        public int getMinorPosition​(int index)
        Specified by:
        getMinorPosition in interface ITicksProvider
        Returns:
        minor tick position
      • getMaxWidth

        public int getMaxWidth()
        Specified by:
        getMaxWidth in interface ITicksProvider
        Returns:
        maximum width in pixels of tick labels
      • getMaxHeight

        public int getMaxHeight()
        Specified by:
        getMaxHeight in interface ITicksProvider
        Returns:
        maximum height in pixels of tick labels
      • isShowMaxLabel

        public boolean isShowMaxLabel()
        Description copied from interface: ITicksProvider
        Shows the maximum value of the range as a label
        Specified by:
        isShowMaxLabel in interface ITicksProvider
        Returns:
        true (default) if shown
      • setShowMaxLabel

        public void setShowMaxLabel​(boolean showMaxLabel)
        Description copied from interface: ITicksProvider
        sets the visibility of the maximum label
        Specified by:
        setShowMaxLabel in interface ITicksProvider
      • isShowMinLabel

        public boolean isShowMinLabel()
        Description copied from interface: ITicksProvider
        Shows the minimum value of the range as a label
        Specified by:
        isShowMinLabel in interface ITicksProvider
        Returns:
        true (default) if shown
      • setShowMinLabel

        public void setShowMinLabel​(boolean showMinLabel)
        Description copied from interface: ITicksProvider
        Sets the visibility of the minimum label
        Specified by:
        setShowMinLabel in interface ITicksProvider
      • update

        public Range update​(double min,
                            double max,
                            int length)
        Description copied from interface: ITicksProvider
        Update ticks.
        Specified by:
        update in interface ITicksProvider
        Returns:
        null unless the provider has not had cause to change the range - in which case, the new range is returned.
      • getDefaultFormatPattern

        public java.lang.String getDefaultFormatPattern​(double min,
                                                        double max)
        Specified by:
        getDefaultFormatPattern in interface ITicksProvider
        Returns:
        default format pattern for labels
      • getHeadMargin

        public int getHeadMargin()
        Specified by:
        getHeadMargin in interface ITicksProvider
        Returns:
        margin in pixel between edge of client area and head of axis line
      • getTailMargin

        public int getTailMargin()
        Specified by:
        getTailMargin in interface ITicksProvider
        Returns:
        margin in pixel between edge of client area and tail of axis line
      • updateLabelPositionsAndCheckGaps

        private boolean updateLabelPositionsAndCheckGaps​(int length,
                                                         int hMargin,
                                                         int tMargin)
        Update positions and max dimensions of tick labels
        Returns:
        true if there is no overlaps
      • updateMinorTicks

        private void updateMinorTicks​(int end)
      • setTicksIndexBased

        public void setTicksIndexBased​(boolean isTicksIndexBased)
        Parameters:
        isTicksIndexBased - if true, make ticks based on axis dataset indexes