Trolltech Home | Qt4-preview-feedback Home | Recent Threads | All Threads | Author | Date
All threads index page 2

Qt4-preview-feedback Archive, March 2008
Qt Help doesn't support dynamically generated help collections


Message 1 in thread

I've been looking through the current Qt4.4 snapshot docs for the Qt Help 
module. The QHelpEngineCore class and its associates look very interesting 
for our commercial apps, but there is one specific limitation compared with 
the existing QAssistantClient implementation: The QHelpEngineCore class does 
not appear to be able to accept a help collection file that is dynamically 
generated by the application, since any such document has to be passed 
through the qcollectiongenerator tool. Ideally, the QHelpEngineCore class 
should be able to accept not just the compiled .qhc file, but also the 
textual .qhcp input files and do the compilation itself internally.

For a specific use case, consider an application which uses a plugin framework 
where plugins can come with their own documentation sets and where the 
plugins available can change (eg plugins might be packaged and distributed 
separately). The application wants to present all the documentation together 
to the user by interrogating what plugins are being used only when the 
application is actually run and then generate a help collection file on the 
fly.

How possible is it to modify the QHelpEngineCore class to accept dynamically 
generated collection files, even better to just take a QString instead of 
having to read it from a file?

-- 
 [ signature omitted ] 

Message 2 in thread

Hi Craig,

it is perfectly possible to create or modify a collection file without 
the qcollectiongenerator. The QHelpEngineCore class which basically 
represents a help collection allows you to register or unregister 
documentation, meaning adding and removing documentation (qch files) 
from the help collection. Referring to your example, the main 
application would be the owner of the help collection and would ask the 
plugin for a documentation. If the plugin returns one, the main 
application can register it accordingly.

You can have a look at Qt Assistant which builds up its collection file 
dynamically depending on which (Qt) documentation it finds in certain paths.


Kind regards,

Thomas


> I've been looking through the current Qt4.4 snapshot docs for the Qt Help 
> module. The QHelpEngineCore class and its associates look very interesting 
> for our commercial apps, but there is one specific limitation compared with 
> the existing QAssistantClient implementation: The QHelpEngineCore class does 
> not appear to be able to accept a help collection file that is dynamically 
> generated by the application, since any such document has to be passed 
> through the qcollectiongenerator tool. Ideally, the QHelpEngineCore class 
> should be able to accept not just the compiled .qhc file, but also the 
> textual .qhcp input files and do the compilation itself internally.
>
> For a specific use case, consider an application which uses a plugin framework 
> where plugins can come with their own documentation sets and where the 
> plugins available can change (eg plugins might be packaged and distributed 
> separately). The application wants to present all the documentation together 
> to the user by interrogating what plugins are being used only when the 
> application is actually run and then generate a help collection file on the 
> fly.
>
> How possible is it to modify the QHelpEngineCore class to accept dynamically 
> generated collection files, even better to just take a QString instead of 
> having to read it from a file?
>
>   

To unsubscribe - send "unsubscribe" in the subject to qt4-preview-feedback-request@xxxxxxxxxxxxx


Message 3 in thread

Ah, I see. Thanks for the tip. Perhaps the documentation for 
QHelpEngineCore::registerDocumentation() should use the words "help 
collection" instead of "documentation set" to make it consistent with the 
QtHelp module documentation page. The QtHelp module doc page contains a 
pretty good description of what the various help files are (eg the table 
about half way down with a brief description of the four help file types), so 
it would be nice if consistent terminology was used in the other 
QtHelp-related pages as well to avoid potential confusion.


On Thu, 27 Mar 2008 08:07:32 pm Thomas Strehl wrote:
> Hi Craig,
>
> it is perfectly possible to create or modify a collection file without
> the qcollectiongenerator. The QHelpEngineCore class which basically
> represents a help collection allows you to register or unregister
> documentation, meaning adding and removing documentation (qch files)
> from the help collection. Referring to your example, the main
> application would be the owner of the help collection and would ask the
> plugin for a documentation. If the plugin returns one, the main
> application can register it accordingly.
>
> You can have a look at Qt Assistant which builds up its collection file
> dynamically depending on which (Qt) documentation it finds in certain
> paths.
>
>
> Kind regards,
>
> Thomas
>
> > I've been looking through the current Qt4.4 snapshot docs for the Qt Help
> > module. The QHelpEngineCore class and its associates look very
> > interesting for our commercial apps, but there is one specific limitation
> > compared with the existing QAssistantClient implementation: The
> > QHelpEngineCore class does not appear to be able to accept a help
> > collection file that is dynamically generated by the application, since
> > any such document has to be passed through the qcollectiongenerator tool.
> > Ideally, the QHelpEngineCore class should be able to accept not just the
> > compiled .qhc file, but also the textual .qhcp input files and do the
> > compilation itself internally.
> >
> > For a specific use case, consider an application which uses a plugin
> > framework where plugins can come with their own documentation sets and
> > where the plugins available can change (eg plugins might be packaged and
> > distributed separately). The application wants to present all the
> > documentation together to the user by interrogating what plugins are
> > being used only when the application is actually run and then generate a
> > help collection file on the fly.
> >
> > How possible is it to modify the QHelpEngineCore class to accept
> > dynamically generated collection files, even better to just take a
> > QString instead of having to read it from a file?



-- 
 [ signature omitted ]