fltk/documentation/development.dox
engelsman 40a156aa94 Simplified the doxygen comment strategy for fl_color_command()
Too many \defgroup, \ingroup and \relatesalso and doxygen gets confused!
Simplified down to a single \relatesalso, and moved the extra function
documentation into the class comments.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6313 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-19 20:56:19 +00:00

208 lines
5.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
\page development I - Developer Information
<P>This chapter describes FLTK development and documentation.
</P>
\note documentation with doxygen will be described here.
<H2>Example</H2>
\note
In the following code example(s) "*" will be replaced by "#"
as a temporary solution.
\code
/## \file
Fl_Clock, Fl_Clock_Output widgets . #/
/##
\class Fl_Clock_Output
\brief This widget can be used to display a program-supplied time.
The time shown on the clock is not updated. To display the current time,
use Fl_Clock instead.
\image html clock.gif
\image html round_clock.gif
#/
/##
Returns the displayed time.
Returns the time in seconds since the UNIX epoch (January 1, 1970).
\see value(ulong)
#/
ulong value() const {return value_;}
/##
Set the displayed time.
Set the time in seconds since the UNIX epoch (January 1, 1970).
\param[in] v seconds since epoch
\see value()
#/
void Fl_Clock_Output::value(ulong v) {
[...]
}
/##
Create an Fl_Clock widget using the given position, size, and label string.
The default boxtype is \c FL_NO_BOX.
\param[in] X, Y, W, H position and size of the widget
\param[in] L widget label, default is no label
#/
Fl_Clock::Fl_Clock(int X, int Y, int W, int H, const char #L)
: Fl_Clock_Output(X, Y, W, H, L) {}
/##
Create an Fl_Clock widget using the given boxtype, position, size, and
label string.
\param[in] t boxtype
\param[in] X, Y, W, H position and size of the widget
\param[in] L widget label, default is no label
#/
Fl_Clock::Fl_Clock(uchar t, int X, int Y, int W, int H, const char #L)
: Fl_Clock_Output(X, Y, W, H, L) {
type(t);
box(t==FL_ROUND_CLOCK ? FL_NO_BOX : FL_UP_BOX);
}
\endcode
\note
From Duncan: (will be removed later, just for now as a reminder)
5. I've just added comments for the fl_color_chooser() functions, and
in order to keep them and the general Function Reference information
for them together, I created a new doxygen group, and used \\ingroup
in the three comment blocks. This creates a new Modules page (which
may not be what we want) with links to it from the File Members and
Fl_Color_Chooser.H pages. It needs a bit more experimentation on my
part unless someone already knows how this should be handled. (Maybe
we can add it to a functions.dox file that defines a functions group
and do that for all of the function documentation?)
\b Update: 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:
\code
Gizmo.H
/## \class Gizmo
A gizmo that does everything
#/
class Gizmo {
etc
};
extern int popup_gizmo(...);
Gizmo.cxx:
/## \relatesalso Gizmo
Pops up a gizmo dialog with a Gizmo in it
#/
int popup_gizmo(...);
\endcode
<H3>Example comment:</H3>
\code
The following text is a comment within a doxygen comment block and
will not appear in the generated document:
<!-- Editor's note:
** Caution: the following text contains utf-8 encoded characters.
-->
This will be visible again.
\endcode
The following text is a comment within a doxygen comment block and
will not appear in the generated document:
<!-- Editor's note:
** Caution: the following text contains utf-8 encoded characters.
-->
This will be visible again.
\code
<H1>Headline in big text</H1>
<H2>Headline in big text</H2>
<H3>Headline in big text</H3>
<H4>Headline in big text</H4>
\endcode
<H1>Headline in big text</H1>
<H2>Headline in big text</H2>
<H3>Headline in big text</H3>
<H4>Headline in big text</H4>
<P>Assuming that the following source code was written on MS Windows,
this example will output the correct label on OS X and X11 as well.
Without the conversion call, the label on OS X would read
<tt>Fahrvergn¸gen</tt> with a deformed umlaut u ("cedille",
html "&cedil;").
\code
btn = new Fl_Button(10, 10, 300, 25);
btn->copy_label(fl_latin1_to_local("Fahrvergnügen"));
\endcode
\note If your application uses characters that are not part of both
encodings, or it will be used in areas that commonly use different
code pages, you might consider upgrading to FLTK 2 which supports
UTF-8 encoding.
\todo This is an example todo entry, please ignore !
\code
<!-- Editor's note:
** Caution: the following text contains utf-8 encoded characters.
** be careful when using non-utf-8-aware editors !
-->
<P>Assuming that the following source code was written on MS Windows,
this example will output the correct label on OS X and X11 as well.
Without the conversion call, the label on OS X would read
<tt>Fahrvergn¸gen</tt> with a deformed umlaut u ("cedille",
html "&cedil;").
\code
btn = new Fl_Button(10, 10, 300, 25);
btn->copy_label(fl_latin1_to_local("Fahrvergnügen"));
\endcode
\note If your application uses characters that are not part of both
encodings, or it will be used in areas that commonly use different
code pages, you might consider upgrading to FLTK 2 which supports
UTF-8 encoding.
\todo This is an example todo entry, please ignore !
\endcode
<H2>Creating Links</H2>
\code
see chapter \ref unicode creates a link to the named chapter unicode
that has been created with a \subpage statement.
see <a href="drawing.html#character_encoding">chapter 5</a> creates
a link to a named html anchor "character_encoding" within the same file.
\endcode
see chapter \ref unicode creates a link to the named chapter unicode
that has been created with a \subpage statement.
see <a href="drawing.html#character_encoding">chapter 5</a> creates
a link to a named html anchor "character_encoding" within the same file.
*/