File: Main.lfm

package info (click to toggle)
lazarus 1.2.4%2Bdfsg2-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 170,220 kB
  • ctags: 115,165
  • sloc: pascal: 1,386,898; xml: 257,878; sh: 2,935; java: 603; makefile: 549; perl: 297; sql: 174; ansic: 137
file content (398 lines) | stat: -rw-r--r-- 11,466 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
object frmMain: TfrmMain
  Left = 249
  Height = 503
  Top = 242
  Width = 800
  Caption = 'frmMain'
  ClientHeight = 503
  ClientWidth = 800
  OnCreate = FormCreate
  ShowHint = True
  LCLVersion = '1.1'
  object pnlParams: TPanel
    Left = 8
    Height = 487
    Top = 8
    Width = 376
    Align = alLeft
    BorderSpacing.Around = 8
    BevelOuter = bvNone
    ClientHeight = 487
    ClientWidth = 376
    TabOrder = 0
    object gbDataGeneration: TGroupBox
      Left = 0
      Height = 105
      Top = 0
      Width = 376
      Align = alTop
      Caption = ' Data generation '
      ClientHeight = 87
      ClientWidth = 372
      TabOrder = 0
      object btnSave: TSpeedButton
        Left = 335
        Height = 22
        Hint = 'Export data to verify fit with other software'
        Top = 44
        Width = 23
        Glyph.Data = {
          36040000424D3604000000000000360000002800000010000000100000000100
          2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006E01
          4A0066004445650043C60404048A0404048A0404048A0404048A0404048A0404
          048A650043C6650043C6650043C6650043C666004494FFFFFF00FFFFFF006F01
          4B416E014ABA9B4880EFB9ABABFFB16598FFB16598FFB5A7A7FFB5A7A7FFB9AB
          ABFFB16598FFC377AAFFC074A7FFD68ABDFF6E014ABAFFFFFF00FFFFFF007702
          50ADD488BBFFAD6194FFBAB1B1FFAD6194FFAD6194FFB1A8A8FFB1A8A8FFBAB1
          B1FFAD6194FFC377AAFFB86C9FFFD88CBFFF770250ADFFFFFF00FFFFFF007B02
          53A8D286B9FFA95D90FFC0BBBBFF95497CFF95497CFFB7B2B2FFB7B2B2FFC0BB
          BBFFA95D90FFC377AAFFB06497FFDA8EC1FF7B0253A8FFFFFF00FFFFFF007E02
          55A4D589BCFFA5598CFFC8C7C7FFC3C2C2FFC3C2C2FFC3C2C2FFC3C2C2FFC8C7
          C7FFA5598CFFC377AAFFA85C8FFFDD91C4FF7E0255A4FFFFFF00FFFFFF008002
          57A0D98DC0FFA25689FFA15588FFA15588FFA15588FFA15588FFA15588FFA155
          88FFA25689FFA25689FFA25689FFE195C8FF800257A0FFFFFF00FFFFFF008302
          599DDC90C3FFD387BAFFD387BAFFD387BAFFD387BAFFD387BAFFD387BAFFD387
          BAFFD387BAFFD387BAFFD387BAFFDC90C3FF8302599DFFFFFF00FFFFFF008502
          5A9AE094C7FFF0DDDEFFF4F4E4FFF4F4E4FFF4F4E4FFF4F4E4FFF4F4E4FFF4F4
          E4FFF4F4E4FFF4F4E4FFF0DDDEFFE094C7FF85025A9AFFFFFF00FFFFFF008702
          5C97E397CAFFF6F6E9FFECECDFFFECECDFFFECECDFFFECECDFFFECECDFFFECEC
          DFFFECECDFFFECECDFFFF6F6E9FFE397CAFF87025C97FFFFFF00FFFFFF008A03
          5E94E69ACDFFF8F8EFFFF1F1E7FFF1F1E7FFF1F1E7FFF1F1E7FFF1F1E7FFF1F1
          E7FFF1F1E7FFF1F1E7FFF8F8EFFFE69ACDFF8A035E94FFFFFF00FFFFFF008C03
          5F91EA9ED1FFFBFBF5FFF6F6F0FFF6F6F0FFF6F6F0FFF6F6F0FFF6F6F0FFF6F6
          F0FFF6F6F0FFF6F6F0FFFBFBF5FFEA9ED1FF8C035F91FFFFFF00FFFFFF008D03
          608FECA0D3FFFEFEFBFFFBFBF8FFFBFBF8FFFBFBF8FFFBFBF8FFFBFBF8FFFBFB
          F8FFFBFBF8FFFBFBF8FFFEFEFBFFECA0D3FF8D03608FFFFFFF00FFFFFF008F03
          618DF2A6D9FFFFFFFFFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFEFFFFFF
          FEFFFFFFFEFFFFFFFEFFFFFFFFFFF2A6D9FF8F03618DFFFFFF00FFFFFF009003
          62689003628B7F7F55667F7F55667F7F55667F7F55667F7F55667F7F55667F7F
          55667F7F55667F7F55667F7F55669003628B90036268FFFFFF00FFFFFF00FFFF
          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
          FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
        }
        OnClick = btnSaveClick
      end
      object cbTestFunction: TComboBox
        Left = 94
        Height = 21
        Hint = 'Select a dataset for fitting'
        Top = 8
        Width = 264
        ItemHeight = 13
        OnSelect = cbTestFunctionSelect
        Style = csDropDownList
        TabOrder = 0
      end
      object lblTestFunction: TLabel
        Left = 14
        Height = 13
        Top = 12
        Width = 63
        Caption = 'Test function'
        ParentColor = False
      end
      object lblOfRange: TLabel
        Left = 195
        Height = 13
        Top = 46
        Width = 55
        Caption = '% of range'
        ParentColor = False
      end
      object lblNoiseY: TLabel
        Left = 14
        Height = 13
        Top = 46
        Width = 78
        Caption = 'Noise amplitude '
        ParentColor = False
      end
      object edNoiseY: TFloatSpinEdit
        Left = 118
        Height = 21
        Top = 44
        Width = 66
        DecimalPlaces = 0
        Increment = 1
        MaxValue = 100
        MinValue = 0
        OnChange = edNoiseYChange
        TabOrder = 1
        Value = 2
      end
    end
    object gbFitting: TGroupBox
      Left = 0
      Height = 382
      Top = 105
      Width = 376
      Align = alClient
      Caption = ' Fitting '
      ClientHeight = 364
      ClientWidth = 372
      TabOrder = 1
      object gbResults: TGroupBox
        Left = 14
        Height = 142
        Top = 207
        Width = 344
        Anchors = [akTop, akLeft, akBottom]
        Caption = ' Fit results '
        ClientHeight = 124
        ClientWidth = 340
        TabOrder = 0
        object lbResults: TListBox
          Left = 12
          Height = 104
          Top = 8
          Width = 316
          Align = alClient
          BorderSpacing.Left = 12
          BorderSpacing.Top = 8
          BorderSpacing.Right = 12
          BorderSpacing.Bottom = 12
          ItemHeight = 0
          ParentFont = False
          TabOrder = 0
        end
      end
      object gbFitRange: TGroupBox
        Left = 14
        Height = 115
        Top = 84
        Width = 344
        Caption = 'Fit range'
        ClientHeight = 97
        ClientWidth = 340
        TabOrder = 1
        object cbFitRangeUseMin: TCheckBox
          Left = 17
          Height = 17
          Top = 7
          Width = 81
          Caption = 'Use minimum'
          OnClick = cbFitRangeUseMinClick
          TabOrder = 0
        end
        object cbFitRangeUseMax: TCheckBox
          Left = 17
          Height = 17
          Top = 33
          Width = 85
          Caption = 'Use maximum'
          OnClick = cbFitRangeUseMaxClick
          TabOrder = 1
        end
        object edFitRangeMin: TFloatSpinEdit
          Left = 150
          Height = 21
          Top = 7
          Width = 90
          Increment = 1
          MaxValue = 1E308
          MinValue = -1E308
          OnChange = edFitRangeMinChange
          TabOrder = 2
          Value = 5
          Visible = False
        end
        object edFitRangeMax: TFloatSpinEdit
          Left = 150
          Height = 21
          Top = 35
          Width = 90
          Increment = 1
          MaxValue = 1E308
          MinValue = -1E308
          OnChange = edFitRangeMaxChange
          TabOrder = 3
          Value = 20
          Visible = False
        end
        object cbDrawFitRangeOnly: TCheckBox
          Left = 17
          Height = 17
          Top = 64
          Width = 166
          Caption = 'Draw fit curve in fit range only'
          Checked = True
          Enabled = False
          OnClick = cbDrawFitRangeOnlyClick
          State = cbChecked
          TabOrder = 4
        end
      end
      object edFitOrder: TSpinEdit
        Left = 169
        Height = 21
        Top = 48
        Width = 53
        OnChange = edFitOrderChange
        TabOrder = 2
        Value = 2
      end
      object lblFitOrder: TLabel
        Left = 14
        Height = 13
        Top = 50
        Width = 101
        Caption = 'Degree of polynomial'
        ParentColor = False
      end
      object cbFitEquation: TComboBox
        Left = 86
        Height = 21
        Hint = 'Select a function type to be used for fitting to the generated data'
        Top = 16
        Width = 272
        ItemHeight = 13
        ItemIndex = 0
        Items.Strings = (
          'Polynomial (y = b0 + b1*x + ... bn*x^n)'
          'Linear (y = a + b*x)'
          'Exponential (y = a * exp (b * x), linear in semilog plot)'
          'Power (y = a x^b, linear in log-log plot)'
        )
        OnSelect = cbFitEquationSelect
        Style = csDropDownList
        TabOrder = 3
        Text = 'Polynomial (y = b0 + b1*x + ... bn*x^n)'
      end
      object lblFitEquation: TLabel
        Left = 14
        Height = 13
        Top = 19
        Width = 57
        Caption = 'Fit equation'
        ParentColor = False
      end
    end
  end
  object pnlChart: TPanel
    Left = 392
    Height = 487
    Top = 8
    Width = 400
    Align = alClient
    BorderSpacing.Around = 8
    BevelOuter = bvNone
    ClientHeight = 487
    ClientWidth = 400
    TabOrder = 1
    object Chart: TChart
      Left = 0
      Height = 456
      Top = 0
      Width = 400
      AxisList = <      
        item
          Grid.Visible = False
          Intervals.Tolerance = 2
          Minors = <          
            item
              Grid.Visible = False
              Intervals.MinLength = 5
              Intervals.Options = [aipUseCount, aipUseMinLength]
            end>
          Title.LabelFont.Orientation = 900
          Title.LabelFont.Style = [fsBold]
          Title.Visible = True
          Title.Caption = 'y'
        end      
        item
          Grid.Visible = False
          Intervals.Tolerance = 2
          Alignment = calBottom
          Minors = <          
            item
              Grid.Visible = False
              Intervals.MinLength = 5
              Intervals.Options = [aipUseCount, aipUseMinLength]
            end>
          Title.LabelFont.Style = [fsBold]
          Title.Visible = True
          Title.Caption = 'x'
        end>
      BackColor = clWhite
      Foot.Brush.Color = clBtnFace
      Foot.Font.Color = clBlue
      Legend.Alignment = laTopCenter
      Legend.Visible = True
      Title.Brush.Color = clBtnFace
      Title.Font.Color = clRed
      Title.Text.Strings = (
        'TAChart'
      )
      Align = alClient
      DoubleBuffered = True
      ParentColor = False
      object DataSeries: TLineSeries
        Title = 'Test data'
        AxisIndexX = 1
        AxisIndexY = 0
        LinePen.Style = psClear
        Pointer.Brush.Color = clBlack
        Pointer.HorizSize = 1
        Pointer.Style = psCross
        Pointer.VertSize = 1
        ShowPoints = True
        Source = ListChartSource
      end
      object FitSeries: TFitSeries
        Legend.Format = '%0:s: %2:s'
        Title = 'fitted data'
        AxisIndexX = 1
        AxisIndexY = 0
        OnFitComplete = FitCompleteHandler
        Pen.Color = clRed
        Source = ListChartSource
      end
    end
    object pnlLog: TPanel
      Left = 0
      Height = 31
      Top = 456
      Width = 400
      Align = alBottom
      BevelOuter = bvNone
      ClientHeight = 31
      ClientWidth = 400
      TabOrder = 1
      object cbLogX: TCheckBox
        Left = 48
        Height = 17
        Top = 3
        Width = 83
        Caption = 'Logarithmic x'
        OnClick = cbLogClick
        TabOrder = 0
      end
      object cbLogY: TCheckBox
        Left = 176
        Height = 17
        Top = 3
        Width = 83
        Caption = 'Logarithmic y'
        OnClick = cbLogClick
        TabOrder = 1
      end
    end
  end
  object ListChartSource: TListChartSource
    left = 584
    top = 120
  end
  object SaveDialog: TSaveDialog
    left = 480
    top = 64
  end
  object ChartAxisTransformations: TChartAxisTransformations
    left = 584
    top = 184
    object LogarithmAxisTransform: TLogarithmAxisTransform
      Base = 10
    end
  end
end