Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Linux Tools Project » using libhover for 3rd party documentation
using libhover for 3rd party documentation [message #568146] Mon, 11 January 2010 05:42 Go to next message
Siva Velusamy is currently offline Siva VelusamyFriend
Messages: 6
Registered: July 2009
Junior Member
Hello,

Are there any documents describing how to convert existing doxygen generated documents into the form supported by libhover?

The main website seemed to suggest that eventually doxygen might be supported, but I'm not sure what the status of that is. I noticed that the source code contains BuildFunctionInfos class which takes in "URL or file name of xml document to parse" and outputs the corresponding serialized LibHoverInfo, but I don't see any hints on what form the xml document should be.

Thanks,
Siva
Re: using libhover for 3rd party documentation [message #568181 is a reply to message #568146] Tue, 12 January 2010 22:39 Go to previous messageGo to next message
Jeff Johnston is currently offline Jeff JohnstonFriend
Messages: 175
Registered: July 2009
Senior Member
No, there isn't. The BuildFunctionInfos is for C documentation that has been pre-formatted into the standard C library xml format as found in the header for glibc docs and newlib docs (you can download these directly from the URLs found in the respective libhover glibc and newlib plugins).

The libstdc++ libhover plugin includes a src directory which contains the doxygen converter that takes the libstdc++ doxygen documentation and produces the binary output. If your C++ documentation is in a similar format, it should be usable with only minor changes required.

-- Jeff
Re: using libhover for 3rd party documentation [message #654585 is a reply to message #568146] Wed, 16 February 2011 12:04 Go to previous messageGo to next message
A HoyleFriend
Messages: 22
Registered: November 2010
Junior Member
Hi

I too am looking into integrating a 3rd party help library (wxWidgets). Since I have well written Doxygen base documentation, it was a relatively small task to build some nice looking HTML pages that I integrated into the Eclipse help system.

I am now looking into using libhover to provide some context base help. I have generated the XML files and had a look at the code that Jeff suggested. My concern is my XML files total 33MB. I know that when I have extracted the data into the libhover serialised format it will be a bit more compact, but I am worried this will eat a lot of memory. Also by generated the libhover documentation I am basically duplicating the same information.

Is there any easy way to open a particular help page based on the current editor context. Some thing like, selecting the keyword press F1 and up pops the help window show the appropriate page. Pressing F1 at the moment opens the help systems "Related Topics" page (may this is the best I can do?).

I have tried adding links to the hover over text, but this doesn't seems to work. Does anyone know if this is possible? The integrated JavaDoc seems to be able to display links on the java editor hovers.

Thanks

Al.
Re: using libhover for 3rd party documentation [message #656042 is a reply to message #568146] Wed, 23 February 2011 21:29 Go to previous messageGo to next message
A HoyleFriend
Messages: 22
Registered: November 2010
Junior Member
Hi

I have modified the code in DoxygenXMLReader to read the index.xml and seperate contents xml files generated by Doygen, by default. I have now managed to "compile" my documentation into the libhover format but it still takes up 2MB, which seems a lot to keep in RAM.

I have had a look at how the "press F1 for Related Topics" help page works. I think I have found a bug in the libhover code. In the HelpResourceDescriptor::getHelpResources method it uses getLocation and getName to generate a HelpResource, but I think it should use getDocs and getName instead.

If I use my modified code and the if a function description can be found for the current context then an entry is added to the "Related Topics" page. Unfortunately there are two problems with this. Currently regardless of the function found the help entry added points to the root of the whole help document. I think this could be improved by added function topic references to the libhover structures. The second problem is that when LibHover::getHelpResources is call it is passed a ICHelpInvocationContext which contains references to the project and translation unit but not the selected region, as is the case with IHoverHelpInvocationContext.

My question is - is there any way to determine the current selection point in the currently selected edit window, so that I might be able to determine the context of the string for which we are looking for help on.

Any help will be gratefully received.

Al.
Re: using libhover for 3rd party documentation [message #659850 is a reply to message #656042] Tue, 15 March 2011 19:16 Go to previous messageGo to next message
Jeff Johnston is currently offline Jeff JohnstonFriend
Messages: 175
Registered: July 2009
Senior Member
You are correct regarding the HelpResource using location vs docs. A bug will be opened.

Regarding the help context. That is passed to Libhover from the CDT and it is just a ICHelpInvocationContext. This is going to require a CDT modification. To experiment, I suggest you play with CHelpDisplayContext and try and pass an IHoverHelpInvocationContext (see getSelectedString method in this class for details on finding the offset).

Regarding function topics, please expand on your ideas and what you would like to see.

For those interested, I added a first-draft of a Development Guide for Libhover (you can find it at:

http://wiki.eclipse.org/Linux_Tools_Project/Libhover/Develop ers_Guide

It defines how to create your own Libhover documentation.

[Updated on: Tue, 15 March 2011 19:18]

Report message to a moderator

Re: using libhover for 3rd party documentation [message #659871 is a reply to message #659850] Tue, 15 March 2011 20:40 Go to previous messageGo to next message
A HoyleFriend
Messages: 22
Registered: November 2010
Junior Member
Hi Jeff

Thanks for your reply. I will look at your wiki page.

I have done quite a bit of modification of the libhover code. When I have tidyed it up I will email you a copy to see what you think.

Thanks again
Al.
Re: using libhover for 3rd party documentation [message #1006591 is a reply to message #568146] Fri, 01 February 2013 03:33 Go to previous messageGo to next message
Joe Thomas-Kerr is currently offline Joe Thomas-KerrFriend
Messages: 1
Registered: July 2009
Junior Member
Its been a while since this thread had activity, but I'm interested in doing something similar to you -- having Qt documentation appear as a hover inside of CDT.

There seems to be a dearth of information as to how to achieve this. Did the changes you made get committed into the libhover project? I've looked at the developer guide but it doesnt seem immediately clear to me how to go about adding a new help book.

Can you give me a quick run down on how you did it for wxwidgets? Could you publish your plugin on github or similar?

Regards,
Joe.
Re: using libhover for 3rd party documentation [message #1006788 is a reply to message #1006591] Fri, 01 February 2013 21:22 Go to previous message
A HoyleFriend
Messages: 22
Registered: November 2010
Junior Member
Hi Joe

Unfortunately this project has been gathering dust for the last couple of years. I do need to find the time to finished it. I can't even remember how far I got. But with wife, child, work and other projects I can't say when I will have time to dust off this project, sorry.

Al.
Previous Topic:Autotools and Windows and Cygwin Post 0.8
Next Topic:1.2.1 is released
Goto Forum:
  


Current Time: Wed Nov 26 23:35:14 GMT 2014

Powered by FUDForum. Page generated in 0.01802 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software