LazStats: Move help text on form of SmoothDataUnit to "contextual" helpfile.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7762 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2020-10-10 18:01:57 +00:00
parent 65ee7405e5
commit 9b96b7f82f
4 changed files with 53 additions and 42 deletions

View File

@ -65,3 +65,4 @@ correlation, means, standard deviations and confidence interval for each correla
161=Directions:\n(1) Select the X variable common to all of the Y variables to be selected.\n(2) Select the Y variables.\n(3) Enter a label for the plot.\n(4) Select the options desired.\n(5) Click the Compute button to obtain results. 161=Directions:\n(1) Select the X variable common to all of the Y variables to be selected.\n(2) Select the Y variables.\n(3) Enter a label for the plot.\n(4) Select the options desired.\n(5) Click the Compute button to obtain results.
162=This procedure plots the frequency of cases in each of the groups in a group variable. The group variable should be defined as an integer variable.\n\nSelect the variable and type of plot and click the Compute button for the results. 162=This procedure plots the frequency of cases in each of the groups in a group variable. The group variable should be defined as an integer variable.\n\nSelect the variable and type of plot and click the Compute button for the results.
163=The Resistant Line procedure creates three equal groups by sorting on the X variable and obtaining the median value of each group.\n\nThe median values for these three groups on both the X and Y variables are then plotted. The line from the low group median to the middle group median is plotted as well as the line from the middle group to the top group median. A comparison of the slope of these two lines gives an indication of the degree to which the data fit a straight line. Enter the X and Y variables to be analyzed and click the compute button. 163=The Resistant Line procedure creates three equal groups by sorting on the X variable and obtaining the median value of each group.\n\nThe median values for these three groups on both the X and Y variables are then plotted. The line from the low group median to the middle group median is plotted as well as the line from the middle group to the top group median. A comparison of the slope of these two lines gives an indication of the degree to which the data fit a straight line. Enter the X and Y variables to be analyzed and click the compute button.
164=This procedure smooths data by averaging every three data points starting with the first three to the last three. The data smoothing can be repeated multiple times. The first and last data points are unchanged.

View File

