LazStats: Change inheritance of the form in WLSUnit for better flexibility in presenting the results.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7771 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2020-10-11 22:31:17 +00:00
parent 25fa757e7d
commit b4cef759cb
2 changed files with 1037 additions and 974 deletions

View File

@ -1,451 +1,411 @@
object WLSFrm: TWLSFrm
inherited WLSFrm: TWLSFrm
Left = 288
Height = 508
Height = 428
Top = 171
Width = 517
Width = 1024
HelpType = htKeyword
HelpKeyword = 'html/WeightedLeast-SquaresRegression.htm'
AutoSize = True
Caption = 'Weighted Least Squares Regression'
ClientHeight = 508
ClientWidth = 517
OnActivate = FormActivate
OnCreate = FormCreate
OnShow = FormShow
Position = poMainFormCenter
LCLVersion = '2.1.0.0'
object Label1: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
Left = 9
Height = 15
Top = 8
Width = 46
BorderSpacing.Left = 9
BorderSpacing.Top = 8
Caption = 'Variables'
ParentColor = False
end
object Label2: TLabel
AnchorSideLeft.Control = DepInBtn
AnchorSideLeft.Side = asrBottom
AnchorSideBottom.Control = DepVarEdit
Left = 280
Height = 15
Top = 33
Width = 102
Anchors = [akLeft, akBottom]
BorderSpacing.Left = 8
BorderSpacing.Top = 8
BorderSpacing.Bottom = 2
Caption = 'Dependent Variable'
ParentColor = False
end
object Label3: TLabel
AnchorSideLeft.Control = IndInBtn
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = IndInBtn
Left = 280
Height = 15
Top = 117
Width = 116
BorderSpacing.Left = 8
Caption = 'Independent Variables'
ParentColor = False
end
object Label4: TLabel
AnchorSideLeft.Control = WghtInBtn
AnchorSideLeft.Side = asrBottom
AnchorSideBottom.Control = WghtVarEdit
Left = 280
Height = 15
Top = 287
Width = 137
Anchors = [akLeft, akBottom]
BorderSpacing.Left = 8
BorderSpacing.Bottom = 2
Caption = 'User''s Weigjhts (Optional)'
ParentColor = False
end
object VarList: TListBox
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Label1
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = DepInBtn
AnchorSideBottom.Control = GroupBox1
Left = 9
Height = 314
Top = 25
Width = 227
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Left = 9
BorderSpacing.Top = 2
BorderSpacing.Right = 8
BorderSpacing.Bottom = 8
Constraints.MinHeight = 220
ItemHeight = 0
MultiSelect = True
OnSelectionChange = VarListSelectionChange
TabOrder = 0
end
object DepInBtn: TBitBtn
AnchorSideLeft.Control = Owner
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = VarList
Left = 244
Height = 28
Top = 25
Width = 28
Images = MainDataModule.ImageList
ImageIndex = 1
OnClick = DepInBtnClick
Spacing = 0
TabOrder = 1
end
object DepOutBtn: TBitBtn
AnchorSideLeft.Control = Owner
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = DepInBtn
AnchorSideTop.Side = asrBottom
Left = 244
Height = 28
Top = 57
Width = 28
BorderSpacing.Top = 4
Images = MainDataModule.ImageList
ImageIndex = 0
OnClick = DepOutBtnClick
Spacing = 0
TabOrder = 2
end
object IndInBtn: TBitBtn
AnchorSideLeft.Control = Owner
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = DepOutBtn
AnchorSideTop.Side = asrBottom
Left = 244
Height = 28
Top = 117
Width = 28
BorderSpacing.Top = 32
Images = MainDataModule.ImageList
ImageIndex = 1
OnClick = IndInBtnClick
Spacing = 0
TabOrder = 4
end
object IndOutBtn: TBitBtn
AnchorSideLeft.Control = Owner
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = IndInBtn
AnchorSideTop.Side = asrBottom
Left = 244
Height = 28
Top = 149
Width = 28
BorderSpacing.Top = 4
Images = MainDataModule.ImageList
ImageIndex = 0
OnClick = IndOutBtnClick
Spacing = 0
TabOrder = 5
end
object WghtInBtn: TBitBtn
AnchorSideLeft.Control = Owner
AnchorSideLeft.Side = asrCenter
AnchorSideBottom.Control = WghtOutBtn
Left = 244
Height = 28
Top = 279
Width = 28
Anchors = [akLeft, akBottom]
BorderSpacing.Bottom = 4
Images = MainDataModule.ImageList
ImageIndex = 1
OnClick = WghtInBtnClick
Spacing = 0
TabOrder = 7
end
object WghtOutBtn: TBitBtn
AnchorSideLeft.Control = Owner
AnchorSideLeft.Side = asrCenter
AnchorSideBottom.Control = VarList
AnchorSideBottom.Side = asrBottom
Left = 244
Height = 28
Top = 311
Width = 28
Anchors = [akLeft, akBottom]
Images = MainDataModule.ImageList
ImageIndex = 0
OnClick = WghtOutBtnClick
Spacing = 0
TabOrder = 8
end
object DepVarEdit: TEdit
AnchorSideLeft.Control = DepInBtn
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = DepOutBtn
AnchorSideBottom.Side = asrBottom
Left = 280
Height = 23
Top = 50
Width = 229
Anchors = [akLeft, akRight, akBottom]
BorderSpacing.Left = 8
BorderSpacing.Right = 8
BorderSpacing.Bottom = 12
ReadOnly = True
TabOrder = 3
Text = 'DepVarEdit'
end
object IndVarList: TListBox
AnchorSideLeft.Control = IndInBtn
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Label3
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = WghtInBtn
Left = 280
Height = 129
Top = 134
Width = 229
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Left = 8
BorderSpacing.Top = 2
BorderSpacing.Right = 8
BorderSpacing.Bottom = 16
ItemHeight = 0
MultiSelect = True
OnSelectionChange = VarListSelectionChange
TabOrder = 6
end
object WghtVarEdit: TEdit
AnchorSideLeft.Control = WghtInBtn
AnchorSideLeft.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = WghtOutBtn
AnchorSideBottom.Side = asrBottom
Left = 280
Height = 23
Top = 304
Width = 229
Anchors = [akLeft, akRight, akBottom]
BorderSpacing.Left = 8
BorderSpacing.Right = 8
BorderSpacing.Bottom = 12
ReadOnly = True
TabOrder = 9
Text = 'WghtVarEdit'
end
object GroupBox1: TGroupBox
AnchorSideLeft.Control = Owner
AnchorSideBottom.Control = Bevel1
Left = 8
Height = 112
Top = 347
Width = 491
Anchors = [akLeft, akBottom]
AutoSize = True
BorderSpacing.Left = 8
BorderSpacing.Right = 8
Caption = 'Options'
ClientHeight = 92
ClientWidth = 487
TabOrder = 10
object OLSChk: TCheckBox
AnchorSideLeft.Control = GroupBox1
AnchorSideTop.Control = GroupBox1
Left = 12
Height = 19
Top = 2
Width = 206
BorderSpacing.Left = 12
ClientHeight = 428
ClientWidth = 1024
inherited ParamsPanel: TPanel
Height = 412
Width = 495
ClientHeight = 412
ClientWidth = 495
inherited CloseBtn: TButton
Left = 440
Top = 387
TabOrder = 14
end
inherited ComputeBtn: TButton
Left = 356
Top = 387
TabOrder = 13
end
inherited ResetBtn: TButton
Left = 294
Top = 387
TabOrder = 12
end
inherited HelpBtn: TButton
Tag = 158
Left = 235
Top = 387
TabOrder = 11
end
inherited ButtonBevel: TBevel
Top = 371
Width = 495
end
object OptionsGroup: TGroupBox[5]
AnchorSideLeft.Control = ParamsPanel
AnchorSideBottom.Control = ButtonBevel
Left = 0
Height = 112
Top = 259
Width = 483
Anchors = [akLeft, akBottom]
AutoSize = True
Caption = 'Options'
ClientHeight = 92
ClientWidth = 479
TabOrder = 10
object OLSChk: TCheckBox
AnchorSideLeft.Control = OptionsGroup
AnchorSideTop.Control = OptionsGroup
Left = 12
Height = 19
Top = 2
Width = 206
BorderSpacing.Left = 12
BorderSpacing.Top = 2
Caption = 'Obtain OLS , save squared residuals'
TabOrder = 0
end
object PlotChk: TCheckBox
AnchorSideLeft.Control = OptionsGroup
AnchorSideTop.Control = OLSChk
AnchorSideTop.Side = asrBottom
Left = 12
Height = 19
Top = 23
Width = 216
BorderSpacing.Left = 12
BorderSpacing.Top = 2
Caption = 'Plot squared residuals vs. Indep. Vars.'
TabOrder = 1
end
object RegResChk: TCheckBox
AnchorSideLeft.Control = OptionsGroup
AnchorSideTop.Control = PlotChk
AnchorSideTop.Side = asrBottom
Left = 12
Height = 19
Top = 44
Width = 235
BorderSpacing.Left = 12
BorderSpacing.Top = 2
Caption = 'Regress squared residuals on Indep. Vars.'
TabOrder = 2
end
object SaveChk: TCheckBox
AnchorSideLeft.Control = OptionsGroup
AnchorSideTop.Control = RegResChk
AnchorSideTop.Side = asrBottom
Left = 12
Height = 19
Top = 65
Width = 180
BorderSpacing.Left = 12
BorderSpacing.Top = 2
BorderSpacing.Bottom = 8
Caption = 'Save Estimated weights in grid'
TabOrder = 3
end
object WeightChk: TCheckBox
AnchorSideLeft.Control = RegResChk
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = OptionsGroup
Left = 263
Height = 19
Top = 2
Width = 208
BorderSpacing.Left = 16
BorderSpacing.Top = 2
BorderSpacing.Right = 8
Caption = 'Apply weights to obtain a WLS regr.'
TabOrder = 4
end
object OriginChk: TCheckBox
AnchorSideLeft.Control = WeightChk
AnchorSideTop.Control = WeightChk
AnchorSideTop.Side = asrBottom
Left = 287
Height = 19
Top = 23
Width = 119
BorderSpacing.Left = 24
BorderSpacing.Top = 2
Caption = 'Through the origin'
TabOrder = 5
end
object UserWghtsChk: TCheckBox
AnchorSideLeft.Control = WeightChk
AnchorSideTop.Control = OriginChk
AnchorSideTop.Side = asrBottom
Left = 263
Height = 19
Top = 44
Width = 187
BorderSpacing.Top = 2
Caption = 'Use weights entered by the user'
TabOrder = 6
end
object Origin2Chk: TCheckBox
AnchorSideLeft.Control = OriginChk
AnchorSideTop.Control = UserWghtsChk
AnchorSideTop.Side = asrBottom
Left = 287
Height = 19
Top = 65
Width = 119
BorderSpacing.Top = 2
Caption = 'Through the origin'
TabOrder = 7
end
end
object Label1: TLabel[6]
AnchorSideLeft.Control = ParamsPanel
AnchorSideTop.Control = ParamsPanel
Left = 0
Height = 15
Top = 0
Width = 46
Caption = 'Variables'
ParentColor = False
end
object Label2: TLabel[7]
AnchorSideLeft.Control = DepInBtn
AnchorSideLeft.Side = asrBottom
AnchorSideBottom.Control = DepVarEdit
Left = 264
Height = 15
Top = 21
Width = 102
Anchors = [akLeft, akBottom]
BorderSpacing.Left = 4
BorderSpacing.Top = 8
BorderSpacing.Bottom = 2
Caption = 'Dependent Variable'
ParentColor = False
end
object Label3: TLabel[8]
AnchorSideLeft.Control = IndInBtn
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = IndInBtn
Left = 264
Height = 15
Top = 105
Width = 116
BorderSpacing.Left = 4
Caption = 'Independent Variables'
ParentColor = False
end
object Label4: TLabel[9]
AnchorSideLeft.Control = WghtInBtn
AnchorSideLeft.Side = asrBottom
AnchorSideBottom.Control = WghtVarEdit
Left = 264
Height = 15
Top = 199
Width = 137
Anchors = [akLeft, akBottom]
BorderSpacing.Left = 4
BorderSpacing.Bottom = 2
Caption = 'User''s Weigjhts (Optional)'
ParentColor = False
end
object VarList: TListBox[10]
AnchorSideLeft.Control = ParamsPanel
AnchorSideTop.Control = Label1
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = DepInBtn
AnchorSideBottom.Control = OptionsGroup
Left = 0
Height = 234
Top = 17
Width = 230
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Top = 2
Caption = 'Obtain OLS , save squared residuals'
BorderSpacing.Right = 4
BorderSpacing.Bottom = 8
Constraints.MinHeight = 220
ItemHeight = 0
MultiSelect = True
OnDblClick = VarListDblClick
OnSelectionChange = VarListSelectionChange
TabOrder = 0
end
object PlotChk: TCheckBox
AnchorSideLeft.Control = GroupBox1
AnchorSideTop.Control = OLSChk
AnchorSideTop.Side = asrBottom
Left = 12
Height = 19
Top = 23
Width = 216
BorderSpacing.Left = 12
BorderSpacing.Top = 2
Caption = 'Plot squared residuals vs. Indep. Vars.'
object DepInBtn: TBitBtn[11]
AnchorSideLeft.Control = ParamsPanel
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = VarList
Left = 234
Height = 26
Top = 17
Width = 26
Images = MainDataModule.ImageList
ImageIndex = 1
OnClick = DepInBtnClick
Spacing = 0
TabOrder = 1
end
object RegResChk: TCheckBox
AnchorSideLeft.Control = GroupBox1
AnchorSideTop.Control = PlotChk
object DepOutBtn: TBitBtn[12]
AnchorSideLeft.Control = ParamsPanel
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = DepInBtn
AnchorSideTop.Side = asrBottom
Left = 12
Height = 19
Top = 44
Width = 235
BorderSpacing.Left = 12
BorderSpacing.Top = 2
Caption = 'Regress squared residuals on Indep. Vars.'
Left = 234
Height = 26
Top = 47
Width = 26
BorderSpacing.Top = 4
Images = MainDataModule.ImageList
ImageIndex = 0
OnClick = DepOutBtnClick
Spacing = 0
TabOrder = 2
end
object SaveChk: TCheckBox
AnchorSideLeft.Control = GroupBox1
AnchorSideTop.Control = RegResChk
object IndInBtn: TBitBtn[13]
AnchorSideLeft.Control = ParamsPanel
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = DepOutBtn
AnchorSideTop.Side = asrBottom
Left = 12
Height = 19
Top = 65
Width = 180
BorderSpacing.Left = 12
BorderSpacing.Top = 2
BorderSpacing.Bottom = 8
Caption = 'Save Estimated weights in grid'
TabOrder = 3
end
object WeightChk: TCheckBox
AnchorSideLeft.Control = RegResChk
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = GroupBox1
Left = 263
Height = 19
Top = 2
Width = 216
BorderSpacing.Left = 16
BorderSpacing.Top = 2
BorderSpacing.Right = 8
Caption = 'Apply weights and obtain a WLS Reg.'
Left = 234
Height = 26
Top = 105
Width = 26
BorderSpacing.Top = 32
Images = MainDataModule.ImageList
ImageIndex = 1
OnClick = IndInBtnClick
Spacing = 0
TabOrder = 4
end
object OriginChk: TCheckBox
AnchorSideLeft.Control = WeightChk
AnchorSideTop.Control = WeightChk
object IndOutBtn: TBitBtn[14]
AnchorSideLeft.Control = ParamsPanel
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = IndInBtn
AnchorSideTop.Side = asrBottom
Left = 287
Height = 19
Top = 23
Width = 121
BorderSpacing.Left = 24
BorderSpacing.Top = 2
Caption = 'Through the Origin'
Left = 234
Height = 26
Top = 135
Width = 26
BorderSpacing.Top = 4
Images = MainDataModule.ImageList
ImageIndex = 0
OnClick = IndOutBtnClick
Spacing = 0
TabOrder = 5
end
object UserWghtsChk: TCheckBox
AnchorSideLeft.Control = WeightChk
AnchorSideTop.Control = OriginChk
AnchorSideTop.Side = asrBottom
Left = 263
Height = 19
Top = 44
Width = 189
BorderSpacing.Top = 2
Caption = 'Use Weights entered by the user'
TabOrder = 6
end
object Origin2Chk: TCheckBox
AnchorSideLeft.Control = OriginChk
AnchorSideTop.Control = UserWghtsChk
AnchorSideTop.Side = asrBottom
Left = 287
Height = 19
Top = 65
Width = 121
BorderSpacing.Top = 2
Caption = 'Through the Origin'
object WghtInBtn: TBitBtn[15]
AnchorSideLeft.Control = ParamsPanel
AnchorSideLeft.Side = asrCenter
AnchorSideBottom.Control = WghtOutBtn
Left = 234
Height = 26
Top = 195
Width = 26
Anchors = [akLeft, akBottom]
BorderSpacing.Bottom = 4
Images = MainDataModule.ImageList
ImageIndex = 1
OnClick = WghtInBtnClick
Spacing = 0
TabOrder = 7
end
object WghtOutBtn: TBitBtn[16]
AnchorSideLeft.Control = ParamsPanel
AnchorSideLeft.Side = asrCenter
AnchorSideBottom.Control = VarList
AnchorSideBottom.Side = asrBottom
Left = 234
Height = 26
Top = 225
Width = 26
Anchors = [akLeft, akBottom]
Images = MainDataModule.ImageList
ImageIndex = 0
OnClick = WghtOutBtnClick
Spacing = 0
TabOrder = 8
end
object DepVarEdit: TEdit[17]
AnchorSideLeft.Control = DepInBtn
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = ParamsPanel
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = DepOutBtn
AnchorSideBottom.Side = asrBottom
Left = 264
Height = 23
Top = 38
Width = 231
Anchors = [akLeft, akRight, akBottom]
BorderSpacing.Left = 4
BorderSpacing.Bottom = 12
ReadOnly = True
TabOrder = 3
Text = 'DepVarEdit'
end
object IndVarList: TListBox[18]
AnchorSideLeft.Control = IndInBtn
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Label3
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = ParamsPanel
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = WghtInBtn
Left = 264
Height = 57
Top = 122
Width = 231
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Left = 4
BorderSpacing.Top = 2
BorderSpacing.Bottom = 16
ItemHeight = 0
MultiSelect = True
OnDblClick = IndVarListDblClick
OnSelectionChange = VarListSelectionChange
TabOrder = 6
end
object WghtVarEdit: TEdit[19]
AnchorSideLeft.Control = WghtInBtn
AnchorSideLeft.Side = asrBottom
AnchorSideRight.Control = ParamsPanel
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = WghtOutBtn
AnchorSideBottom.Side = asrBottom
Left = 264
Height = 23
Top = 216
Width = 231
Anchors = [akLeft, akRight, akBottom]
BorderSpacing.Left = 4
BorderSpacing.Bottom = 12
ReadOnly = True
TabOrder = 9
Text = 'WghtVarEdit'
end
end
object ResetBtn: TButton
AnchorSideRight.Control = ComputeBtn
AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom
Left = 296
Height = 25
Top = 475
Width = 54
Anchors = [akRight, akBottom]
AutoSize = True
BorderSpacing.Left = 12
inherited ParamsSplitter: TSplitter
Left = 507
Height = 428
end
object PageControl: TPageControl[2]
Left = 516
Height = 412
Top = 8
Width = 500
ActivePage = OLSPage
Align = alClient
BorderSpacing.Left = 4
BorderSpacing.Top = 8
BorderSpacing.Right = 12
BorderSpacing.Right = 8
BorderSpacing.Bottom = 8
Caption = 'Reset'
OnClick = ResetBtnClick
TabOrder = 12
end
object ComputeBtn: TButton
AnchorSideRight.Control = CloseBtn
AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom
Left = 362
Height = 25
Top = 475
Width = 76
Anchors = [akRight, akBottom]
AutoSize = True
BorderSpacing.Left = 12
BorderSpacing.Top = 8
BorderSpacing.Right = 12
BorderSpacing.Bottom = 8
Caption = 'Compute'
OnClick = ComputeBtnClick
TabOrder = 13
end
object CloseBtn: TButton
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom
Left = 450
Height = 25
Top = 475
Width = 55
Anchors = [akRight, akBottom]
AutoSize = True
BorderSpacing.Left = 12
BorderSpacing.Top = 8
BorderSpacing.Right = 12
BorderSpacing.Bottom = 8
Caption = 'Close'
ModalResult = 11
TabOrder = 14
end
object HelpBtn: TButton
Tag = 158
AnchorSideRight.Control = ResetBtn
AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom
Left = 233
Height = 25
Top = 475
Width = 51
Anchors = [akRight, akBottom]
AutoSize = True
BorderSpacing.Left = 12
BorderSpacing.Top = 8
BorderSpacing.Right = 12
BorderSpacing.Bottom = 8
Caption = 'Help'
OnClick = HelpBtnClick
TabOrder = 11
end
object Bevel1: TBevel
AnchorSideLeft.Control = Owner
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = ResetBtn
Left = 0
Height = 8
Top = 459
Width = 517
Anchors = [akLeft, akRight, akBottom]
Shape = bsBottomLine
TabIndex = 0
TabOrder = 2
object OLSPage: TTabSheet
Caption = 'OLS Regression'
end
object ResidualsRegPage: TTabSheet
Caption = 'Squared Residuals Regression'
end
object WLSPage: TTabSheet
Caption = 'WLS Regression'
end
end
end