Class RMGraph

  • All Implemented Interfaces:
    RMArchiver.Archiving, java.lang.Cloneable

    public class RMGraph
    extends RMShape
    The RMGraph class provides a template and the machinery for generating graphs. It primarily encapsulates a list key for defining the set of objects to graph and a keys string for defining the attributes of those objects to graph. For instance, the list key might be "Movies" and the keys string might be "revenue". You can programatically create a graph like this:

      RMGraph graph = new RMGraph();
      graph.setBounds(0, 0, 640, 480);
      graph.setListKey("Movies");
      graph.setKeysString("revenue");
      graph.setType(RMGraph.TYPE_PIE);
      
    • Field Detail

      • TYPE_BAR_HORIZONTAL

        public static final java.lang.String TYPE_BAR_HORIZONTAL
        See Also:
        Constant Field Values
      • TYPES

        public static final java.lang.String[] TYPES
      • EXTRUSIONS

        public static final java.lang.String[] EXTRUSIONS
    • Constructor Detail

      • RMGraph

        public RMGraph()
        Creates a plain graph shape.
    • Method Detail

      • getListKey

        public java.lang.String getListKey()
        Returns the list key associated with the graph.
        Overrides:
        getListKey in class RMShape
      • setListKey

        public void setListKey​(java.lang.String aKeyPath)
        Sets the list key associated with the graph.
        Overrides:
        setListKey in class RMShape
      • getFilterKey

        public java.lang.String getFilterKey()
        Returns the optional key chain (expression) used to limit the table list derived from list key.
      • setFilterKey

        public void setFilterKey​(java.lang.String aKeyExpr)
        Returns the optional key chain (expression) used to limit the table list derived from list key.
      • getKeysString

        public java.lang.String getKeysString()
        Returns keys string - a comma separated list of keys evaluated on list key objects to represent in graph.
      • setKeysString

        public void setKeysString​(java.lang.String aString)
        Sets keys string - a comma separated list of keys evaluated on list key objects to represent in graph.
      • getKeys

        public java.util.List getKeys()
        Returns a list of the individual keys in the (potentially) comma separated keys string.
      • getType

        public java.lang.String getType()
        Returns the graph type (TYPE_BAR, TYPE_PIE, etc.).
      • setType

        public void setType​(java.lang.String aType)
        Sets the graph type (TYPE_BAR, TYPE_PIE, etc.).
      • getGraphTypeString

        public java.lang.String getGraphTypeString()
        Returns the graph type as a simple string: bar, pie or hbar.
      • setGraphTypeString

        public void setGraphTypeString​(java.lang.String aString)
        Sets the graph type as a simple string: bar, pie or hbar.
      • getSortCount

        public int getSortCount()
        Returns the number of sorts associated with this graph.
      • getSort

        public RMSort getSort​(int anIdex)
        Returns the individual RMSort at the given index.
      • getSorts

        public java.util.List getSorts()
        Returns the list of sorts associated with the graph.
      • getTopNSort

        public RMSort getTopNSort()
        Returns the top-n sort for this graph.
      • setTopNSort

        public void setTopNSort​(RMSort aSO)
        Sets the top-n sort for this graph.
      • getTopNCount

        public int getTopNCount()
        Returns the top-n count for this graph's top-n sort.
      • setTopNCount

        public void setTopNCount​(int aCount)
        Sets the top-n count for this graph's top-n sort.
      • getTopNIncludeOthers

        public boolean getTopNIncludeOthers()
        Returns whether the top-n sort for this graph includes remainders.
      • setTopNIncludeOthers

        public void setTopNIncludeOthers​(boolean aFlag)
        Sets whether the top-n sort for this graph includes remainders.
      • getDraw3D

        public boolean getDraw3D()
        Returns whether the graph draws in 3D.
      • setDraw3D

        public void setDraw3D​(boolean aFlag)
        Sets whether the graph draws in 3D.
      • getSwapSeries

        public boolean getSwapSeries()
        Returns whether the graph groups bars by keys (normal) or by objects (swapped).
      • setSwapSeries

        public void setSwapSeries​(boolean aFlag)
        Sets whether the graph groups bars by keys (normal) or by objects (swapped).
      • getStacked

        public boolean getStacked()
        Returns whether multiple keys are stacked or separated.
      • setStacked

        public void setStacked​(boolean aFlag)
        Sets whether multiple keys are stacked or separated.
      • getDrawAxisLabels

        public boolean getDrawAxisLabels()
        Returns whether the graph draws axis labels.
      • setDrawAxisLabels

        public void setDrawAxisLabels​(boolean aFlag)
        Sets whether the graph draws axis labels.
      • getDrawMajorAxis

        public boolean getDrawMajorAxis()
        Returns whether the graph draws the major axis.
      • setDrawMajorAxis

        public void setDrawMajorAxis​(boolean aFlag)
        Sets whether the graph draws the major axis.
      • getDrawMinorAxis

        public boolean getDrawMinorAxis()
        Returns whether the graph draws the minor axis.
      • setDrawMinorAxis

        public void setDrawMinorAxis​(boolean aFlag)
        Sets whether the graph draws the minor axis.
      • getDrawGroupSeparator

        public boolean getDrawGroupSeparator()
        Returns whether the graph draws a line between groups (if multiple keys).
      • setDrawGroupSeparator

        public void setDrawGroupSeparator​(boolean aFlag)
        Sets whether the graph draws a line between groups (if multiple keys).
      • getBarWidth

        public float getBarWidth()
        Returns the width of the area used to draw bars as a ratio of the over-all area (0.0 - 1.0).
      • setBarWidth

        public void setBarWidth​(float aValue)
        Sets the width of the area used to draw bars as a ratio of the over-all area (0.0 - 1.0).
      • getBarSpacing

        public float getBarSpacing()
        Returns the width of the space between bars as a ratio of the bar width (0.0 - 1.0).
      • setBarSpacing

        public void setBarSpacing​(float aValue)
        Sets the width of the space between bars as a ratio of the bar width (0.0 - 1.0).
      • getAxisMinMaxCount

        public java.lang.String getAxisMinMaxCount()
        Returns the value axis' min, max and number of increments as a single string.
      • setAxisMinMaxCount

        public void setAxisMinMaxCount​(java.lang.String aValue)
        Sets the value axis' min, max and number of increments as a single string.
      • getDrawWedgeLabelLines

        public boolean getDrawWedgeLabelLines()
        Returns whether a pie graph draws lines from the wedges to wedge labels.
      • setDrawWedgeLabelLines

        public void setDrawWedgeLabelLines​(boolean aFlag)
        Sets whether a pie graph draws lines from the wedges to wedge labels.
      • getExtrusionKey

        public java.lang.String getExtrusionKey()
        Returns the key used to determine which pie wedges get extruded.
      • setExtrusionKey

        public void setExtrusionKey​(java.lang.String aKey)
        Sets the key used to determine which pie wedges get extruded.
      • getBarLabel

        public RMGraph.BarLabel getBarLabel()
        Returns the child of the graph that represents bar labels (if present).
      • getShowBarLabels

        public boolean getShowBarLabels()
        Returns whether the graph shows bar labels.
      • setShowBarLabels

        public void setShowBarLabels​(boolean aFlag)
        Sets whether the graph shows bar labels.
      • getLegend

        public RMGraph.Legend getLegend()
        Returns the child of the graph that represents the legend (if present).
      • getShowLegend

        public boolean getShowLegend()
        Returns whether the graph shows a legend.
      • setShowLegend

        public void setShowLegend​(boolean aFlag)
        Sets whether the graph shows a legend.
      • getColorCount

        public int getColorCount()
        Returns the number of colors set for this graph.
      • getColor

        public RMColor getColor​(int anIndex)
        Returns the specific color at the given index.
      • getColors

        public java.util.List getColors()
        Returns the list of colors to be used by this graph (or the default graph colors, if null).
      • setColors

        public void setColors​(java.util.List aList)
        Sets the list of colors to be used by this graph.
      • getDefaultColors

        public static java.util.List getDefaultColors()
        Returns the default list of colors to be used by any graph without an explicit list of colors.
      • setDefaultColors

        public static void setDefaultColors​(java.util.List aList)
        Sets the default list of colors to be used by any graph without an explicit list of colors.
      • getFont

        public RMFont getFont()
        Returns the font associated with the graph.
        Overrides:
        getFont in class RMShape
      • setFont

        public void setFont​(RMFont aFont)
        Sets the font associated with the graph.
        Overrides:
        setFont in class RMShape
      • getFormat

        public RMFormat getFormat()
        Returns the format associated with the value axis of the graph.
        Overrides:
        getFormat in class RMShape
      • setFormat

        public void setFormat​(RMFormat f)
        Sets the format associated with the value axis of the graph.
        Overrides:
        setFormat in class RMShape
      • acceptsFormat

        public boolean acceptsFormat()
        RMEditor method (indicates that graphs have settable format).
        Overrides:
        acceptsFormat in class RMShape
      • getBarWedgePrototype

        public RMShape getBarWedgePrototype()
        Returns the shape used to represent the basic attributes of bars & wedges.
      • setBarWedgePrototype

        public void setBarWedgePrototype​(RMShape aShape)
        Sets the shape used to represent the basic attributes of bars & wedges.
      • getContent

        public RMGraphContent getContent()
        Returns the shape that represents the conent of the graph.
      • equals

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

        public void copy​(java.lang.Object anObj)
        Copies the attributes from the given object into receiver (for undo).
        Overrides:
        copy in class RMShape
      • superSelectable

        public boolean superSelectable()
        Editor method indicates that graph can be super selected.
        Overrides:
        superSelectable in class RMShape
      • canBeUngrouped

        public boolean canBeUngrouped()
        Editor method indicates that graph cannot be ungrouped.
        Overrides:
        canBeUngrouped in class RMShape
      • acceptsChildren

        public boolean acceptsChildren()
        Editor method indicates that graph can accept new children.
        Overrides:
        acceptsChildren in class RMShape
      • getSampleGraphContent

        public static RMShape getSampleGraphContent​(RMGraphContent aGraphContent)
        Returns a filled graph content for a given graph content.