@ -13,17 +13,16 @@ object DataSmoothingForm: TDataSmoothingForm
OnCreate = FormCreate OnCreate = FormCreate
OnShow = ResetBtnClick OnShow = ResetBtnClick
Position = poMainFormCenter Position = poMainFormCenter
LCLVersion = '2.0.10.0' LCLVersion = '2.1.0.0'
object Label1: TLabel object Label1: TLabel
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Memo1 AnchorSideTop.Control = Owner
AnchorSideTop.Side = asrBottom
Left = 8 Left = 8
Height = 15 Height = 15
Top = 80 Top = 8
Width = 49 Width = 49
BorderSpacing.Left = 8 BorderSpacing.Left = 8
BorderSpacing.Top = 12 BorderSpacing.Top = 8
Caption = 'Variables:' Caption = 'Variables:'
ParentColor = False ParentColor = False
end end
@ -34,9 +33,9 @@ object DataSmoothingForm: TDataSmoothingForm
AnchorSideRight.Control = VarInBtn AnchorSideRight.Control = VarInBtn
AnchorSideBottom.Control = RepeatChk AnchorSideBottom.Control = RepeatChk
Left = 8 Left = 8
Height = 211 Height = 283
Top = 97 Top = 25
Width = 184 Width = 188
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Left = 8 BorderSpacing.Left = 8
BorderSpacing.Top = 2 BorderSpacing.Top = 2
@ -49,9 +48,9 @@ object DataSmoothingForm: TDataSmoothingForm
object VarInBtn: TBitBtn object VarInBtn: TBitBtn
AnchorSideTop.Control = VarList AnchorSideTop.Control = VarList
AnchorSideRight.Control = SelectedEdit AnchorSideRight.Control = SelectedEdit
Left = 200 Left = 204
Height = 28 Height = 28
Top = 97 Top = 25
Width = 28 Width = 28
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
BorderSpacing.Right = 8 BorderSpacing.Right = 8
@ -65,9 +64,9 @@ object DataSmoothingForm: TDataSmoothingForm
AnchorSideLeft.Control = VarInBtn AnchorSideLeft.Control = VarInBtn
AnchorSideTop.Control = VarInBtn AnchorSideTop.Control = VarInBtn
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 200 Left = 204
Height = 28 Height = 28
Top = 129 Top = 57
Width = 28 Width = 28
BorderSpacing.Top = 4 BorderSpacing.Top = 4
Images = MainDataModule.ImageList Images = MainDataModule.ImageList
@ -79,9 +78,9 @@ object DataSmoothingForm: TDataSmoothingForm
object Label2: TLabel object Label2: TLabel
AnchorSideLeft.Control = SelectedEdit AnchorSideLeft.Control = SelectedEdit
AnchorSideBottom.Control = SelectedEdit AnchorSideBottom.Control = SelectedEdit
Left = 236 Left = 240
Height = 15 Height = 15
Top = 105 Top = 33
Width = 47 Width = 47
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
BorderSpacing.Bottom = 2 BorderSpacing.Bottom = 2
@ -93,10 +92,10 @@ object DataSmoothingForm: TDataSmoothingForm
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = VarOutBtn AnchorSideBottom.Control = VarOutBtn
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 236 Left = 240
Height = 23 Height = 23
Top = 122 Top = 50
Width = 128 Width = 124
Anchors = [akRight, akBottom] Anchors = [akRight, akBottom]
BorderSpacing.Right = 8 BorderSpacing.Right = 8
BorderSpacing.Bottom = 12 BorderSpacing.Bottom = 12
@ -119,7 +118,7 @@ object DataSmoothingForm: TDataSmoothingForm
BorderSpacing.Bottom = 8 BorderSpacing.Bottom = 8
Caption = 'Reset' Caption = 'Reset'
OnClick = ResetBtnClick OnClick = ResetBtnClick
TabOrder = 4 TabOrder = 7
end end
object ComputeBtn: TButton object ComputeBtn: TButton
AnchorSideRight.Control = CloseBtn AnchorSideRight.Control = CloseBtn
@ -135,7 +134,7 @@ object DataSmoothingForm: TDataSmoothingForm
BorderSpacing.Bottom = 8 BorderSpacing.Bottom = 8
Caption = 'Compute' Caption = 'Compute'
OnClick = ComputeBtnClick OnClick = ComputeBtnClick
TabOrder = 5 TabOrder = 8
end end
object CloseBtn: TButton object CloseBtn: TButton
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
@ -153,7 +152,7 @@ object DataSmoothingForm: TDataSmoothingForm
Caption = 'Close' Caption = 'Close'
ModalResult = 11 ModalResult = 11
OnClick = CloseBtnClick OnClick = CloseBtnClick
TabOrder = 6 TabOrder = 9
end end
object RepeatChk: TCheckBox object RepeatChk: TCheckBox
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
@ -169,7 +168,7 @@ object DataSmoothingForm: TDataSmoothingForm
BorderSpacing.Top = 8 BorderSpacing.Top = 8
BorderSpacing.Bottom = 4 BorderSpacing.Bottom = 4
Caption = 'Execute smoothing' Caption = 'Execute smoothing'
TabOrder = 7 TabOrder = 4
end end
object RepeatEdit: TEdit object RepeatEdit: TEdit
AnchorSideLeft.Control = RepeatChk AnchorSideLeft.Control = RepeatChk
@ -182,7 +181,7 @@ object DataSmoothingForm: TDataSmoothingForm
Width = 32 Width = 32
Alignment = taRightJustify Alignment = taRightJustify
BorderSpacing.Left = 8 BorderSpacing.Left = 8
TabOrder = 8 TabOrder = 5
Text = '1' Text = '1'
end end
object Bevel1: TBevel object Bevel1: TBevel
@ -198,23 +197,6 @@ object DataSmoothingForm: TDataSmoothingForm
BorderSpacing.Bottom = 8 BorderSpacing.Bottom = 8
Shape = bsBottomLine Shape = bsBottomLine
end end
object Memo1: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 8
Height = 60
Top = 8
Width = 356
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 8
BorderSpacing.Top = 8
BorderSpacing.Right = 8
Caption = 'This procedure smooths data by averaging every three data points starting with the first three to the last three. The data smoothing can be repeated multiple times. The first and last data points are unchanged.'
ParentColor = False
WordWrap = True
end
object Label3: TLabel object Label3: TLabel
AnchorSideLeft.Control = RepeatEdit AnchorSideLeft.Control = RepeatEdit
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
@ -228,4 +210,22 @@ object DataSmoothingForm: TDataSmoothingForm
Caption = 'times' Caption = 'times'
ParentColor = False ParentColor = False
end end
object HelpBtn: TButton
Tag = 164
AnchorSideRight.Control = ResetBtn
AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom
Left = 95
Height = 25
Top = 355
Width = 51
Anchors = [akRight, akBottom]
AutoSize = True
BorderSpacing.Left = 12
BorderSpacing.Right = 9
BorderSpacing.Bottom = 8
Caption = 'Help'
OnClick = HelpBtnClick
TabOrder = 6
end
end end

