LazStats: Inherit RaschUnit from BasicStatisReportAndChartUnit. Some refactoring.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7896 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2020-11-22 18:48:59 +00:00
parent 905e205bf1
commit 9da0a4334a
4 changed files with 633 additions and 717 deletions

View File

@ -637,7 +637,7 @@
<Unit66> <Unit66>
<Filename Value="forms\analysis\measurement_programs\raschunit.pas"/> <Filename Value="forms\analysis\measurement_programs\raschunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="RaschFrm"/> <ComponentName Value="RaschForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="RaschUnit"/> <UnitName Value="RaschUnit"/>

View File

@ -1,263 +1,224 @@
object RaschFrm: TRaschFrm inherited RaschForm: TRaschForm
Left = 673 Left = 673
Height = 419 Height = 419
Top = 319 Top = 319
Width = 406 Width = 855
HelpType = htKeyword HelpType = htKeyword
HelpKeyword = 'html/RaschTestCalibration.htm' HelpKeyword = 'html/RaschTestCalibration.htm'
AutoSize = True
Caption = 'Rasch One Parameter Item Scaling' Caption = 'Rasch One Parameter Item Scaling'
ClientHeight = 419 ClientHeight = 419
ClientWidth = 406 ClientWidth = 855
OnActivate = FormActivate inherited ParamsPanel: TPanel
OnCreate = FormCreate Height = 403
OnShow = FormShow Width = 336
Position = poMainFormCenter ClientHeight = 403
LCLVersion = '2.1.0.0' ClientWidth = 336
object GroupBox1: TGroupBox inherited CloseBtn: TButton
AnchorSideLeft.Control = Owner Left = 281
AnchorSideLeft.Side = asrCenter Top = 378
AnchorSideTop.Side = asrBottom TabOrder = 8
AnchorSideRight.Side = asrBottom end
AnchorSideBottom.Control = Bevel1 inherited ComputeBtn: TButton
Left = 36 Left = 197
Height = 93 Top = 378
Top = 277 TabOrder = 7
Width = 334 end
Anchors = [akLeft, akBottom] inherited ResetBtn: TButton
AutoSize = True Left = 135
BorderSpacing.Left = 8 Top = 378
BorderSpacing.Top = 8 TabOrder = 6
BorderSpacing.Right = 8 end
Caption = 'Output Options:' inherited HelpBtn: TButton
ChildSizing.LeftRightSpacing = 12 Tag = 140
ChildSizing.TopBottomSpacing = 6 Left = 76
ChildSizing.VerticalSpacing = 2 Top = 378
ChildSizing.Layout = cclLeftToRightThenTopToBottom TabOrder = 5
ChildSizing.ControlsPerLine = 2 end
ClientHeight = 73 inherited ButtonBevel: TBevel
ClientWidth = 330 Top = 362
TabOrder = 4 Width = 336
object ProxChk: TCheckBox end
Left = 12 object OptionsGroup: TGroupBox[5]
Height = 19 AnchorSideLeft.Control = ParamsPanel
Top = 6 AnchorSideLeft.Side = asrCenter
Width = 179 AnchorSideTop.Side = asrBottom
Caption = 'Show Prox Calculations' AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = ButtonBevel
Left = 0
Height = 93
Top = 269
Width = 336
Anchors = [akLeft, akBottom]
AutoSize = True
BorderSpacing.Left = 8
BorderSpacing.Top = 8
BorderSpacing.Right = 8
Caption = 'Output Options:'
ChildSizing.LeftRightSpacing = 12
ChildSizing.TopBottomSpacing = 6
ChildSizing.VerticalSpacing = 2
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 2
ClientHeight = 73
ClientWidth = 332
TabOrder = 4
object ProxChk: TCheckBox
Left = 12
Height = 19
Top = 6
Width = 181
Caption = 'Show Prox Calculations'
TabOrder = 0
end
object PlotItemDiffChk: TCheckBox
Left = 193
Height = 19
Top = 6
Width = 127
Caption = 'Plot Item Difficulties'
TabOrder = 1
end
object PlotScrsChk: TCheckBox
Left = 12
Height = 19
Top = 27
Width = 181
Caption = 'Plot Log Abilities'
TabOrder = 2
end
object ItemFuncsChk: TCheckBox
Left = 193
Height = 19
Top = 27
Width = 127
Caption = 'Plot Item Functions'
TabOrder = 3
end
object TestInfoChk: TCheckBox
Left = 12
Height = 19
Top = 48
Width = 181
Caption = 'Plot Test Information Function'
TabOrder = 4
end
end
object Label1: TLabel[6]
AnchorSideLeft.Control = ParamsPanel
AnchorSideTop.Control = ParamsPanel
Left = 0
Height = 15
Top = 0
Width = 97
Caption = 'Available Variables'
ParentColor = False
end
object Label2: TLabel[7]
AnchorSideLeft.Control = ItemList
AnchorSideTop.Control = ParamsPanel
Left = 187
Height = 15
Top = 0
Width = 93
BorderSpacing.Right = 8
Caption = 'Selected Variables'
ParentColor = False
end
object VarList: TListBox[8]
AnchorSideLeft.Control = ParamsPanel
AnchorSideTop.Control = Label1
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = InBtn
AnchorSideBottom.Control = OptionsGroup
Left = 0
Height = 244
Top = 17
Width = 149
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Top = 2
BorderSpacing.Right = 6
Constraints.MinHeight = 220
ItemHeight = 0
MultiSelect = True
OnSelectionChange = VarListSelectionChange
TabOrder = 0 TabOrder = 0
end end
object PlotItemsChk: TCheckBox object InBtn: TBitBtn[9]
Left = 191 AnchorSideLeft.Control = ParamsPanel
Height = 19 AnchorSideLeft.Side = asrCenter
Top = 6 AnchorSideTop.Control = VarList
Width = 127 Left = 155
Caption = 'Plot Item Difficulties' Height = 26
Top = 17
Width = 26
Images = MainDataModule.ImageList
ImageIndex = 1
OnClick = InBtnClick
Spacing = 0
TabOrder = 1 TabOrder = 1
end end
object PlotScrsChk: TCheckBox object ItemList: TListBox[10]
Left = 12 AnchorSideLeft.Control = InBtn
Height = 19 AnchorSideLeft.Side = asrBottom
Top = 27 AnchorSideTop.Control = Label2
Width = 179 AnchorSideTop.Side = asrBottom
Caption = 'Plot Log Abilities' AnchorSideRight.Control = ParamsPanel
TabOrder = 2 AnchorSideRight.Side = asrBottom
end AnchorSideBottom.Control = OptionsGroup
object ItemInfoChk: TCheckBox Left = 187
Left = 191 Height = 244
Height = 19 Top = 17
Top = 27 Width = 149
Width = 127 Anchors = [akTop, akLeft, akRight, akBottom]
Caption = 'Plot Item Functions' BorderSpacing.Left = 6
BorderSpacing.Top = 2
ItemHeight = 0
MultiSelect = True
OnSelectionChange = VarListSelectionChange
TabOrder = 3 TabOrder = 3
end end
object TestInfoChk: TCheckBox object OutBtn: TBitBtn[11]
Left = 12 AnchorSideLeft.Control = ParamsPanel
Height = 19 AnchorSideLeft.Side = asrCenter
Top = 48 AnchorSideTop.Control = InBtn
Width = 179 AnchorSideTop.Side = asrBottom
Caption = 'Plot Test Information function' Left = 155
TabOrder = 4 Height = 26
Top = 47
Width = 26
BorderSpacing.Top = 4
Images = MainDataModule.ImageList
ImageIndex = 0
OnClick = OutBtnClick
Spacing = 0
TabOrder = 2
end end
end end
object ResetBtn: TButton inherited ParamsSplitter: TSplitter
AnchorSideRight.Control = ComputeBtn Left = 348
AnchorSideBottom.Control = Owner Height = 419
AnchorSideBottom.Side = asrBottom
Left = 197
Height = 25
Top = 386
Width = 54
Anchors = [akRight, akBottom]
AutoSize = True
BorderSpacing.Left = 8
BorderSpacing.Top = 8
BorderSpacing.Right = 8
BorderSpacing.Bottom = 8
Caption = 'Reset'
OnClick = ResetBtnClick
TabOrder = 6
end end
object ComputeBtn: TButton inherited PageControl: TPageControl
AnchorSideRight.Control = CloseBtn Left = 357
AnchorSideBottom.Control = Owner Height = 403
AnchorSideBottom.Side = asrBottom Width = 490
Left = 259 ActivePage = ItemFuncsPage
Height = 25 TabIndex = 3
Top = 386 inherited ChartPage: TTabSheet
Width = 76 Caption = 'Plot Item Difficulties'
Anchors = [akRight, akBottom] TabVisible = False
AutoSize = True end
BorderSpacing.Left = 8 object ScoresPage: TTabSheet[2]
BorderSpacing.Top = 8 Caption = 'Plot Log Abilities'
BorderSpacing.Right = 8 TabVisible = False
BorderSpacing.Bottom = 8 end
Caption = 'Compute' object ItemFuncsPage: TTabSheet[3]
OnClick = ComputeBtnClick Caption = 'Plot Item Functions'
TabOrder = 7 TabVisible = False
end end
object CloseBtn: TButton object TestInfoPage: TTabSheet[4]
AnchorSideRight.Control = Owner Caption = 'Plot Test Info'
AnchorSideRight.Side = asrBottom TabVisible = False
AnchorSideBottom.Control = Owner end
AnchorSideBottom.Side = asrBottom
Left = 343
Height = 25
Top = 386
Width = 55
Anchors = [akRight, akBottom]
AutoSize = True
BorderSpacing.Left = 8
BorderSpacing.Top = 8
BorderSpacing.Right = 8
BorderSpacing.Bottom = 8
Caption = 'Close'
ModalResult = 11
TabOrder = 8
end
object HelpBtn: TButton
Tag = 140
AnchorSideRight.Control = ResetBtn
AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom
Left = 138
Height = 25
Top = 386
Width = 51
Anchors = [akRight, akBottom]
AutoSize = True
BorderSpacing.Left = 8
BorderSpacing.Top = 8
BorderSpacing.Right = 8
BorderSpacing.Bottom = 8
Caption = 'Help'
OnClick = HelpBtnClick
TabOrder = 5
end
object Bevel1: TBevel
AnchorSideLeft.Control = Owner
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = CloseBtn
Left = 0
Height = 8
Top = 370
Width = 406
Anchors = [akLeft, akRight, akBottom]
Shape = bsBottomLine
end
object Label1: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
Left = 8
Height = 15
Top = 8
Width = 97
BorderSpacing.Left = 8
BorderSpacing.Top = 8
Caption = 'Available Variables'
ParentColor = False
end
object Label2: TLabel
AnchorSideLeft.Control = ItemList
AnchorSideTop.Control = Owner
Left = 225
Height = 15
Top = 8
Width = 93
BorderSpacing.Top = 8
BorderSpacing.Right = 8
Caption = 'Selected Variables'
ParentColor = False
end
object VarList: TListBox
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Label1
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = InBtn
AnchorSideBottom.Control = GroupBox1
Left = 8
Height = 244
Top = 25
Width = 173
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Left = 8
BorderSpacing.Top = 2
BorderSpacing.Right = 8
Constraints.MinHeight = 220
ItemHeight = 0
MultiSelect = True
OnSelectionChange = VarListSelectionChange
TabOrder = 0
end
object InBtn: TBitBtn
AnchorSideLeft.Control = Owner
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = VarList
Left = 189
Height = 28
Top = 25
Width = 28
Images = MainDataModule.ImageList
ImageIndex = 1
OnClick = InBtnClick
Spacing = 0
TabOrder = 1
end
object ItemList: TListBox
AnchorSideLeft.Control = InBtn
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Label2
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = GroupBox1
Left = 225
Height = 244
Top = 25
Width = 173
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Left = 8
BorderSpacing.Top = 2
BorderSpacing.Right = 8
ItemHeight = 0
MultiSelect = True
OnSelectionChange = VarListSelectionChange
TabOrder = 3
end
object OutBtn: TBitBtn
AnchorSideLeft.Control = Owner
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = InBtn
AnchorSideTop.Side = asrBottom
Left = 189
Height = 28
Top = 57
Width = 28
BorderSpacing.Top = 4
Images = MainDataModule.ImageList
ImageIndex = 0
OnClick = OutBtnClick
Spacing = 0
TabOrder = 2
end end
end end

