LazStats: Beginning to link chm help to the help button on the form. Finetuning and chm update of PlotXYUnit.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8022 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2021-05-10 16:51:59 +00:00
parent 4c6e6ba31a
commit d06acd4590
11 changed files with 58 additions and 52 deletions

Binary file not shown.

View File

@ -33,8 +33,9 @@ inherited DescriptiveFrm: TDescriptiveFrm
inherited HelpBtn: TButton
Left = 30
Top = 391
HelpType = htKeyword
HelpKeyword = 'html/DistributionStatistics.htm'
TabOrder = 8
Visible = False
end
inherited ButtonBevel: TBevel
Top = 375
@ -163,13 +164,14 @@ inherited DescriptiveFrm: TDescriptiveFrm
end
object OptionsGroup: TGroupBox[13]
AnchorSideLeft.Control = ParamsPanel
AnchorSideRight.Control = ParamsPanel
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = CIEdit
Left = 0
Height = 72
Top = 243
Width = 306
Anchors = [akLeft, akBottom]
Width = 290
Anchors = [akLeft, akRight, akBottom]
AutoSize = True
BorderSpacing.Bottom = 8
Caption = 'Options'
@ -180,7 +182,7 @@ inherited DescriptiveFrm: TDescriptiveFrm
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 2
ClientHeight = 52
ClientWidth = 302
ClientWidth = 286
TabOrder = 5
object CaseChk: TCheckBox
Left = 12

View File

@ -360,7 +360,7 @@ begin
DecPlacesEdit.Height + DecPlacesEdit.BorderSpacing.Top;
ParamsPanel.Constraints.MinWidth := Math.Max(
3*CloseBtn.Width + 2*CloseBtn.BorderSpacing.Left,
4*CloseBtn.Width + 3*CloseBtn.BorderSpacing.Left,
OptionsGroup.Width
);
end;

View File

@ -31,8 +31,9 @@ inherited FreqFrm: TFreqFrm
inherited HelpBtn: TButton
Left = 4
Top = 344
HelpType = htKeyword
HelpKeyword = 'html/FrequencyAnalysis.htm'
TabOrder = 7
Visible = False
end
inherited ButtonBevel: TBevel
Top = 328

View File

@ -98,8 +98,9 @@ begin
PlotOptionsGroup.BorderSpacing.Top + PlotOptionsGroup.Height +
ButtonBevel.Height +
CloseBtn.BorderSpacing.Top + CloseBtn.Height;
ParamsPanel.Constraints.MinWidth := MaxValue([
CountUsedButtons*CloseBtn.Width + (CountUsedButtons-1)*CloseBtn.BorderSpacing.Left,
4*CloseBtn.Width + 3*CloseBtn.BorderSpacing.Left,
BinSelectionGroup.Width,
Panel1.Constraints.MinWidth
]);

View File

@ -32,8 +32,9 @@ inherited GroupFreqForm: TGroupFreqForm
Tag = 162
Left = 0
Top = 238
HelpType = htKeyword
HelpKeyword = 'html/GroupFrequencyAnalysis.htm'
TabOrder = 6
Visible = False
end
inherited ButtonBevel: TBevel
Top = 222

View File

@ -71,7 +71,7 @@ end;
procedure TGroupFreqForm.AdjustConstraints;
begin
ParamsPanel.Constraints.MinWidth := MaxValueI( [
CountUsedButtons*CloseBtn.Width + (CountUsedButtons-1)*CloseBtn.BorderSpacing.Left,
4*CloseBtn.Width + 3*CloseBtn.BorderSpacing.Left,
PlotOptionsGroup.Width*2 - GrpInBtn.Width + GrpVaredit.BorderSpacing.Left,
(Max(Label1.Width, Label2.Width) + GrpVarEdit.BorderSpacing.Left) * 2
]);

View File

