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

560 lines
15 KiB
Plaintext

object Form1: TForm1
Left = 342
Height = 438
Top = 199
Width = 640
Caption = 'Form1'
ClientHeight = 438
ClientWidth = 640
OnCreate = FormCreate
LCLVersion = '2.3.0.0'
object PageControl1: TPageControl
Left = 0
Height = 438
Top = 0
Width = 640
ActivePage = tsBasic
Align = alClient
TabIndex = 0
TabOrder = 0
object tsBasic: TTabSheet
Caption = 'Basic'
ClientHeight = 410
ClientWidth = 632
object Chart2: TChart
Left = 0
Height = 372
Top = 38
Width = 336
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 Chart2LineSeries1: TLineSeries
LinePen.Color = clRed
Pointer.Brush.Color = clRed
Pointer.Visible = True
ShowPoints = True
Source = RandomChartSource1
end
object Chart2AreaSeries1: TAreaSeries
AreaBrush.Color = clBlue
AreaLinesPen.Color = clMaroon
Source = ListChartSource1
end
end
object Chart1: TChart
Left = 341
Height = 372
Top = 38
Width = 291
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 = alRight
Color = clDefault
object Chart1BarSeries1: TBarSeries
BarBrush.Color = clRed
Source = RandomChartSource1
end
object Chart1LineSeries1: TLineSeries
ZPosition = 1
LinePen.Color = clBlue
Pointer.Brush.Color = clBlue
Pointer.Visible = True
ShowPoints = True
Source = ListChartSource1
end
end
object Splitter1: TSplitter
Left = 336
Height = 372
Top = 38
Width = 5
Align = alRight
ResizeAnchor = akRight
end
object Label1: TLabel
Left = 2
Height = 30
Top = 2
Width = 628
Align = alTop
BorderSpacing.Bottom = 4
BorderSpacing.Around = 2
Caption = 'Modify sources at design-time.'#13#10'Same-colored series from each chart have common sources.'
WordWrap = True
end
end
object tsStatistics: TTabSheet
Caption = 'Statistics'
ClientHeight = 410
ClientWidth = 632
object chCalc: TChart
Left = 0
Height = 370
Top = 0
Width = 632
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
Legend.Alignment = laTopLeft
Legend.MarginX = 40
Legend.MarginY = 10
Legend.UseSidebar = False
Legend.Visible = True
Title.Brush.Color = clBtnFace
Title.Font.Color = clBlue
Title.Text.Strings = (
'TAChart'
)
Align = alClient
Color = clWindow
object chCalcLineSeries1: TLineSeries
Title = 'Data'
LineType = ltNone
Pointer.Visible = True
ShowPoints = True
Source = RandomChartSource2
end
object chCalcLineSeriesSum: TLineSeries
Title = 'Cumulative'
LinePen.Color = clMaroon
LinePen.Width = 2
Source = ccsSum
end
object chCalcLineSeriesAvg: TLineSeries
Title = 'Running average'
ZPosition = 1
LinePen.Color = clTeal
LinePen.Width = 2
Source = ccsAvg
end
end
object Panel2: TPanel
Left = 0
Height = 40
Top = 370
Width = 632
Align = alBottom
AutoSize = True
BevelOuter = bvNone
ClientHeight = 40
ClientWidth = 632
TabOrder = 1
object cbCumulative: TCheckBox
AnchorSideLeft.Control = Panel2
AnchorSideTop.Control = Panel2
AnchorSideTop.Side = asrCenter
Left = 8
Height = 19
Top = 11
Width = 79
BorderSpacing.Left = 8
Caption = 'Cumulative'
Checked = True
OnChange = cbCumulativeChange
State = cbChecked
TabOrder = 0
end
object cbAccDirStatistics: TComboBox
AnchorSideLeft.Control = cbCumulative
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel2
AnchorSideTop.Side = asrCenter
Left = 111
Height = 23
Top = 9
Width = 100
BorderSpacing.Left = 24
BorderSpacing.Top = 8
BorderSpacing.Bottom = 8
ItemHeight = 15
ItemIndex = 0
Items.Strings = (
'Backward'
'Forward'
'Center'
)
OnChange = cbAccDirStatisticsChange
Style = csDropDownList
TabOrder = 1
Text = 'Backward'
end
end
end
object tsDerivative: TTabSheet
Caption = 'Derivative'
ClientHeight = 410
ClientWidth = 632
object chDerivative: TChart
Left = 0
Height = 320
Top = 0
Width = 632
AxisList = <
item
Grid.Color = clSilver
Marks.LabelBrush.Style = bsClear
Minors = <>
Title.LabelFont.Orientation = 900
Title.Visible = True
Title.Caption = 'y, dy/dx'
Title.LabelBrush.Style = bsClear
end
item
Grid.Color = clSilver
Alignment = calBottom
Marks.LabelBrush.Style = bsClear
Minors = <>
Title.Visible = True
Title.Caption = 'x'
Title.LabelBrush.Style = bsClear
end>
BackColor = clWhite
Foot.Brush.Color = clBtnFace
Foot.Font.Color = clBlue
Legend.Alignment = laTopCenter
Legend.ColumnCount = 2
Legend.Visible = True
Title.Brush.Color = clBtnFace
Title.Font.Color = clBlue
Title.Text.Strings = (
'TAChart'
)
Align = alClient
Color = clWindow
DoubleBuffered = True
object chDerivativeLineOrig: TLineSeries
Title = 'y'
Source = lcsDerivative
end
object chDerivativeLineDeriv: TLineSeries
Title = 'dy/dx'
LinePen.Color = clRed
Source = ccsDerivative
end
end
object rgDataShape: TRadioGroup
Left = 6
Height = 51
Top = 320
Width = 620
Align = alBottom
AutoFill = True
AutoSize = True
BorderSpacing.Left = 6
BorderSpacing.Right = 6
Caption = 'Functions'
ChildSizing.LeftRightSpacing = 6
ChildSizing.TopBottomSpacing = 6
ChildSizing.HorizontalSpacing = 12
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 7
ClientHeight = 31
ClientWidth = 616
Columns = 7
ItemIndex = 0
Items.Strings = (
'y = x'
'y = sin(x)'
'y = sin(x) / x'
'y = exp(-x/3)'
'Gaussian'
'Noisy Gaussian'
'Data from table'
)
OnClick = rgDataShapeClick
ParentFont = False
TabOrder = 1
end
object Panel1: TPanel
Left = 0
Height = 39
Top = 371
Width = 632
Align = alBottom
AutoSize = True
BevelOuter = bvNone
ClientHeight = 39
ClientWidth = 632
TabOrder = 2
object lblAccumulationRange: TLabel
AnchorSideLeft.Control = Panel1
AnchorSideTop.Control = Panel1
AnchorSideTop.Side = asrCenter
Left = 8
Height = 15
Top = 12
Width = 108
BorderSpacing.Left = 8
Caption = 'AccumulationRange'
end
object seAccumulationRange: TSpinEdit
AnchorSideLeft.Control = lblAccumulationRange
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1
AnchorSideTop.Side = asrCenter
Left = 124
Height = 23
Top = 8
Width = 74
Alignment = taRightJustify
BorderSpacing.Left = 8
MaxValue = 10000
OnChange = seAccumulationRangeChange
TabOrder = 0
Value = 2
end
object cbAccDirDerivative: TComboBox
AnchorSideLeft.Control = seAccumulationRange
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1
AnchorSideTop.Side = asrCenter
Left = 214
Height = 23
Top = 8
Width = 100
BorderSpacing.Left = 16
BorderSpacing.Top = 8
BorderSpacing.Bottom = 8
ItemHeight = 15
ItemIndex = 0
Items.Strings = (
'Backward'
'Forward'
'Center'
)
OnChange = cbAccDirDerivativeChange
Style = csDropDownList
TabOrder = 1
Text = 'Backward'
end
object cbSmooth: TCheckBox
AnchorSideLeft.Control = cbAccDirDerivative
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1
AnchorSideTop.Side = asrCenter
Left = 330
Height = 19
Top = 10
Width = 60
BorderSpacing.Left = 16
Caption = 'Smooth'
OnChange = cbSmoothChange
TabOrder = 2
end
end
end
object tsSorted: TTabSheet
Caption = 'Sorted'
ClientHeight = 410
ClientWidth = 632
object btnSort: TButton
AnchorSideLeft.Control = tsSorted
AnchorSideTop.Control = tsSorted
Left = 8
Height = 25
Top = 8
Width = 230
AutoSize = True
BorderSpacing.Left = 8
BorderSpacing.Top = 8
Caption = 'Sort/unsort data by number of visitors!'
OnClick = btnSortClick
TabOrder = 0
end
object BubbleChart: TChart
AnchorSideLeft.Control = tsSorted
AnchorSideTop.Control = btnSort
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = tsSorted
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = tsSorted
AnchorSideBottom.Side = asrBottom
Left = 8
Height = 361
Top = 41
Width = 616
AxisList = <
item
Visible = False
Marks.LabelBrush.Style = bsClear
Minors = <>
Title.LabelFont.Orientation = 900
Title.LabelBrush.Style = bsClear
end
item
Alignment = calBottom
Marks.Format = '%4:.9g'
Marks.LabelBrush.Style = bsClear
Marks.Source = SortedChartSource
Marks.Style = smsXValue
Minors = <>
Title.LabelBrush.Style = bsClear
end>
Foot.Brush.Color = clBtnFace
Foot.Font.Color = clBlue
Margins.Left = 20
Margins.Right = 40
Title.Brush.Color = clBtnFace
Title.Brush.Style = bsClear
Title.Font.Color = clBlue
Title.Text.Strings = (
'Locations of World Exposition X, and numbers of visitors (given by bubble size)'
)
Title.Visible = True
OnAfterPaint = BubbleChartAfterPaint
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 8
Color = clWindow
object BubbleSeries: TBubbleSeries
AxisIndexX = 1
AxisIndexY = 0
BubbleRadiusUnits = bruY
MarkPositions = lmpPositive
Marks.Attachment = maCenter
Marks.Distance = 0
Marks.LabelFont.Orientation = 900
Marks.Format = '%2:s'
Marks.LabelBrush.Color = clWhite
Marks.Style = smsLabel
OverrideColor = [bocBrush]
Source = SortedChartSource
end
end
object lblSortInfo: TLabel
AnchorSideLeft.Control = btnSort
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = btnSort
AnchorSideTop.Side = asrCenter
Left = 246
Height = 15
Top = 13
Width = 55
BorderSpacing.Left = 8
Caption = 'lblSortInfo'
end
end
end
object RandomChartSource1: TRandomChartSource
PointsNumber = 8
RandSeed = 624484796
XMax = 5
XMin = -5
YMax = 10
Left = 88
Top = 112
end
object ListChartSource1: TListChartSource
DataPoints.Strings = (
'-3|2|?|'
'-2|3|?|'
'-1|4|?|'
'0|1|?|'
'3|2|?|'
)
Left = 88
Top = 168
end
object ccsSum: TCalculatedChartSource
AccumulationMethod = camSum
AccumulationRange = 0
Origin = RandomChartSource2
Left = 240
Top = 168
end
object ccsAvg: TCalculatedChartSource
AccumulationMethod = camAverage
AccumulationRange = 5
Origin = RandomChartSource2
Left = 240
Top = 224
end
object RandomChartSource2: TRandomChartSource
PointsNumber = 25
RandSeed = 840176578
XMax = 20
XMin = -10
YMax = 8
YMin = 1
Left = 240
Top = 112
end
object lcsDerivative: TListChartSource
Left = 376
Top = 112
end
object ccsDerivative: TCalculatedChartSource
AccumulationMethod = camDerivative
Origin = lcsDerivative
Left = 376
Top = 168
end
object UserDefinedChartSource: TUserDefinedChartSource
OnGetChartDataItem = UserDefinedChartSourceGetChartDataItem
YCount = 2
Left = 528
Top = 112
end
object SortedChartSource: TSortedChartSource
Origin = UserDefinedChartSource
SortBy = sbY
SortDir = sdDescending
SortIndex = 1
Left = 528
Top = 168
end
end