From 4430a144898124158aaed49c30d250f3d9d3e417 Mon Sep 17 00:00:00 2001 From: wp_xxyyzz Date: Sat, 2 May 2020 20:01:14 +0000 Subject: [PATCH] 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 --- .../lazstats/{docs/chm => }/LazStats.chm | Bin 2553555 -> 2553557 bytes .../analysis/descriptive/boxplotunit.lfm | 2 + .../analysis/descriptive/breakdownunit.lfm | 2 + .../analysis/descriptive/bubbleplotunit.lfm | 2 + .../analysis/descriptive/comparedistunit.lfm | 2 + .../analysis/descriptive/crosstabunit.lfm | 2 + .../analysis/descriptive/descriptiveunit.lfm | 2 + .../forms/analysis/descriptive/frequnit.lfm | 2 + .../analysis/descriptive/groupfrequnit.lfm | 2 + .../analysis/descriptive/multxvsyunit.lfm | 2 + .../analysis/descriptive/normalityunit.lfm | 2 + .../forms/analysis/descriptive/plotxyunit.lfm | 2 + .../descriptive/resistancelineunit.lfm | 2 + .../forms/analysis/descriptive/rot3dunit.lfm | 2 + .../analysis/descriptive/smoothdataunit.lfm | 2 + .../analysis/descriptive/stemleafunit.lfm | 2 + .../analysis/descriptive/xvsmultyunit.lfm | 2 + .../matrix_manipulation/matmanunit.lfm | 2 + .../lazstats/source/forms/mainunit.pas | 43 ++++++++++++++++-- 19 files changed, 74 insertions(+), 3 deletions(-) rename applications/lazstats/{docs/chm => }/LazStats.chm (99%) diff --git a/applications/lazstats/docs/chm/LazStats.chm b/applications/lazstats/LazStats.chm similarity index 99% rename from applications/lazstats/docs/chm/LazStats.chm rename to applications/lazstats/LazStats.chm index 22ea2253aca591369f5e6143b66c29006b02d729..5e1bc30fb702bb4c8f0da12a2b8e2da881d4ac05 100644 GIT binary patch delta 20182 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
m2>s>n| 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 delta 20180 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 diff --git a/applications/lazstats/source/forms/analysis/descriptive/boxplotunit.lfm b/applications/lazstats/source/forms/analysis/descriptive/boxplotunit.lfm index f3427f97a..765ca547b 100644 --- a/applications/lazstats/source/forms/analysis/descriptive/boxplotunit.lfm +++ b/applications/lazstats/source/forms/analysis/descriptive/boxplotunit.lfm @@ -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 diff --git a/applications/lazstats/source/forms/analysis/descriptive/breakdownunit.lfm b/applications/lazstats/source/forms/analysis/descriptive/breakdownunit.lfm index db37affaf..caf157d31 100644 --- a/applications/lazstats/source/forms/analysis/descriptive/breakdownunit.lfm +++ b/applications/lazstats/source/forms/analysis/descriptive/breakdownunit.lfm @@ -3,6 +3,8 @@ object BreakDownFrm: TBreakDownFrm Height = 367 Top = 248 Width = 428 + HelpType = htKeyword + HelpKeyword = 'Breakdown.htm' AutoSize = True Caption = 'Breakdown' ClientHeight = 367 diff --git a/applications/lazstats/source/forms/analysis/descriptive/bubbleplotunit.lfm b/applications/lazstats/source/forms/analysis/descriptive/bubbleplotunit.lfm index d6d7d8e44..f4645c129 100644 --- a/applications/lazstats/source/forms/analysis/descriptive/bubbleplotunit.lfm +++ b/applications/lazstats/source/forms/analysis/descriptive/bubbleplotunit.lfm @@ -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 diff --git a/applications/lazstats/source/forms/analysis/descriptive/comparedistunit.lfm b/applications/lazstats/source/forms/analysis/descriptive/comparedistunit.lfm index 6093a06ab..65644578a 100644 --- a/applications/lazstats/source/forms/analysis/descriptive/comparedistunit.lfm +++ b/applications/lazstats/source/forms/analysis/descriptive/comparedistunit.lfm @@ -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 diff --git a/applications/lazstats/source/forms/analysis/descriptive/crosstabunit.lfm b/applications/lazstats/source/forms/analysis/descriptive/crosstabunit.lfm index 995f496c2..79998af64 100644 --- a/applications/lazstats/source/forms/analysis/descriptive/crosstabunit.lfm +++ b/applications/lazstats/source/forms/analysis/descriptive/crosstabunit.lfm @@ -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 diff --git a/applications/lazstats/source/forms/analysis/descriptive/descriptiveunit.lfm b/applications/lazstats/source/forms/analysis/descriptive/descriptiveunit.lfm index b9166b2da..2fddf9a49 100644 --- a/applications/lazstats/source/forms/analysis/descriptive/descriptiveunit.lfm +++ b/applications/lazstats/source/forms/analysis/descriptive/descriptiveunit.lfm @@ -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 diff --git a/applications/lazstats/source/forms/analysis/descriptive/frequnit.lfm b/applications/lazstats/source/forms/analysis/descriptive/frequnit.lfm index 21519c87a..a24bae3ec 100644 --- a/applications/lazstats/source/forms/analysis/descriptive/frequnit.lfm +++ b/applications/lazstats/source/forms/analysis/descriptive/frequnit.lfm @@ -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 diff --git a/applications/lazstats/source/forms/analysis/descriptive/groupfrequnit.lfm b/applications/lazstats/source/forms/analysis/descriptive/groupfrequnit.lfm index 9712c7273..67139234b 100644 --- a/applications/lazstats/source/forms/analysis/descriptive/groupfrequnit.lfm +++ b/applications/lazstats/source/forms/analysis/descriptive/groupfrequnit.lfm @@ -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 diff --git a/applications/lazstats/source/forms/analysis/descriptive/multxvsyunit.lfm b/applications/lazstats/source/forms/analysis/descriptive/multxvsyunit.lfm index 4486ed661..0454193c1 100644 --- a/applications/lazstats/source/forms/analysis/descriptive/multxvsyunit.lfm +++ b/applications/lazstats/source/forms/analysis/descriptive/multxvsyunit.lfm @@ -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' diff --git a/applications/lazstats/source/forms/analysis/descriptive/normalityunit.lfm b/applications/lazstats/source/forms/analysis/descriptive/normalityunit.lfm index 2fb9153b5..c85b6fd0a 100644 --- a/applications/lazstats/source/forms/analysis/descriptive/normalityunit.lfm +++ b/applications/lazstats/source/forms/analysis/descriptive/normalityunit.lfm @@ -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 diff --git a/applications/lazstats/source/forms/analysis/descriptive/plotxyunit.lfm b/applications/lazstats/source/forms/analysis/descriptive/plotxyunit.lfm index c56c4762e..af878686e 100644 --- a/applications/lazstats/source/forms/analysis/descriptive/plotxyunit.lfm +++ b/applications/lazstats/source/forms/analysis/descriptive/plotxyunit.lfm @@ -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 diff --git a/applications/lazstats/source/forms/analysis/descriptive/resistancelineunit.lfm b/applications/lazstats/source/forms/analysis/descriptive/resistancelineunit.lfm index 9ba16eef9..4d3e52cd0 100644 --- a/applications/lazstats/source/forms/analysis/descriptive/resistancelineunit.lfm +++ b/applications/lazstats/source/forms/analysis/descriptive/resistancelineunit.lfm @@ -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 diff --git a/applications/lazstats/source/forms/analysis/descriptive/rot3dunit.lfm b/applications/lazstats/source/forms/analysis/descriptive/rot3dunit.lfm index 603da14e2..460158ec4 100644 --- a/applications/lazstats/source/forms/analysis/descriptive/rot3dunit.lfm +++ b/applications/lazstats/source/forms/analysis/descriptive/rot3dunit.lfm @@ -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 diff --git a/applications/lazstats/source/forms/analysis/descriptive/smoothdataunit.lfm b/applications/lazstats/source/forms/analysis/descriptive/smoothdataunit.lfm index e918549e4..f96606b2e 100644 --- a/applications/lazstats/source/forms/analysis/descriptive/smoothdataunit.lfm +++ b/applications/lazstats/source/forms/analysis/descriptive/smoothdataunit.lfm @@ -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 diff --git a/applications/lazstats/source/forms/analysis/descriptive/stemleafunit.lfm b/applications/lazstats/source/forms/analysis/descriptive/stemleafunit.lfm index c18b699a7..e73f18329 100644 --- a/applications/lazstats/source/forms/analysis/descriptive/stemleafunit.lfm +++ b/applications/lazstats/source/forms/analysis/descriptive/stemleafunit.lfm @@ -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 diff --git a/applications/lazstats/source/forms/analysis/descriptive/xvsmultyunit.lfm b/applications/lazstats/source/forms/analysis/descriptive/xvsmultyunit.lfm index 87d92a7ba..f652409fc 100644 --- a/applications/lazstats/source/forms/analysis/descriptive/xvsmultyunit.lfm +++ b/applications/lazstats/source/forms/analysis/descriptive/xvsmultyunit.lfm @@ -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 diff --git a/applications/lazstats/source/forms/analysis/matrix_manipulation/matmanunit.lfm b/applications/lazstats/source/forms/analysis/matrix_manipulation/matmanunit.lfm index 8bac64e0c..734fd2c9b 100644 --- a/applications/lazstats/source/forms/analysis/matrix_manipulation/matmanunit.lfm +++ b/applications/lazstats/source/forms/analysis/matrix_manipulation/matmanunit.lfm @@ -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 diff --git a/applications/lazstats/source/forms/mainunit.pas b/applications/lazstats/source/forms/mainunit.pas index 920b59541..ec7a75ff3 100644 --- a/applications/lazstats/source/forms/mainunit.pas +++ b/applications/lazstats/source/forms/mainunit.pas @@ -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;