mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-11-03 12:39:34 +01:00
TAChart: Add spline to the func demo.
git-svn-id: trunk@31173 -
This commit is contained in:
parent
822e023c1d
commit
ce90312470
@ -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>
|
||||
|
||||
@ -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';
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -55,7 +55,6 @@
|
||||
</Target>
|
||||
<SearchPaths>
|
||||
<IncludeFiles Value="$(ProjOutDir)"/>
|
||||
<OtherUnitFiles Value="..\.."/>
|
||||
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
|
||||
</SearchPaths>
|
||||
<Linking>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user