LazStats: Prepare more generalized layout by adding form ancestors TBasicStatsParamsForm and TBasicStatsChartForm

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7725 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2020-10-01 14:05:43 +00:00
parent 8092e5e9fa
commit 8df06eb3c3
6 changed files with 436 additions and 92 deletions

View File

@ -121,7 +121,7 @@
<PackageName Value="LCL"/> <PackageName Value="LCL"/>
</Item7> </Item7>
</RequiredPackages> </RequiredPackages>
<Units Count="176"> <Units Count="178">
<Unit0> <Unit0>
<Filename Value="LazStats.lpr"/> <Filename Value="LazStats.lpr"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
@ -1176,331 +1176,347 @@
<UnitName Value="DataSmoothUnit"/> <UnitName Value="DataSmoothUnit"/>
</Unit133> </Unit133>
<Unit134> <Unit134>
<Filename Value="forms\analysis\descriptive\groupfrequnit.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="GroupFreqForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="GroupFreqUnit"/>
</Unit134>
<Unit135>
<Filename Value="forms\analysis\nonparametric\runstestunit.pas"/> <Filename Value="forms\analysis\nonparametric\runstestunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="runstestform"/> <ComponentName Value="runstestform"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="RunsTestUnit"/> <UnitName Value="RunsTestUnit"/>
</Unit135> </Unit134>
<Unit136> <Unit135>
<Filename Value="forms\analysis\descriptive\xvsmultyunit.pas"/> <Filename Value="forms\analysis\descriptive\xvsmultyunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="XvsMultYForm"/> <ComponentName Value="XvsMultYForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="XvsMultYUnit"/> <UnitName Value="XvsMultYUnit"/>
</Unit136> </Unit135>
<Unit137> <Unit136>
<Filename Value="forms\analysis\nonparametric\sensunit.pas"/> <Filename Value="forms\analysis\nonparametric\sensunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="SensForm"/> <ComponentName Value="SensForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="SensUnit"/> <UnitName Value="SensUnit"/>
</Unit137> </Unit136>
<Unit138> <Unit137>
<Filename Value="forms\analysis\multivariate\correspondenceunit.pas"/> <Filename Value="forms\analysis\multivariate\correspondenceunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="CorrespondenceForm"/> <ComponentName Value="CorrespondenceForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="CorrespondenceUnit"/> <UnitName Value="CorrespondenceUnit"/>
</Unit138> </Unit137>
<Unit139> <Unit138>
<Filename Value="forms\analysis\descriptive\comparedistunit.pas"/> <Filename Value="forms\analysis\descriptive\comparedistunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="CompareDistFrm"/> <ComponentName Value="CompareDistFrm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="CompareDistUnit"/> <UnitName Value="CompareDistUnit"/>
</Unit139> </Unit138>
<Unit140> <Unit139>
<Filename Value="forms\variables\equationunit.pas"/> <Filename Value="forms\variables\equationunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="EquationForm"/> <ComponentName Value="EquationForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="EquationUnit"/> <UnitName Value="EquationUnit"/>
</Unit140> </Unit139>
<Unit141> <Unit140>
<Filename Value="forms\misc\contexthelpunit.pas"/> <Filename Value="forms\misc\contexthelpunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="ContextHelpForm"/> <ComponentName Value="ContextHelpForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="ContextHelpUnit"/> <UnitName Value="ContextHelpUnit"/>
</Unit141> </Unit140>
<Unit142> <Unit141>
<Filename Value="forms\tools\calculatorunit.pas"/> <Filename Value="forms\tools\calculatorunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="CalculatorForm"/> <ComponentName Value="CalculatorForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="CalculatorUnit"/> <UnitName Value="CalculatorUnit"/>
</Unit142> </Unit141>
<Unit143> <Unit142>
<Filename Value="forms\tools\jpegunit.pas"/> <Filename Value="forms\tools\jpegunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="JPEGform"/> <ComponentName Value="JPEGform"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="JpegUnit"/> <UnitName Value="JpegUnit"/>
</Unit143> </Unit142>
<Unit144> <Unit143>
<Filename Value="forms\analysis\descriptive\resistancelineunit.pas"/> <Filename Value="forms\analysis\descriptive\resistancelineunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="ResistanceLineForm"/> <ComponentName Value="ResistanceLineForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="ResistanceLineUnit"/> <UnitName Value="ResistanceLineUnit"/>
</Unit144> </Unit143>
<Unit145> <Unit144>
<Filename Value="forms\analysis\multivariate\medianpolishunit.pas"/> <Filename Value="forms\analysis\multivariate\medianpolishunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="MedianPolishForm"/> <ComponentName Value="MedianPolishForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="MedianPolishUnit"/> <UnitName Value="MedianPolishUnit"/>
</Unit145> </Unit144>
<Unit146> <Unit145>
<Filename Value="forms\analysis\comparisons\onecaseanovaunit.pas"/> <Filename Value="forms\analysis\comparisons\onecaseanovaunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="OneCaseAnovaForm"/> <ComponentName Value="OneCaseAnovaForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="OneCaseANOVAUnit"/> <UnitName Value="OneCaseANOVAUnit"/>
</Unit146> </Unit145>
<Unit147> <Unit146>
<Filename Value="forms\analysis\descriptive\smoothdataunit.pas"/> <Filename Value="forms\analysis\descriptive\smoothdataunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="DataSmoothingForm"/> <ComponentName Value="DataSmoothingForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="SmoothDataUnit"/> <UnitName Value="SmoothDataUnit"/>
</Unit147> </Unit146>
<Unit148> <Unit147>
<Filename Value="forms\analysis\nonparametric\srhtestunit.pas"/> <Filename Value="forms\analysis\nonparametric\srhtestunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="SRHTest"/> <ComponentName Value="SRHTest"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="SRHTestUnit"/> <UnitName Value="SRHTestUnit"/>
</Unit148> </Unit147>
<Unit149> <Unit148>
<Filename Value="forms\help\aboutunit.pas"/> <Filename Value="forms\help\aboutunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="AboutBox"/> <ComponentName Value="AboutBox"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="AboutUnit"/> <UnitName Value="AboutUnit"/>
</Unit149> </Unit148>
<Unit150> <Unit149>
<Filename Value="forms\analysis\measurement_programs\item_banking\itembankingunit.pas"/> <Filename Value="forms\analysis\measurement_programs\item_banking\itembankingunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="ItemBankFrm"/> <ComponentName Value="ItemBankFrm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="ItemBankingUnit"/> <UnitName Value="ItemBankingUnit"/>
</Unit150> </Unit149>
<Unit151> <Unit150>
<Filename Value="forms\analysis\measurement_programs\item_banking\itemcodesunit.pas"/> <Filename Value="forms\analysis\measurement_programs\item_banking\itemcodesunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="CodesForm"/> <ComponentName Value="CodesForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="ItemCodesUnit"/> <UnitName Value="ItemCodesUnit"/>
</Unit151> </Unit150>
<Unit152> <Unit151>
<Filename Value="forms\analysis\measurement_programs\item_banking\tfitemunit.pas"/> <Filename Value="forms\analysis\measurement_programs\item_banking\tfitemunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="TFItemForm"/> <ComponentName Value="TFItemForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="TFItemUnit"/> <UnitName Value="TFItemUnit"/>
</Unit152> </Unit151>
<Unit153> <Unit152>
<Filename Value="forms\analysis\measurement_programs\item_banking\essayitemunit.pas"/> <Filename Value="forms\analysis\measurement_programs\item_banking\essayitemunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="EssayItemForm"/> <ComponentName Value="EssayItemForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="EssayItemUnit"/> <UnitName Value="EssayItemUnit"/>
</Unit153> </Unit152>
<Unit154> <Unit153>
<Filename Value="forms\analysis\measurement_programs\item_banking\mcitemunit.pas"/> <Filename Value="forms\analysis\measurement_programs\item_banking\mcitemunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="MCItemForm"/> <ComponentName Value="MCItemForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="MCItemUnit"/> <UnitName Value="MCItemUnit"/>
</Unit154> </Unit153>
<Unit155> <Unit154>
<Filename Value="forms\analysis\measurement_programs\item_banking\matchitemunit.pas"/> <Filename Value="forms\analysis\measurement_programs\item_banking\matchitemunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="MatchItemForm"/> <ComponentName Value="MatchItemForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="MatchItemUnit"/> <UnitName Value="MatchItemUnit"/>
</Unit155> </Unit154>
<Unit156> <Unit155>
<Filename Value="forms\analysis\measurement_programs\item_banking\testspecsunit.pas"/> <Filename Value="forms\analysis\measurement_programs\item_banking\testspecsunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="TestSpecsForm"/> <ComponentName Value="TestSpecsForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="TestSpecsUnit"/> <UnitName Value="TestSpecsUnit"/>
</Unit156> </Unit155>
<Unit157> <Unit156>
<Filename Value="forms\analysis\nonparametric\simplechisqrunit.pas"/> <Filename Value="forms\analysis\nonparametric\simplechisqrunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="SimpleChiSqrForm"/> <ComponentName Value="SimpleChiSqrForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="SimpleChiSqrUnit"/> <UnitName Value="SimpleChiSqrUnit"/>
</Unit157> </Unit156>
<Unit158> <Unit157>
<Filename Value="forms\analysis\nonparametric\lifetableunit.pas"/> <Filename Value="forms\analysis\nonparametric\lifetableunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="LifeTableForm"/> <ComponentName Value="LifeTableForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="LifeTableUnit"/> <UnitName Value="LifeTableUnit"/>
</Unit158> </Unit157>
<Unit159> <Unit158>
<Filename Value="forms\analysis\multiple_regression\lsmrunit.pas"/> <Filename Value="forms\analysis\multiple_regression\lsmrunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="LSMregForm"/> <ComponentName Value="LSMregForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="LSMRUnit"/> <UnitName Value="LSMRUnit"/>
</Unit159> </Unit158>
<Unit160> <Unit159>
<Filename Value="forms\maindm.pas"/> <Filename Value="forms\maindm.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="MainDataModule"/> <ComponentName Value="MainDataModule"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="DataModule"/> <ResourceBaseClass Value="DataModule"/>
<UnitName Value="MainDM"/> <UnitName Value="MainDM"/>
</Unit160> </Unit159>
<Unit161> <Unit160>
<Filename Value="units\utils.pas"/> <Filename Value="units\utils.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="Utils"/> <UnitName Value="Utils"/>
</Unit161> </Unit160>
<Unit162> <Unit161>
<Filename Value="LazStats.inc"/> <Filename Value="LazStats.inc"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
</Unit162> </Unit161>
<Unit163> <Unit162>
<Filename Value="forms\misc\chartunit.pas"/> <Filename Value="forms\misc\chartunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="ChartForm"/> <ComponentName Value="ChartForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="ChartUnit"/> <UnitName Value="ChartUnit"/>
</Unit163> </Unit162>
<Unit164> <Unit163>
<Filename Value="units\mathunit.pas"/> <Filename Value="units\mathunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="MathUnit"/> <UnitName Value="MathUnit"/>
</Unit164> </Unit163>
<Unit165> <Unit164>
<Filename Value="frames\chartframeunit.pas"/> <Filename Value="frames\chartframeunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="ChartFrame"/> <ComponentName Value="ChartFrame"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Frame"/> <ResourceBaseClass Value="Frame"/>
<UnitName Value="ChartFrameUnit"/> <UnitName Value="ChartFrameUnit"/>
</Unit165> </Unit164>
<Unit166> <Unit165>
<Filename Value="forms\analysis\statistical_process_control\basicspcunit.pas"/> <Filename Value="forms\analysis\statistical_process_control\basicspcunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="BasicSPCForm"/> <ComponentName Value="BasicSPCForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="BasicSPCUnit"/> <UnitName Value="BasicSPCUnit"/>
</Unit166> </Unit165>
<Unit167> <Unit166>
<Filename Value="forms\analysis\statistical_process_control\schartunit.pas"/> <Filename Value="forms\analysis\statistical_process_control\schartunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="SChartForm"/> <ComponentName Value="SChartForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="SChartUnit"/> <UnitName Value="SChartUnit"/>
</Unit167> </Unit166>
<Unit168> <Unit167>
<Filename Value="forms\analysis\statistical_process_control\rchartunit.pas"/> <Filename Value="forms\analysis\statistical_process_control\rchartunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="RChartForm"/> <ComponentName Value="RChartForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="RChartUnit"/> <UnitName Value="RChartUnit"/>
</Unit168> </Unit167>
<Unit169> <Unit168>
<Filename Value="forms\analysis\statistical_process_control\xbarchartunit.pas"/> <Filename Value="forms\analysis\statistical_process_control\xbarchartunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="XBarChartForm"/> <ComponentName Value="XBarChartForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="XBarChartUnit"/> <UnitName Value="XBarChartUnit"/>
</Unit169> </Unit168>
<Unit170> <Unit169>
<Filename Value="forms\analysis\statistical_process_control\cchartunit.pas"/> <Filename Value="forms\analysis\statistical_process_control\cchartunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="CChartForm"/> <ComponentName Value="CChartForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="CChartUnit"/> <UnitName Value="CChartUnit"/>
</Unit170> </Unit169>
<Unit171> <Unit170>
<Filename Value="forms\analysis\statistical_process_control\pchartunit.pas"/> <Filename Value="forms\analysis\statistical_process_control\pchartunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="PChartForm"/> <ComponentName Value="PChartForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="PChartUnit"/> <UnitName Value="PChartUnit"/>
</Unit171> </Unit170>
<Unit172> <Unit171>
<Filename Value="forms\analysis\statistical_process_control\uchartunit.pas"/> <Filename Value="forms\analysis\statistical_process_control\uchartunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="UChartForm"/> <ComponentName Value="UChartForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="UChartUnit"/> <UnitName Value="UChartUnit"/>
</Unit172> </Unit171>
<Unit173> <Unit172>
<Filename Value="forms\analysis\statistical_process_control\cusumunit.pas"/> <Filename Value="forms\analysis\statistical_process_control\cusumunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="CUSUMChartForm"/> <ComponentName Value="CUSUMChartForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="CUSUMUnit"/> <UnitName Value="CUSUMUnit"/>
</Unit173> </Unit172>
<Unit174> <Unit173>
<Filename Value="frames\reportframeunit.pas"/> <Filename Value="frames\reportframeunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="ReportFrame"/> <ComponentName Value="ReportFrame"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Frame"/> <ResourceBaseClass Value="Frame"/>
<UnitName Value="ReportFrameUnit"/> <UnitName Value="ReportFrameUnit"/>
</Unit174> </Unit173>
<Unit175> <Unit174>
<Filename Value="forms\misc\basicstatsformunit.pas"/> <Filename Value="forms\misc\basicstatsformunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="BasicStatsForm"/> <ComponentName Value="BasicStatsForm"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="BasicStatsFormUnit"/> <UnitName Value="BasicStatsFormUnit"/>
</Unit174>
<Unit175>
<Filename Value="forms\misc\basicstatsparamsformunit.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="BasicStatsParamsForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="BasicStatsParamsFormUnit"/>
</Unit175> </Unit175>
<Unit176>
<Filename Value="forms\misc\basicstatschartformunit.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="BasicStatsChartForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="BasicStatsChartFormUnit"/>
</Unit176>
<Unit177>
<Filename Value="forms\analysis\descriptive\groupfrequnit.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="GroupFreqForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="GroupFreqUnit"/>
</Unit177>
</Units> </Units>
</ProjectOptions> </ProjectOptions>
<CompilerOptions> <CompilerOptions>

