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 ]