From 636d7a10cb48468be721cf011711984b75c7d44e Mon Sep 17 00:00:00 2001 From: ask Date: Wed, 2 Feb 2011 07:50:56 +0000 Subject: [PATCH] TAChart: Allow assignment of TFuncSeries, TColorMapSeries, TIntervalList git-svn-id: trunk@29320 - --- components/tachart/tachartutils.pas | 7 ++++++ components/tachart/tafuncseries.pas | 37 +++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/components/tachart/tachartutils.pas b/components/tachart/tachartutils.pas index d3cdfa2c73..ec66efe78b 100644 --- a/components/tachart/tachartutils.pas +++ b/components/tachart/tachartutils.pas @@ -94,6 +94,7 @@ type procedure SetEpsilon(AValue: Double); procedure SetOnChange(AValue: TNotifyEvent); public + procedure Assign(ASource: TIntervalList); constructor Create; public procedure AddPoint(APoint: Double); inline; @@ -965,6 +966,12 @@ begin Changed; end; +procedure TIntervalList.Assign(ASource: TIntervalList); +begin + FEpsilon := ASource.FEpsilon; + FIntervals := Copy(ASource.FIntervals); +end; + procedure TIntervalList.Changed; begin if Assigned(FOnChange) then diff --git a/components/tachart/tafuncseries.pas b/components/tachart/tafuncseries.pas index b2e3043bfc..3863a0fc30 100644 --- a/components/tachart/tafuncseries.pas +++ b/components/tachart/tafuncseries.pas @@ -44,6 +44,7 @@ type procedure AfterAdd; override; procedure GetBounds(var ABounds: TDoubleRect); override; public + procedure Assign(ASource: TPersistent); override; constructor Create(AOwner: TComponent); override; destructor Destroy; override; published @@ -72,6 +73,7 @@ type procedure GetLegendItems(AItems: TChartLegendItems); override; public + procedure Assign(ASource: TPersistent); override; constructor Create(AOwner: TComponent); override; destructor Destroy; override; @@ -111,6 +113,7 @@ type procedure GetLegendItems(AItems: TChartLegendItems); override; public + procedure Assign(ASource: TPersistent); override; constructor Create(AOwner: TComponent); override; destructor Destroy; override; @@ -152,6 +155,14 @@ begin FExtent.SetOwner(FChart); end; +procedure TBasicFuncSeries.Assign(ASource: TPersistent); +begin + if ASource is TBasicFuncSeries then + with TBasicFuncSeries(ASource) do + Self.Extent := FExtent; + inherited Assign(ASource); +end; + constructor TBasicFuncSeries.Create(AOwner: TComponent); begin inherited Create(AOwner); @@ -183,6 +194,18 @@ end; { TFuncSeries } +procedure TFuncSeries.Assign(ASource: TPersistent); +begin + if ASource is TFuncSeries then + with TFuncSeries(ASource) do begin + Self.FDomainExclusions.Assign(FDomainExclusions); + Self.FOnCalculate := FOnCalculate; + Self.Pen := FPen; + Self.FStep := FStep; + end; + inherited Assign(ASource); +end; + constructor TFuncSeries.Create(AOwner: TComponent); begin inherited Create(AOwner); @@ -340,6 +363,20 @@ end; { TColorMapSeries } +procedure TColorMapSeries.Assign(ASource: TPersistent); +begin + if ASource is TColorMapSeries then + with TColorMapSeries(ASource) do begin + Self.Brush := FBrush; + Self.ColorSource := FColorSource; + Self.FInterpolate := FInterpolate; + Self.FOnCalculate := FOnCalculate; + Self.FStepX := FStepX; + Self.FStepY := FStepY; + end; + inherited Assign(ASource); +end; + function TColorMapSeries.ColorByValue(AValue: Double): TColor; var lb, ub: Integer;