Class RMGraph

All Implemented Interfaces:
RMArchiver.Archiving, 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 Details

  • Constructor Details

    • RMGraph

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

    • getListKey

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

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

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

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

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

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

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

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

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

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

      public void setGraphTypeString(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 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 String getAxisMinMaxCount()
      Returns the value axis' min, max and number of increments as a single string.
    • setAxisMinMaxCount

      public void setAxisMinMaxCount(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 String getExtrusionKey()
      Returns the key used to determine which pie wedges get extruded.
    • setExtrusionKey

      public void setExtrusionKey(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 List getColors()
      Returns the list of colors to be used by this graph (or the default graph colors, if null).
    • setColors

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

      public static 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(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(Object anObj)
      Standard equals implementation.
      Overrides:
      equals in class RMShape
    • copy

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

      public Object initWithArchiver(RMArchiver anArchiver)
      Legacy unarchival.
      Specified by:
      initWithArchiver in interface RMArchiver.Archiving
      Overrides:
      initWithArchiver in class RMShape
    • toXML

      public RXElement toXML(RXArchiver anArchiver)
      XML archival.
      Overrides:
      toXML in class RMShape
    • fromXML

      public Object fromXML(RXArchiver anArchiver, RXElement anElement)
      XML unarchival.
      Overrides:
      fromXML 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
    • rpgClone

      public RMShape rpgClone(ReportMill anRM)
      Returns a clone of this shape with report generation.
      Overrides:
      rpgClone in class RMShape
    • getSampleGraphContent

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