Class UnitValue

  • All Implemented Interfaces:
    java.io.Serializable

    public final class UnitValue
    extends java.lang.Object
    implements java.io.Serializable
    See Also:
    Serialized Form
    • Field Detail

      • UNIT_MAP

        private static final java.util.HashMap<java.lang.String,​java.lang.Integer> UNIT_MAP
      • CONVERTERS

        private static final java.util.ArrayList<UnitConverter> CONVERTERS
      • STATIC

        public static final int STATIC
        An operation indicating a static value.
        See Also:
        Constant Field Values
      • ADD

        public static final int ADD
        An operation indicating a addition of two sub units.
        See Also:
        Constant Field Values
      • SUB

        public static final int SUB
        An operation indicating a subtraction of two sub units
        See Also:
        Constant Field Values
      • MUL

        public static final int MUL
        An operation indicating a multiplication of two sub units.
        See Also:
        Constant Field Values
      • DIV

        public static final int DIV
        An operation indicating a division of two sub units.
        See Also:
        Constant Field Values
      • MIN

        public static final int MIN
        An operation indicating the minimum of two sub units
        See Also:
        Constant Field Values
      • MAX

        public static final int MAX
        An operation indicating the maximum of two sub units
        See Also:
        Constant Field Values
      • MID

        public static final int MID
        An operation indicating the middle value of two sub units
        See Also:
        Constant Field Values
      • LPX

        public static final int LPX
        A unit indicating logical horizontal pixels.
        See Also:
        Constant Field Values
      • LPY

        public static final int LPY
        A unit indicating logical vertical pixels.
        See Also:
        Constant Field Values
      • SPX

        public static final int SPX
        A unit indicating screen percentage width.
        See Also:
        Constant Field Values
      • SPY

        public static final int SPY
        A unit indicating screen percentage height.
        See Also:
        Constant Field Values
      • MIN_SIZE

        public static final int MIN_SIZE
        A unit indicating minimum size.
        See Also:
        Constant Field Values
      • PREF_SIZE

        public static final int PREF_SIZE
        A unit indicating preferred size.
        See Also:
        Constant Field Values
      • MAX_SIZE

        public static final int MAX_SIZE
        A unit indicating maximum size.
        See Also:
        Constant Field Values
      • LINK_W

        public static final int LINK_W
        A unit indicating linking to width.
        See Also:
        Constant Field Values
      • LINK_H

        public static final int LINK_H
        A unit indicating linking to height.
        See Also:
        Constant Field Values
      • LINK_X2

        public static final int LINK_X2
        A unit indicating linking to x2.
        See Also:
        Constant Field Values
      • LINK_Y2

        public static final int LINK_Y2
        A unit indicating linking to y2.
        See Also:
        Constant Field Values
      • LINK_XPOS

        public static final int LINK_XPOS
        A unit indicating linking to x position on screen.
        See Also:
        Constant Field Values
      • LINK_YPOS

        public static final int LINK_YPOS
        A unit indicating linking to y position on screen.
        See Also:
        Constant Field Values
      • LABEL_ALIGN

        public static final int LABEL_ALIGN
        A unit indicating label alignment.
        See Also:
        Constant Field Values
      • BASELINE_IDENTITY

        static final UnitValue BASELINE_IDENTITY
      • value

        private final transient float value
      • unit

        private final transient int unit
      • oper

        private final transient int oper
      • unitStr

        private final transient java.lang.String unitStr
      • linkId

        private transient java.lang.String linkId
      • isHor

        private final transient boolean isHor
      • subUnits

        private final transient UnitValue[] subUnits
      • SCALE

        private static final float[] SCALE
    • Constructor Detail

      • UnitValue

        public UnitValue​(float value)
      • UnitValue

        public UnitValue​(float value,
                         int unit,
                         java.lang.String createString)
      • UnitValue

        public UnitValue​(float value,
                         java.lang.String unitStr,
                         boolean isHor,
                         int oper,
                         java.lang.String createString)
      • UnitValue

        UnitValue​(boolean isHor,
                  int oper,
                  UnitValue sub1,
                  UnitValue sub2,
                  java.lang.String createString)
      • UnitValue

        private UnitValue​(float value,
                          java.lang.String unitStr,
                          int unit,
                          boolean isHor,
                          int oper,
                          UnitValue sub1,
                          UnitValue sub2,
                          java.lang.String createString)
    • Method Detail

      • getPixels

        public final int getPixels​(float refValue,
                                   ContainerWrapper parent,
                                   ComponentWrapper comp)
        Returns the size in pixels rounded.
        Parameters:
        refValue - The reference value. Normally the size of the parent. For unit ALIGN the current size of the component should be sent in.
        parent - The parent. May be null for testing the validity of the value, but should normally not and are not required to return any usable value if null.
        comp - The component, if any, that the value is for. Might be null if the value is not connected to any component.
        Returns:
        The size in pixels.
      • getPixelsExact

        public final float getPixelsExact​(float refValue,
                                          ContainerWrapper parent,
                                          ComponentWrapper comp)
        Returns the size in pixels.
        Parameters:
        refValue - The reference value. Normally the size of the parent. For unit ALIGN the current size of the component should be sent in.
        parent - The parent. May be null for testing the validity of the value, but should normally not and are not required to return any usable value if null.
        comp - The component, if any, that the value is for. Might be null if the value is not connected to any component.
        Returns:
        The size in pixels.
      • parseUnitString

        private int parseUnitString()
      • isAbsolute

        final boolean isAbsolute()
      • isAbsoluteDeep

        final boolean isAbsoluteDeep()
      • isLinked

        final boolean isLinked()
      • isLinkedDeep

        final boolean isLinkedDeep()
      • getLinkTargetId

        final java.lang.String getLinkTargetId()
      • getSubUnitValue

        final UnitValue getSubUnitValue​(int i)
      • getSubUnitCount

        final int getSubUnitCount()
      • getSubUnits

        public final UnitValue[] getSubUnits()
      • getUnit

        public final int getUnit()
      • getUnitString

        public final java.lang.String getUnitString()
      • getOperation

        public final int getOperation()
      • getValue

        public final float getValue()
      • isHorizontal

        public final boolean isHorizontal()
      • toString

        public final java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • getConstraintString

        public final java.lang.String getConstraintString()
        Returns the creation string for this object. Note that LayoutUtil.setDesignTime(ContainerWrapper, boolean) must be set to true for the creation strings to be stored.
        Returns:
        The constraint string or null if none is registered.
      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • addGlobalUnitConverter

        public static void addGlobalUnitConverter​(UnitConverter conv)
        Adds a global unit converter that can convert from some unit to pixels.

        This converter will be asked before the platform converter so the values for it (e.g. "related" and "unrelated") can be overridden. It is however not possible to override the built in ones (e.g. "mm", "pixel" or "lp").

        Parameters:
        conv - The converter. Not null.
      • removeGlobalUnitConverter

        public static boolean removeGlobalUnitConverter​(UnitConverter unit)
        Removed the converter.
        Parameters:
        unit - The converter.
        Returns:
        If there was a converter found and thus removed.
      • getGlobalUnitConverters

        public static UnitConverter[] getGlobalUnitConverters()
        Returns the global converters currently registered. The platform converter will not be in this list.
        Returns:
        The converters. Never null.
      • readResolve

        private java.lang.Object readResolve()
                                      throws java.io.ObjectStreamException
        Throws:
        java.io.ObjectStreamException
      • writeObject

        private void writeObject​(java.io.ObjectOutputStream out)
                          throws java.io.IOException
        Throws:
        java.io.IOException
      • readObject

        private void readObject​(java.io.ObjectInputStream in)
                         throws java.io.IOException,
                                java.lang.ClassNotFoundException
        Throws:
        java.io.IOException
        java.lang.ClassNotFoundException