View File

@ -8,8 +8,7 @@ uses
{$ENDIF}{$ENDIF} {$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset Interfaces, // this includes the LCL widgetset
Forms, tachartlazaruspkg, tachartprint, lhelpcontrolpkg, Forms, tachartlazaruspkg, tachartprint, lhelpcontrolpkg,
Globals, LicenseUnit, OptionsUnit, MainDM, MainUnit, ReportFrameUnit, Globals, LicenseUnit, OptionsUnit, MainDM, MainUnit;
BasicStatsFormUnit;
{$R LazStats.res} {$R LazStats.res}
@ -29,7 +28,6 @@ begin
end; end;
Application.CreateForm(TMainDataModule, MainDataModule); Application.CreateForm(TMainDataModule, MainDataModule);
Application.CreateForm(TOS3MainFrm, OS3MainFrm); Application.CreateForm(TOS3MainFrm, OS3MainFrm);
Application.CreateForm(TBasicStatsForm, BasicStatsForm);
Application.Run; Application.Run;
end. end.

View File

@ -0,0 +1,18 @@
inherited BasicStatsChartForm: TBasicStatsChartForm
OnActivate = nil
OnCreate = FormCreate
inherited ParamsPanel: TPanel
inherited CloseBtn: TButton
OnClick = CloseBtnClick
end
inherited ComputeBtn: TButton
OnClick = ComputeBtnClick
end
inherited ResetBtn: TButton
OnClick = ResetBtnClick
end
inherited HelpBtn: TButton
OnClick = HelpBtnClick
end
end
end

View File

@ -0,0 +1,62 @@
{ Template for LazStats forms containing the ParamsPanel and a ChartFrame }
unit BasicStatsChartFormUnit;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs,
ChartFrameUnit, BasicStatsParamsFormUnit;
type
{ TBasicStatsChartForm }
TBasicStatsChartForm = class(TBasicStatsParamsForm)
private
protected
FChartFrame: TChartFrame;
public
constructor Create(AOwner: TComponent); override;
end;
var
BasicStatsChartForm: TBasicStatsChartForm;
implementation
{$R *.lfm}
uses
Utils;
{ TBasicStatsChartForm }
constructor TBasicStatsChartForm.Create(AOwner: TComponent);
begin
inherited;
FChartFrame := TChartFrame.Create(self);
FChartFrame.Parent := Self;
FChartFrame.Align := alClient;
FChartFrame.Chart.BottomAxis.Intervals.MaxLength := 80;
FChartFrame.Chart.BottomAxis.Intervals.MinLength := 30;
FChartFrame.BorderSpacing.Left := 4;
FChartFrame.BorderSpacing.Top := 8;
FChartFrame.BorderSpacing.Bottom := 8;
FChartFrame.BorderSpacing.Right := 8;
InitToolbar(FChartFrame.ChartToolbar, tpRight);
Reset;
end;
end.

View File

@ -0,0 +1,96 @@
inherited BasicStatsParamsForm: TBasicStatsParamsForm
Caption = 'BasicStatsParamsForm'
OnActivate = FormActivate
OnCreate = FormCreate
Position = poMainFormCenter
object ParamsPanel: TPanel[0]
Left = 8
Height = 443
Top = 8
Width = 291
Align = alLeft
BorderSpacing.Left = 8
BorderSpacing.Top = 8
BorderSpacing.Right = 4
BorderSpacing.Bottom = 8
BevelOuter = bvNone
ClientHeight = 443
ClientWidth = 291
TabOrder = 0
object CloseBtn: TButton
AnchorSideRight.Control = ParamsPanel
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = ParamsPanel
AnchorSideBottom.Side = asrBottom
Left = 236
Height = 25
Top = 418
Width = 55
Anchors = [akRight, akBottom]
AutoSize = True
BorderSpacing.Left = 8
BorderSpacing.Top = 8
Caption = 'Close'
TabOrder = 0
end
object ComputeBtn: TButton
AnchorSideTop.Control = CloseBtn
AnchorSideRight.Control = CloseBtn
Left = 153
Height = 25
Top = 418
Width = 75
Anchors = [akTop, akRight]
BorderSpacing.Left = 8
BorderSpacing.Right = 8
Caption = 'Compute'
TabOrder = 1
end
object ResetBtn: TButton
AnchorSideTop.Control = CloseBtn
AnchorSideRight.Control = ComputeBtn
Left = 91
Height = 25
Top = 418
Width = 54
Anchors = [akTop, akRight]
AutoSize = True
BorderSpacing.Left = 8
BorderSpacing.Right = 8
Caption = 'Reset'
TabOrder = 2
end
object HelpBtn: TButton
AnchorSideTop.Control = CloseBtn
AnchorSideRight.Control = ResetBtn
Left = 32
Height = 25
Top = 418
Width = 51
Anchors = [akTop, akRight]
AutoSize = True
BorderSpacing.Right = 8
Caption = 'Help'
TabOrder = 3
end
object ButtonBevel: TBevel
AnchorSideLeft.Control = ParamsPanel
AnchorSideRight.Control = ParamsPanel
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = CloseBtn
Left = 0
Height = 8
Top = 402
Width = 291
Anchors = [akLeft, akRight, akBottom]
Shape = bsBottomLine
end
end
object ParamsSplitter: TSplitter[1]
Left = 303
Height = 459
Top = 0
Width = 5
ResizeStyle = rsPattern
end
end

View File

@ -0,0 +1,154 @@
unit BasicStatsParamsFormUnit;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls,
ContextHelpUnit, BasicStatsFormUnit;
type
{ TBasicStatsParamsForm }
TBasicStatsParamsForm = class(TBasicStatsForm)
ButtonBevel: TBevel;
CloseBtn: TButton;
ComputeBtn: TButton;
ResetBtn: TButton;
HelpBtn: TButton;
ParamsPanel: TPanel;
ParamsSplitter: TSplitter;
procedure CloseBtnClick(Sender: TObject);
procedure ComputeBtnClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure HelpBtnClick(Sender: TObject);
procedure ResetBtnClick(Sender: TObject);
private
protected
FAutoSized: Boolean;
procedure AdjustConstraints; virtual;
procedure Compute; virtual;
function Validate(out AMsg: String; out AControl: TWinControl): Boolean; virtual;
public
constructor Create(AOwner: TComponent); override;
end;
var
BasicStatsParamsForm: TBasicStatsParamsForm;
implementation
{$R *.lfm}
uses
Math,
Utils;
{ TBasicStatsParamsForm }
constructor TBasicStatsParamsForm.Create(AOwner: TComponent);
begin
inherited;
CloseBtn.OnClick := @CloseBtnClick;
ComputeBtn.OnClick := @ComputeBtnClick;
ResetBtn.OnClick := @ResetBtnClick;
HelpBtn.OnClick := @HelpBtnClick;
end;
procedure TBasicStatsParamsForm.AdjustConstraints;
begin
// be be overridden
end;
procedure TBasicStatsParamsForm.CloseBtnClick(Sender: TObject);
begin
Close;
end;
procedure TBasicStatsParamsForm.Compute;
begin
// to be overridden
end;
procedure TBasicStatsParamsForm.ComputeBtnClick(Sender: TObject);
var
msg: String;
C: TWinControl;
begin
if not Validate(msg, C) then
begin
if Assigned(C) and C.CanFocus then
C.SetFocus;
ErrorMsg(msg);
exit;
end;
Compute;
end;
procedure TBasicStatsParamsForm.FormActivate(Sender: TObject);
var
w: Integer;
begin
if FAutoSized then
exit;
w := MaxValue([ResetBtn.Width, ComputeBtn.Width, CloseBtn.Width]);
ResetBtn.Constraints.MinWidth := w;
ComputeBtn.Constraints.MinWidth := w;
CloseBtn.Constraints.MinWidth := w;
AdjustConstraints;
if Width < Constraints.MinWidth then Width := 1; // enforce constraints
if Height < Constraints.MinHeight then Height := 1;
Position := poDesigned;
FAutoSized := true;
end;
procedure TBasicStatsParamsForm.FormCreate(Sender: TObject);
begin
InitForm(self);
Reset;
end;
procedure TBasicStatsParamsForm.HelpBtnClick(Sender: TObject);
begin
if ContextHelpForm = nil then
Application.CreateForm(TContextHelpForm, ContextHelpForm);
ContextHelpForm.HelpMessage((Sender as TButton).Tag);
end;
procedure TBasicStatsParamsForm.ResetBtnClick(Sender: TObject);
begin
Reset;
end;
function TBasicStatsParamsForm.Validate(out AMsg: String;
out AControl: TWinControl): Boolean;
begin
AMsg := '';
AControl := nil;
Result := true;
end;
end.