I wrote:
> I've been experimenting with this on a much smaller example, and had
> thought that we were experiencing one of two reported doxygen bugs:
> you can't add something to more than one group (eg Fl_Color_Chooser
> class group and the fl_color_chooser function group); and you won't
> get correct documentation for functions if you \relate it to a class
> with a member function of the same name. So I had almost given up.
>
> But then I've just updated and found that fl_file_chooser() appears
> to work correctly, so now it's back to hunting down what the difference
> between the two really is.

The difference between the new Fl_Color_Chooser and Fl_File_Chooser
pages was that I was trying to migrate the separate function reference
page of the old documentation in addition to doxygen's own function
reference page capabilities. The Fl_File_Chooser pages were limited to
the class and function reference pages provided within doxygen.

So the trick is not to create duplicate entries in a new group, but
to move the function information into the doxygen comments for the
class, and use the navigation links provided. Simply using \relatesalso
as the first doxygen command in the function's comment puts it in the
appropriate place. There is no need to have \defgroup and \ingroup as
well, and indeed they don't work. So, to summarize:

Fl_Color_Chooser.H:
  /** \class Fl_Color_Chooser
      A widget that you can add to panels.
    */
  class Fl_Color_Chooser {
    etc
  };
  extern int fl_color_chooser(...);

Fl_Color_Chooser.cxx:
  /** \relatesalso Fl_Color_Chooser
      Pops up a color chooser dialog with a Fl_Color_Chooser widget
    */
  int fl_color_chooser(...) {}

I shall add this explanation to the development.dox
_______________________________________________
fltk-dev mailing list
fltk-dev@easysw.com
http://lists.easysw.com/mailman/listinfo/fltk-dev

Reply via email to