View File

@ -7,7 +7,7 @@ interface
uses uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs, Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
StdCtrls, Buttons, ExtCtrls, StdCtrls, Buttons, ExtCtrls,
MainUnit, Globals, DictionaryUnit; MainUnit, Globals, DictionaryUnit, ContextHelpUnit;
type type
@ -16,12 +16,12 @@ type
TDataSmoothingForm = class(TForm) TDataSmoothingForm = class(TForm)
Bevel1: TBevel; Bevel1: TBevel;
Label3: TLabel; Label3: TLabel;
Memo1: TLabel;
RepeatEdit: TEdit; RepeatEdit: TEdit;
RepeatChk: TCheckBox; RepeatChk: TCheckBox;
ResetBtn: TButton; ResetBtn: TButton;
ComputeBtn: TButton; ComputeBtn: TButton;
CloseBtn: TButton; CloseBtn: TButton;
HelpBtn: TButton;
SelectedEdit: TEdit; SelectedEdit: TEdit;
Label2: TLabel; Label2: TLabel;
VarInBtn: TBitBtn; VarInBtn: TBitBtn;
@ -32,6 +32,7 @@ type
procedure ComputeBtnClick(Sender: TObject); procedure ComputeBtnClick(Sender: TObject);
procedure FormActivate(Sender: TObject); procedure FormActivate(Sender: TObject);
procedure FormCreate(Sender: TObject); procedure FormCreate(Sender: TObject);
procedure HelpBtnClick(Sender: TObject);
procedure ResetBtnClick(Sender: TObject); procedure ResetBtnClick(Sender: TObject);
procedure VarInBtnClick(Sender: TObject); procedure VarInBtnClick(Sender: TObject);
procedure VarListSelectionChange(Sender: TObject; User: boolean); procedure VarListSelectionChange(Sender: TObject; User: boolean);
@ -142,7 +143,8 @@ begin
if FAutoSized then if FAutoSized then
exit; exit;
w := MaxValue([ResetBtn.Width, ComputeBtn.Width, CloseBtn.Width]); w := MaxValue([HelpBtn.Width, ResetBtn.Width, ComputeBtn.Width, CloseBtn.Width]);
HelpBtn.Constraints.MinWidth := w;
ResetBtn.Constraints.MinWidth := w; ResetBtn.Constraints.MinWidth := w;
ComputeBtn.Constraints.MinWidth := w; ComputeBtn.Constraints.MinWidth := w;
CloseBtn.Constraints.MinWidth := w; CloseBtn.Constraints.MinWidth := w;
@ -156,6 +158,13 @@ begin
if DictionaryFrm = nil then Application.CreateForm(TDictionaryFrm, DictionaryFrm); if DictionaryFrm = nil then Application.CreateForm(TDictionaryFrm, DictionaryFrm);
end; end;
procedure TDataSmoothingForm.HelpBtnClick(Sender: TObject);
begin
if ContextHelpForm = nil then
Application.CreateForm(TContextHelpForm, ContextHelpForm);
ContextHelpForm.HelpMessage((Sender as TButton).Tag);
end;
procedure TDataSmoothingForm.VarInBtnClick(Sender: TObject); procedure TDataSmoothingForm.VarInBtnClick(Sender: TObject);
var var
index: integer; index: integer;

View File

@ -74,6 +74,7 @@ inherited BasicStatsParamsForm: TBasicStatsParamsForm
AutoSize = True AutoSize = True
BorderSpacing.Right = 8 BorderSpacing.Right = 8
Caption = 'Help' Caption = 'Help'
OnClick = HelpBtnClick
TabOrder = 3 TabOrder = 3
end end
object ButtonBevel: TBevel object ButtonBevel: TBevel