TAChart: Add spline to the func demo.

git-svn-id: trunk@31173 -
This commit is contained in:
ask 2011-06-11 23:21:45 +00:00
parent 822e023c1d
commit ce90312470
5 changed files with 127 additions and 8 deletions

View File

@ -30,14 +30,22 @@
<LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
<RequiredPackages Count="2">
<RequiredPackages Count="4">
<Item1>
<PackageName Value="TAChartLazarusPkg"/>
<MinVersion Major="1" Valid="True"/>
<PackageName Value="RunTimeTypeInfoControls"/>
<MinVersion Valid="True"/>
</Item1>
<Item2>
<PackageName Value="LCL"/>
<PackageName Value="LCLBase"/>
<MinVersion Valid="True"/>
</Item2>
<Item3>
<PackageName Value="TAChartLazarusPkg"/>
<MinVersion Major="1" Valid="True"/>
</Item3>
<Item4>
<PackageName Value="LCL"/>
</Item4>
</RequiredPackages>
<Units Count="2">
<Unit0>

View File

@ -8,7 +8,8 @@ uses
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms
{ you can add units after this }, main, TAChartLazarusPkg;
{ you can add units after this }, main, runtimetypeinfocontrols,
TAChartLazarusPkg;
begin
Application.Title := 'TAChart function series demo';

View File

@ -28,10 +28,12 @@ object Form1: TForm1
Width = 453
AxisList = <
item
Minors = <>
Title.LabelFont.Orientation = 900
end
item
Alignment = calBottom
Minors = <>
end>
ExpandPercentage = 10
Extent.YMin = -6
@ -112,11 +114,13 @@ object Form1: TForm1
Width = 327
AxisList = <
item
Minors = <>
Title.LabelFont.Orientation = 900
ZPosition = 1
end
item
Alignment = calBottom
Minors = <>
ZPosition = 1
end>
Extent.XMin = -1
@ -192,6 +196,87 @@ object Form1: TForm1
ResizeAnchor = akRight
end
end
object tsSpline: TTabSheet
Caption = 'Spline'
ClientHeight = 336
ClientWidth = 453
object ChartSpline: TChart
Left = 0
Height = 306
Top = 0
Width = 453
AxisList = <
item
Grid.Color = clGray
Grid.Cosmetic = False
Minors = <>
Title.LabelFont.Orientation = 900
end
item
Alignment = calBottom
Grid.Color = clGray
Grid.Cosmetic = False
Minors = <>
end>
Foot.Brush.Color = clBtnFace
Foot.Font.Color = clBlue
Title.Brush.Color = clBtnFace
Title.Font.Color = clBlue
Title.Text.Strings = (
'TAChart'
)
Align = alClient
ParentColor = False
object ChartSplineLineSeries1: TLineSeries
Source = RandomChartSource1
end
object ChartSplineSplineSeries1: TSplineSeries
Source = RandomChartSource1
Pen.Color = clLime
Pen.Width = 3
end
end
object pnSpline: TPanel
Left = 0
Height = 30
Top = 306
Width = 453
Align = alBottom
ClientHeight = 30
ClientWidth = 453
TabOrder = 1
object iseSplineDegree: TTISpinEdit
Left = 60
Height = 21
Top = 4
Width = 50
Link.TIObject = ChartSplineSplineSeries1
Link.TIPropertyName = 'Degree'
MinValue = 1
OnChange = iseSplineDegreeChange
TabOrder = 0
end
object icbSplineRandomX: TTICheckBox
Left = 128
Height = 23
Top = 4
Width = 90
Caption = 'Random X'
Link.TIObject = RandomChartSource1
Link.TIPropertyName = 'RandomX'
PropertyNameAsCaption = False
TabOrder = 1
end
object lblSplineDegree: TLabel
Left = 12
Height = 14
Top = 8
Width = 36
Caption = 'Degree'
ParentColor = False
end
end
end
end
object UserDefinedChartSource1: TUserDefinedChartSource
OnGetChartDataItem = UserDefinedChartSource1GetChartDataItem
@ -220,4 +305,14 @@ object Form1: TForm1
Shift = [ssRight]
end
end
object RandomChartSource1: TRandomChartSource
PointsNumber = 20
RandSeed = 1859411043
XMax = 9
XMin = 0
YMax = 10
YMin = -10
left = 280
top = 56
end
end

View File

@ -5,8 +5,9 @@ unit main;
interface
uses
Classes, ComCtrls, ExtCtrls, StdCtrls, Forms, Graphics, TAFuncSeries, TAGraph,
TALegendPanel, TASeries, TACustomSource, TASources, TATools;
Classes, ComCtrls, ExtCtrls, RTTICtrls, StdCtrls, Forms, Graphics,
TAFuncSeries, TAGraph, TALegendPanel, TASeries, TACustomSource, TASources,
TATools;
type
@ -23,15 +24,24 @@ type
Chart1UserDrawnSeries1: TUserDrawnSeries;
Chart1XAxis: TConstantLine;
Chart1YAxis: TConstantLine;
ChartSpline: TChart;
ChartColorMap: TChart;
ChartColorMapColorMapSeries1: TColorMapSeries;
ChartLegendPanel1: TChartLegendPanel;
ChartSplineLineSeries1: TLineSeries;
ChartSplineSplineSeries1: TSplineSeries;
chtsColorMap: TChartToolset;
chtsColorMapPanDragTool1: TPanDragTool;
chtsColorMapZoomDragTool1: TZoomDragTool;
lblSplineDegree: TLabel;
ListChartSource1: TListChartSource;
PageControl1: TPageControl;
Panel1: TPanel;
pnSpline: TPanel;
RandomChartSource1: TRandomChartSource;
iseSplineDegree: TTISpinEdit;
icbSplineRandomX: TTICheckBox;
tsSpline: TTabSheet;
tsDomain: TTabSheet;
tsColorMap: TTabSheet;
Splitter1: TSplitter;
@ -44,6 +54,7 @@ type
procedure Chart1UserDrawnSeries1Draw(ACanvas: TCanvas; const ARect: TRect);
procedure ChartColorMapColorMapSeries1Calculate(const AX, AY: Double; out
AZ: Double);
procedure iseSplineDegreeChange(Sender: TObject);
procedure UserDefinedChartSource1GetChartDataItem(
ASource: TUserDefinedChartSource; AIndex: Integer;
var AItem: TChartDataItem);
@ -128,6 +139,11 @@ begin
AZ := Sin(10 * Sqr(AX) + 17 * Sqr(AY));
end;
procedure TForm1.iseSplineDegreeChange(Sender: TObject);
begin
(Sender as TTISpinEdit).EditingDone;
end;
procedure TForm1.UserDefinedChartSource1GetChartDataItem(
ASource: TUserDefinedChartSource; AIndex: Integer; var AItem: TChartDataItem);
begin

View File

@ -55,7 +55,6 @@
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
<OtherUnitFiles Value="..\.."/>
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Linking>