LazStats: Refactor PolyDIFUnit. Update chm.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7394 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2020-04-21 10:39:17 +00:00
parent 2d80d005dd
commit e2de5809db
4 changed files with 646 additions and 553 deletions

View File

@ -1,106 +1,86 @@
object PolyDIFFrm: TPolyDIFFrm object PolyDIFFrm: TPolyDIFFrm
Left = 548 Left = 984
Height = 413 Height = 413
Top = 305 Top = 356
Width = 631 Width = 657
AutoSize = True AutoSize = True
Caption = 'Polytomous Item DIF' Caption = 'Polytomous Item DIF'
ClientHeight = 413 ClientHeight = 413
ClientWidth = 631 ClientWidth = 657
OnActivate = FormActivate OnActivate = FormActivate
OnCreate = FormCreate OnCreate = FormCreate
OnShow = FormShow OnShow = FormShow
Position = poMainFormCenter Position = poMainFormCenter
LCLVersion = '2.1.0.0' LCLVersion = '2.1.0.0'
object ResetBtn: TButton object ResetBtn: TButton
AnchorSideRight.Control = CancelBtn AnchorSideRight.Control = ComputeBtn
AnchorSideBottom.Control = Owner AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 334 Left = 448
Height = 25 Height = 25
Top = 380 Top = 380
Width = 54 Width = 54
Anchors = [akRight, akBottom] Anchors = [akRight, akBottom]
AutoSize = True AutoSize = True
BorderSpacing.Left = 12 BorderSpacing.Left = 8
BorderSpacing.Top = 8 BorderSpacing.Top = 8
BorderSpacing.Right = 12 BorderSpacing.Right = 8
BorderSpacing.Bottom = 8 BorderSpacing.Bottom = 8
Caption = 'Reset' Caption = 'Reset'
OnClick = ResetBtnClick OnClick = ResetBtnClick
TabOrder = 3 TabOrder = 3
end end
object CancelBtn: TButton
AnchorSideRight.Control = ComputeBtn
AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom
Left = 400
Height = 25
Top = 380
Width = 62
Anchors = [akRight, akBottom]
AutoSize = True
BorderSpacing.Left = 12
BorderSpacing.Top = 8
BorderSpacing.Right = 12
BorderSpacing.Bottom = 8
Caption = 'Cancel'
ModalResult = 2
OnClick = CancelBtnClick
TabOrder = 4
end
object ComputeBtn: TButton object ComputeBtn: TButton
AnchorSideRight.Control = ReturnBtn AnchorSideRight.Control = CloseBtn
AnchorSideBottom.Control = Owner AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 474 Left = 510
Height = 25 Height = 25
Top = 380 Top = 380
Width = 76 Width = 76
Anchors = [akRight, akBottom] Anchors = [akRight, akBottom]
AutoSize = True AutoSize = True
BorderSpacing.Left = 12 BorderSpacing.Left = 8
BorderSpacing.Top = 8 BorderSpacing.Top = 8
BorderSpacing.Right = 12 BorderSpacing.Right = 8
BorderSpacing.Bottom = 8 BorderSpacing.Bottom = 8
Caption = 'Compute' Caption = 'Compute'
OnClick = ComputeBtnClick OnClick = ComputeBtnClick
TabOrder = 5 TabOrder = 4
end end
object ReturnBtn: TButton object CloseBtn: TButton
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = Owner AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 562 Left = 594
Height = 25 Height = 25
Top = 380 Top = 380
Width = 61 Width = 55
Anchors = [akRight, akBottom] Anchors = [akRight, akBottom]
AutoSize = True AutoSize = True
BorderSpacing.Left = 12 BorderSpacing.Left = 8
BorderSpacing.Top = 8 BorderSpacing.Top = 8
BorderSpacing.Right = 8 BorderSpacing.Right = 8
BorderSpacing.Bottom = 8 BorderSpacing.Bottom = 8
Caption = 'Return' Caption = 'Close'
ModalResult = 1 ModalResult = 11
OnClick = ReturnBtnClick TabOrder = 5
TabOrder = 6
end end
object HelpBtn: TButton object HelpBtn: TButton
Tag = 138 Tag = 138
AnchorSideRight.Control = ResetBtn AnchorSideRight.Control = ResetBtn
AnchorSideBottom.Control = Owner AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 271 Left = 389
Height = 25 Height = 25
Top = 380 Top = 380
Width = 51 Width = 51
Anchors = [akRight, akBottom] Anchors = [akRight, akBottom]
AutoSize = True AutoSize = True
BorderSpacing.Left = 12 BorderSpacing.Left = 8
BorderSpacing.Top = 8 BorderSpacing.Top = 8
BorderSpacing.Right = 12 BorderSpacing.Right = 8
BorderSpacing.Bottom = 8 BorderSpacing.Bottom = 8
Caption = 'Help' Caption = 'Help'
OnClick = HelpBtnClick OnClick = HelpBtnClick
@ -114,14 +94,14 @@ object PolyDIFFrm: TPolyDIFFrm
Left = 8 Left = 8
Height = 356 Height = 356
Top = 8 Top = 8
Width = 411 Width = 437
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Left = 8 BorderSpacing.Left = 8
BorderSpacing.Top = 8 BorderSpacing.Top = 8
BorderSpacing.Right = 16 BorderSpacing.Right = 16
BevelOuter = bvNone BevelOuter = bvNone
ClientHeight = 356 ClientHeight = 356
ClientWidth = 411 ClientWidth = 437
Constraints.MinWidth = 400 Constraints.MinWidth = 400
TabOrder = 0 TabOrder = 0
object Label1: TLabel object Label1: TLabel
@ -137,7 +117,7 @@ object PolyDIFFrm: TPolyDIFFrm
object Label2: TLabel object Label2: TLabel
AnchorSideLeft.Control = ItemsList AnchorSideLeft.Control = ItemsList
AnchorSideTop.Control = Panel1 AnchorSideTop.Control = Panel1
Left = 236 Left = 249
Height = 15 Height = 15
Top = 0 Top = 0
Width = 76 Width = 76
@ -147,7 +127,7 @@ object PolyDIFFrm: TPolyDIFFrm
object Label3: TLabel object Label3: TLabel
AnchorSideLeft.Control = ItemsList AnchorSideLeft.Control = ItemsList
AnchorSideBottom.Control = GroupVarEdit AnchorSideBottom.Control = GroupVarEdit
Left = 236 Left = 249
Height = 15 Height = 15
Top = 296 Top = 296
Width = 94 Width = 94
@ -166,19 +146,20 @@ object PolyDIFFrm: TPolyDIFFrm
Left = 0 Left = 0
Height = 339 Height = 339
Top = 17 Top = 17
Width = 174 Width = 187
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Top = 2 BorderSpacing.Top = 2
BorderSpacing.Right = 8 BorderSpacing.Right = 8
ItemHeight = 0 ItemHeight = 0
MultiSelect = True MultiSelect = True
OnSelectionChange = VarListSelectionChange
TabOrder = 0 TabOrder = 0
end end
object ItemInBtn: TBitBtn object ItemInBtn: TBitBtn
AnchorSideLeft.Control = Panel1 AnchorSideLeft.Control = Panel1
AnchorSideLeft.Side = asrCenter AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = VarList AnchorSideTop.Control = VarList
Left = 191 Left = 204
Height = 28 Height = 28
Top = 25 Top = 25
Width = 28 Width = 28
@ -194,7 +175,7 @@ object PolyDIFFrm: TPolyDIFFrm
AnchorSideLeft.Side = asrCenter AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = ItemInBtn AnchorSideTop.Control = ItemInBtn
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 191 Left = 204
Height = 28 Height = 28
Top = 57 Top = 57
Width = 28 Width = 28
@ -210,7 +191,7 @@ object PolyDIFFrm: TPolyDIFFrm
AnchorSideLeft.Side = asrCenter AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = ItemOutBtn AnchorSideTop.Control = ItemOutBtn
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 182 Left = 195
Height = 25 Height = 25
Top = 89 Top = 89
Width = 46 Width = 46
@ -225,7 +206,7 @@ object PolyDIFFrm: TPolyDIFFrm
AnchorSideLeft.Control = Panel1 AnchorSideLeft.Control = Panel1
AnchorSideLeft.Side = asrCenter AnchorSideLeft.Side = asrCenter
AnchorSideBottom.Control = GrpOutBtn AnchorSideBottom.Control = GrpOutBtn
Left = 191 Left = 204
Height = 28 Height = 28
Top = 288 Top = 288
Width = 28 Width = 28
@ -242,7 +223,7 @@ object PolyDIFFrm: TPolyDIFFrm
AnchorSideLeft.Side = asrCenter AnchorSideLeft.Side = asrCenter
AnchorSideBottom.Control = VarList AnchorSideBottom.Control = VarList
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 191 Left = 204
Height = 28 Height = 28
Top = 320 Top = 320
Width = 28 Width = 28
@ -260,12 +241,13 @@ object PolyDIFFrm: TPolyDIFFrm
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = GrpOutBtn AnchorSideBottom.Control = GrpOutBtn
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 236 Left = 249
Height = 23 Height = 23
Top = 313 Top = 313
Width = 175 Width = 188
Anchors = [akLeft, akRight, akBottom] Anchors = [akLeft, akRight, akBottom]
BorderSpacing.Bottom = 12 BorderSpacing.Bottom = 12
ReadOnly = True
TabOrder = 7 TabOrder = 7
Text = 'GroupVarEdit' Text = 'GroupVarEdit'
end end
@ -277,15 +259,17 @@ object PolyDIFFrm: TPolyDIFFrm
AnchorSideRight.Control = Panel1 AnchorSideRight.Control = Panel1
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = GrpInBtn AnchorSideBottom.Control = GrpInBtn
Left = 236 Left = 249
Height = 247 Height = 247
Top = 17 Top = 17
Width = 175 Width = 188
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Left = 8 BorderSpacing.Left = 8
BorderSpacing.Top = 2 BorderSpacing.Top = 2
BorderSpacing.Bottom = 24 BorderSpacing.Bottom = 24
ItemHeight = 0 ItemHeight = 0
MultiSelect = True
OnSelectionChange = VarListSelectionChange
TabOrder = 4 TabOrder = 4
end end
end end
@ -293,11 +277,11 @@ object PolyDIFFrm: TPolyDIFFrm
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = ReturnBtn AnchorSideBottom.Control = CloseBtn
Left = 0 Left = 0
Height = 8 Height = 8
Top = 364 Top = 364
Width = 631 Width = 657
Anchors = [akLeft, akRight, akBottom] Anchors = [akLeft, akRight, akBottom]
Shape = bsBottomLine Shape = bsBottomLine
end end
@ -306,12 +290,11 @@ object PolyDIFFrm: TPolyDIFFrm
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = Bevel1 AnchorSideBottom.Control = Bevel1
Left = 435 Left = 461
Height = 364 Height = 364
Top = 0 Top = 0
Width = 196 Width = 196
Anchors = [akTop, akRight, akBottom] Anchors = [akTop, akRight, akBottom]
AutoSize = True
BevelOuter = bvNone BevelOuter = bvNone
ClientHeight = 364 ClientHeight = 364
ClientWidth = 196 ClientWidth = 196
@ -322,7 +305,7 @@ object PolyDIFFrm: TPolyDIFFrm
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 0 Left = 0
Height = 15 Height = 15
Top = 12 Top = 132
Width = 124 Width = 124
Caption = 'No. of Grouping Levels:' Caption = 'No. of Grouping Levels:'
ParentColor = False ParentColor = False
@ -333,7 +316,7 @@ object PolyDIFFrm: TPolyDIFFrm
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 0 Left = 0
Height = 15 Height = 15
Top = 191 Top = 16
Width = 99 Width = 99
Caption = 'Lowest Item Score:' Caption = 'Lowest Item Score:'
ParentColor = False ParentColor = False
@ -344,7 +327,7 @@ object PolyDIFFrm: TPolyDIFFrm
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 0 Left = 0
Height = 15 Height = 15
Top = 218 Top = 43
Width = 103 Width = 103
Caption = 'Highest Item Score:' Caption = 'Highest Item Score:'
ParentColor = False ParentColor = False
@ -355,7 +338,7 @@ object PolyDIFFrm: TPolyDIFFrm
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 0 Left = 0
Height = 15 Height = 15
Top = 245 Top = 70
Width = 122 Width = 122
Caption = 'Reference Group Code:' Caption = 'Reference Group Code:'
ParentColor = False ParentColor = False
@ -366,34 +349,36 @@ object PolyDIFFrm: TPolyDIFFrm
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 0 Left = 0
Height = 15 Height = 15
Top = 272 Top = 97
Width = 98 Width = 98
Caption = 'Focal Group Code:' Caption = 'Focal Group Code:'
ParentColor = False ParentColor = False
end end
object LevelsEdit: TEdit object LevelsEdit: TEdit
AnchorSideTop.Control = TrgtGrpEdit
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = GroupBox2 AnchorSideRight.Control = GroupBox2
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 140 Left = 140
Height = 23 Height = 23
Top = 8 Top = 128
Width = 40 Width = 40
Alignment = taRightJustify Alignment = taRightJustify
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
BorderSpacing.Top = 8 BorderSpacing.Top = 12
BorderSpacing.Right = 8 BorderSpacing.Right = 8
OnExit = LevelsEditExit OnEditingDone = LevelsEditEditingDone
TabOrder = 0 TabOrder = 4
end end
object GroupBox1: TGroupBox object GroupBox1: TGroupBox
AnchorSideLeft.Control = GroupBox2 AnchorSideLeft.Control = GroupBox2
AnchorSideTop.Control = TrgtGrpEdit AnchorSideTop.Control = GroupBox2
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = GroupBox2 AnchorSideRight.Control = GroupBox2
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 0 Left = 0
Height = 51 Height = 51
Top = 303 Top = 307
Width = 188 Width = 188
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
AutoSize = True AutoSize = True
@ -417,19 +402,19 @@ object PolyDIFFrm: TPolyDIFFrm
end end
object LowScoreEdit: TEdit object LowScoreEdit: TEdit
AnchorSideLeft.Control = LevelsEdit AnchorSideLeft.Control = LevelsEdit
AnchorSideTop.Control = GroupBox2 AnchorSideTop.Control = Panel3
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = GroupBox2 AnchorSideRight.Control = GroupBox2
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 140 Left = 140
Height = 23 Height = 23
Top = 187 Top = 12
Width = 40 Width = 40
Alignment = taRightJustify Alignment = taRightJustify
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 12 BorderSpacing.Top = 12
BorderSpacing.Right = 8 BorderSpacing.Right = 8
TabOrder = 2 TabOrder = 0
Text = 'LowScoreEdit'
end end
object HiScoreEdit: TEdit object HiScoreEdit: TEdit
AnchorSideLeft.Control = LowScoreEdit AnchorSideLeft.Control = LowScoreEdit
@ -439,13 +424,13 @@ object PolyDIFFrm: TPolyDIFFrm
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 140 Left = 140
Height = 23 Height = 23
Top = 214 Top = 39
Width = 40 Width = 40
Alignment = taRightJustify Alignment = taRightJustify
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 4 BorderSpacing.Top = 4
TabOrder = 3 TabOrder = 1
Text = 'Edit1' Text = 'HiScoreEdit'
end end
object RefGrpEdit: TEdit object RefGrpEdit: TEdit
AnchorSideLeft.Control = LowScoreEdit AnchorSideLeft.Control = LowScoreEdit
@ -455,13 +440,13 @@ object PolyDIFFrm: TPolyDIFFrm
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 140 Left = 140
Height = 23 Height = 23
Top = 241 Top = 66
Width = 40 Width = 40
Alignment = taRightJustify Alignment = taRightJustify
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 4 BorderSpacing.Top = 4
TabOrder = 4 TabOrder = 2
Text = 'Edit1' Text = 'RefGrpEdit'
end end
object TrgtGrpEdit: TEdit object TrgtGrpEdit: TEdit
AnchorSideLeft.Control = LowScoreEdit AnchorSideLeft.Control = LowScoreEdit
@ -471,13 +456,13 @@ object PolyDIFFrm: TPolyDIFFrm
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 140 Left = 140
Height = 23 Height = 23
Top = 268 Top = 93
Width = 40 Width = 40
Alignment = taRightJustify Alignment = taRightJustify
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 4 BorderSpacing.Top = 4
TabOrder = 5 TabOrder = 3
Text = 'Edit1' Text = 'TrgtGrpEdit'
end end
object GroupBox2: TGroupBox object GroupBox2: TGroupBox
AnchorSideLeft.Control = Panel3 AnchorSideLeft.Control = Panel3
@ -487,7 +472,7 @@ object PolyDIFFrm: TPolyDIFFrm
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 0 Left = 0
Height = 132 Height = 132
Top = 43 Top = 163
Width = 188 Width = 188
AutoSize = True AutoSize = True
BorderSpacing.Top = 12 BorderSpacing.Top = 12
@ -495,7 +480,7 @@ object PolyDIFFrm: TPolyDIFFrm
Caption = 'Enter Bounds for Levels' Caption = 'Enter Bounds for Levels'
ClientHeight = 112 ClientHeight = 112
ClientWidth = 184 ClientWidth = 184
TabOrder = 1 TabOrder = 5
object Panel2: TPanel object Panel2: TPanel
Left = 8 Left = 8
Height = 104 Height = 104
@ -584,25 +569,9 @@ object PolyDIFFrm: TPolyDIFFrm
PageSize = 0 PageSize = 0
Position = 1 Position = 1
TabOrder = 0 TabOrder = 0
OnScroll = LevelScrollScroll OnChange = LevelScrollChange
end
object LevelNoEdit: TEdit
AnchorSideTop.Control = Label8
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Panel2
AnchorSideRight.Side = asrBottom
Left = 129
Height = 23
Top = 19
Width = 39
Alignment = taRightJustify
Anchors = [akTop, akRight]
BorderSpacing.Top = 4
TabOrder = 1
Text = 'LevelNoEdit'
end end
object LowBoundEdit: TEdit object LowBoundEdit: TEdit
AnchorSideTop.Control = LevelNoEdit
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Panel2 AnchorSideRight.Control = Panel2
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
@ -613,7 +582,7 @@ object PolyDIFFrm: TPolyDIFFrm
Alignment = taRightJustify Alignment = taRightJustify
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
BorderSpacing.Top = 8 BorderSpacing.Top = 8
OnExit = LowBoundEditExit OnEditingDone = LowBoundEditEditingDone
TabOrder = 2 TabOrder = 2
Text = 'LowBoundEdit' Text = 'LowBoundEdit'
end end
@ -629,10 +598,25 @@ object PolyDIFFrm: TPolyDIFFrm
Alignment = taRightJustify Alignment = taRightJustify
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
BorderSpacing.Top = 8 BorderSpacing.Top = 8
OnExit = UpBoundEditExit OnEditingDone = UpBoundEditEditingDone
TabOrder = 3 TabOrder = 3
Text = 'Edit1' Text = 'Edit1'
end end
object LevelNoEdit: TStaticText
AnchorSideTop.Control = Label8
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Panel2
AnchorSideRight.Side = asrBottom
Left = 129
Height = 23
Top = 19
Width = 39
Alignment = taRightJustify
Anchors = [akTop, akRight]
BorderSpacing.Top = 4
BorderStyle = sbsSingle
TabOrder = 1
end
end end
end end
end end