Class RMParagraph

  • All Implemented Interfaces:
    Archivable, RMTypes, java.lang.Cloneable

    public class RMParagraph
    extends java.lang.Object
    implements java.lang.Cloneable, RMTypes, Archivable
    This class represents attributes of a paragraph in an RMXString (all of the characters up to and including each newline in an RMXString make up a paragraph). Paragraphs can have their own alignment, indentation, min/max line height, etc. You might use this class like this:

       RMParagraph pgraph = RMParagraph.defaultParagraph.deriveAligned(RMParagraph.ALIGN_RIGHT);
       RMXString xstring = new RMXString("Hello World", pgraph);
    • Constructor Summary

      Constructors 
      Constructor Description
      RMParagraph()
      Creates a new paragraph object initialized to defaultParagraph.
      RMParagraph​(RMTypes.AlignX anAlign, float leftIndent, float leftIndentFirst, float rightIndent)
      Creates a new paragraph with the given alignment and indentation.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      RMParagraph clone()
      Standard clone of this object.
      RMParagraph deriveAligned​(RMTypes.AlignX anAlign)
      Returns a paragraph identical to the receiver, but with the given alignment.
      RMParagraph deriveIndent​(double leftIndent, double leftIndentFirst, double rightIndent)
      Returns a paragraph identical to the receiver, but with the given indentation values.
      RMParagraph deriveLineGap​(float aHeight)
      Returns a paragraph identical to the receiver, but with the given line gap.
      RMParagraph deriveLineHeightMax​(float aHeight)
      Returns a paragraph identical to the receiver, but with the given max line height.
      RMParagraph deriveLineHeightMin​(float aHeight)
      Returns a paragraph identical to the receiver, but with the given min line height.
      RMParagraph deriveLineSpacing​(float aHeight)
      Returns a paragraph identical to the receiver, but with the given line spacing.
      RMParagraph deriveTab​(int anIndex, float tabValue, char tabType)
      Returns a paragraph identical to the receiver, but with new value for tab at given index.
      RMParagraph deriveTabs​(float[] newTabs, char[] newTypes)
      Returns a paragraph identical to the receiver, but with the given tabs.
      boolean equals​(java.lang.Object anObj)
      Standard equals implementation.
      java.lang.Object fromXML​(RXArchiver anArchiver, RXElement anElement)
      XML unarchival.
      RMTypes.AlignX getAlignmentX()
      Returns the alignment associated with this paragraph.
      double getLeftIndent()
      Returns the left side indentation of this paragraph.
      double getLeftIndentFirst()
      Returns left side indentation of first line in this paragraph (this can be set different than successive lines).
      float getLineGap()
      Returns additional line spacing expressed as a constant amount in points.
      float getLineHeightMax()
      Returns the maximum line height in printer points associated with this paragraph.
      float getLineHeightMin()
      Returns the minimum line height in printer points associated with this paragraph.
      float getLineSpacing()
      Returns the spacing of lines expressed as a factor of a given line's height.
      float getParagraphSpacing()
      Returns the spacing between paragraphs in printer points associated with this paragraph.
      double getRightIndent()
      Returns the right side indentation of this paragraph.
      float getTab​(int anIndex)
      Returns the specific tab value for the given index in printer points.
      int getTabCount()
      Returns the number of tabs associated with this paragraph.
      int getTabIndex​(float aLocation)
      Returns the tab index for the given location.
      float[] getTabs()
      Returns the raw tab array
      java.lang.String getTabsString()
      Returns the values of all the tabs associated with this paragraph as a comma separated string.
      char getTabType​(int anIndex)
      Returns the type of tab at the given index.
      char[] getTabTypes()
      Returns the raw tab type array
      void setTabs​(float[] newTabs, char[] newTypes)
      Sets the tab stops.
      RXElement toXML​(RXArchiver anArchiver)
      XML archival.
      • Methods inherited from class java.lang.Object

        finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • RMParagraph

        public RMParagraph()
        Creates a new paragraph object initialized to defaultParagraph. You should probably use RMParagraph.defaultParagraph instead.
      • RMParagraph

        public RMParagraph​(RMTypes.AlignX anAlign,
                           float leftIndent,
                           float leftIndentFirst,
                           float rightIndent)
        Creates a new paragraph with the given alignment and indentation.
    • Method Detail

      • getAlignmentX

        public RMTypes.AlignX getAlignmentX()
        Returns the alignment associated with this paragraph.
      • getLeftIndent

        public double getLeftIndent()
        Returns the left side indentation of this paragraph.
      • getLeftIndentFirst

        public double getLeftIndentFirst()
        Returns left side indentation of first line in this paragraph (this can be set different than successive lines).
      • getRightIndent

        public double getRightIndent()
        Returns the right side indentation of this paragraph.
      • getLineSpacing

        public float getLineSpacing()
        Returns the spacing of lines expressed as a factor of a given line's height.
      • getLineGap

        public float getLineGap()
        Returns additional line spacing expressed as a constant amount in points.
      • getLineHeightMin

        public float getLineHeightMin()
        Returns the minimum line height in printer points associated with this paragraph.
      • getLineHeightMax

        public float getLineHeightMax()
        Returns the maximum line height in printer points associated with this paragraph.
      • getParagraphSpacing

        public float getParagraphSpacing()
        Returns the spacing between paragraphs in printer points associated with this paragraph.
      • getTabCount

        public int getTabCount()
        Returns the number of tabs associated with this paragraph.
      • getTab

        public float getTab​(int anIndex)
        Returns the specific tab value for the given index in printer points.
      • getTabType

        public char getTabType​(int anIndex)
        Returns the type of tab at the given index.
      • getTabs

        public float[] getTabs()
        Returns the raw tab array
      • getTabTypes

        public char[] getTabTypes()
        Returns the raw tab type array
      • getTabIndex

        public int getTabIndex​(float aLocation)
        Returns the tab index for the given location.
      • getTabsString

        public java.lang.String getTabsString()
        Returns the values of all the tabs associated with this paragraph as a comma separated string.
      • deriveAligned

        public RMParagraph deriveAligned​(RMTypes.AlignX anAlign)
        Returns a paragraph identical to the receiver, but with the given alignment.
      • deriveIndent

        public RMParagraph deriveIndent​(double leftIndent,
                                        double leftIndentFirst,
                                        double rightIndent)
        Returns a paragraph identical to the receiver, but with the given indentation values.
      • deriveLineSpacing

        public RMParagraph deriveLineSpacing​(float aHeight)
        Returns a paragraph identical to the receiver, but with the given line spacing.
      • deriveLineGap

        public RMParagraph deriveLineGap​(float aHeight)
        Returns a paragraph identical to the receiver, but with the given line gap.
      • deriveLineHeightMin

        public RMParagraph deriveLineHeightMin​(float aHeight)
        Returns a paragraph identical to the receiver, but with the given min line height.
      • deriveLineHeightMax

        public RMParagraph deriveLineHeightMax​(float aHeight)
        Returns a paragraph identical to the receiver, but with the given max line height.
      • setTabs

        public void setTabs​(float[] newTabs,
                            char[] newTypes)
        Sets the tab stops.
      • deriveTabs

        public RMParagraph deriveTabs​(float[] newTabs,
                                      char[] newTypes)
        Returns a paragraph identical to the receiver, but with the given tabs.
      • deriveTab

        public RMParagraph deriveTab​(int anIndex,
                                     float tabValue,
                                     char tabType)
        Returns a paragraph identical to the receiver, but with new value for tab at given index.
      • clone

        public RMParagraph clone()
        Standard clone of this object.
        Overrides:
        clone in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object anObj)
        Standard equals implementation.
        Overrides:
        equals in class java.lang.Object