lazarus/components/tachart/demo/distance/Main.lfm

653 lines
19 KiB
Plaintext

object Form1: TForm1
Left = 495
Height = 594
Top = 225
Width = 880
Caption = 'Form1'
ClientHeight = 594
ClientWidth = 880
OnCreate = FormCreate
LCLVersion = '2.3.0.0'
object PageControl1: TPageControl
Left = 0
Height = 594
Top = 0
Width = 880
ActivePage = tsMain
Align = alClient
TabIndex = 0
TabOrder = 0
object tsMain: TTabSheet
Caption = 'Main'
ClientHeight = 566
ClientWidth = 872
object StatusBar1: TStatusBar
Left = 0
Height = 23
Top = 543
Width = 872
Panels = <>
end
object Panel2: TPanel
Left = 0
Height = 36
Top = 507
Width = 872
Align = alBottom
BevelOuter = bvNone
Caption = 'Left-drag --> measure 1st distance, Shift to zoom while dragging Ctrl+left-drag --> measure 2nd distance Right-drag --> show values'
Color = clGray
Font.Color = clWhite
ParentColor = False
ParentFont = False
TabOrder = 1
end
object Panel1: TPanel
Left = 4
Height = 118
Top = 381
Width = 860
Align = alBottom
AutoSize = True
BorderSpacing.Left = 4
BorderSpacing.Top = 8
BorderSpacing.Right = 8
BorderSpacing.Bottom = 8
BevelOuter = bvNone
ClientHeight = 118
ClientWidth = 860
TabOrder = 2
object rgSnapMode: TRadioGroup
AnchorSideLeft.Control = Panel1
AnchorSideTop.Control = Panel1
Left = 0
Height = 99
Top = 0
Width = 103
AutoFill = True
AutoSize = True
Caption = 'Snapping mode'
ChildSizing.LeftRightSpacing = 6
ChildSizing.TopBottomSpacing = 6
ChildSizing.VerticalSpacing = 5
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1
ClientHeight = 79
ClientWidth = 99
ItemIndex = 0
Items.Strings = (
'cdmXY'
'cdmOnlyX'
'cdmOnlyY'
)
OnClick = rgSnapModeClick
TabOrder = 0
end
object rgDrawingMode: TRadioGroup
AnchorSideLeft.Control = rgMeasureMode
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1
Left = 233
Height = 99
Top = 0
Width = 97
AutoFill = True
AutoSize = True
BorderSpacing.Left = 16
Caption = 'Drawing mode'
ChildSizing.LeftRightSpacing = 6
ChildSizing.TopBottomSpacing = 6
ChildSizing.VerticalSpacing = 5
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1
ClientHeight = 79
ClientWidth = 93
ItemIndex = 1
Items.Strings = (
'tdmDefault'
'tdmNormal'
'tdmXor'
)
OnClick = rgDrawingModeClick
TabOrder = 1
end
object cbRotateLabel: TCheckBox
AnchorSideLeft.Control = cbShowLabel
AnchorSideTop.Control = cbShowLabel
AnchorSideTop.Side = asrBottom
Left = 470
Height = 19
Top = 23
Width = 80
Caption = 'Rotate label'
Checked = True
OnClick = cbRotateLabelClick
State = cbChecked
TabOrder = 2
end
object cbShowLabel: TCheckBox
AnchorSideLeft.Control = rgDataPointMode
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1
Left = 470
Height = 19
Top = 4
Width = 75
BorderSpacing.Left = 16
BorderSpacing.Top = 4
Caption = 'Show label'
Checked = True
OnClick = cbShowLabelClick
State = cbChecked
TabOrder = 3
end
object clrPenColor: TColorButton
AnchorSideLeft.Control = clrBackgroundColor
AnchorSideTop.Control = clrBackgroundColor
AnchorSideTop.Side = asrBottom
Left = 726
Height = 25
Top = 31
Width = 78
BorderSpacing.Top = 4
BorderSpacing.Right = 8
BorderWidth = 2
ButtonColorAutoSize = False
ButtonColorSize = 16
ButtonColor = clBlack
Caption = 'Pen'
Margin = 4
OnColorChanged = clrPenColorColorChanged
end
object clrFontColor: TColorButton
AnchorSideLeft.Control = clrBackgroundColor
AnchorSideTop.Control = clrPenColor
AnchorSideTop.Side = asrBottom
Left = 726
Height = 25
Top = 60
Width = 78
BorderSpacing.Top = 4
BorderSpacing.Right = 8
BorderWidth = 2
ButtonColorAutoSize = False
ButtonColorSize = 16
ButtonColor = clBlack
Caption = 'Font'
Margin = 4
OnColorChanged = clrFontColorColorChanged
end
object clrBackgroundColor: TColorButton
AnchorSideLeft.Control = edEndbarLength
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = edEndbarLength
Left = 726
Height = 25
Top = 2
Width = 78
BorderSpacing.Left = 8
BorderSpacing.Right = 8
BorderWidth = 2
ButtonColorAutoSize = False
ButtonColorSize = 16
ButtonColor = clBtnFace
Caption = 'Backgr'
Margin = 4
OnColorChanged = clrBackgroundColorColorChanged
end
object edEndbarLength: TSpinEdit
AnchorSideLeft.Control = lblEndBarLength
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = cbShowLabel
AnchorSideTop.Side = asrCenter
Left = 668
Height = 23
Top = 2
Width = 50
BorderSpacing.Left = 4
MaxValue = 1000
OnChange = edEndbarLengthChange
TabOrder = 4
Value = 1000
end
object lblEndBarLength: TLabel
AnchorSideLeft.Control = cbHide
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = edEndbarLength
AnchorSideTop.Side = asrCenter
Left = 590
Height = 15
Top = 6
Width = 74
BorderSpacing.Left = 8
Caption = 'Endbar length'
end
object cbHide: TCheckBox
AnchorSideLeft.Control = cbShowLabel
AnchorSideTop.Control = cbFlipLabel
AnchorSideTop.Side = asrBottom
Left = 470
Height = 19
Top = 61
Width = 112
Caption = 'Hide at mouse up'
OnClick = cbHideClick
TabOrder = 5
end
object rgMeasureMode: TRadioGroup
AnchorSideLeft.Control = rgSnapMode
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1
Left = 119
Height = 99
Top = 0
Width = 98
AutoFill = True
AutoSize = True
BorderSpacing.Left = 16
Caption = 'Measure mode'
ChildSizing.LeftRightSpacing = 6
ChildSizing.TopBottomSpacing = 6
ChildSizing.VerticalSpacing = 5
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1
ClientHeight = 79
ClientWidth = 94
ItemIndex = 0
Items.Strings = (
'cdmXY'
'cdmOnlyX'
'cdmOnlyY'
)
OnClick = rgMeasureModeClick
TabOrder = 6
end
object mDistanceText: TMemo
AnchorSideLeft.Control = lblEndBarLength
AnchorSideRight.Control = edEndbarLength
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = cbHide
AnchorSideBottom.Side = asrBottom
Left = 590
Height = 48
Top = 32
Width = 128
Anchors = [akTop, akLeft, akRight, akBottom]
Lines.Strings = (
'axis dist = %0:.4g'
'graph dist = %1:.4g'
)
OnChange = mDistanceTextChange
TabOrder = 7
end
object rgDataPointMode: TRadioGroup
AnchorSideLeft.Control = rgDrawingMode
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1
Left = 346
Height = 99
Top = 0
Width = 108
AutoFill = True
AutoSize = True
BorderSpacing.Left = 16
Caption = 'Data point mode'
ChildSizing.LeftRightSpacing = 6
ChildSizing.TopBottomSpacing = 6
ChildSizing.VerticalSpacing = 5
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1
ClientHeight = 79
ClientWidth = 104
ItemIndex = 0
Items.Strings = (
'Free'
'Snap'
'Lock'
)
OnClick = rgDataPointModeClick
TabOrder = 8
end
object cbFlipLabel: TCheckBox
AnchorSideLeft.Control = cbShowLabel
AnchorSideTop.Control = cbRotateLabel
AnchorSideTop.Side = asrBottom
Left = 470
Height = 19
Top = 42
Width = 65
Caption = 'Flip label'
OnClick = cbFlipLabelClick
TabOrder = 9
end
object cbClipping: TCheckBox
AnchorSideLeft.Control = cbShowLabel
AnchorSideTop.Control = cbHide
AnchorSideTop.Side = asrBottom
Left = 470
Height = 19
Top = 80
Width = 63
Caption = 'Clipping'
OnChange = cbClippingChange
TabOrder = 10
end
object cbTransparency: TCheckBox
AnchorSideLeft.Control = cbShowLabel
AnchorSideTop.Control = cbClipping
AnchorSideTop.Side = asrBottom
Left = 470
Height = 19
Top = 99
Width = 108
Caption = 'Transparent label'
Checked = True
OnChange = cbTransparencyChange
State = cbChecked
TabOrder = 11
end
end
object Chart1: TChart
Left = 0
Height = 373
Top = 0
Width = 872
AutoFocus = True
AxisList = <
item
TickColor = clBlue
AxisPen.Color = clBlue
AxisPen.Visible = True
Marks.LabelFont.Color = clBlue
Marks.LabelBrush.Style = bsClear
Minors = <>
Title.LabelFont.Orientation = 900
Title.LabelBrush.Style = bsClear
Transformations = ChartAxisTransformations1
end
item
Alignment = calBottom
Marks.LabelBrush.Style = bsClear
Minors = <>
Title.LabelBrush.Style = bsClear
end
item
Grid.Visible = False
TickColor = clTeal
Alignment = calRight
AxisPen.Color = clTeal
AxisPen.Visible = True
Marks.LabelFont.Color = clTeal
Marks.LabelBrush.Style = bsClear
Minors = <>
Title.LabelBrush.Style = bsClear
Transformations = ChartAxisTransformations3
end>
BackColor = clCream
Foot.Brush.Color = clBtnFace
Foot.Font.Color = clBlue
MarginsExternal.Left = 8
MarginsExternal.Top = 8
MarginsExternal.Right = 8
MarginsExternal.Bottom = 8
Title.Brush.Color = clBtnFace
Title.Font.Color = clBlue
Title.Text.Strings = (
'TAChart'
)
Toolset = ctDist
Align = alClient
DoubleBuffered = True
ParentColor = True
object Chart1LineSeries1: TLineSeries
AxisIndexX = 1
AxisIndexY = 0
LinePen.Color = clBlue
Source = RandomChartSource1
end
object Chart1LineSeries2: TLineSeries
AxisIndexX = 1
AxisIndexY = 0
LinePen.Color = clBlue
LinePen.Style = psDash
Source = RandomChartSource2
end
object Chart1LineSeries3: TLineSeries
AxisIndexX = 1
AxisIndexY = 2
LinePen.Color = clTeal
LinePen.Width = 3
Pointer.Brush.Color = clMoneyGreen
Pointer.Style = psCircle
Pointer.Visible = True
ShowPoints = True
Source = RandomChartSource3
end
end
end
object tsFit: TTabSheet
Caption = 'Fit'
ClientHeight = 566
ClientWidth = 872
object pnlFit: TPanel
Left = 0
Height = 71
Top = 0
Width = 872
Align = alTop
AutoSize = True
ClientHeight = 71
ClientWidth = 872
TabOrder = 0
object rgFitParamCount: TRadioGroup
AnchorSideLeft.Control = pnlFit
AnchorSideTop.Control = pnlFit
Left = 9
Height = 53
Top = 9
Width = 367
AutoFill = False
AutoSize = True
BorderSpacing.Around = 8
BorderSpacing.InnerBorder = 4
Caption = 'Measure (by dragging right mouse button)'
ChildSizing.LeftRightSpacing = 12
ChildSizing.TopBottomSpacing = 3
ChildSizing.HorizontalSpacing = 24
ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 3
ClientHeight = 33
ClientWidth = 363
Columns = 3
ItemIndex = 0
Items.Strings = (
'Mean value'
'Slope'
'Find minimum/maximum'
)
OnClick = rgFitParamCountClick
TabOrder = 0
end
object lblFit: TLabel
AnchorSideLeft.Control = rgFitParamCount
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = rgFitParamCount
AnchorSideTop.Side = asrCenter
Left = 408
Height = 15
Top = 28
Width = 26
BorderSpacing.Left = 32
Caption = 'lblFit'
Visible = False
end
end
object chFit: TChart
Left = 0
Height = 495
Top = 71
Width = 872
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'
)
Toolset = ctFit
Align = alClient
DoubleBuffered = True
object chFitLineSeries1: TLineSeries
LineType = ltNone
Pointer.Brush.Color = clRed
Pointer.HorizSize = 3
Pointer.VertSize = 3
Pointer.Visible = True
ShowPoints = True
end
object chFitFitSeries1: TFitSeries
Active = False
ParamCount = 1
Pen.Color = clLime
Pen.Width = 3
end
end
end
end
object RandomChartSource1: TRandomChartSource
PointsNumber = 100
RandSeed = 2143215771
XMax = 10
YMax = 10
YMin = 4
Left = 73
Top = 28
end
object RandomChartSource2: TRandomChartSource
PointsNumber = 15
RandSeed = 2143294090
XMax = 10
YMax = 5
Left = 73
Top = 97
end
object ctDist: TChartToolset
Left = 72
Top = 232
object ctCrosshair: TDataPointCrosshairTool
Shift = [ssRight]
OnDraw = ctCrosshairDraw
Size = 16
end
object ctDistance1: TDataPointDistanceTool
Shift = [ssLeft]
OnBeforeKeyDown = ctDistance1BeforeKeyDown
OnBeforeKeyUp = ctDistance1BeforeKeyUp
LinePen.Width = 2
Marks.Distance = 30
Marks.Format = 'dist='#13#10'%0:.9g / %1:.9g'
Marks.LinkPen.Color = clBlue
PointerEnd.Brush.Style = bsClear
PointerEnd.VertSize = 1000
PointerEnd.Visible = True
PointerStart.Brush.Style = bsClear
PointerStart.Pen.Color = clRed
PointerStart.VertSize = 1000
PointerStart.Visible = True
Transparency = 128
OnMeasure = ctDistance1Measure
end
object ctDistance2: TDataPointDistanceTool
Shift = [ssCtrl, ssLeft]
Marks.Format = '%0:.9g'
PointerEnd.HorizSize = 8
PointerEnd.Style = psRightTriangle
PointerEnd.VertSize = 8
PointerEnd.Visible = True
PointerStart.Brush.Style = bsClear
PointerStart.Style = psLeftBracket
PointerStart.VertSize = 8
PointerStart.Visible = True
OnMeasure = ctDistance1Measure
end
object ctDistPanMouseWheelTool1: TPanMouseWheelTool
end
end
object ChartAxisTransformations1: TChartAxisTransformations
Left = 260
Top = 128
object ChartAxisTransformations1LogarithmAxisTransform1: TLogarithmAxisTransform
Enabled = False
Base = 10
end
end
object RandomChartSource3: TRandomChartSource
PointsNumber = 16
RandSeed = 1603408474
XMax = 10
YMax = 1000
YMin = 900
Left = 72
Top = 169
end
object ChartAxisTransformations3: TChartAxisTransformations
Left = 440
Top = 128
object ChartAxisTransformations3AutoScaleAxisTransform1: TAutoScaleAxisTransform
MaxValue = 20
MinValue = 10
end
end
object ctFit: TChartToolset
Left = 260
Top = 192
object ctFitDataPointDistanceTool1: TDataPointDistanceTool
Shift = [ssRight]
DrawingMode = tdmNormal
LinePen.Visible = False
Marks.Format = '%0:.9g'
Marks.LinkPen.Visible = False
MeasureMode = cdmOnlyX
PointerEnd.VertSize = 10000
PointerStart.VertSize = 10000
OnGetDistanceText = ctFitDataPointDistanceTool1GetDistanceText
OnMeasure = ctFitDataPointDistanceTool1Measure
end
object ctFitZoomDragTool1: TZoomDragTool
Shift = [ssLeft]
Brush.Style = bsClear
end
end
end