[Doxygen-users] Re: Documenting enums of an IDL file
Brought to you by:
dimitri
|
From: Don M. <dmc...@in...> - 2002-02-19 22:26:32
|
Francois,
First, I for one would appreciate it if you (and others) would not post HTML
messages to the group. If you subscribe to the digest form of the list, as I
do, you can't get HTML messages (well, you can, but if you select that
option then they all end up as separate messages again, kind of defeating
the purpose). HTML messages are difficult to read if you aren't reading them
in html. Thanks.
Now, regarding enums in IDL. I have no problems getting Doxygen to generate
documentation for global enums in an IDL file. This is in an ATL project, as
well. However, I am still using Doxygen 1.2.6, because there's been no
reason for me to upgrade. So perhaps it is a problem in newer versions? Or
perhaps there is something slightly "wrong" (different) about your enum
declaration? Or perhaps it is actually there but you haven't seen it
(because it is with other global objects, not on an interface documentation
page)?
As an example, we use:
/** Enum for visibility of a scalar in the UI and/or results database. */
typedef [uuid(e1933138-11cb-11d5-93e6-00a024d4dc52)] enum enumVisibility
{
Enabled = 0, ///< Visible and enabled
Disabled = 1, ///< Visible, but disabled (grayed)
Hidden = 2 ///< Not visible
} enumVisibility;
This is before the first interface definition, not inside it, as you
describe. Works fine. Because it's a global, the enum documentation shows up
on the "Something.idl File Reference" page, but it's correctly hyper-linked
where it's used, so that doesn't bother me much.
For what it's worth, there are other problems with using Doxygen to process
Microsoft IDL files, that make it perhaps not the best tool (and that I
think are bigger issues than enums). Doxygen does not lump the propget and
propput signatures into one "property" in the documentation, which makes the
generated documentation confusing, and is annoying if you only want to write
the documentation once and have it apply to both get and put (no way to do
that). And the documentation shows C++ syntax, so it is not very useful to,
say, VB programmers.
Depending on your project, you might consider:
a. Using a preprocessing (or post-processing) script to make the
documentation better.
b. Making changes to Doxygen itself.
c. Looking at other tools. I have seen tools that produce documentation
based in the "helpstring" entry in the IDL file.
I haven't tried any of these myself.
The advantage of Doxygen for IDL files is the excellent hyper-linking. Our
IDL describes a large number of objects (interfaces), which make up a
complex object model for our system. Objects contain collections of other
objects, etc. It's nice to be able to click on the parameter to one method
in an interface, and immediately jump to the definition of that object's
interface.
Good luck.
Don McClimans
|