On Thu, 02 Feb 2006 23:19:00 +0800
Funky Beast <[EMAIL PROTECTED]> wrote:

> Mattias Gaertner wrote:
> > On Wed, 1 Feb 2006 08:38:38 +0200
> > Graeme Geldenhuys <[EMAIL PROTECTED]> wrote:
> > 
> > 
> >>Hi,
> >>
> >>I'm not sure if anybody is working on help for the Lazarus IDE itself.
> >> If not, or if it is still a long way of complete, why don't we use
> >>tooltips in the mean time.
> > 
> > 
> > It's not a long way to complete. We can for example use fpdoc for these
> > parts as well.
> > The help system works. We just need someone:
> > - who will read the fpdoc manuals
> > - setup a basic layout for help directories
> > - create a TFPDocHTMLHelpDatabase for the IDE help files (10 lines of
> > code). - add a hook to the LCL, so that help paths are executed.
> > 
> > The difficult part is understanding fpdoc well enough to decide, how the
> > directories and help paths should look like.
> > And of course adding some tools to lazdoc/lazde, so that editing the
> > help is easy.
> > 
> > Mattias
> > 
> 
> I'm still working on CodeHelp:
> http://sg.geocities.com/funkybeast888/codehelptest.tar.gz
> 
> Above project revolves around a unit "codehelp.pas" included,
> which will eventually be submited. Its not complete yet.
> The project is built to test this unit's functions.
> Currently codehelp has a class that supports management functions
> for most of Lazarus Documentations, which only uses <element> tags.
> Once I complete the management functions for <topic> tags, it'll
> support FPC Documentations as well.
> 
> Anyone working on LazDoc or LazDe, please tell me if i've missed
> something.

What's the difference between a "LazDoc xml Document" and a fpdoc xml?
What's the difference between CodeHelp and LazDE?

 
> I'm now in a dilema of how i should format the links for saving.
> After studying the FPC xml documentations, if im not wrong,
> the formating convention used is:
> 
> #Package.Module.Element (e.g. rtl.baseunix.UnixType)
> 
> which translates to:
> #[Help Package Path].[xml filename without extension].[Element or topic in
> the xml file].
> 
> If its the above format, then i have to know where to get information of
> registered help packages at runtime. Or are there other systemetic
> formating of links that i don't need to tap lazarus for registered help
> packages.

ideintf/helpintf.pas

HelpDatabases contains all help databases. A Help database can be for
example a TFPDocHTMLHelpDatabase.
Every lazarus package can register one or more help databases.
The IDE registers some default help databases: RTL, FCL, LCL and MainHelp.
MainHelp is currently a simple THTMLHelpDatabase. 
The RTL help database is registered for all *.pas and *.pp files in the file
path '$(FPCSrcDir)/rtl' and all sub directories.
So, when the user presses F1 on an identifier, say 'TObject', the IDE
searches the declaration. It finds it in $(FPCSrcDir)/rtl/inc/objpash.inc
which belongs to $(FPCSrcDir)/rtl/linux/system.pp. Now the IDE searches a
help database with this unit and finds the RTL help db.
It then tells the help database to show the help for 'system.pp TObject'.
Because the RTL help db is a TFPDocHTMLHelpDatabase, it simply converts it
into an URL and starts a browser to show that page.

 
> (The class in CodeHelp already provides a function to retrieve
> documentation by
>   specifying an absolute path i.e.
> e.g.
> TXMLDocInfo.Get_LazDocElement_from_Path('/usr/local/lazarus/docs/xml/lcl/
> stdctrls#TEdit.CharCase') and retrieve the document from it's record
> property CurrentLazDocElement's members).
> 
> After this hurdle, i'll be working on the html code generating for:
> -Code Completion Hints
> -Help Document
> from the information collected in the above property.
> 
> Then the HTML canvas, a help hint window and a
> local help form.


Mattias

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

Reply via email to