File: Main.lfm

package info (click to toggle)
lazarus 2.0.0%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 214,460 kB
  • sloc: pascal: 1,862,622; xml: 265,709; cpp: 56,595; sh: 3,008; java: 609; makefile: 535; perl: 297; sql: 222; ansic: 137
file content (608 lines) | stat: -rw-r--r-- 17,519 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
object Form1: TForm1
  Left = 605
  Height = 494
  Top = 364
  Width = 691
  Caption = 'Form1'
  ClientHeight = 494
  ClientWidth = 691
  OnCreate = FormCreate
  Position = poScreenCenter
  LCLVersion = '2.1.0.0'
  object PageControl1: TPageControl
    Left = 0
    Height = 494
    Top = 0
    Width = 691
    ActivePage = tsFast
    Align = alClient
    TabIndex = 0
    TabOrder = 0
    OnChange = PageControl1Change
    object tsFast: TTabSheet
      Caption = 'Fast drawing'
      ClientHeight = 466
      ClientWidth = 683
      object chFast: TChart
        Left = 0
        Height = 427
        Top = 39
        Width = 683
        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 = ChartToolset1
        Align = alClient
        Color = clWindow
        DoubleBuffered = True
        object chFastLineSeries1: TLineSeries
          LinePen.Color = clTeal
          LinePen.Width = 3
          Source = RandomChartSource1
        end
        object chFastConstantLine1: TConstantLine
          LineStyle = lsVertical
          Pen.Color = clAqua
          Pen.Width = 2
          Position = 0
          ZPosition = 1
        end
      end
      object Panel1: TPanel
        Left = 0
        Height = 39
        Top = 0
        Width = 683
        Align = alTop
        AutoSize = True
        BevelOuter = bvNone
        ClientHeight = 39
        ClientWidth = 683
        TabOrder = 1
        object cbLineType: TComboBox
          AnchorSideLeft.Control = Panel1
          AnchorSideTop.Control = Panel1
          AnchorSideTop.Side = asrCenter
          Left = 8
          Height = 23
          Top = 8
          Width = 96
          BorderSpacing.Left = 8
          BorderSpacing.Top = 8
          BorderSpacing.Bottom = 8
          ItemHeight = 15
          ItemIndex = 1
          Items.Strings = (
            'None'
            'Previous'
            'Origin'
            'StepXY'
            'StepYX'
          )
          OnChange = cbLineTypeChange
          Style = csDropDownList
          TabOrder = 0
          Text = 'Previous'
        end
        object cb3D: TCheckBox
          AnchorSideLeft.Control = cbLineType
          AnchorSideLeft.Side = asrBottom
          AnchorSideTop.Control = Panel1
          AnchorSideTop.Side = asrCenter
          Left = 112
          Height = 19
          Top = 10
          Width = 34
          BorderSpacing.Left = 8
          Caption = '3D'
          OnChange = cb3DChange
          TabOrder = 1
        end
        object cbRotated: TCheckBox
          AnchorSideLeft.Control = cb3D
          AnchorSideLeft.Side = asrBottom
          AnchorSideTop.Control = Panel1
          AnchorSideTop.Side = asrCenter
          Left = 154
          Height = 19
          Top = 10
          Width = 61
          BorderSpacing.Left = 8
          Caption = 'Rotated'
          OnChange = cbRotatedChange
          TabOrder = 2
        end
        object btnAddSeries: TButton
          AnchorSideLeft.Control = cbSorted
          AnchorSideLeft.Side = asrBottom
          AnchorSideTop.Control = Panel1
          AnchorSideTop.Side = asrCenter
          Left = 357
          Height = 25
          Top = 7
          Width = 48
          AutoSize = True
          BorderSpacing.Left = 80
          Caption = 'Add'
          OnClick = btnAddSeriesClick
          TabOrder = 3
        end
        object edTime: TEdit
          AnchorSideLeft.Control = btnRefresh
          AnchorSideLeft.Side = asrBottom
          AnchorSideTop.Control = Panel1
          AnchorSideTop.Side = asrCenter
          Left = 523
          Height = 23
          Top = 8
          Width = 76
          Alignment = taRightJustify
          BorderSpacing.Left = 8
          TabOrder = 4
        end
        object btnRefresh: TButton
          AnchorSideLeft.Control = btnAddSeries
          AnchorSideLeft.Side = asrBottom
          AnchorSideTop.Control = Panel1
          AnchorSideTop.Side = asrCenter
          Left = 413
          Height = 25
          Top = 7
          Width = 102
          AutoSize = True
          BorderSpacing.Left = 8
          Caption = 'Timed refresh:'
          OnClick = btnRefreshClick
          TabOrder = 5
        end
        object cbSorted: TCheckBox
          AnchorSideLeft.Control = cbRotated
          AnchorSideLeft.Side = asrBottom
          AnchorSideTop.Control = Panel1
          AnchorSideTop.Side = asrCenter
          Left = 223
          Height = 19
          Top = 10
          Width = 54
          BorderSpacing.Left = 8
          Caption = 'Sorted'
          OnChange = cbSortedChange
          TabOrder = 6
        end
        object lblPointsCount: TLabel
          Left = 0
          Height = 1
          Top = 14
          Width = 1
          ParentColor = False
        end
      end
    end
    object tsPointers: TTabSheet
      Caption = 'Pointers'
      ClientHeight = 466
      ClientWidth = 683
      object chPointers: TChart
        Left = 0
        Height = 466
        Top = 0
        Width = 513
        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>
        AxisVisible = False
        Foot.Brush.Color = clBtnFace
        Foot.Font.Color = clBlue
        Margins.Left = 20
        Margins.Right = 20
        Title.Brush.Color = clBtnFace
        Title.Font.Color = clBlue
        Title.Text.Strings = (
          'TAChart'
        )
        Align = alClient
      end
      object pnlPointers: TPanel
        Left = 513
        Height = 466
        Top = 0
        Width = 170
        Align = alRight
        ClientHeight = 466
        ClientWidth = 170
        TabOrder = 1
        object sePointerSize: TSpinEdit
          Left = 49
          Height = 23
          Top = 6
          Width = 50
          OnChange = sePointerSizeChange
          TabOrder = 0
          Value = 4
        end
        object lblPointerSize: TLabel
          Left = 9
          Height = 15
          Top = 10
          Width = 20
          Caption = 'Size'
          ParentColor = False
        end
      end
    end
    object tsCustomDrawPointer: TTabSheet
      Caption = 'Customdrawn pointer'
      ClientHeight = 466
      ClientWidth = 683
      object Chart_CustomDrawPointer: TChart
        Left = 0
        Height = 427
        Top = 39
        Width = 683
        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 = clWindow
        object lsCustomDrawPointer: TLineSeries
          Pointer.Visible = True
          ShowPoints = True
          Source = RandomChartSource1
          OnCustomDrawPointer = lsCustomDrawPointerCustomDrawPointer
        end
      end
      object Panel2: TPanel
        Left = 0
        Height = 39
        Top = 0
        Width = 683
        Align = alTop
        AutoSize = True
        BevelOuter = bvNone
        ClientHeight = 39
        ClientWidth = 683
        TabOrder = 1
        object cbBitmapPointer: TCheckBox
          AnchorSideLeft.Control = Panel2
          AnchorSideTop.Control = Panel2
          AnchorSideTop.Side = asrCenter
          Left = 8
          Height = 19
          Top = 10
          Width = 99
          BorderSpacing.Left = 8
          Caption = 'Bitmap pointer'
          Checked = True
          OnChange = cbBitmapPointerChange
          State = cbChecked
          TabOrder = 0
        end
        object cbDrawEveryNthPointer: TCheckBox
          AnchorSideLeft.Control = PointerImage
          AnchorSideLeft.Side = asrBottom
          AnchorSideTop.Control = Panel2
          AnchorSideTop.Side = asrCenter
          Left = 143
          Height = 19
          Top = 10
          Width = 142
          BorderSpacing.Left = 16
          Caption = 'Every n-th pointer, n = '
          Checked = True
          OnChange = cbBitmapPointerChange
          State = cbChecked
          TabOrder = 1
        end
        object edEveryNth: TSpinEdit
          AnchorSideLeft.Control = cbDrawEveryNthPointer
          AnchorSideLeft.Side = asrBottom
          AnchorSideTop.Control = Panel2
          AnchorSideTop.Side = asrCenter
          Left = 285
          Height = 23
          Top = 8
          Width = 50
          Alignment = taRightJustify
          BorderSpacing.Top = 8
          BorderSpacing.Bottom = 8
          MaxValue = 10
          MinValue = 1
          OnChange = edEveryNthChange
          TabOrder = 2
          Value = 3
        end
        object PointerImage: TImage
          AnchorSideLeft.Control = cbBitmapPointer
          AnchorSideLeft.Side = asrBottom
          AnchorSideTop.Control = Panel2
          AnchorSideTop.Side = asrCenter
          Left = 111
          Height = 16
          Top = 11
          Width = 16
          AutoSize = True
          BorderSpacing.Left = 4
          Picture.Data = {
            1754506F727461626C654E6574776F726B477261706869632B02000089504E47
            0D0A1A0A0000000D49484452000000100000001008060000001FF3FF61000000
            017352474200AECE1CE900000006624B474400FF00FF00FFA0BDA79300000009
            7048597300000B1300000B1301009A9C180000000774494D4507DC06140F1F36
            F0AF9FA6000001AB4944415438CB9592416813411486BFD96EECB1D09357AF5E
            24224868D18330117BF5604E1AC1A6EBA188500985F4D0802C22228B685BC1D6
            532EB92849210BA145101B5A103C45BDE79243C183D0E2CEF3B0DD71D326D8FE
            30CCCC9BFFCD9B7FDEAF18814BD71E3C17D45D4761322E6BBBEDB50AA7C554BE
            D4CC694FBABD48BABD4872DA93EBB74A1F4E957CFEE29D8974F2FF2E5147155B
            461C9D044B8BCFC85E18673C3366893B3F7EB3FAF489DD3BCA849F5BAB793595
            2FB544D0EF365E7316DCBFF730528AB60B2038001466AE58C2D51BB779F4B80C
            C0CB173E9D76DD9ED59A7B08CE98C2C4819CF62468F4A5DB8B249BCD8A483C77
            7E1EC8FBADFD8158D0E84BD0E84B4E7B02E0027C09DF2840F4C62B6ACD3DBC05
            1F80CEF75FB6AAB7E053AC86F10B82A524E7E8EDC7D069D72D19A0580D0724A4
            E124120AF3CB270ED72B9AF58A3E112FCC2F6325C42D047D7992C33FC2F6B7FD
            B318AEE5C6663003C9C56AC8D7FAA295915EFF3390196DA4617292CF3B6EA4A1
            C4A4ADE991684E502E974777C151264C57AB054B9C73CDC734C7F77DB1128661
            FAE65C23326A0620E3CADB4F9B2BB3C3787F01CE48DFB7D4C375300000000049
            454E44AE426082
          }
        end
      end
    end
    object tsGetPointerStyle: TTabSheet
      Caption = 'OnGetPointerStyle event'
      ClientHeight = 466
      ClientWidth = 683
      object ChartGetPointerStyleEvent: TChart
        Left = 0
        Height = 466
        Top = 0
        Width = 683
        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 = clWindow
        object lsGetPointerStyle: TLineSeries
          Pointer.Visible = True
          ShowPoints = True
          Source = RandomChartSource1
          OnGetPointerStyle = lsGetPointerStyleGetPointerStyle
        end
      end
    end
    object tsOscilloscope: TTabSheet
      Caption = 'Oscilloscope'
      ClientHeight = 466
      ClientWidth = 683
      object chOscillator: TChart
        Left = 0
        Height = 466
        Top = 0
        Width = 683
        AxisList = <        
          item
            Grid.Color = clMedGray
            Marks.LabelBrush.Style = bsClear
            Minors = <>
            Range.Max = 2
            Range.Min = -2
            Range.UseMax = True
            Range.UseMin = True
            Title.LabelFont.Orientation = 900
            Title.LabelBrush.Style = bsClear
          end        
          item
            Grid.Color = clMedGray
            Alignment = calBottom
            Marks.LabelBrush.Style = bsClear
            Minors = <>
            Title.LabelBrush.Style = bsClear
            Transformations = catOscillator
          end>
        BackColor = clBlack
        Foot.Brush.Color = clBtnFace
        Foot.Font.Color = clBlue
        Title.Brush.Color = clBtnFace
        Title.Font.Color = clBlue
        Title.Text.Strings = (
          'TAChart'
        )
        Align = alClient
        Color = clWindow
        DoubleBuffered = True
        object chOscillatorLineSeries1: TLineSeries
          AxisIndexX = 1
          LinePen.Color = clLime
          LinePen.Width = 2
          LineType = ltStepXY
          Source = lcsOscillator
        end
      end
    end
    object tsColorEach: TTabSheet
      Caption = 'Color each data point'
      ClientHeight = 466
      ClientWidth = 683
      object pnlColorEach: TPanel
        Left = 0
        Height = 39
        Top = 0
        Width = 683
        Align = alTop
        AutoSize = True
        BevelOuter = bvNone
        ClientHeight = 39
        ClientWidth = 683
        TabOrder = 0
        object cbColorEach: TComboBox
          AnchorSideLeft.Control = pnlColorEach
          AnchorSideTop.Control = pnlColorEach
          Left = 8
          Height = 23
          Top = 8
          Width = 272
          BorderSpacing.Left = 8
          BorderSpacing.Top = 8
          BorderSpacing.Right = 8
          BorderSpacing.Bottom = 8
          ItemHeight = 15
          ItemIndex = 1
          Items.Strings = (
            'no'
            'data point only'
            'line segment before data point'
            'line segment after data point'
            'data point and preceding line segment'
            'data point and following line segment'
          )
          OnChange = cbColorEachChange
          Style = csDropDownList
          TabOrder = 0
          Text = 'data point only'
        end
      end
      object Chart_ColorEach: TChart
        Left = 0
        Height = 427
        Top = 39
        Width = 683
        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 = clWindow
        object lsColorEach: TLineSeries
          ColorEach = cePointAndLineAfter
          LinePen.Width = 2
          Pointer.HorizSize = 6
          Pointer.Style = psCircle
          Pointer.VertSize = 6
          Pointer.Visible = True
          ShowPoints = True
        end
      end
    end
  end
  object RandomChartSource1: TRandomChartSource
    PointsNumber = 25
    RandSeed = 840176578
    XMax = 20
    XMin = -10
    YMax = 8
    YMin = 1
    left = 464
    top = 208
  end
  object ChartToolset1: TChartToolset
    left = 464
    top = 264
    object ChartToolset1DataPointDragTool1: TDataPointDragTool
      Shift = [ssLeft]
      AffectedSeries = '-'
    end
    object ChartToolset1ZoomDragTool1: TZoomDragTool
      Shift = [ssShift, ssLeft]
      Brush.Style = bsClear
      RatioLimit = zrlFixedY
    end
    object ChartToolset1PanDragTool1: TPanDragTool
      Shift = [ssRight]
    end
  end
  object lcsOscillator: TListChartSource
    DataPoints.Strings = (
      '0|0|?|'
    )
    left = 464
    top = 316
  end
  object timOscilloscope: TTimer
    Enabled = False
    Interval = 150
    OnTimer = timOscilloscopeTimer
    left = 376
    top = 376
  end
  object catOscillator: TChartAxisTransformations
    left = 464
    top = 376
    object catOscillatorLinearAxisTransform1: TLinearAxisTransform
    end
  end
end