View File

@ -776,9 +776,9 @@ end;
// Menu "Analysis" > "Measurement Programs" > "Rasch Test Calibration" // Menu "Analysis" > "Measurement Programs" > "Rasch Test Calibration"
procedure TOS3MainFrm.mnuAnalysisMeas_RashClick(Sender: TObject); procedure TOS3MainFrm.mnuAnalysisMeas_RashClick(Sender: TObject);
begin begin
if RaschFrm = nil then if RaschForm = nil then
Application.CreateForm(TRaschFrm, RaschFrm); Application.CreateForm(TRaschForm, RaschForm);
RaschFrm.ShowModal; RaschForm.Show;
end; end;
// Menu "Analysis" > "Measurement Programs" > "Successive Interval Scaling" // Menu "Analysis" > "Measurement Programs" > "Successive Interval Scaling"
@ -786,7 +786,7 @@ procedure TOS3MainFrm.mnuAnalysisMeas_IntervalClick(Sender: TObject);
begin begin
if SuccIntFrm = nil then if SuccIntFrm = nil then
Application.CreateForm(TSuccIntFrm, SuccIntFrm); Application.CreateForm(TSuccIntFrm, SuccIntFrm);
SuccIntFrm.ShowModal; SuccIntFrm.Show;
end; end;
// Menu "Analysis" > "Measurement Programs" > "Guttman Scalogram Analysis // Menu "Analysis" > "Measurement Programs" > "Guttman Scalogram Analysis