It seems the thread about 'help' can go on forever and probably many had
stopped reading all of it. This mail should define some tasks on the road to
a help for LCL applications:

1.
the LCL must be extended to recognize help queries (e.g. pressing F1)

1.1 The VCL handles winapi WM_HELP messages. I don't know if such a thing
exists under any other widgetset, but the I'm sure that the TWMHelp.HelpInfo
is quite winapi specific. The LCL should get a TControl.IntfXXX method to be
called by the interface instead.

1.2 The VCL TCustomForm has an event OnHelp: THelpEvent, which is called
with various contants and typecasts pointers from TApplication. I would
suggest to not support this and add instead a more OOP defined event.

2.
The LCL must delegate Help queries to the HelpSystem.
The HelpSystem of the VCL is defined in HelpIntfs and may be sufficient for
small things. But for the Open Source (e.g. Lazarus IDE itself) it is not
flexible/comfortable enough. That's why I propose to move the Help interface
unit of the IDEIntf to the LCL, rename the units (prefix l or laz) and use
that as a helpsystem.
It needs some pascal interfaces to be used in TCustomForm and TApplication.

3.
Then the help system needs help databases: the actual stuff. This means you
have to provide an editor for the format.
And the help viewers: the browsers.


I can do 1) and 2). 
For 3) we have already a basic type for fpdoc help databases and as a viewer
a simple webbrowser 'viewer'. 

Then you can implement any database and/or viewer for whatever format you
prefer.

Which format we use for the Lazarus-doc binary releases will be decided when
the rest is working.
Of course there are still a lot of other issues to solve like translations
and a better lazdoc.


Mattias

_________________________________________________________________
     To unsubscribe: mail [EMAIL PROTECTED] with
                "unsubscribe" as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives

Reply via email to