mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-11-09 21:59:23 +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)"/>
|
<LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
|
||||||
</local>
|
</local>
|
||||||
</RunParams>
|
</RunParams>
|
||||||
<RequiredPackages Count="2">
|
<RequiredPackages Count="4">
|
||||||
<Item1>
|
<Item1>
|
||||||
<PackageName Value="TAChartLazarusPkg"/>
|
<PackageName Value="RunTimeTypeInfoControls"/>
|
||||||
<MinVersion Major="1" Valid="True"/>
|
<MinVersion Valid="True"/>
|
||||||
</Item1>
|
</Item1>
|
||||||
<Item2>
|
<Item2>
|
||||||
<PackageName Value="LCL"/>
|
<PackageName Value="LCLBase"/>
|
||||||
|
<MinVersion Valid="True"/>
|
||||||
</Item2>
|
</Item2>
|
||||||
|
<Item3>
|
||||||
|
<PackageName Value="TAChartLazarusPkg"/>
|
||||||
|
<MinVersion Major="1" Valid="True"/>
|
||||||
|
</Item3>
|
||||||
|
<Item4>
|
||||||
|
<PackageName Value="LCL"/>
|
||||||
|
</Item4>
|
||||||
</RequiredPackages>
|
</RequiredPackages>
|
||||||
<Units Count="2">
|
<Units Count="2">
|
||||||
<Unit0>
|
<Unit0>
|
||||||
|
|||||||
@ -8,7 +8,8 @@ uses
|
|||||||
{$ENDIF}{$ENDIF}
|
{$ENDIF}{$ENDIF}
|
||||||
Interfaces, // this includes the LCL widgetset
|
Interfaces, // this includes the LCL widgetset
|
||||||
Forms
|
Forms
|
||||||
{ you can add units after this }, main, TAChartLazarusPkg;
|
{ you can add units after this }, main, runtimetypeinfocontrols,
|
||||||
|
TAChartLazarusPkg;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
Application.Title := 'TAChart function series demo';
|
Application.Title := 'TAChart function series demo';
|
||||||
|
|||||||
@ -28,10 +28,12 @@ object Form1: TForm1
|
|||||||
Width = 453
|
Width = 453
|
||||||
AxisList = <
|
AxisList = <
|
||||||
item
|
item
|
||||||
|
Minors = <>
|
||||||
Title.LabelFont.Orientation = 900
|
Title.LabelFont.Orientation = 900
|
||||||
end
|
end
|
||||||
item
|
item
|
||||||
Alignment = calBottom
|
Alignment = calBottom
|
||||||
|
Minors = <>
|
||||||
end>
|
end>
|
||||||
ExpandPercentage = 10
|
ExpandPercentage = 10
|
||||||
Extent.YMin = -6
|
Extent.YMin = -6
|
||||||
@ -112,11 +114,13 @@ object Form1: TForm1
|
|||||||
Width = 327
|
Width = 327
|
||||||
AxisList = <
|
AxisList = <
|
||||||
item
|
item
|
||||||
|
Minors = <>
|
||||||
Title.LabelFont.Orientation = 900
|
Title.LabelFont.Orientation = 900
|
||||||
ZPosition = 1
|
ZPosition = 1
|
||||||
end
|
end
|
||||||
item
|
item
|
||||||
Alignment = calBottom
|
Alignment = calBottom
|
||||||
|
Minors = <>
|
||||||
ZPosition = 1
|
ZPosition = 1
|
||||||
end>
|
end>
|
||||||
Extent.XMin = -1
|
Extent.XMin = -1
|
||||||
@ -192,6 +196,87 @@ object Form1: TForm1
|
|||||||
ResizeAnchor = akRight
|
ResizeAnchor = akRight
|
||||||
end
|
end
|
||||||
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
|
end
|
||||||
object UserDefinedChartSource1: TUserDefinedChartSource
|
object UserDefinedChartSource1: TUserDefinedChartSource
|
||||||
OnGetChartDataItem = UserDefinedChartSource1GetChartDataItem
|
OnGetChartDataItem = UserDefinedChartSource1GetChartDataItem
|
||||||
@ -220,4 +305,14 @@ object Form1: TForm1
|
|||||||
Shift = [ssRight]
|
Shift = [ssRight]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
object RandomChartSource1: TRandomChartSource
|
||||||
|
PointsNumber = 20
|
||||||
|
RandSeed = 1859411043
|
||||||
|
XMax = 9
|
||||||
|
XMin = 0
|
||||||
|
YMax = 10
|
||||||
|
YMin = -10
|
||||||
|
left = 280
|
||||||
|
top = 56
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -5,8 +5,9 @@ unit main;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, ComCtrls, ExtCtrls, StdCtrls, Forms, Graphics, TAFuncSeries, TAGraph,
|
Classes, ComCtrls, ExtCtrls, RTTICtrls, StdCtrls, Forms, Graphics,
|
||||||
TALegendPanel, TASeries, TACustomSource, TASources, TATools;
|
TAFuncSeries, TAGraph, TALegendPanel, TASeries, TACustomSource, TASources,
|
||||||
|
TATools;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
@ -23,15 +24,24 @@ type
|
|||||||
Chart1UserDrawnSeries1: TUserDrawnSeries;
|
Chart1UserDrawnSeries1: TUserDrawnSeries;
|
||||||
Chart1XAxis: TConstantLine;
|
Chart1XAxis: TConstantLine;
|
||||||
Chart1YAxis: TConstantLine;
|
Chart1YAxis: TConstantLine;
|
||||||
|
ChartSpline: TChart;
|
||||||
ChartColorMap: TChart;
|
ChartColorMap: TChart;
|
||||||
ChartColorMapColorMapSeries1: TColorMapSeries;
|
ChartColorMapColorMapSeries1: TColorMapSeries;
|
||||||
ChartLegendPanel1: TChartLegendPanel;
|
ChartLegendPanel1: TChartLegendPanel;
|
||||||
|
ChartSplineLineSeries1: TLineSeries;
|
||||||
|
ChartSplineSplineSeries1: TSplineSeries;
|
||||||
chtsColorMap: TChartToolset;
|
chtsColorMap: TChartToolset;
|
||||||
chtsColorMapPanDragTool1: TPanDragTool;
|
chtsColorMapPanDragTool1: TPanDragTool;
|
||||||
chtsColorMapZoomDragTool1: TZoomDragTool;
|
chtsColorMapZoomDragTool1: TZoomDragTool;
|
||||||
|
lblSplineDegree: TLabel;
|
||||||
ListChartSource1: TListChartSource;
|
ListChartSource1: TListChartSource;
|
||||||
PageControl1: TPageControl;
|
PageControl1: TPageControl;
|
||||||
Panel1: TPanel;
|
Panel1: TPanel;
|
||||||
|
pnSpline: TPanel;
|
||||||
|
RandomChartSource1: TRandomChartSource;
|
||||||
|
iseSplineDegree: TTISpinEdit;
|
||||||
|
icbSplineRandomX: TTICheckBox;
|
||||||
|
tsSpline: TTabSheet;
|
||||||
tsDomain: TTabSheet;
|
tsDomain: TTabSheet;
|
||||||
tsColorMap: TTabSheet;
|
tsColorMap: TTabSheet;
|
||||||
Splitter1: TSplitter;
|
Splitter1: TSplitter;
|
||||||
@ -44,6 +54,7 @@ type
|
|||||||
procedure Chart1UserDrawnSeries1Draw(ACanvas: TCanvas; const ARect: TRect);
|
procedure Chart1UserDrawnSeries1Draw(ACanvas: TCanvas; const ARect: TRect);
|
||||||
procedure ChartColorMapColorMapSeries1Calculate(const AX, AY: Double; out
|
procedure ChartColorMapColorMapSeries1Calculate(const AX, AY: Double; out
|
||||||
AZ: Double);
|
AZ: Double);
|
||||||
|
procedure iseSplineDegreeChange(Sender: TObject);
|
||||||
procedure UserDefinedChartSource1GetChartDataItem(
|
procedure UserDefinedChartSource1GetChartDataItem(
|
||||||
ASource: TUserDefinedChartSource; AIndex: Integer;
|
ASource: TUserDefinedChartSource; AIndex: Integer;
|
||||||
var AItem: TChartDataItem);
|
var AItem: TChartDataItem);
|
||||||
@ -128,6 +139,11 @@ begin
|
|||||||
AZ := Sin(10 * Sqr(AX) + 17 * Sqr(AY));
|
AZ := Sin(10 * Sqr(AX) + 17 * Sqr(AY));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TForm1.iseSplineDegreeChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
(Sender as TTISpinEdit).EditingDone;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TForm1.UserDefinedChartSource1GetChartDataItem(
|
procedure TForm1.UserDefinedChartSource1GetChartDataItem(
|
||||||
ASource: TUserDefinedChartSource; AIndex: Integer; var AItem: TChartDataItem);
|
ASource: TUserDefinedChartSource; AIndex: Integer; var AItem: TChartDataItem);
|
||||||
begin
|
begin
|
||||||
|
|||||||
@ -55,7 +55,6 @@
|
|||||||
</Target>
|
</Target>
|
||||||
<SearchPaths>
|
<SearchPaths>
|
||||||
<IncludeFiles Value="$(ProjOutDir)"/>
|
<IncludeFiles Value="$(ProjOutDir)"/>
|
||||||
<OtherUnitFiles Value="..\.."/>
|
|
||||||
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
|
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
|
||||||
</SearchPaths>
|
</SearchPaths>
|
||||||
<Linking>
|
<Linking>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user