LazStats: Beginning to integrate chm help into LazStats (Analysis > Descriptive)

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7426 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2020-05-02 20:01:14 +00:00
parent eb3dd9b59a
commit 4430a14489
19 changed files with 74 additions and 3 deletions

View File

@ -3,6 +3,8 @@ object BoxPlotFrm: TBoxPlotFrm
Height = 365
Top = 119
Width = 361
HelpType = htKeyword
HelpKeyword = 'BoxPlots.htm'
AutoSize = True
Caption = 'Box Plot'
ClientHeight = 365

View File

@ -3,6 +3,8 @@ object BreakDownFrm: TBreakDownFrm
Height = 367
Top = 248
Width = 428
HelpType = htKeyword
HelpKeyword = 'Breakdown.htm'
AutoSize = True
Caption = 'Breakdown'
ClientHeight = 367

View File

@ -3,6 +3,8 @@ object BubbleForm: TBubbleForm
Height = 454
Top = 253
Width = 500
HelpType = htKeyword
HelpKeyword = 'RepeatedMeasuresBubblePlot.htm'
AutoSize = True
Caption = 'Repeated Measures Bubble Plot'
ClientHeight = 454

View File

@ -3,6 +3,8 @@ object CompareDistFrm: TCompareDistFrm
Height = 375
Top = 227
Width = 516
HelpType = htKeyword
HelpKeyword = 'ComparisonsWithTheoreticalDistri.htm'
AutoSize = True
Caption = 'Compare Cumulative Distributions'
ClientHeight = 375

View File

@ -3,6 +3,8 @@ object CrossTabFrm: TCrossTabFrm
Height = 347
Top = 230
Width = 421
HelpType = htKeyword
HelpKeyword = 'Cross-tabulation.htm'
AutoSize = True
Caption = 'Cross Tabulation'
ClientHeight = 347

View File

@ -3,6 +3,8 @@ object DescriptiveFrm: TDescriptiveFrm
Height = 393
Top = 226
Width = 453
HelpType = htKeyword
HelpKeyword = 'DistributionStatistics.htm'
AutoSize = True
Caption = 'Descriptive Statistics'
ClientHeight = 393

View File

@ -3,6 +3,8 @@ object FreqFrm: TFreqFrm
Height = 388
Top = 228
Width = 502
HelpType = htKeyword
HelpKeyword = 'FrequencyAnalysis.htm'
Caption = 'Frequency Distribution'
ClientHeight = 388
ClientWidth = 502

View File

@ -3,6 +3,8 @@ object GroupFreqForm: TGroupFreqForm
Height = 341
Top = 233
Width = 444
HelpType = htKeyword
HelpKeyword = 'GroupFrequencyHistograms.htm'
AutoSize = True
Caption = 'Group Frequency Analysis'
ClientHeight = 341

View File

@ -3,6 +3,8 @@ object MultXvsYFrm: TMultXvsYFrm
Height = 416
Top = 216
Width = 395
HelpType = htKeyword
HelpKeyword = 'MultipleGroupXVersusYPlot.htm'
Anchors = [akLeft]
AutoSize = True
Caption = 'Multiple X Versus Y Plot'

View File

@ -3,6 +3,8 @@ object NormalityFrm: TNormalityFrm
Height = 396
Top = 294
Width = 402
HelpType = htKeyword
HelpKeyword = 'NormalityTests.htm'
Caption = 'Normality Tests'
ClientHeight = 396
ClientWidth = 402

View File

@ -3,6 +3,8 @@ object PlotXYFrm: TPlotXYFrm
Height = 367
Top = 262
Width = 490
HelpType = htKeyword
HelpKeyword = 'XVersusYPlot.htm'
AutoSize = True
Caption = 'Plot X versus Y'
ClientHeight = 367

View File

@ -3,6 +3,8 @@ object ResistanceLineForm: TResistanceLineForm
Height = 480
Top = 301
Width = 535
HelpType = htKeyword
HelpKeyword = 'ResistantLineforBivariateData.htm'
Caption = 'Resistant Line for Bivariate Data'
ClientHeight = 480
ClientWidth = 535

