Class RMPage

  • All Implemented Interfaces:
    RMArchiver.Archiving, java.lang.Cloneable
    Direct Known Subclasses:
    RBPage

    public class RMPage
    extends RMShape
    The RMPage class represents an individual page in an RMDocument. For the most part, it's like every other RMShape, except that it has the ability to break children into "layers" for more convenient editing. Layers are sub-ranges of children that can be set to be invisible or locked. An RMPage also has its own child animator.

    It's not common for developers to use much or RMPage's unique functionality programmatically, however, you might use it briefly when disecting a template like this:

       RMDocument template = new RMDocument(aSource);
       RMPage page = template.getPage(0);
       RMTable table = page.getChildWithName("MyTable");
       ...
     

    Or you might use it briefly when adding pages to a document (which comes with one by default):

       RMDocument template = new RMDocument(612, 792);
       template.getPage(0).addChild(new RMText(new RXString("Hello Page 1!", RMFont("Arial", 100))));
       template.addPage(new RMPage());
       template.getPage(1).addChild(new RMText(new RXString("Hello Page 2!", RMFont("Arial", 100))));
     
    • Constructor Detail

      • RMPage

        public RMPage()
        Creates a plain empty page.
    • Method Detail

      • getLayerCount

        public int getLayerCount()
        Returns the number of layers associated with this page.
      • getLayer

        public RMPageLayer getLayer​(int index)
        Returns the layer at the given index.
      • getLayer

        public RMPageLayer getLayer​(java.lang.String aString)
        Returns the layer with the given name.
      • addLayerNamed

        public void addLayerNamed​(java.lang.String aString)
        Creates a new layer with the given name and adds it to this page's layer list.
      • removeLayer

        public void removeLayer​(RMPageLayer aLayer)
        Removes the given layer (and dumps its children into the preceeding layer).
      • moveLayer

        public void moveLayer​(int fromIndex,
                              int toIndex)
        Moves the layer at fromIndex to toIndex.
      • getSelectedLayerIndex

        public int getSelectedLayerIndex()
        Returns the index of the selected layer.
      • getSelectedLayer

        public RMPageLayer getSelectedLayer()
        Returns the selected layer.
      • selectLayer

        public void selectLayer​(RMPageLayer aLayer)
        Selects the given layer.
      • selectLayer

        public void selectLayer​(java.lang.String aString)
        Selects the layer with the given name.
      • resetLayers

        public void resetLayers()
        Resets this page's list of layers to a single, selecctable layer named "Layer 1".
      • addChild

        public void addChild​(RMShape child,
                             int index)
        Add the given child at the given index (over-rides RMShape version to propogate to RMPageLayer).
        Overrides:
        addChild in class RMShape
      • removeChild

        public void removeChild​(int index)
        Removes the child at the given index (over-rides RMShape version to propogate to RMPageLayer).
        Overrides:
        removeChild in class RMShape
      • bringShapesToFront

        public void bringShapesToFront​(java.util.List shapes)
        Overrides shape implementation to keep shapes in their proper layers.
        Overrides:
        bringShapesToFront in class RMShape
      • sendShapesToBack

        public void sendShapesToBack​(java.util.List shapes)
        Overrides shape implementation to keep shapes in their proper layers.
        Overrides:
        sendShapesToBack in class RMShape
      • moveToNewLayer

        public void moveToNewLayer​(java.util.List shapes)
        Creates a new layer and adds the shapes in the given list to it.
      • getChildrenWhoDraw

        public java.util.List getChildrenWhoDraw()
        Returns a list of children which should be drawn (since page layers can be configured to prevent chilren on individual layers from being visible).
        Overrides:
        getChildrenWhoDraw in class RMShape
      • getChildrenWhoHitTest

        public java.util.List getChildrenWhoHitTest()
        Returns a list of children which should be checked during shape hit detection (since page layers can be configured to prevent chilren on individual layers from being selected).
        Overrides:
        getChildrenWhoHitTest in class RMShape
      • getPageShape

        public RMShape getPageShape()
        Overrides shape implementation to return this page, since it is the page shape.
        Overrides:
        getPageShape in class RMShape
      • getChildAnimator

        public RMAnimator getChildAnimator​(boolean create)
        Returns the child animator associated with this page, creating one if it doesn't exist (if requested).
        Overrides:
        getChildAnimator in class RMShape
      • rpgClone

        public RMShape rpgClone​(ReportMill rm)
        A custom version of the clone method, which returns a report generated clone.
        Overrides:
        rpgClone in class RMShape
      • page

        public int page()
        Returns the "Page" number of this page (used to resolve @Page@ key references).
        Overrides:
        page in class RMShape
      • pageMax

        public int pageMax()
        Returns the "PageMax" of the document associated with this page (used to resolve @PageMax@ key references).
        Overrides:
        pageMax in class RMShape
      • pageBreakMax

        public int pageBreakMax()
        Returns "PageBreakMax" (used to resolve PageBreakMax key references).
        Overrides:
        pageBreakMax in class RMShape
      • pageBreakPageMax

        public int pageBreakPageMax()
        Returns "PageBreakPageMax" for all children on this page (used to resolve PageBreakPageMax key references).
        Overrides:
        pageBreakPageMax in class RMShape
      • clone

        public java.lang.Object clone()
        Standard clone method.
        Overrides:
        clone in class RMShape
      • undoClone

        public RMObject undoClone()
        A custom version of the clone method, specific for undo tracking.
        Overrides:
        undoClone in class RMShape
      • copy

        public void copy​(java.lang.Object anObj)
        Copies the attributes from the given object.
        Overrides:
        copy in class RMShape
      • equals

        public boolean equals​(java.lang.Object anObj)
        Standard equals method.
        Overrides:
        equals in class RMShape
      • acceptsChildren

        public boolean acceptsChildren()
        Editor method - indicates that page supports added children.
        Overrides:
        acceptsChildren in class RMShape
      • superSelectable

        public boolean superSelectable()
        Editor method - indicates that pages can be super-selected.
        Overrides:
        superSelectable in class RMShape