TeeChart VCL version 2010
============================================= Release Notes 12th April 2010 TeeChart VCL version 2010 Build 2010.00.00407 =============================================== Please send feedback to: http://www.teechart.net/support/index.php ===============================================New feature summary
- New Series types
- KnobGauge Series
- Rose Series
- Ternary Series
- Treemap Series
- New Tool components
- Custom Legend
- Axis Breaks
- New Functions
- PercentageChange function (StatChar.pas unit) y = (y2-y1)/y1
- Slope function (StatChar.pas unit) y = (y2-y1) / (x2-x1)
- MoneyFlow Skewness
- Kurtosis
- Smoothed Moving Average
- ATR (Average True Range)
- RVI (Relative Vigor Index)
- AO (Awesome Oscillator)
- AC (Acclerator/Declerator Oscillator)
- Alligator
- Gator Oscillator
- New Components
- GDI+ component
- New in Chart Legend
- Text-Symbol gap
- Legend max. rows
- New in Series
- Marks Font Series Color
- Marks on Bar
- YOrigin for Histogram
- Org Series with HTML Format
- Smoothed Series
- Embedded Numeric Gauge
- Embedded Linear Gauge
- Custom Embedding
- ArrowSeries Transparency
- New ArrowSeries Pointer Gradient
- Polar Series Zoom
- New Style option for DrawAllPoints property
- Candle Series configurable Open and Close Tick Pen
- CircularGauge Total displayed segment size option
- Editable CircularGauge 3 part Frame
- New in Axes
- Axis Grid zones
- Axis Labels behind
- GridCentered with GridBand
- Axis Labels now retrievable after discarding Custom Labels
- New in Components
- Editor Options
- TeeCommander RotateInertia (similar to TRotateTool.Inertia property)
- New in Canvas
- Flash export using Flex compiler. Includes animation options
- New in Functions
- y = mx + b, Curvefitting normal coefficient
- Slope & Y-Intercept
- New methods
- TTeeCanvas and TTeeCanvas3D "GetArrowPoints" function. Returns a TPoint array bounding a given set of arrow parameters.
- TSeriesStatsTool new functions: Mean, StdDeviation, Skewness and Kurtosis
- TGLCanvas.StretchDraw
- Miscellaneous
- TArrowSeries improved Clicked method.
- Improved Point / Line series Clicked method when points overlap.
- TeePolar.pas unit "TeePolarDegreeSymbol" global string variable, moved to TeeConst.pas unit to allow internationalization.
- Improved OpenGL support for Picture properties.
- New editor dialog for TDraw3D control (TeeDraw3DEditor.pas)
- Support for transparent textures in OpenGL TGLCanvas.
- Support for stair-shapped series in TSeriesBandTool.
- BigFlatFile demo project moved inside TeeNew (Big_FlatFile.pas unit)
- New Chart Themes
- New in Export formats
- VRML 3D (www.web3d.org)
- Dots Per Inch (DPI)
- Renamed items
- New global types
- New global procedures
- New Units
- TeeArrowTool.pas
- TeeMouseCursor.pas
- TeeDraw3DEditor.pas
- TeeAxisBreaks.pas
TeeChart VCL version 8
===========================================
TeeChart Pro v8 VCL / CLX version
Copyright (c) 1995-2010
by Steema Software SL
All Rights Reserved.
http://www.steema.com
email: info@steema.com
support forum: http://support.steema.com
=======================================
Release Notes 13th April 2010
TeeChart VCL version 8
Build 8.07.70413
=======================================
Please send feedback to:
http://www.teechart.net/support/index.php
=======================================
Bugfixes/changes
--------------------------
1) [TF02014321]
Chart Editor didn't allow the editing of
DateTime values when the equivalent date
was less than or equal to 0 (zero).
Fixed.
2) [TV52014389]
Axes assignment ignored labels font
settings. Fixed.
3) [TV52014016]
Colors not plotted correctly in
TAreaSeries when rotated. Fixed.
4) [TV52014524]
Horiontal grids are not drawn in
TColorGridSeries. Fixed.
5) [TF02014545]
Pie Series Marks Shadow not drawing
correctly when angle non-zero. Fixed.
6) [TV52014405]
Exporting a GDI+ chart to a bitmap
failed. Fixed.
7) [TV52013638]
TLineSeries rendering took excessive
time under some circumstances. Fixed.
8) [TV52014401]
OnGetMarkText event not available in
TChartShape series. Fixed.
9) [TV52014436]
Scrolling TBarSeries resized the bars
under some circumstances. Fixed.
10) [TV52014649]
Null values painted in TCandleSeries
with CandleStyle set to csLine. Fixed.
11) [TV52014608]
TSeriesTextSource crashed at runtime.
Fixed.
12) [TV52014561]
IgnoreNulls property interfering with
TreatNulls in TFastLineSeries. Fixed.
13) [TV52014677]
2D TLineSeries with LinePen.Width > 1
and TAntiAliasTool are always black.
Fixed.
14) [TV52014692]
Chart editor crashed when using
TAntiAliasTool under some circumstances.
Fixed.
15) [TV52014572]
Shadow not working with legend symbols.
Fixed.
16) [TV52014260]
TErrorBarSeries not painting correctly
when associated to logarithmic axis.
Fixed.
17) [TV52014124]
TLineSeries.ColorEachLine property not
working properly in 2D Charts. Fixed.
18) [TV52014308 and TV52011847]
Stacked bars with negative values
were not drawn correctly. Fixed.
19) [TV52014402]
Value property of TGaugeSeries was
not serialized. Fixed.
20) [TV52014507]
Few standard version files in Delphi
2009 and 2010 not moved to the backup
folder. Fixed.
21) [TV52014317]
DataSource and Datasources properties
synchronization enhancements.
22) [TV52012679]
XValues not exported to XML under
some circumstances. Fixed.
New Features
--------------------------
1) [TV52014653]
AddOHLC and AddCandle methods now accept
label and color. Fixed.
=======================================
Release Notes 2nd September 2009
TeeChart VCL version 8
Build 8.06.60902
=======================================
Please send feedback to:
http://www.teechart.net/support/index.php
=======================================
Bugfixes/changes
--------------------------
1) [TV52014184]
TAntiAliasTool not drawing 2D lines
correctly when scrolling them partially
out of the chart. Fixed.
2) [TV52014200]
In v8.05 C++ Builder projects threw an
exception when using TeeGDIPlus unit.
Fixed.
3) [TV52014264]
TColorGridSeries threw an exception
when being populated with negative
values under some circumstances. Fixed.
4) [TV52014252]
Setting LinePen.Width in 2D line series
also set OutLine.Width. Fixed.
5) [TV52014302]
Clicked function for TFastLineSeries
doesn't care of stairs mode. Fixed.
6) [TV52014303]
Function's source series list empty in
MDI applications under some
circumstances. Fixed.
7) [TV52011120]
Axis labels overlap when DateTime under
some circumstances. Fixed.
8) [TV52014316]
Bars haven't the correct width under
some circumstances.
9) [TV52014348]
TTeePreviewPanel didn't plot patterns
in legend symbols. Fixed.
10) [not assigned]
Scrolling to the right the last pointer
of Area Series disappear, now fixed.
New Features
--------------------------
1) [TV52014310]
TeeRoundDate support for increments
smaller than dtHalfMonth.
2) RAD Studio 2010 support.
===========================================
TeeChart Pro v8 VCL / CLX version
Copyright (c) 1995-2009
by Steema Software SL
All Rights Reserved.
http://www.steema.com
email: info@steema.com
support forum: http://support.steema.com
=======================================
Release Notes 22nd May 2009
TeeChart VCL version 8
Build 8.05.50522
=======================================
Please send feedback to:
http://www.teechart.net/support/index.php
=======================================
Bugfixes/changes
--------------------------
1) [TF02012544]
Zooming or scrolling on a TBubbleSeries
caused bubbles at the edges of the
chart to "disappear". Fixed.
2) [TF02013413]
Scrolling on a TCandleSeries caused
incorrect FirstDisplayedIndex and
LastDisplayedIndex values to be returned.
Fixed.
3) [similar to TF02012544]
Problems similar to TF02012544 also
occurred in the following Series types:
TBarSeries, THorizBarSeries, TBar3DSeries,
TBarJoinSeries, TErrorSeries,
TErrorBarSeries, TImageBarSeries,
TPointSeries, TImagePointSeries
and TPointFigureSeries. Fixed.
4) [TF02013442]
TSmithSeries circle unnecessarily reduced
in size when Marks made visible. Fixed.
5) [TF02013446]
THistogramSeries and THorizHistogramSeries
not rendering correctly when the axis
associated with the XValues is inverted.
Fixed.
6) [TV52013959]
Memory leak in TPNGExportFormat.
SaveToStreamCompression, now Fixed.
7) [TF02013524]
Null values could not be set for the
Candle Series. Fixed. Null values can
now be set using the TChartSeries.SetNull()
method.
8) [TV52013949]
Axis increment calculation produced an
error with very big ranges. Fixed.
9) [No bugfix log]
CalcXPos and CalcYPos not working in the
TColorGridSeries. Fixed.
10) [TV52013783]
Grid lines not plotted in TColorGridSeries
under some circumstances. Fixed.
11) [TV52013781]
TColorGridSeries not working in VCL.NET
applications in some cases. Fixed.
12) [TF02013701]
TPointSeries failing to show last points
under exceptional circumstances. Fixed.
13) [TF02013714]
THorizBarseries not displaying
all points when chart resized. Fixed.
14) [TV52012609]
Added support for TVideoTool.Compression.
Video compression can be assigned recording
video if it exists as a codec on the system.
15) [TV52013763]
Adding Video Player Tool from the editor
gives an exception, now fixed.
16) [TV52013795]
Axes titles painted at the wrong position
under some circumstances. Fixed.
17) [TV52013762]
Series' VisibleCount property not working
correctly, now fixed.
18) [TV52013523]
Adding null values to a candle series
plotted black candles. Fixed.
19) [TV52013796]
TColorGridSeries not plotted correctly
when an associated axis has Inverted
property set to true. Fixed.
20) [TV52012772]
First value in THistogramFunction wrongly
calculated. Fixed.
21) [TV52013866]
Big difference in values crashes when
calculating axis labels increment. Fixed.
22) [TV52013770]
Multiline chart footer and subfooter
not plotted corectly. Fixed.
23) [TV52013637]
TColorGridSeries.Clicked method not
working when IrregularGrid=True. Fixed.
24) [TV52013630]
Negative values in 2D bar series not
plotted correctly with GDI+ canvas.
Fixed.
25) [TV52013462]
Polar series not plotting correctly
when ClockWiseLabels set to false.
Fixed.
26) [TV52013293]
2D pies not plotted correctly using
GDI+ canvas. Fixed.
27) [TV52013958]
Pie Series now has support for image
as Brush for each slice in 3D mode.
28) [TV52012826]
Source code didn't compile with all
TChartValue values available. Fixed.
29) [TV52012814]
Filled checkbox in TContourSeries
editor non-functional at design-time.
Fixed.
30) [TV52013778, TV52013431]
SmoothBitmap property in TColorGridSeries
not working fine. Fixed.
31) [TV52013890]
Setting series points color in VCL.NET
caused an error under some circumstances.
Fixed.
32) [TV52013884]
Chart editor's gallery raised an
exception in VCL.NET applications
under some circumstances. Fixed.
33) [TV52013978]
TTeeCommander buttons not rendering
correctly in VCL.NET applications.
Fixed.
34) [TV52013433]
Setting TLegendItem.Text produced an
error. Fixed.
35) [TV52013257]
Series points not painted correctly
when scrolling and horizontal axis
is inverted. Fixed.
36) [TV52013470]
THorizHistogramSeries with inverted
vertical axis not plotting correctly.
Fixed.
37) [TV52013314]
TMarksTipTool doesn't work correctly
with TErrorSeries. Fixed.
38) [TF02013509]
Using the OnGetAxisLabel event,
although the label is modified properly
(for example cut it) on the Axis, the
Axis label size is calculated by the
complete labels so a lot of empty space
appears at the bottom, now fixed.
39) [TV52014081]
TTagCloudSeries threw an exception when
only had one value. Fixed.
40) [TV52013611]
Using TDrawLineTool in a chart with
a TAntiAliasTool, when scrolling lines
out of the chart boundaries produced an
error. Fixed.
41) [TV52014108]
3D editor dialog allowed Perspective
values greater than 100. Fixed.
42) [TV52013610]
TDrawLineTool not painting lines
correctly when used together with
TAntiAliasTool or TGDIPlusCanvas.
Fixed.
43) [TV52013767]
The ColorGrid Series was not displaying
correctly in OpenGL or PDFExport. Now
resolved.
44) [TV52010768]
Some functions not working fine for
horizontal series. Fixed.
45) [TV52012014]
Selecting marks from a series with null
points using a TSelectorTool produced
an error. Fixed.
45) [TV52013515]
Export errors with PDf and GIF exports and
RAD Studio 2009 only. Now resolved.
46) [TV52013538]
Export errors for some 'data' text formats
from RAD Studio 2009 only (related to
Unicode encoding). Now resolved.
New Features
--------------------------
1) [TV52013792]
New TChartSeries.AddArray(XValues, YValues)
method.
2) [TV52013566]
New ClearChart method implemented.
3) [TV52012644]
New DisplayedPointCount property for
TDownSamplingFunction.
4) [TV52013276]
New DefaultNullValue property for series.
5) New FontSeriesColor for Marks which sets the
font color for each mark giving its point
color.
6) [TV52013175]
New IncludeNulls property implemented for
THistogramFunction. This property is true
by default.
=======================================
Release Notes 10th October 2008
TeeChart VCL version 8
Build 8.04
=======================================
Please send feedback to:
http://www.teechart.net/support/index.php
=======================================
Bugfixes/changes
--------------------------
1) Added UseSeriesFormat and ValueFormat
properties for export data which allow to
use a specific valueformat or the one
choosed for Series.
2) [TV52013138]
Trying to get MaxLabelsWidth hangs if
IAxisSize=0. Now fixed.
3) Using translations, Field names of selected
table as datasource were translated too, now
fixed.
4) [TF02013319]
FirstVisibleIndex and LastVisibleIndex
not calculated correctly under some
circumstances and for some series.
Fixed.
5) [TV52012914]
TLinearGauge's title settings at
designtime doesn't persist at runtime.
Fixed.
6) [TV52013112]
Print preview margins could not be
eddited using print preview controls.
Fixed.
7) [TV52013171]
TLineSeries' Add(YValue, Label, Color)
method override didn't produce different
color line segments. Fixed.
8) [TV52013076]
XML export/import loses null points.
Fixed.
9) [TV52013279]
ContourSeries did not colour fill
segments correctly when datasourced from
external file. Now resolved.
10) [TV52012634] Reviewed
ColorGrid Series generates unaligned cells
using similar code to the following one :
var x,z: Integer;
for x:=0 to 5 do
for z:=0 to 3 do
Series1.AddXYZ(x,random,z);
This happens when series' rows and columns
start at value zero. Now fixed.
11) [TV52013186]
When first point in a series is a null
value and TreatNulls=tnSkip a line is
drawn from first to last series point.
Fixed.
12) [TV52013102]
TChartScrollBar component modified axes
scales incorrectly when zooming or panning
associated chart.
Fixed.
13) [TV52013251]
Surface Grid [new] cell insertion wasn't
working correctly. Now resolved.
14) [TV52013355]
Chart editor's export data tab generated
a semicolon when choosing "Colon" option
in the "Delimiter" field. Fixed.
=======================================
Release Notes 28th May 2008
TeeChart VCL version 8
Build 8.03
=======================================
Please send feedback to:
http://www.teechart.net/support/index.php
=======================================
Bugfixes/changes
--------------------------
1) [TV52010241]
THistogramSeries and THorizHistogramSeries
not drawing correctly when axis is not
automatic. Fixed.
2) [TV52012770]
Fixed bug which appear at v8.02. Printing
the Charts access violation is thrown.
3) [TV52010983]
Fixed bug : SetNull doesn't work properly
for FastLine Series. Setting the IgnoreNulls
property of FastLineSeries to false in
conjunction to TreatNulls property works
fine now (Series1.IgnoreNulls:=false;
Series1.TreatNulls:=tnDontPaint).
4) [TV52010079]
Crossover funtion: if there is a crossover
at x=0 and x=0 is the xvalue of the first
series point of BOTH series then crosspoints
doesn't work. Crosspoints does work for all
other situations with x=0
5) [TV52010196]
CrossPoints Function does not work fine
setting it at designtime. An extra point is
added at the end which is not correct. Now
fixed.
6) [TV52012988], [TV52012592] and [TV52012533]
Legends with many items not behaving
correctly under some circumstances. Fixed.
7) [TV52012495]
Changing of a circular gauge to a linear
doesn't work well. Fixed.
8) [TV52010523] & [TV52011291]
Verified these bugs had been fixed in
earlier v8 releases.
9) [TV52012978]
ColorGrid click sensitivity was not correct
with CenteredGrid True. Fixed.
10) [TV52013006]
Changing Series type to BarSeries before
repaint caused a StackStyle problem. Fixed.
11) [TV52012330]
Horizontal Series types did not load XY data
correctly from SeriesTextSource. Fixed.
12) [TV52012634]
ColorGrid Series generates unaligned cells
using similar code to the following one :
var x,z: Integer;
for x:=0 to 5 do
for z:=0 to 3 do
Series1.AddXYZ(x,random,z);
This happens when series' rows and columns
start at value zero. Now fixed.
13) [TV52012332]
TBarSeries and THorizBarSeries not drawing
correctly when axis is not automatic and
BarWidthPercent = 100. Fixed.
14) [TV52011721]
Problems sizing with Axis' custom label
size. Now fixed.
15) [TV52012992]
Reported "invalid floating point operation"
using the rotate tool under some steep angle
conditions. Fixed.
16) [TV52013025]
The labels list would remains empty when using
AddHighLow from HighLowSeries. Fixed.
17) [TV52012919]
Change notification: The GDI+ example is now
included as part of TeeNew demo project.
18) [TV52012699]
Using TLegendPaletteTool with a ColorGrid
series with a custom palette didn't work
correctly. Fixed.
19) [TV52011868]
Mouse-panning would cause some axes bound
data to move more quickly than the mouse
movement. Fixed.
=======================================
Please send feedback to:
http://www.teechart.net/support/index.php
=======================================
TeeChart VCL version 7
Chart Axes
* Alternate labels.
Axis labels can now be displayed in "alternate" mode to show more text in the same space.
Suitable for horizontal axis and non-rotated labels.
Chart1.Axes.Bottom.LabelsAlternate := True ;
Bar, Bar3D and Horizontal Bar series
* Tick lines.
New TChartPen property to draw lines around Bar series points at default axis grid positions.
Series1.TickLines.Visible := True ;
TChartListBox
* Radio buttons
The listbox control can now display series with "radio" buttons instead of check-boxes.
This can be useful in cases where only a single series needs to be visible.
ChartListBox1.CheckStyle := cbsRadio; // ( default is cbsCheck )
* OnChangeActive event
This event is called when the end user clicks the checkbox or radio icon to show or hide a Series. The event includes the Series.
Chart Themes
"Themes" provide an easy single-click way to alter many of the Chart formatting and color properties.
Included themes are TeeChart, Microsoft Excel®, Business, Classic and Web.
End users can change the selected "theme" at runtime either using the chart editor dialog new Themes tab or the Themes editor stand-alone.
Uses TeeThemeEditor
ChartThemeSelector( Chart1 );
Themes can also be selected programatically.
Uses TeeThemes;
ApplyChartTheme( TExcelTheme, Chart1 );
New custom themes can be created and used at design-time with simple code:
TMyTheme = class( TChartTheme )
public
procedure ApplyTo( Chart: TCustomChart ); override;
class function Description:String; override;
end;
RegisterChartThemes([ TMyTheme ]);
TColorBand tool
* New OnClick event, and Clicked and BoundsRect functions.
The color band object now provides an OnClick event, Clicked function and BoundsRect function that returns the color band rectangle in pixels.
TCommander
* Editor and Previewer
The commander control adds two new properties to show customized chart editor and print preview dialogs, using your preferred TChartEditor and TChartPreviewer components:
TeeCommander1.ChartEditor := ChartEditor1 ;
TeeCommander1.Previewer := ChartPreviewer1 ;
Custom Chart Color Palettes
The default color palette is now a dynamic array that can be replaced by code:
// Create a custom color palette
var MyPalette : TColorArray;
SetLength(MyPalette, 5);
MyPalette[0]:= clBlue;
MyPalette[1]:= clGreen;
MyPalette[2]:= clLime;
MyPalette[3]:= clAqua;
MyPalette[4]:= clNavy;
SetDefaultColorPalette( MyPalette ); // set new custom palette
MyPalette:= nil; // free if no longer used
Several predefined palettes are available at runtime:
ColorPalettes.ApplyPalette(Chart1, 3); // 3 = pastels
Delphi for .NET
New in this version is support for Borland Delphi™ 2005 .Net compiler.
Under Delphi.Net, applications can be created to use the Borland VCL for .Net ( VCLForms ) or to use Microsoft FCL for .Net ( WinForms ), or ASP.Net web server pages.
TeeChart v7 VCL is designed to be used in VCLForms (Win32 or .Net) but can also work in WinForms and ASP.Net forms if you create the necessary encapsulating classes.
For easier programming in WinForms and Asp.Net, we provide TeeChart.Net (written 100% in C#) which uses .Net Framework classes directly bypassing the VCL. As with the VCL version, this version can also be used in VCLForms applications through new a new .Net Control Import Library Wizard.
Design Time options
New editor dialog to control all design-time options.
Selections are stored at Windows Registry under key:
HKEY_CURRENT_USER\Software\Steema Software\TeeChart Pro
The design-time options editor can also be displayed at runtime in your applications:
uses TeeDesignOptions;
with TOptionsForm.Create( Self ) do
try
ShowModal;
finally
Free;
end;
Chart Legend
* Radio groups
Legend can now display "radio" buttons alongside series to let the user choose a single visible series.
Chart1.Legend.CheckBoxes := True; // activate boxes
Chart1.Legend.CheckBoxesStyle := cbsRadio; // ...or cbsCheck
* Scrollbar tool
New tool to add scrollbar facilities to Chart Legend.
The scrollbar is not derived from Windows or Borland's VCL scrollbar objects. It's been totally rewritten in Delphi with full source code available.
The scrollbar editor dialog provides many formatting properties like colors, sizes, etc.
Uses TeeLegendScrollBar;
MyScroll:= TLegendScrollBar.Create( Self );
MyScroll.Size:= 12;
Chart1.Tools.Add( MyScroll );
* Legend Title
The Chart Legend provides a new property "Title" of class TTeeShape.
Legend Title text and formatting can be fully customized.
with Chart1.Legend.Title do
begin
Text.Clear;
Text.Add( 'Animals' );
Color:= clMaroon;
Transparent:= False;
Transparency:= 50;
end;
* Miscellaneous
New LastValue (Integer) read-only public property.
Returns the value index of the last visible item in legend.
This complements the already existing FirstValue property.
New 2D Lighting Tool
The new TLightTool class enables "2D lighting" effect to charts.
Several properties can be customized using the Light tool editor dialog.
uses TeeLighting;
var Light : TLightTool;
Light:= TLightTool.Create( Self );
Light.FollowMouse:= True;
Light.Style:= lsSpotLight;
Chart1.Tools.Add( Light );
New Functions
* Mode
The Mode function calculates the value with highest count of duplicates inside the source series data.
Includes the option to ignore null source values.
* Median
Calculates the value located in the middle of sorted source series values.
* Correlation
Calculates the factor, from 0 to 1, of X to Y relationship of source series values.
* Variance
Calculates the average spread of source series values.
Chart Editor
* Tree mode
The Chart Editor dialog can now be displayed in "tree mode", using a left-aligned treeview control as the main manager of the many editor dialogs.
The above design-time options dialog controls the default editor mode (normal or tree).
The ChartEditorPanel control can also be displayed in tree-mode.
You can also programatically force the tree mode display:
TChartEditForm.SaveOption( TeeMsg_TreeMode, True );
ChartEditor1.Execute;
Pie and Donut series
* Gradient 3D property
Pie and Donut slices can now be filled in 3D mode, using a Gradient property.
Series1.Gradient.Visible:= True;
Point3D series
* Lines to floor
New TChartPen property to optionally draw lines from 3D xyz points to chart floor.
Series1.BaseLine.Visible:= True;
Chart Canvas
* Full 360 degree rotation in GDI mode
Last released version 6 provided 180 degree rotation in normal Windows GDI mode.
Version 7 now delivers full 360 degree rotation, thus allowing viewing charts from back perspective.
Chart1.View3DOptions.Rotation := 220 ; // back view
* Vector fonts (pending)
Chart Series Groups
Series can now be "grouped" in logical sets.
Any Series can be assigned to pertain to zero, one or more groups.
Series Groups are optionally displayed at Chart Editor dialog and ChartListBox control.
var g1,g2:TSeriesGroup;
g1:=Chart1.SeriesList.AddGroup('First group');
g1.Series.Add(Series2);
g1.Series.Add(Series4);
g1.Series.Add(Series6);
g2:=Chart1.SeriesList.AddGroup('Second group');
g2.Series.Add(Series1);
g2.Series.Add(Series3);
g2.Series.Add(Series5);
ChartListBox1.SeriesGroup:=g1;
ChartEditor1.Options:= ChartEditor1.Options+[ceGroups];
ChartEditor1.Execute;
Chart Gallery
* Smoothing ( Based on "Resample" code from Anders Melander and others )
New Chart Gallery option displays charts with "smoothing" effect.
ChartGalleryPanel1.Smooth:= True ;
Compare the two pictures below. The left one is showing a smooth gallery.
You can also use a global method to smooth your custom bitmap images.
uses TeCanvas;
var B : TBitmap;
begin
B:=TBitmap.Create;
try
B.Width:=Image1.Picture.Bitmap.Width div 2;
B.Height:=Image1.Picture.Bitmap.Height div 2;
SmoothStrecth(Image1.Picture.Bitmap, B);
Image2.Picture.Assign(B);
finally
B.Free;
end;
end;
* Miscellaneous
New methods to get from and save to registry the gallery Smooth mode:
DefaultSmooth and SaveSmooth.
Exporting Formats
* SVG (Scalable Vector Graphics)
New exporting format available to export charts to SVG format.
Note: For the link below to display properly you'll need to install in your machine either the free Adobe SVG Viewer, Corel's viewer, JASC WebDraw or use Microsoft Internet Explorer.
* Click to open TeeChart_Example.svg file.
* View example SVG source.
* Go to SVG homepage
* PDF improvements
The TPDFCanvas object now provides several enhancements to PDF exporting.
A partnership with DynamicPDF company offers server PDF charting and more.
* GIF and LZW compression Unisys patent.
According to Unisys at http://www.unisys.com/about__unisys/lzw , patent on LZW compression has expired worldwide except in some particular countries.
Check the above link to verify your license rights to use LZW compression in your location.
The TeeChart version 7 now permits usage of LZW ( TeeGIF unit and editor dialog ).
All Series with "Pointer" property
The TSeriesPointer class now includes a Transparency property.
Many series styles like Line, Area, Point, Point3D, Polar, Bubble, Gantt, Bezier, etc have a Pointer property.
Series1.Pointer.Transparency := 50 ;
Candle and Arrow series, although providing a Pointer property, do not support Transparency as they draw points using their own method.
All Series
New MandatoryAxis function that returns the chart axis associated with the series (vertical axis in series mandatory value list is Y, and horizontal axis in mandatory value list is X ).
Series1.MandatoryAxis.LabelsFont.Color := clRed ;
Chart SeriesList property
New ClearValues method to remove all values from all series in chart, thus leaving all series empty.
Chart1.SeriesList.ClearValues ;
TSmoothingFunction and TBSpline class
Removed limitation on number of source points to calculate smooth points.
(Fixed size arrays have been converted to dynamic arrays).
Warning: Smoothing more than 500 points can be a very slow operation.
New Series styles
* Bubble3D, derived from TPoint3D series.
New bubble series that adds a "Z" value for each bubble point.
Requires OpenGL rendering to correctly visualize solid 3D bubbles.
Fixed bugs
* TBollingerFunction
Calling Clear on series with Bollinger now clears the two Bollinger line series instead of just one line.
* Canvas Custom drawing
Custom drawing could sometimes display text with shadows or outlines.
* Zoom pen
The Chart1.Zoom.Pen.SmallDots property did not work.
* Canvas EllipseWithZ and Pie3D methods
Improved distortion on big (ie: printed) Pie and Ellipse drawings.
* TCustom3DPaletteSeries
Fixed loosing the PaletteStyle property when cloning series.
* Tower series
Added Assign method to support cloning.
* Series1.DataSources
This property is now of type "TDataSourcesList" class.
Calling the Add, Delete and Clear methods will call the internal series methods. This avoids an access violation when closing or destroying.
* Legend
When the legend is behind the chart (using Legend HorizMargin or VertMargin properties), Chart1.OnClickSeries was not working correctly.
TeeTree2
* Teetree2 is now avialable for those who hold a current TeeChart Pro v7 license. This tree building component is a worthy addition for any developer working with Delphi. Follow the link to find out more about what TeeTree2 has to offer.
TeeChart VCL version 6
Chart Axes
* Labels can be fully customized using Items[ ] array property.
This makes easier to customize axis labels without using events like OnGetAxisLabel, etc.
Also, each label item is a full object with properties like Color, Font, etc.
Chart1.Axes.Left.Items.Clear;
Chart1.Axes.Left.Items.Add( 123, 'Hello' );
* Axes can be positioned along the Z (depth) direction when showing in 3D mode:
Chart1.Axes.Left.ZPosition := 100;
* Axes can have Offsets (in pixels) for both Minimum and Maximum scales:
Chart1.Axes.Left.MaximumOffset := 4 ;
Chart1.Axes.Left.MinimumOffset := 4 ;
* Axis labels are now individual objects derived from TeeShape object.
By default they are set to transparent, and can be configured to display a filled background, shadow, gradient, etc.
Chart1.Axes.Left.LabelsFormat.Color := clYellow ;
* Axis in Logarithmic mode now accept floating point values for Logarithmic base.
This allows, for example, setting a logarithmic axis of base "e" ( e = Exp(1) = 2.71...)
Chart1.Axes.Left.Logarithmic := True ;
Chart1.Axes.Left.LogarithmicBase := Exp(1) ; // 2.71...
* New PositionUnits property to specify PositionPercent as percentage or pixels.
Canvas
* Charts can be rotated 180 degrees along the horizontal (x) axis.
In previous versions, canvas was allowed to rotate 90 degrees only.
Using OpenGL charts can be fully rotated 360 degree.
Example to show how to "auto-hide" left and right walls while rotating the chart.
* The center position of Radial gradients can be customized with the new Gradient.RadialX and RadialY properties:
Chart1.Walls.Back.Gradient.RadialX := 123;
Chart1.Walls.Back.Gradient.RadialY := -321;
* Gradients provide a Balance property to apply more Start or more End colors:
Chart1.Walls.Back.Gradient.Balance := 40; // %, default is 50 %
* Canvas include new properties, methods and new overload methods:
Chart1.Canvas.FontZoom := 110; // % global font size zoom
Chart1.Canvas.Rectangle( R );
Chart1.Canvas.StretchDraw( R, Bitmap, Z ); // 3D stretch of pictures
Chart1.Canvas.Line( P0, P1 ); // P0 and P1 are TPoint
Chart1.Canvas.PolyLine( [P0,P1,P2...] );
Chart1.Canvas.PolyLine( [P0,P1,P2...] , Z); // for 3D
Chart1.Canvas.Pixels[x,y] := clRed; // now is read-write
Chart1.Canvas.RotatedEllipse( Left,Top,Right,Bottom,Z,Angle );
// returns if points are faced to viewer
TeeCull( P0,P1,P2 ):Boolean;
PointAtDistance( FromPoint, ToPoint, Distance ):TPoint;
* Anti-Aliasing.
Example of use of TeeAntiAlias procedure, to smooth curved lines on screen display.
* Rotated Ellipses.
New Canvas RotatedEllipse method to draw ellipses in 3D mode with rotation.
* Polyline method.
New Canvas Polyline method to draw multiple lines at once, passing an array of TPoint.
* StretchDraw 3D.
New Canvas method to display a bitmap in 3D mode with rotation.
* RichText drawing.
Example showing how to display RTF (RichText) formatted text over a Chart Canvas.
* OrthogonalAngle now supports from 0 to 180 degree.
Chart Legend
* Legend symbols can now display using a customized border.
By default, legend symbols use the Series border.
Chart1.Legend.Symbol.DefaultPen := False ;
Chart1.Legend.Symbol.Pen.Color := clRed ;
* Legend symbols can now be "squared" (same width as height).
Chart1.Legend.Symbol.Squared := True ;
Chart Walls
* The four chart walls now support transparency, even with gradient filling:
Chart1.Walls.Left.Transparency := 70 ; // % of transparency
* The Back wall can now be filled with an image in 3D display mode (orthogonal or not).
Chart Panel
* New Border pen and BorderRound properties,
to draw borders around chart panel in rectangular or rounded mode.
This new Border is drawn outside the current bevels.
The old "BorderStyle" property is now obsolete.
Chart1.Border.Color := clBlue ;
Chart1.BorderRound := 50 ; // pixels
* Chart Margins can be expressed as percentage or pixels.
Chart1.MarginUnits := muPixels ;
Chart1.MarginLeft := 10 ; // <--- 10 pixels
* Chart Panel now includes a Shadow property.
Chart1.Shadow.VertSize := 6 ;
All Series
* All Series styles now provide OnMouseEnter and OnMouseLeave events.
These events are triggered when the mouse enters and exits a series point.
* All Series now provide a new method to order points by their corresponding "Label" (point text):
Series1.SortByLabels( loAscending ); // default is ascending
All Series Marks
* Series Marks new CallOut property, to change the appearance of lines connecting marks to series points.
New styles: Callout, rectangle, ellipse... and new properties: size, brush, distance.
Series1.Marks.ArrowShape.Style := asArrowHead ;
* Series Marks can now be individually customized (font, color, etc)
with Series1.Marks[3] do
begin
Font.Size:=14;
Color:=clSilver;
end;
Bar and Horizontal Bar Series
* Bar and Horizontal Bar series provide a new stacking style to display a single series "self stacked".
Series1.MultiBar:=mbSelfStack;
* New bar style: "bsBevel" and BevelSize property, to draw a rectangular bevel (in 2D and orthogonal 3D modes only).
Bubble Series
* Bubble series can now fill points using a gradient, with a default "radial" gradient style.
Series1.Pointer.Gradient.Visible := True ;
* Bubble Transparency
Series1.Transparency := 50 ;
* Small code to adjust left and rigth margins for Bubble charts:
var tmp : Integer;
begin
with Series1 do // (Series1 is a Bubble series)
begin
tmp := GetVertAxis.CalcSizeValue(RadiusValues.First);
GetHorizAxis.MinimumOffset := tmp;
tmp : =GetVertAxis.CalcSizeValue(RadiusValues.Last);
GetHorizAxis.MaximumOffset := tmp;
end;
end;
Candle Series
* New drawing style "csLine" to display a simple line using Close values.
ColorGrid Series
* ColorGrid series can now display Marks.
Series1.Marks.Visible := True ;
* ColorGrid can be displayed in "centered mode".
This mode means cells will correspond to grid values. This is now the default mode.
Previous version was "non-centered", thus eliminating one top-side row and one right-side column.
Series1.CenteredPoints := True ;
* ColorGrid now accepts a Bitmap image as a datasource of grid values
var tmp : TBitmap;
begin
// temporary bitmap:
tmp:=TBitmap.Create;
try
tmp.Assign(Image1.Picture.Graphic);
Series1.Bitmap:=tmp;
finally
tmp.Free;
end;
Contour Series
* Contour series calculation of "levels" now provide a collection of "segments" (lines) per level.
Each segment is composed of normal XY points.
This permits mouse hit detection (Clicked function) and OnMouseEnter events.
* A new property "Smoothing" draws level lines using a fitting spline function:
Series1.Smoothing.Active := True ;
* New event in Contour series "OnBeforeDrawLevel".
This event is called just before each contour level is going to be displayed.
One example of use is to change the level Pen for some particular level lines.
FastLine Series
* FastLine series now supports null points and can draw in "stairs" mode:
Series1.SetNull( 123 ); // <-- make null (empty) point index 123
Series1.IgnoreNulls := False; // <-- allow null points
Series1.Stairs := True; // <-- set "stairs" mode
Pie Series
* Pie series marks are now automatically positioned to avoid overlap as much as possible.
Series1.AutoMarkPosition := True ;
* New Pie Legend property to display "other" pie slice sub-elements in an extra legend
Series1.OtherSlice.Legend.Visible := True ;
* New property to draw Pie slice borders using each slice color (instead of same Pen color for all slices)
Series1.DarkPen := True ;
Polar & Radar Series
* New Gradient property to fill polar (and radar) interior.
* New DrawZone method to fill circular background portions.
* Support for Logarithmic axis.
Surface Series
* Surface series can now display cells with transparency:
Series1.Transparency := 50 ;
All 3D Series
* All 3D Series (surface, contour, colorgrid, etc) include a new method
to add a bi-dimensional array (x by z grid of values).
var A : TArrayGrid; // = array of array of double
x,z : Integer;
begin
SetLength( A, 5, 7 ) ;
for x:=0 to 4 do
for z:= 0 to 6 do
A[x,z] := Random ;
Series1.AddArray( A );
end;
* Custom Colors for individual points are no longer overriden by ColorRange or ColorPalette.
* Small routine to perform "gridding".
The "Gridding" algorithm creates a regular grid (ie: surface) from arbitrary floating xyz points.
Chart Tools
* Annotation Callout
The annotation tool now provides a "Callout" sub-property, to display a line and a pointer shape, from the annotation to a given XY coordinate.
* ColorLine 3D
The ColorLine tool can optionally display the 3D part of the line (when in 3D display mode).
New Style property to automatically display a line at axis Minimum, Center or Maximum.
* Rotate Outline
New pen property in Rotate tool to display a wireframe chart outline while rotating (while mouse is pressed), to avoid repainting the whole chart when rotating it.
ChartTool1.Pen.Visible := True ;
Database Chart
* Automatic Summary Order.
Summaries from databases can now be automatically sorted (in ascending or descending order) by summary calculation (value) or by summary group (text).
The summary editor dialog includes new comboboxes to configure ordering at design-time or run-time.
Series1.XValueSource := '#SORTASC#GroupField' ;
Series1.YValues.ValueSource := '#SUM#ValueField' ;
* Crosstab source component.
Enables displaying a multi-series chart from a DataSet, grouping by a desired field.
Chart Editor
* Example to show how to hide datasets in chart editor (series datasource tab)
* New "RememberPosition" boolean property to persist the chart editor dialog position at runtime into registry.
* New Series property to show desired Series editor when setting DefaultTab property to "General" or "Marks".
ChartGrid component
*
Grid 3D mode
ChartGrid component can now display XYZ series (3D series) data in "grid mode", instead of showing xyz data as three columns.
ChartGrid1.Series:=Series1; // <-- must be XYZ grid series
ChartGrid1.Grid3DMode:=True ;
New Chart Tools
*
3D Transpose tool
3D Transpose tool "rotates" any 3D series 90 degrees.
It does exchange x with z values.
Works with any Grid3D series (surface, etc).
A similar visual effect can also be obtained setting the Bottom and Depth axes Inverted
property to True, although the transpose tool modifies the real xyz data.
*
Extra Legend tool
ExtraLegend tool displays additional legend objects.
The tool has a Series property to display legend with series values and / or texts.
*
Series Animation tool
The SeriesAnimation tool displays an animated growing chart:
ChartTool1.Execute;
*
Gantt Mouse dragging tool
New tool ( GanttTool ) offers mouse interaction to drag and resize Gantt bars.
*
Grid Bands tool
The GridBand tool enables filling axis grid space with alternate color bands, each one using a different brush.
*
Pie focus tool
Displays a border around pie slice currently under mouse cursor.
New Components
*
TTeeXMLSource
New XML source component, to import xml data from files or web URL's into chart series.
The XML format to import data is the same as when exporting chart series data to XML.
Use of MSXML DOM activex object is done as late-bound, to avoid using typelibraries.
Please follow this web link for a Tutorial on using TeeXMLSource component.
The examples show how import one series from a Memo containing xml data,
and one full Chart from a URL pointing to a file with several series data in xml format.
* TDBCrossTabSource
Enables creating crosstab charts from database datasets at design-time and runtime.
New Tee Functions
*
Smoothing Spline function
The new Smoothing function interpolates points using a B-Spline algorithm.
Several properties control the Spline calculation.
The smoothed points can optionally pass just exactly over the source points.
*
Custom y=f(x) function
New Custom function to calculate y = f(x) values using an OnCalculate event:
procedure TForm1.TeeFunction1Calculate(Sender: TCustomTeeFunction;
const x: Double; var y: Double);
begin
y: = Sin(x / 10);
end;
*
Compression OHLC (Candle) function
Compression function calculates high and low values for a group of points.
Results are plotted using a Candle series.
Suitable for displaying Candle OHLC data "weekly", "monthly", etc.
*
Cross Points function
CrossPoints function calculates XY coordinates for crossing points of source line series.
The example shows a yellow line Series3 with points where Series1 and Series2 cross.
*
CLV (Accumulation/Distribution) financial function
*
OBV (On Balance Volume) financial function
*
CCI (Commodity Channel Index) financial function
*
PVO (Percentage Volume Oscillator) financial function
*
Performance function
Performance function calculate the percentage of difference between each source point and the first source point.
Calculation starts always at zero.
New Series styles
*
Point & Figure (financial)
*
Horizontal Area
*
Vector 3D
*
Tower 3D
*
Gauges (Instrumentation indicators)
New Export formats
*
Adobe Acrobat PDF (Portable Document Format)
*
PostScript format (EPS)
Miscellaneous
* Delphi 7 support.
* Delphi 3 support removed
* Several Property aliases
* Fixed bugs
* StringGrid data to Chart example
* Removed TeeProcs functions MaxLong, MinLong, MaxDouble and MinDouble.
Replaced with equivalents Min and Max from Borland's Math unit.
* New Series1.Clicked overload method (accepts a TPoint instead of x,y)
* New function Series1.YValues.ToString( 123 )
Same as calling: FloatToStr( Series1.YValues[123] )
* Removed grid size limit in all 3D series (was 2000 x 2000).
Internal xyz grid data is stored into dynamically growing arrays, with no limit on size.
* Shadow object now provides transparency.
TTeeShadow class is used by many other classes.
* Area series displays Gradients when in Stairs mode.
* New Series1.SetNull(123) method
Equivalent to set: Series1.ValueColor[123]:=clNone
* Removed special define TEENOCHECKOVER
This define is no longer necessary. See below the new FastCalc property.
* New Chart1.Axes.FastCalc property (to use fast assembler code)
This property enables axis calculations (from values to screen pixels), using a faster code in assembler. Suitable for FastLine real-time charts.
* Annotation tool now has TextAlignment (left , center or right)
* Export data formats (Text,XML,HTML, etc) can now export series point Colors.
* TeeCommander new property: EnablePieExploding (boolean, default True).
This new property controls whether Pie series will be exploded or not when dragging pie slices with the mouse.
* Axis LogarithmicBase property is now of type "double", thus allowing for example logarithmic axis of base "e" (2.71...)
* ADX function provides two new properties of type TChartPen: DownLinePen and UpLinePen, to control display of ADX upper and lower lines.
* Candle series improvement in Clicked function. Now correctly calculates if mouse XY is over a candle or candle-stick point.
* ColorPalette[ ] array (TeeProcs.pas unit) is now a dynamic array variable to allow changing colors and expand the number of predefined colors for points and series. (ie: When Series ColorEachPoint is True).
* Histogram series now correctly implements Clicked function, for mouse hit detection, etc.
* Bar and Horiz. Bar Series with "Rect.Gradient" style, display in 3D too.
* OnClick event at Axis Arrow tool.
* Donut series can now display in 3D.
* Canvas provides new method to draw images with 3D rotation. (StretchDraw)
The Chart BackImage (in Inside mode), ColorGrid series and ChartImage tool benefit from this new method.
* TeeChart Wizard now installed at Delphi / C++ Builder Help menu.
It now allows loading Chart templates (*.tee files) at design-time for better reusability.
* Transparency and export / print preview support in OpenGL canvas.
TeeChart VCL version 5
5.03 Upgrade
New features since version 5.02
* Borland C++ Builder 6 support
This release supports C++ Builder 6.
* Fast Delete multiple points
The Series Delete method can now delete multiple points in a single call, much faster than deleting them using a loop.
* FastLine series, more speed.
When using FastLine series in real-time mode, a new property FastPen increases drawing speed a lot.
A new example shows FastPen combined with above new Delete method.
Note: FastPen does not apply to Windows 95,98 and Me.
* Gantt Mouse tool
This new tool enables dragging and resizing Gantt bars.
* Area Series
Now supports Gradient filling.
* TeeFont Gradient
Fonts (of big sizes) can be filled using a gradient.
* New component: TComboFlat
ComboBox with "flat" style.
* New translations to languages:
TeeGalician, TeeSlovene, TeeNorwegian, TeeTurkish, TeePolish, TeeJapanese, TeeHungarian, TeeArabic, TeeHebrew, TeeUkrainian, TeeKorean.
* New component: TeeInspector
Very simple "Inspector" like panel.
* New Chart Tool: DragPoint
Previously included in TeeChartOffice. Located at TeeDragPoint.pas unit.
* New class: TChartImage.
This class registers itself in the VCL mechanism as a new graphic format, to support loading *.tee files containing TeeCharts into standard VCL TImage components.
* Big Speed optimization in Contour Series.
* DrawLine tool now enables "parallel" line style.
* Series DataSource editor dialog.
Now includes a ChartGrid component to allow manually edit a single series data.
* Design-time manually data stored.
Series now store into the DFM their data if it has been manually entered using the Chart editor.
Fixed Bugs 5.03
* Pie Series: Fixed (improved) Pie Clicked function when Pie is shown in 3D.
* All 3D Series: Fixed Color Palette generation (Series Surface,Contour, Map,etc).
Palette starts now at Series Minimum Y Value.
* Legend: Large Horizontal Legend with CheckBoxes does not override bounds.
* Logarithmic Axes: Fixed exception when calculating logarithmic axis positions before the chart was first time displayed.
* Bar Series: Fixed bug in Bar series with CustomBarWidth > 0 and BarWidthPercent = 100.
* Transparency: All Transparency properties are now published into DFM and *.tee streams.
* Polar / WindRose: New Color button in Polar and WindRose editor dialogs, for better management and understanding of brush colors.
* Right Axis: Fixed OnClickAxis event for Right Axis in 3D mode.
Miscellaneous changes since version 5.02
* TeeDrawCheckBox procedure has been moved from Chart.pas unit to TeeProcs.pas unit.
* Improved Pie Series "Clicked" function in 3D.
* Change in RSI Function calculation when using Close prices only.
* Speed optimization in TeeBlend (transparency object).
* TCustomChartNavigator class has been renamed to TCustomTeeNavigator due to allow share it with TeeTree.
* ChartPreview procedure has been moved from TeePrevi.pas unit to TeeEdiGene.pas unit (because TeePrevi is shared with TeeTree).
* New unit: TeeExport.pas: All common code in TeExport.pas ("TeE") has been moved to this new TeeExport unit ("Tee").
The reason is now TeeExport is shared with TeeTree, while "TeExport" contains TeeChart-only related code.
* TeeImageConstants.pas unit has been removed. Its contents are now included in TeeProCo.pas unit.
* Other minor changes and optimizations all around.


Academic & Non-profit Organizations (Non-Government Agencies) can apply for a 50% discount on a direct purchase. Educational licenses must not be used for commercial purposes and are limited to academic use only. Please contact sales@steema.com