View File

@ -3,6 +3,8 @@ object Rot3DFrm: TRot3DFrm
Height = 527
Top = 153
Width = 710
HelpType = htKeyword
HelpKeyword = 'ThreeDimensionalRotation.htm'
Caption = 'Three Dimension Rotation'
ClientHeight = 527
ClientWidth = 710

View File

@ -3,6 +3,8 @@ object DataSmoothingForm: TDataSmoothingForm
Height = 388
Top = 284
Width = 372
HelpType = htKeyword
HelpKeyword = 'DataSmoothing.htm'
AutoSize = True
Caption = 'Smooth Data'
ClientHeight = 388

View File

@ -3,6 +3,8 @@ object StemLeafFrm: TStemLeafFrm
Height = 296
Top = 257
Width = 407
HelpType = htKeyword
HelpKeyword = 'StemandLeafPlot.htm'
AutoSize = True
Caption = 'Stem and Leaf Analysis'
ClientHeight = 296

View File

@ -3,6 +3,8 @@ object XvsMultYForm: TXvsMultYForm
Height = 467
Top = 117
Width = 452
HelpType = htKeyword
HelpKeyword = 'PlotXVersusMultipleYValues.htm'
Caption = 'X vs Multiple Y Plot'
ClientHeight = 467
ClientWidth = 452

View File

@ -3,6 +3,8 @@ object MatManFrm: TMatManFrm
Height = 575
Top = 176
Width = 943
HelpType = htKeyword
HelpKeyword = 'DistributionStatistics.htm'
Caption = 'Matrix Manipulation'
ClientHeight = 555
ClientWidth = 943

View File

@ -7,11 +7,18 @@ unit MainUnit;
{$mode objfpc}{$H+}
{$DEFINE USE_EXTERNAL_HELP_VIEWER}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
Menus, ExtCtrls, StdCtrls, Grids,
{$IFDEF USE_EXTERNAL_HELP_VIEWER}
{$IFDEF MSWINDOWS}
HtmlHelp,
{$ENDIF}
{$ENDIF}
Globals, DataProcs, DictionaryUnit;
type
@ -424,6 +431,11 @@ type
procedure XvsMultYClick(Sender: TObject);
private
{ private declarations }
{$IFDEF USE_EXTERNAL_HELP_VIEWER}
{$IFDEF MSWINDOWS}
function HelpHandler(Command: Word; Data: PtrInt; var CallHelp: Boolean): Boolean;
{$ENDIF}
{$ENDIF}
procedure Init;
public
{ public declarations }
@ -1280,9 +1292,15 @@ begin
if OutputFrm = nil then
Application.CreateForm(TOutputFrm, OutputFrm);
(* if OptionsFrm = nil then
Application.CreateForm(TOptionsFrm, OptionsFrm);
*)
{$IFDEF USE_EXTERNAL_HELP_VIEWER}
{$IFDEF MSWINDOWS}
Application.HelpFile := Application.Location + 'LazStats.chm';
if FileExists(Application.HelpFile) then
Application.OnHelp := @HelpHandler
else
Application.HelpFile := '';
{$ENDIF}
{$ENDIF}
end;
procedure TOS3MainFrm.DataGridKeyPress(Sender: TObject; var Key: char);
@ -1564,6 +1582,25 @@ begin
end;
end;
{$IFDEF USE_EXTERNAL_HELP_VIEWER}
{$IFDEF MSWINDOWS}
// Call HTML help (.chm file)
// Is is expected that help topics are specified as HelpKeyword (HelpType = htContext).
// Using numeric HelpContext values will crash the application.
function TOS3MainFrm.HelpHandler(Command:word; Data:PtrInt;
var CallHelp:Boolean): Boolean;
var
topic: UnicodeString;
begin
topic := Application.HelpFile + '::/' + PChar(Data);
htmlhelp.HtmlHelpW(0, PWideChar(topic), HH_DISPLAY_TOPIC, 0);
// Don't call regular help
CallHelp := False;
end;
{$ENDIF}
{$ENDIF}
procedure TOS3MainFrm.Init;
var
i: integer;