Class LineGraph
- java.lang.Object
-
- com.reportmill.base.RMObject
-
- com.reportmill.shape.RMShape
-
- com.inductiveautomation.factorypmi.plugins.reporting.shapes.LineGraph
-
- All Implemented Interfaces:
RMArchiver.Archiving
,Java2DShapePainter
,RMShapePainter.Paint
,java.lang.Cloneable
public class LineGraph extends RMShape implements RMShapePainter.Paint, Java2DShapePainter
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 Summary
Fields Modifier and Type Field Description static java.lang.String
TYPE_AREA
static java.lang.String
TYPE_LINE
static java.lang.String
TYPE_SCATTER
static java.lang.String[]
TYPES
-
Fields inherited from class com.reportmill.shape.RMShape
WRAP_TYPE_BOTH, WRAP_TYPE_NONE
-
-
Constructor Summary
Constructors Constructor Description LineGraph()
Creates a plain graph shape.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
acceptsFormat()
RMEditor method (indicates that graphs have settable format).void
basePaint(java.awt.Graphics2D g, java.awt.geom.Rectangle2D rect)
void
buildChart()
void
copy(java.lang.Object anObj)
Copies the attributes from the given object into receiver (for undo).java.util.Date
dateValueForKeyChain(java.lang.Object anObj, java.lang.Object aKey)
Returns a date value for the given object and key (automatically handles "swapped" case).double
doubleValueForKeyChain(java.lang.Object anObj, java.lang.Object aKey)
Returns a double value for the given object and key (automatically handles "swapped" case).boolean
equals(java.lang.Object anObj)
Standard equals implementation.java.lang.Object
fromXML(RXArchiver anArchiver, RXElement anElement)
XML unarchival.java.lang.String
getAxisMinMaxCount()
Returns the value axis' min, max and number of increments as a single string.RMColor
getColor(int anIndex)
Returns the specific color at the given index.int
getColorCount()
Returns the number of colors set for this graph.java.util.List
getColors()
Returns the list of colors to be used by this graph (or the default graph colors, if null).static java.util.List
getDefaultColors()
Returns the default list of colors to be used by any graph without an explicit list of colors.boolean
getDraw3D()
Returns whether the graph draws in 3D.java.lang.String
getFilterKey()
Returns the optional key chain (expression) used to limit the table list derived from list key.RMFont
getFont()
Returns the font associated with the graph.RMFormat
getFormat()
Returns the format associated with the value axis of the graph.java.lang.String
getGraphTypeString()
Returns the graph type as a simple string: bar, pie or hbar.java.util.List
getGroups()
Returns the keys to be graphed (unless swapped, in which case it returns the objects).java.util.List
getKeys()
Returns a list of the individual keys in the (potentialy) comma separated keys string.java.lang.String
getKeysString()
Returns keys string - a comma separated list of keys evaluated on list key objects to represent in graph.java.lang.String
getListKey()
Returns the list key associated with the graph.java.util.List
getSeries()
Returns the objects to be graphed (unless swapped, in which case it returns the keys).boolean
getShowLegend()
Returns whether the graph shows a legend.RMSort
getSort(int anIdex)
Returns the individual RMSort at the given index.int
getSortCount()
Returns the number of sorts associated with this graph.java.util.List
getSorts()
Returns the list of sorts associated with the graph.boolean
getSwapSeries()
Returns whether the graph groups bars by keys (normal) or by objects (swapped).java.lang.String
getToolClassName()
Editor method - returns the tool class name for this shape.java.lang.String
getType()
Returns the graph type (TYPE_LINE, TYPE_AREA, etc.).java.lang.String
getXAxisLabel()
java.lang.String
getYAxisLabel()
boolean
isShowXAxis()
boolean
isShowYAxis()
boolean
isTimeseries()
void
paintShape(RMShapePainter aPainter, java.awt.Graphics2D g)
RMShape
rpgClone(ReportMill aReportMill)
Returns a clone of this shape with report generation.void
setAxisMinMaxCount(java.lang.String aValue)
Sets the value axis' min, max and number of increments as a single string.void
setColors(java.util.List aList)
Sets the list of colors to be used by this graph.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.void
setDraw3D(boolean aFlag)
Sets whether the graph draws in 3D.void
setFilterKey(java.lang.String aKeyExpr)
Returns the optional key chain (expression) used to limit the table list derived from list key.void
setFont(RMFont aFont)
Sets the font associated with the graph.void
setFormat(RMFormat f)
Sets the format associated with the value axis of the graph.void
setGraphTypeString(java.lang.String aString)
Sets the graph type as a simple string: bar, pie or hbar.void
setKeysString(java.lang.String aString)
Sets keys string - a comma separated list of keys evaluated on list key objects to represent in graph.void
setListKey(java.lang.String aKeyPath)
Sets the list key associated with the graph.void
setShowLegend(boolean aFlag)
Sets whether the graph shows a legend.void
setShowXAxis(boolean axis)
void
setShowYAxis(boolean axis)
void
setSwapSeries(boolean aFlag)
Sets whether the graph groups bars by keys (normal) or by objects (swapped).void
setTimeseries(boolean timeseries)
void
setType(java.lang.String aType)
Sets the graph type (TYPE_LINE, TYPE_AREA, etc.).void
setXAxisLabel(java.lang.String axisLabel)
void
setYAxisLabel(java.lang.String axisLabel)
RXElement
toXML(RXArchiver anArchiver)
XML archival.-
Methods inherited from class com.reportmill.shape.RMShape
acceptsChildren, acceptsDragKeys, acceptsMouse, addChild, addChild, addChildBelowLastChild, bounds, boundsChanged, boundsChanged, bringShapesToFront, canBeUngrouped, childrenSuperSelectImmediately, clone, cloneDeep, contains, convertedPointFromShape, convertedPointToShape, convertedRectFromShape, convertedRectToShape, convertedSizeFromShape, convertedSizeToShape, convertedVectorFromShape, convertedVectorToShape, convertFromShape, convertPathFromShape, convertPathToShape, convertPointFromShape, convertPointToShape, convertRectFromShape, convertRectToShape, convertSizeFromShape, convertSizeToShape, convertToShape, convertVectorFromShape, convertVectorToShape, copyShape, delete, didChange, divideShapeFromEdge, divideShapeFromTop, dragExit, dragKeyAtPoint, dropKeyAtPoint, fromXMLDeep, get, getActionScript, getAnim, getAnim, getAnimator, getAnimator, getAutosizeHeight, getAutosizing, getBounds, getBoundsInside, getBoundsMarked, getBoundsOfChildren, getBoundsOfChildren, getBoundsSuperSelected, getCausesWrap, getCausesWrapType, getChild, getChildAnimator, getChildAnimator, getChildContaining, getChildCount, getChildLast, getChildren, getChildrenIntersecting, getChildrenWhoCauseWrap, getChildrenWhoDraw, getChildrenWhoHitTest, getChildSortedByX, getChildWithClass, getChildWithName, getColor, getCommonAncestor, getDocument, getFill, getFill, getFill, getFillCount, getFills, getFrame, getFrame, getFrameMaxX, getFrameMaxY, getFrameX, getFrameXY, getFrameY, getGroupShape, getHeight, getHeightToFit, getImageFill, getLineWidth, getListKeyDeep, getListKeyShape, getMaxX, getMaxY, getName, getOpacity, getOpacityDeep, getOutline, getPageCount, getPageShape, getParent, getParentCount, getParents, getPath, getPathInBounds, getPropertyKey, getPropertyKeyCount, getPropertyKeyName, getRoll, getRootShape, getScaleX, getScaleY, getShapesToAncestor, getShapesToDescendant, getShapesToShape, getSize, getSizeP, getSkewX, getSkewY, getStroke, getStrokeColor, getTextColor, getTransform, getTransformFromShape, getTransformInverse, getTransformToShape, getUndoer, getUrl, getWidth, getWidthToFit, getX, getXY, getXYP, getY, groupShapes, hasPageBreaks, height, indexOf, indexOf, initWithArchiver, intersects, isAncestor, isDescendant, isLocked, isRoot, isUnderlined, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, notRSS, offsetChildrenXY, offsetXY, page, pageBreakMax, pageBreakPageMax, pageMax, put, putPropertyKey, reclaimChildren, removeChild, removeChild, removeChildren, removeChildren, removeFromParent, resolvePageReferences, rpgCloneBase, rpgCloneChildren, rpgCloneConclude, rpgCloneNotification, rpgClonePrepare, rpgClonePreprocess, rpgCloneUrl, sendShapesToBack, setActionScript, setAnim, setAutosizeHeight, setAutosizing, setBounds, setBounds, setCausesWrapType, setChildren, setColor, setFill, setFrame, setFrame, setFrameSize, setFrameX, setFrameXY, setFrameXY, setFrameY, setHeight, setHeightDeep, setHeightDeep, setHeightToFit, setLineWidth, setLocked, setName, setNeedsRepaint, setNeedsRepaint, setOpacity, setOutline, setParent, setRoll, setScaleX, setScaleXY, setScaleY, setSize, setSize, setSizeDeep, setSizeP, setSizeToFit, setSizeToFit, setSkewX, setSkewXY, setSkewY, setStroke, setStrokeColor, setTextColor, setTime, setUnderlined, setUrl, setWidth, setWidthDeep, setWidthDeep, setWidthToFit, setX, setXY, setXY, setXYP, setY, sizesToFitChildren, superSelectable, toString, undoClone, undoCopy, undoEquals, undoerAddDirtyObject, undoerDisable, undoerEnable, undoerSetUndoTitle, width, willChange, willChange, x, y
-
Methods inherited from class com.reportmill.base.RMObject
didUndo, getAnimAttribute, getClassNameShort
-
-
-
-
Field Detail
-
TYPE_LINE
public static final java.lang.String TYPE_LINE
- See Also:
- Constant Field Values
-
TYPE_AREA
public static final java.lang.String TYPE_AREA
- See Also:
- Constant Field Values
-
TYPE_SCATTER
public static final java.lang.String TYPE_SCATTER
- See Also:
- Constant Field Values
-
TYPES
public static final java.lang.String[] TYPES
-
-
Method Detail
-
buildChart
public void buildChart()
-
getListKey
public java.lang.String getListKey()
Returns the list key associated with the graph.- Overrides:
getListKey
in classRMShape
-
setListKey
public void setListKey(java.lang.String aKeyPath)
Sets the list key associated with the graph.- Overrides:
setListKey
in classRMShape
-
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 (potentialy) comma separated keys string.
-
getType
public java.lang.String getType()
Returns the graph type (TYPE_LINE, TYPE_AREA, etc.).
-
setType
public void setType(java.lang.String aType)
Sets the graph type (TYPE_LINE, TYPE_AREA, 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.
-
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).
-
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.
-
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.
-
setFont
public void setFont(RMFont aFont)
Sets the font associated with the graph.
-
getFormat
public RMFormat getFormat()
Returns the format associated with the value axis of the graph.
-
setFormat
public void setFormat(RMFormat f)
Sets the format associated with the value axis of the graph.
-
acceptsFormat
public boolean acceptsFormat()
RMEditor method (indicates that graphs have settable format).- Overrides:
acceptsFormat
in classRMShape
-
equals
public boolean equals(java.lang.Object anObj)
Standard equals implementation.
-
copy
public void copy(java.lang.Object anObj)
Copies the attributes from the given object into receiver (for undo).
-
toXML
public RXElement toXML(RXArchiver anArchiver)
XML archival.
-
fromXML
public java.lang.Object fromXML(RXArchiver anArchiver, RXElement anElement)
XML unarchival.
-
paintShape
public void paintShape(RMShapePainter aPainter, java.awt.Graphics2D g)
- Specified by:
paintShape
in interfaceRMShapePainter.Paint
-
basePaint
public void basePaint(java.awt.Graphics2D g, java.awt.geom.Rectangle2D rect)
- Specified by:
basePaint
in interfaceJava2DShapePainter
-
rpgClone
public RMShape rpgClone(ReportMill aReportMill)
Returns a clone of this shape with report generation.
-
getGroups
public java.util.List getGroups()
Returns the keys to be graphed (unless swapped, in which case it returns the objects).
-
getSeries
public java.util.List getSeries()
Returns the objects to be graphed (unless swapped, in which case it returns the keys).
-
doubleValueForKeyChain
public double doubleValueForKeyChain(java.lang.Object anObj, java.lang.Object aKey)
Returns a double value for the given object and key (automatically handles "swapped" case).
-
dateValueForKeyChain
public java.util.Date dateValueForKeyChain(java.lang.Object anObj, java.lang.Object aKey)
Returns a date value for the given object and key (automatically handles "swapped" case).
-
getToolClassName
public java.lang.String getToolClassName()
Description copied from class:RMShape
Editor method - returns the tool class name for this shape.- Overrides:
getToolClassName
in classRMShape
-
isShowXAxis
public boolean isShowXAxis()
-
setShowXAxis
public void setShowXAxis(boolean axis)
-
isShowYAxis
public boolean isShowYAxis()
-
setShowYAxis
public void setShowYAxis(boolean axis)
-
isTimeseries
public boolean isTimeseries()
-
setTimeseries
public void setTimeseries(boolean timeseries)
-
getXAxisLabel
public java.lang.String getXAxisLabel()
-
setXAxisLabel
public void setXAxisLabel(java.lang.String axisLabel)
-
getYAxisLabel
public java.lang.String getYAxisLabel()
-
setYAxisLabel
public void setYAxisLabel(java.lang.String axisLabel)
-
-