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