@ -4,38 +4,40 @@ inherited PlotXYForm: TPlotXYForm
Top = 175
Width = 1000
HelpType = htKeyword
HelpKeyword = 'html/XVersusYPlot.htm'
HelpKeyword = 'html/PlotXvsY.htm'
Caption = 'Plot X versus Y'
ClientHeight = 500
ClientWidth = 1000
inherited ParamsPanel: TPanel
Height = 484
Width = 376
Width = 360
ClientHeight = 484
ClientWidth = 376
ClientWidth = 360
inherited CloseBtn: TButton
Left = 321
Left = 305
Top = 459
TabOrder = 11
end
inherited ComputeBtn: TButton
Left = 237
Left = 221
Top = 459
TabOrder = 10
end
inherited ResetBtn: TButton
Left = 175
Left = 159
Top = 459
TabOrder = 9
end
inherited HelpBtn: TButton
Left = 116
Left = 100
Top = 459
HelpType = htKeyword
HelpKeyword = 'html/PlotXvsY.htm'
TabOrder = 8
end
inherited ButtonBevel: TBevel
Top = 443
Width = 376
Width = 360
end
object Label1: TLabel[5]
AnchorSideLeft.Control = ParamsPanel
@ -57,7 +59,7 @@ inherited PlotXYForm: TPlotXYForm
Left = 0
Height = 426
Top = 17
Width = 167
Width = 159
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Top = 2
BorderSpacing.Bottom = 8
@ -70,7 +72,7 @@ inherited PlotXYForm: TPlotXYForm
AnchorSideLeft.Control = XEdit
AnchorSideTop.Side = asrBottom
AnchorSideBottom.Control = XEdit
Left = 209
Left = 201
Height = 15
Top = 19
Width = 76
@ -82,7 +84,7 @@ inherited PlotXYForm: TPlotXYForm
object Label3: TLabel[8]
AnchorSideLeft.Control = YEdit
AnchorSideBottom.Control = YEdit
Left = 209
Left = 201
Height = 15
Top = 101
Width = 76
@ -95,7 +97,7 @@ inherited PlotXYForm: TPlotXYForm
AnchorSideLeft.Control = ParamsPanel
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = VarList
Left = 175
Left = 167
Height = 26
Top = 17
Width = 26
@ -112,7 +114,7 @@ inherited PlotXYForm: TPlotXYForm
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = XInBtn
AnchorSideTop.Side = asrBottom
Left = 175
Left = 167
Height = 26
Top = 47
Width = 26
@ -129,7 +131,7 @@ inherited PlotXYForm: TPlotXYForm
AnchorSideTop.Control = XOutBtn
AnchorSideTop.Side = asrBottom
AnchorSideBottom.Control = YOutBtn
Left = 175
Left = 167
Height = 26
Top = 97
Width = 26
@ -148,7 +150,7 @@ inherited PlotXYForm: TPlotXYForm
AnchorSideTop.Side = asrBottom
AnchorSideBottom.Control = VarList
AnchorSideBottom.Side = asrBottom
Left = 175
Left = 167
Height = 26
Top = 127
Width = 26
@ -166,14 +168,13 @@ inherited PlotXYForm: TPlotXYForm
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = XOutBtn
AnchorSideBottom.Side = asrBottom
Left = 209
Left = 201
Height = 23
Top = 38
Width = 159
Anchors = [akLeft, akRight, akBottom]
BorderSpacing.Left = 8
BorderSpacing.Top = 4
BorderSpacing.Right = 8
BorderSpacing.Bottom = 12
ReadOnly = True
TabOrder = 3
@ -185,10 +186,10 @@ inherited PlotXYForm: TPlotXYForm
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = YOutBtn
AnchorSideBottom.Side = asrBottom
Left = 209
Left = 201
Height = 23
Top = 118
Width = 167
Width = 159
Anchors = [akLeft, akRight, akBottom]
BorderSpacing.Bottom = 12
ReadOnly = True
@ -199,17 +200,19 @@ inherited PlotXYForm: TPlotXYForm
AnchorSideLeft.Control = XInBtn
AnchorSideTop.Control = YEdit
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = ParamsPanel
AnchorSideRight.Side = asrBottom
Left = 175
Left = 167
Height = 120
Top = 165
Width = 191
Width = 193
Anchors = [akTop, akLeft, akRight]
AutoSize = True
BorderSpacing.Top = 24
Caption = 'Options'
ChildSizing.LeftRightSpacing = 12
ClientHeight = 100
ClientWidth = 187
ClientWidth = 189
TabOrder = 7
object Label4: TLabel
AnchorSideLeft.Control = ConfChk
@ -278,12 +281,12 @@ inherited PlotXYForm: TPlotXYForm
end
end
inherited ParamsSplitter: TSplitter
Left = 388
Left = 372
Height = 500
end
inherited PageControl: TPageControl
Left = 397
Left = 381
Height = 484
Width = 595
Width = 611
end
end

View File

@ -106,13 +106,13 @@ end;
procedure TPlotXYForm.AdjustConstraints;
begin
ParamsPanel.Constraints.MinHeight := OptionsGroup.Top + OptionsGroup.Height +
ParamsPanel.Constraints.MinHeight :=
OptionsGroup.Top + OptionsGroup.Height +
OptionsGroup.BorderSpacing.Bottom + ButtonBevel.Height +
CloseBtn.Height + CloseBtn.BorderSpacing.Top;
ParamsPanel.Constraints.MinWidth := OptionsGroup.Width * 2 - XInBtn.Width div 2 - XInBtn.BorderSpacing.Left;
Constraints.MinHeight := ParamsPanel.Constraints.MinHeight + ParamsPanel.BorderSpacing.Around*2;
Constraints.MinWidth := ParamsPanel.Constraints.MinWidth + 200;
ParamsPanel.Constraints.MinWidth :=
OptionsGroup.Width * 2 - XInBtn.Width;
end;
@ -124,18 +124,7 @@ var
xCol, yCol: Integer;
confBand: Double;
regressionRes: TBivariateRegressionResults;
C: TWinControl;
msg: String;
begin
// Validation: Make sure that XEdit and YEdit are not empty
if not Validate(msg, C) then
begin
C.SetFocus;
ErrorMsg(msg);
ModalResult := mrNone;
exit;
end;
// Extract data from Grid
if not PrepareData(OS3MainFrm.DataGrid, xCol, yCol, xValues, yValues, ColNoSelected) then
exit;
@ -324,6 +313,7 @@ begin
if XEdit.Text = '' then
begin
AControl := XEdit;
AMsg := 'No variable selected for X.';
exit;
end;

View File

@ -155,9 +155,17 @@ end;
procedure TBasicStatsParamsForm.HelpBtnClick(Sender: TObject);
begin
if ContextHelpForm = nil then
Application.CreateForm(TContextHelpForm, ContextHelpForm);
ContextHelpForm.HelpMessage((Sender as TButton).Tag);
if (Sender as TControl).HelpContext <> 0 then
Application.HelpContext((Sender as TControl).HelpContext)
else
if (Sender as TControl).HelpKeyword <> '' then
Application.HelpKeyword((Sender as TControl).HelpKeyword)
else
begin
if ContextHelpForm = nil then
Application.CreateForm(TContextHelpForm, ContextHelpForm);
ContextHelpForm.HelpMessage((Sender as TButton).Tag);
end;
end;