lazarus/components/tachart/demo/func/main.lfm

952 lines
26 KiB
Plaintext

object Form1: TForm1
Left = 653
Height = 459
Top = 209
Width = 550
Caption = 'Form1'
ClientHeight = 459
ClientWidth = 550
OnCreate = FormCreate
Position = poScreenCenter
LCLVersion = '1.9.0.0'
object PageControl1: TPageControl
Left = 0
Height = 459
Top = 0
Width = 550
ActivePage = tsDomain
Align = alClient
TabIndex = 0
TabOrder = 0
OnChange = PageControl1Change
object tsDomain: TTabSheet
Caption = 'Domain'
ClientHeight = 431
ClientWidth = 542
object Chart1: TChart
Left = 0
Height = 431
Top = 0
Width = 542
AxisList = <
item
Grid.Color = clGray
TickLength = 0
Marks.LabelBrush.Style = bsClear
Minors = <>
Title.LabelFont.Orientation = 900
Title.LabelBrush.Style = bsClear
end
item
Grid.Color = clGray
TickLength = 0
Alignment = calBottom
Marks.LabelBrush.Style = bsClear
Minors = <>
Title.LabelBrush.Style = bsClear
end>
ExpandPercentage = 5
Extent.UseYMax = True
Extent.UseYMin = True
Extent.YMax = 6
Extent.YMin = -6
Foot.Brush.Color = clBtnFace
Foot.Font.Color = clBlue
Frame.Visible = False
Legend.Visible = True
Title.Brush.Color = clBtnFace
Title.Font.Color = clBlue
Title.Text.Strings = (
'TAChart'
)
Align = alClient
Color = clNone
object Chart1FuncSeries1: TFuncSeries
Extent.UseXMax = True
Extent.UseXMin = True
Extent.XMax = 6.28
Extent.XMin = -6.28
Extent.YMax = 2
Extent.YMin = -2
Title = '1 / Sin(x)'
Pen.Color = clOlive
Pen.Width = 2
Step = 4
OnCalculate = Chart1FuncSeries1Calculate
end
object Chart1XAxis: TConstantLine
Legend.Visible = False
Arrow.BaseLength = 5
Arrow.Length = 12
Arrow.Visible = True
Arrow.Width = 4
Position = 0
end
object Chart1YAxis: TConstantLine
Legend.Visible = False
Arrow.BaseLength = 5
Arrow.Length = 12
Arrow.Visible = True
Arrow.Width = 4
LineStyle = lsVertical
Position = 0
end
object Chart1BarSeries1: TBarSeries
Title = 'Cos(x)'
BarBrush.Color = clMoneyGreen
Source = UserDefinedChartSource1
end
object Chart1UserDrawnSeries1: TUserDrawnSeries
OnDraw = Chart1UserDrawnSeries1Draw
end
end
object cbDomain: TCheckBox
Left = 464
Height = 19
Top = 392
Width = 62
Anchors = [akRight, akBottom]
Caption = 'Domain'
OnChange = cbDomainChange
TabOrder = 1
end
object cbRotate: TCheckBox
Left = 464
Height = 19
Top = 367
Width = 54
Anchors = [akRight, akBottom]
Caption = 'Rotate'
OnChange = cbRotateChange
TabOrder = 2
end
end
object tsColorMap: TTabSheet
Caption = 'Color map'
ClientHeight = 431
ClientWidth = 542
object ChartColorMap: TChart
Left = 0
Height = 431
Top = 0
Width = 416
AxisList = <
item
MarginsForMarks = False
Marks.LabelBrush.Style = bsClear
Minors = <>
Title.LabelFont.Orientation = 900
Title.LabelBrush.Style = bsClear
ZPosition = 1
end
item
Alignment = calBottom
MarginsForMarks = False
Marks.LabelBrush.Style = bsClear
Minors = <>
Title.LabelBrush.Style = bsClear
ZPosition = 1
end>
Extent.UseXMax = True
Extent.UseXMin = True
Extent.XMax = 1
Extent.XMin = -1
Foot.Brush.Color = clBtnFace
Foot.Font.Color = clBlue
Legend.SymbolWidth = 30
Title.Brush.Color = clBtnFace
Title.Font.Color = clBlue
Title.Text.Strings = (
'TAChart'
)
Toolset = chtsColorMap
Align = alClient
Color = clDefault
DoubleBuffered = True
object ChartColorMapColorMapSeries1: TColorMapSeries
Extent.UseXMax = True
Extent.UseXMin = True
Extent.XMax = 0.5
Extent.XMin = -0.5
Title = 'sin(10x + 17y)'
BuiltInPaletteMax = 1
BuiltInPaletteMin = -1
ColorSource = ListChartSource1
OnCalculate = ChartColorMapColorMapSeries1Calculate
end
end
object Panel1: TPanel
Left = 421
Height = 431
Top = 0
Width = 121
Align = alRight
BevelOuter = bvNone
ClientHeight = 431
ClientWidth = 121
TabOrder = 1
object ChartLegendPanel1: TChartLegendPanel
Left = 0
Height = 197
Top = 0
Width = 121
Chart = ChartColorMap
Align = alTop
end
object cbInterpolate: TCheckBox
AnchorSideLeft.Control = Panel1
AnchorSideBottom.Control = lblPalette
Left = 8
Height = 19
Top = 354
Width = 77
Anchors = [akLeft, akBottom]
BorderSpacing.Left = 8
BorderSpacing.Bottom = 8
Caption = 'Interpolate'
OnChange = cbInterpolateChange
TabOrder = 1
end
object cbMultLegend: TCheckBox
AnchorSideLeft.Control = Panel1
AnchorSideBottom.Control = cbInterpolate
Left = 8
Height = 19
Top = 327
Width = 97
Anchors = [akLeft, akBottom]
BorderSpacing.Left = 8
BorderSpacing.Bottom = 8
Caption = 'Expand legend'
OnChange = cbMultLegendChange
TabOrder = 2
end
object cmbPalette: TComboBox
AnchorSideLeft.Control = Panel1
AnchorSideRight.Control = Panel1
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = Panel1
AnchorSideBottom.Side = asrBottom
Left = 8
Height = 23
Top = 400
Width = 105
Anchors = [akLeft, akRight, akBottom]
BorderSpacing.Left = 8
BorderSpacing.Right = 8
BorderSpacing.Bottom = 8
ItemHeight = 15
ItemIndex = 4
Items.Strings = (
'cmpHot'
'cmpCold'
'cmpRainbow'
'cmpMonochrome'
'(ColorSource)'
)
OnChange = cmbPaletteChange
Style = csDropDownList
TabOrder = 3
Text = '(ColorSource)'
end
object lblPalette: TLabel
AnchorSideLeft.Control = Panel1
AnchorSideBottom.Control = cmbPalette
Left = 8
Height = 15
Top = 381
Width = 36
Anchors = [akLeft, akBottom]
BorderSpacing.Left = 8
BorderSpacing.Bottom = 4
Caption = 'Palette'
FocusControl = cmbPalette
ParentColor = False
end
end
object Splitter1: TSplitter
Left = 416
Height = 431
Top = 0
Width = 5
Align = alRight
ResizeAnchor = akRight
end
end
object tsSpline: TTabSheet
Caption = 'Spline'
ClientHeight = 431
ClientWidth = 542
object ChartSpline: TChart
Left = 0
Height = 397
Top = 0
Width = 542
AxisList = <
item
Grid.Color = clGray
Grid.Cosmetic = False
Intervals.Options = [aipGraphCoords, aipUseCount, aipUseMinLength, aipUseNiceSteps]
Intervals.Tolerance = 2
Marks.LabelBrush.Style = bsClear
Minors = <>
Title.LabelFont.Orientation = 900
Title.LabelBrush.Style = bsClear
Transformations = catSpline
end
item
Grid.Color = clGray
Grid.Cosmetic = False
Alignment = calBottom
Marks.LabelBrush.Style = bsClear
Minors = <>
Title.LabelBrush.Style = bsClear
end>
ExpandPercentage = 5
Foot.Brush.Color = clBtnFace
Foot.Font.Color = clBlue
Title.Brush.Color = clBtnFace
Title.Font.Color = clBlue
Title.Text.Strings = (
'TAChart'
)
Align = alClient
Color = clDefault
DoubleBuffered = True
object ChartSplineLineSeries1: TLineSeries
AxisIndexX = 1
AxisIndexY = 0
Source = RandomChartSource1
end
object ChartSplineBSplineSeries1: TBSplineSeries
Active = False
AxisIndexX = 1
AxisIndexY = 0
Source = RandomChartSource1
Pen.Color = clLime
Pen.Width = 3
Pointer.Brush.Color = clLime
end
object ChartSplineCubicSplineSeries1: TCubicSplineSeries
ZPosition = 1
AxisIndexX = 1
AxisIndexY = 0
Pointer.Brush.Color = clAqua
Source = RandomChartSource1
Options = [csoDrawUnorderedX]
Pen.Color = clAqua
Pen.Width = 2
end
end
object pnSpline: TPanel
Left = 0
Height = 34
Top = 397
Width = 542
Align = alBottom
AutoSize = True
ClientHeight = 34
ClientWidth = 542
TabOrder = 1
object iseSplineDegree: TTISpinEdit
AnchorSideLeft.Control = lblSplineDegree
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = pnSpline
AnchorSideTop.Side = asrCenter
Left = 50
Height = 23
Top = 6
Width = 50
BorderSpacing.Left = 8
BorderSpacing.Top = 4
BorderSpacing.Bottom = 4
Link.TIObject = ChartSplineBSplineSeries1
Link.TIPropertyName = 'Degree'
MinValue = 1
OnChange = iseSplineDegreeChange
TabOrder = 0
end
object icbSplineRandomX: TTICheckBox
AnchorSideLeft.Control = iseSplineDegree
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = iseSplineDegree
AnchorSideTop.Side = asrCenter
Left = 124
Height = 19
Top = 8
Width = 75
AutoSize = True
BorderSpacing.Left = 24
Caption = 'Random X'
Link.TIObject = RandomChartSource1
Link.TIPropertyName = 'RandomX'
PropertyNameAsCaption = False
TabOrder = 1
end
object lblSplineDegree: TLabel
AnchorSideLeft.Control = pnSpline
AnchorSideTop.Control = iseSplineDegree
AnchorSideTop.Side = asrCenter
Left = 5
Height = 15
Top = 10
Width = 37
BorderSpacing.Left = 4
Caption = 'Degree'
ParentColor = False
end
object cbCubic: TTICheckBox
AnchorSideLeft.Control = cbBSpline
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = iseSplineDegree
AnchorSideTop.Side = asrCenter
Left = 295
Height = 19
Top = 8
Width = 51
AutoSize = True
BorderSpacing.Left = 16
Caption = 'Cubic'
Link.TIObject = ChartSplineCubicSplineSeries1
Link.TIPropertyName = 'Active'
PropertyNameAsCaption = False
State = cbChecked
TabOrder = 2
end
object cbBSpline: TTICheckBox
AnchorSideLeft.Control = icbSplineRandomX
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = pnSpline
AnchorSideTop.Side = asrCenter
Left = 215
Height = 19
Top = 8
Width = 64
AutoSize = True
BorderSpacing.Left = 16
Caption = 'B-Spline'
Link.TIObject = ChartSplineBSplineSeries1
Link.TIPropertyName = 'Active'
PropertyNameAsCaption = False
TabOrder = 3
end
object cbLogY: TTICheckBox
AnchorSideLeft.Control = cbCubic
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = iseSplineDegree
AnchorSideTop.Side = asrCenter
Left = 370
Height = 19
Top = 8
Width = 50
AutoSize = True
BorderSpacing.Left = 24
Caption = 'Log Y'
Link.TIObject = catSplineLogarithmAxisTransform
Link.TIPropertyName = 'Enabled'
PropertyNameAsCaption = False
TabOrder = 4
end
end
end
object tsAutoExtentY: TTabSheet
Caption = 'Auto Y extent'
ClientHeight = 431
ClientWidth = 542
object chAutoExtentY: TChart
Left = 0
Height = 402
Top = 0
Width = 542
AxisList = <
item
Marks.LabelBrush.Style = bsClear
Minors = <>
Title.LabelFont.Orientation = 900
Title.LabelBrush.Style = bsClear
end
item
Alignment = calBottom
Marks.LabelBrush.Style = bsClear
Minors = <>
Title.LabelBrush.Style = bsClear
end>
Foot.Brush.Color = clBtnFace
Foot.Font.Color = clBlue
Title.Brush.Color = clBtnFace
Title.Font.Color = clBlue
Title.Text.Strings = (
'TAChart'
)
Align = alClient
Color = clDefault
DoubleBuffered = True
object chAutoExtentYFuncSeries1: TFuncSeries
Extent.UseXMax = True
Extent.UseXMin = True
Extent.UseYMax = True
Extent.UseYMin = True
Extent.XMax = 1
Extent.YMax = 5
Extent.YMin = -5
Pen.Color = 16711808
Pen.Width = 2
OnCalculate = chAutoExtentYFuncSeries1Calculate
end
end
object pnlAutoExtentY: TPanel
Left = 0
Height = 29
Top = 402
Width = 542
Align = alBottom
AutoSize = True
ClientHeight = 29
ClientWidth = 542
TabOrder = 1
object cbAutoExtentY: TCheckBox
AnchorSideLeft.Control = pnlAutoExtentY
Left = 5
Height = 19
Top = 5
Width = 91
BorderSpacing.Left = 4
BorderSpacing.Top = 4
BorderSpacing.Bottom = 4
Caption = 'Auto Y extent'
OnChange = cbAutoExtentYChange
TabOrder = 0
end
end
end
object tsParametric: TTabSheet
Caption = 'Parametric'
ClientHeight = 431
ClientWidth = 542
object chParametric: TChart
Left = 0
Height = 431
Top = 0
Width = 412
AxisList = <
item
Marks.LabelBrush.Style = bsClear
Minors = <>
Title.LabelFont.Orientation = 900
Title.LabelBrush.Style = bsClear
end
item
Alignment = calBottom
Marks.LabelBrush.Style = bsClear
Minors = <>
Title.LabelBrush.Style = bsClear
end>
Foot.Brush.Color = clBtnFace
Foot.Font.Color = clBlue
Title.Brush.Color = clBtnFace
Title.Font.Color = clBlue
Title.Text.Strings = (
'TAChart'
)
Align = alClient
Color = clDefault
object chParametricParametricCurveSeries1: TParametricCurveSeries
Extent.UseXMax = True
Extent.UseXMin = True
Extent.UseYMax = True
Extent.UseYMin = True
Extent.XMax = 2
Extent.XMin = -2
Extent.YMax = 2
Extent.YMin = -2
OnCalculate = chParametricParametricCurveSeries1Calculate
ParamMax = 32
Pen.Color = clMaroon
Pen.Width = 2
end
end
object pnlParametric: TPanel
Left = 412
Height = 431
Top = 0
Width = 130
Align = alRight
BevelOuter = bvNone
ClientHeight = 431
ClientWidth = 130
TabOrder = 1
object seJ: TSpinEdit
Left = 24
Height = 23
Top = 182
Width = 50
OnChange = ParamChange
TabOrder = 0
Value = 2
end
object seK: TSpinEdit
Left = 24
Height = 23
Top = 210
Width = 50
OnChange = ParamChange
TabOrder = 1
Value = 2
end
object tbA: TTrackBar
Left = 24
Height = 32
Top = 46
Width = 104
Frequency = 4
Max = 40
OnChange = ParamChange
Position = 1
TabOrder = 2
end
object lblA: TLabel
Left = 8
Height = 13
Top = 50
Width = 12
AutoSize = False
Caption = 'a'
Font.Style = [fsItalic]
ParentColor = False
ParentFont = False
end
object stEq: TStaticText
Left = 4
Height = 37
Top = 4
Width = 122
Align = alTop
BorderSpacing.Around = 4
Caption = 'x = cos(at) - cos(bt)^j'#13#10'y = sin(ct) - sin(dt)^k'
Font.Style = [fsItalic]
ParentFont = False
TabOrder = 3
end
object tbB: TTrackBar
Left = 24
Height = 32
Top = 78
Width = 104
Frequency = 4
Max = 40
OnChange = ParamChange
Position = 1
TabOrder = 4
end
object lblB: TLabel
Left = 8
Height = 13
Top = 82
Width = 12
AutoSize = False
Caption = 'b'
Font.Style = [fsItalic]
ParentColor = False
ParentFont = False
end
object tbC: TTrackBar
Left = 24
Height = 32
Top = 110
Width = 104
Frequency = 4
Max = 40
OnChange = ParamChange
Position = 1
TabOrder = 5
end
object tbD: TTrackBar
Left = 24
Height = 32
Top = 142
Width = 104
Frequency = 4
Max = 40
OnChange = ParamChange
Position = 1
TabOrder = 6
end
object lblD: TLabel
Left = 8
Height = 13
Top = 146
Width = 12
AutoSize = False
Caption = 'd'
Font.Style = [fsItalic]
ParentColor = False
ParentFont = False
end
object lblC: TLabel
Left = 8
Height = 13
Top = 114
Width = 12
AutoSize = False
Caption = 'c'
Font.Style = [fsItalic]
ParentColor = False
ParentFont = False
end
object lblK: TLabel
Left = 8
Height = 13
Top = 214
Width = 12
AutoSize = False
Caption = 'k'
Font.Style = [fsItalic]
ParentColor = False
ParentFont = False
end
object lblJ: TLabel
Left = 9
Height = 13
Top = 186
Width = 12
AutoSize = False
Caption = 'j'
Font.Style = [fsItalic]
ParentColor = False
ParentFont = False
end
end
end
object tsExpression: TTabSheet
Caption = 'Expression'
ClientHeight = 431
ClientWidth = 542
object Panel2: TPanel
Left = 0
Height = 93
Top = 338
Width = 542
Align = alBottom
AutoSize = True
BevelOuter = bvNone
ClientHeight = 93
ClientWidth = 542
TabOrder = 0
object LblExpression: TLabel
AnchorSideLeft.Control = Panel2
AnchorSideTop.Control = EdExpression
AnchorSideTop.Side = asrCenter
Left = 8
Height = 15
Top = 8
Width = 88
BorderSpacing.Left = 8
BorderSpacing.Right = 8
Caption = 'Expression y(x) ='
ParentColor = False
end
object EdExpression: TEdit
AnchorSideLeft.Control = LblExpression
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel2
AnchorSideRight.Control = Panel2
AnchorSideRight.Side = asrBottom
Left = 104
Height = 23
Top = 4
Width = 430
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 4
BorderSpacing.Right = 8
OnEditingDone = EdExpressionEditingDone
TabOrder = 0
end
object LblExprDomain: TLabel
AnchorSideTop.Control = EdExprDomain
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = EdExprDomain
Left = 54
Height = 15
Top = 35
Width = 42
Anchors = [akTop, akRight]
BorderSpacing.Right = 8
Caption = 'Domain'
ParentColor = False
end
object EdExprDomain: TEdit
AnchorSideLeft.Control = EdExpression
AnchorSideTop.Control = EdExpression
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = EdExpression
AnchorSideRight.Side = asrBottom
Left = 104
Height = 23
Top = 31
Width = 430
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 4
OnEditingDone = EdExprDomainEditingDone
TabOrder = 1
end
object LblExprParamA: TLabel
AnchorSideTop.Control = EdExprParamA
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = EdExprParamA
Left = 79
Height = 15
Top = 66
Width = 17
Anchors = [akTop, akRight]
BorderSpacing.Right = 8
Caption = 'a ='
ParentColor = False
end
object EdExprParamA: TEdit
AnchorSideLeft.Control = EdExpression
AnchorSideTop.Control = EdExprDomain
AnchorSideTop.Side = asrBottom
Left = 104
Height = 23
Top = 62
Width = 80
BorderSpacing.Top = 8
BorderSpacing.Bottom = 8
OnEditingDone = EdExprParamAEditingDone
TabOrder = 2
end
object LblExprParamB: TLabel
AnchorSideLeft.Control = EdExprParamA
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = EdExprParamA
AnchorSideTop.Side = asrCenter
Left = 200
Height = 15
Top = 66
Width = 18
BorderSpacing.Left = 16
Caption = 'b ='
ParentColor = False
end
object EdExprParamB: TEdit
AnchorSideLeft.Control = LblExprParamB
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = EdExprParamA
Left = 226
Height = 23
Top = 62
Width = 80
BorderSpacing.Left = 8
BorderSpacing.Bottom = 8
OnEditingDone = EdExprParamBEditingDone
TabOrder = 3
end
end
object ExpressionChart: TChart
Left = 0
Height = 338
Top = 0
Width = 542
AxisList = <
item
Marks.LabelBrush.Style = bsClear
Minors = <>
Title.LabelFont.Orientation = 900
Title.Visible = True
Title.Caption = 'y'
Title.LabelBrush.Style = bsClear
end
item
Alignment = calBottom
Marks.LabelBrush.Style = bsClear
Minors = <>
Title.Visible = True
Title.Caption = 'x'
Title.LabelBrush.Style = bsClear
end>
Foot.Brush.Color = clBtnFace
Foot.Font.Color = clBlue
Title.Brush.Color = clBtnFace
Title.Font.Color = clBlue
Title.Text.Strings = (
'TAChart'
)
Align = alClient
Color = clDefault
object ExpressionSeries: TExpressionSeries
Extent.UseXMax = True
Extent.UseXMin = True
Extent.XMax = 10
Extent.XMin = -1
ExtentAutoY = True
DomainEpsilon = 1E-6
Params = <
item
Name = 'a'
Value = 1
end
item
Name = 'b'
Value = -0.5
end>
Variable = 'x'
Domain = 'x >= a; x<>b'
Expression = 'a*sqrt(x-a)/(x-b)'
end
end
end
end
object UserDefinedChartSource1: TUserDefinedChartSource
OnGetChartDataItem = UserDefinedChartSource1GetChartDataItem
PointsNumber = 14
left = 135
top = 114
end
object ListChartSource1: TListChartSource
DataPoints.Strings = (
'-1|0|$0000FF|'
'-0.5|0|$C00000|'
'0|0|$808000|'
'0.5|0|$00C000|'
'1|0|$00FF00|'
)
left = 280
top = 112
end
object chtsColorMap: TChartToolset
left = 280
top = 180
object chtsColorMapZoomDragTool1: TZoomDragTool
Shift = [ssLeft]
Brush.Style = bsClear
end
object chtsColorMapPanDragTool1: TPanDragTool
Shift = [ssRight]
end
end
object RandomChartSource1: TRandomChartSource
PointsNumber = 21
RandSeed = 1859411043
XMax = 10
XMin = 0
YMax = 1000
YMin = 1
left = 280
top = 56
end
object catSpline: TChartAxisTransformations
left = 135
top = 56
object catSplineLogarithmAxisTransform: TLogarithmAxisTransform
Enabled = False
Base = 10
end
end
object Timer1: TTimer
Interval = 200
OnTimer = Timer1Timer
left = 440
top = 248
end
end