v1.0 Released 19 July 2000
v1.1 Released 26 July 2000
-Axes can have defined formats (eg $, %, scientific notation)
-AXIS labels are now draggable.
-Nodes can be added more easily.
-The graph bounds are now live.
v1.2 Beta Released 27/7/2000
[bug] Changed SyncAXISwithCurve to be SyncCurveWithAXIS.
This fixed the problem with AXIS not representing the actual state of the
graph.
[bug] Fixed the YLowerLimit cap size which was not being scaled properly.
[Chg] Default plot is an all white background
[Chg] Documentation updated slightly
[Chg] Added "Simple Graph" checkbutton to illustrate a simpler graph
v1.3 Released 2/8/2000
[New] Added NodeDoubleClick event. NodeDoubleClick(CurveIndex as integer, NodeIndex
as Integer, X as Integer, Y as Integer, theNode as CNode) as Boolean
[New] Horizontal and Vertical dashed (AXIS coloured) GridLines. Simpy set GP.ShowHorizontalGrid
as Boolean
[Bug] Fixed centering for Y and Y2 Major Tick label
[Bug] ShowX, ShowX2, ShowY and ShowY2 now work better at run-time.
[Chg] Changed method name from ClearAllCurvesNodes to be CurveClearAllNodes()
[New] Method ChangeNodeTitle(theNewStr as string, theNodeIndx as integer, theCurveIndx
as integer)
[New] Method AxesAutoSize(on as boolean)
[New] Method HideAllCurves()
[New] Zooming In (with pseudo "Marching Ants Marquee") is now enabled
(as well as UNDO). Hold down the command key and drag out an area and the graph
will zoom in. Hold down the command and Option keys and click in the graph
region to UNDO the zoom in action.
[Nte] Zooming out is not yet enabled.
[New] Area under curve can now be filled with a solid color. The colour is
set by GP:CurveChangeColour(theCurveName a string, c as color)
[New] Curves can be toggled invisible. GP:CurveVisible(theCurveName as stirng,
v as boolean)
[New] When dragging a CGraphObjects around the cursor now changes to a 'grasping
hand'.
[Nte] Curves which generate or contain INF's or NAN's will have undefined effects.
[New] A single user definable hairline can be displayed for each AXIS. The
colour of this line is set by the DarkHightLight variable from the Appearance
Manager
v1.4 Released 22/8/2000
....Many Changes.....
[New] Many (many!) new get/set methods are now available at the cGraphPro object
level. I am attempting to make all the internal CGRaphObjects private variables
to the cGraphPro Object. Your access will be via these methods in the cGraphPro
object.
[Chg] Removed the ShowXaxis, ShowX2axis, ShowYaxis, ShowY2axis properties.
Use AXISSetVisible(AXISName as string, on as Boolean) instead.
[New] Axes can now autosize upper and lower bounds.
[New] The drag direction for axis labels can now be constrained to specific
planes.
[New] Background pictures and coloured gradients for plots, legends, axes and
nodes
[New] Complex styled AXIS labels, including Symbols, SuperScript and Subscript.
See the cStyledText object.
[New] Custom, front-to-back ordering, of curves.
[New] Line of Best fit (ie "trend Lines") for individual curves.
[Chg] Changed cAXIS:SyncAXISwithCurve() to be cGraphPro:SyncWithAxes and moved
it to the cGraphPro object space. This is where it will probably stay.
[Chg] Added lots of comments in the code.
[Chg] Expanded preliminary documentation. It will continue to be expanded with
every release.
[New] Added a licence to help protect me and my kids from nasty people.
v1.5 Released 1/5/2003
[New] Carbonized
[New] Compatible with RB4.5 and greater
[New] Added first pass at Pie and Column graph types
[Chg] Improved tweaks to the example application
[New] Added data spreadsheet view to example application
[Chg] Modules are now external to the project.
v1.6 Released 11/10/2004
[New] Compatible with RB3-5.5 and greater
[New] Polygons and pictures now rotate.
[Chg] Demo project now shows an example of graphing real-time data.
[Fix] Bug in theRepositionNodes method of cCurve class. Thanks Ben Rancourt.
v1.7 Released 1/12/2004
[Nte] Now requires RB 5.5
[Fix] Windows DoubleClick time is now returned in ticks
rather than milliseconds. Also added LINUX support here when compiled
with RB 5.5.4.
[Opt] Faster node scanning on all platforms.
[Opt] Faster node tooltip scanning on all platforms.
[Chg] The node tooltip under Windows now looks like a normal windows help
tag.
[Fix] The node tooltip under MacOS now appears inthe correct position on
multi-screen computers.
[Chg] Changed the Pie Drawing code to use Object2d.
[Fun] Added a "Spin Pie Graphs" checkbox in the demo app and changed
the default so that it spins at launch time.
[New] Now builds under Linux with RB 5.5.4.
[Chg] The base Graph Objects now have textSize and TextFont
properties .
[Chg] cText - Removed the now superfluous textSize and TextFont
properties.
v2.0 Released 25 April 2005
[Fix] Removed the CSV import button in the demo app - RB2005 didn't like it.
[New] GraphPro::Copy This method copies the graph to the clipboard
[New] cCurve.PieShowPerc as boolean. This writeable property determines if
the pie labels show the percentage.
[New] cCurve.PieShowLabel as boolean. This writeable property determines if
the pie labels are displayed.
[New] GraphPro::DrawGraph - This can be called to quickly refresh the graph
without an erasebackground call. The alternative is to call ChartResized which
is the complete refresh including a recalculation of some statistical parameters.
[Opt] Faster node scanning on all platforms.
[New] New cCurve property, PieScale as double. Allows the pie graph scaling
to be changed (see the demo app).
[Chg] Demo app has a more sensible icon.
[New] New popup menu class added.
[Fix] Marching Ants selection lasso now works when dragged up.
[Chg] The text of the legend can be overridden by simply changing the legend.text
as string property.
[New] New add node method - GraphPro.AddNode(X as double, Y as double, NodeName
as string)
[New] New add cCurve property - cCurve.pieYTotal as double. If you want to
set an artificial Y total (rather than the summation total) then you can change
this number and it will be used as the total in calculating the pie arcs.
[Chg] Reverted to the v1.5 Pie drawing algorithm. This allowed MouseOverNode
events to fire correctly.
[Chg] Temporarily disabled some Pie graphs features, namely spin, Tilt and
depth options.
[New] Added new polygon node shapes; linkedBoxes.rbo Arrow.rbo xCross.rbo Star.rbo
Cross.rbo nonconvex_four_Point_star.rbo
[Fix] The cNode constructor now resizes Polygon nodes to the values of the
supplied width and height.
[Nte] RB2005 compatible
v2.1 Released 3 May 2005
[Fix] 2D Column spacing graph fixed.
[New] Added new Graph examples "ShareMarket", "Silly", "Bubbles" and "Box
With Errors"
[Chg] Curves line are now drawn under the nodes.
[New] Added Zoom In (Command drag) and Zoom out (Command+Option click) cursors
for MacOS.
v2.2 Released 7 July 2005
[New] QuickSOrt added to cCurve class. Sorts the X values into ascending order and redraws the graph. Useful for pie graphs.
[Fix] 2D Column spacing Help tags now work better.
[New] New property cAxis.MajorTickStrings(-1) as string. This array of strings will be drawn at the Major Tick Marks if it is populated. This property is set via the method cGraphPro::AXISSetMajorTickStrings(theAxis as string, vList() as string)
[New] cCurve.PieCentreX as integer This is the centre of the pie graph. Only positive values are valid, otherwise the pie graph is drawn in the centre.
[New] cCurve.PieCentreY as integer This is the centre of the pie graph. Only positive values are valid, otherwise the pie graph is drawn in the centre.
[New] Bar Curves can now show the node label on top of each column.
[Fix] Thick curve lines now join the dots from the centre of the line.
[New] New Function cGraphPro::DrawLegend(g as graphics, theLegend as cLegend) As boolean. Return true to completely override the drawing of the cLegend. You can draw anything you want into this graphics port.
[New] New bar graph examples in the demo application.
[New] New floating Pie Graph Example.
[New] Pie graphs can now display node text above and below columns.
[Fix] Nodes on the edge of the graph now display in the correct place.
[New] Added "Show Volt Graph" submitted by David Graham - Thanks.
[New] Demo app now has example code on how to draw a custom Legend.