From 3db7c3b1aa4159d330a93be4b5d156e1f06b0f39 Mon Sep 17 00:00:00 2001
From: Bryan Petty <bryan@ibaku.net>
Date: Wed, 12 Mar 2008 19:08:48 +0000
Subject: [PATCH] Added class groups example to Doxygen and added parent
 "Functions and Macros", and "Classes by Category" groups. Also added CSS to
 add "Categories / " to the "Modules" tab label, and turned on DETAILS_AT_TOP
 setting.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52454 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 docs/doxygen/Doxyfile.inc                     |  2 +-
 docs/doxygen/groups/class.h                   | 16 ++++++++++++++
 docs/doxygen/groups/class_dc.h                | 21 +++++++++++++++++++
 docs/doxygen/groups/class_gdi.h               | 20 ++++++++++++++++++
 docs/doxygen/groups/funcmacro.h               | 16 ++++++++++++++
 .../doxygen/groups/{gdi.h => funcmacro_gdi.h} |  7 ++++---
 docs/doxygen/wxwidgets.css                    |  4 +++-
 interface/animate.h                           |  1 +
 interface/bitmap.h                            |  2 ++
 interface/brush.h                             |  1 +
 interface/colour.h                            |  1 +
 interface/cursor.h                            |  1 +
 interface/dc.h                                |  2 ++
 interface/font.h                              |  1 +
 interface/gdicmn.h                            |  5 ++++-
 interface/icon.h                              |  1 +
 interface/image.h                             |  1 +
 interface/imaglist.h                          |  1 +
 interface/metafile.h                          |  2 +-
 interface/palette.h                           |  1 +
 interface/pen.h                               |  1 +
 interface/region.h                            |  1 +
 interface/renderer.h                          |  1 +
 23 files changed, 102 insertions(+), 7 deletions(-)
 create mode 100644 docs/doxygen/groups/class.h
 create mode 100644 docs/doxygen/groups/class_dc.h
 create mode 100644 docs/doxygen/groups/class_gdi.h
 create mode 100644 docs/doxygen/groups/funcmacro.h
 rename docs/doxygen/groups/{gdi.h => funcmacro_gdi.h} (74%)

diff --git a/docs/doxygen/Doxyfile.inc b/docs/doxygen/Doxyfile.inc
index 976b624fa2..3bcd62e4fc 100644
--- a/docs/doxygen/Doxyfile.inc
+++ b/docs/doxygen/Doxyfile.inc
@@ -28,7 +28,7 @@ SHORT_NAMES            = NO
 JAVADOC_AUTOBRIEF      = NO
 QT_AUTOBRIEF           = NO
 MULTILINE_CPP_IS_BRIEF = NO
-DETAILS_AT_TOP         = NO
+DETAILS_AT_TOP         = YES
 INHERIT_DOCS           = YES
 SEPARATE_MEMBER_PAGES  = NO
 TAB_SIZE               = 4
diff --git a/docs/doxygen/groups/class.h b/docs/doxygen/groups/class.h
new file mode 100644
index 0000000000..23bd8e9ad6
--- /dev/null
+++ b/docs/doxygen/groups/class.h
@@ -0,0 +1,16 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        class.h
+// Purpose:     Main class group docs
+// Author:      wxWidgets team
+// RCS-ID:      $Id$
+// Licence:     wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+
+/**
+
+@defgroup group_class Classes by Category
+
+This group defines all class groups.
+
+*/
+
diff --git a/docs/doxygen/groups/class_dc.h b/docs/doxygen/groups/class_dc.h
new file mode 100644
index 0000000000..8bcdd494f1
--- /dev/null
+++ b/docs/doxygen/groups/class_dc.h
@@ -0,0 +1,21 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        class_gdi.h
+// Purpose:     Graphics Device Interface classes group docs
+// Author:      wxWidgets team
+// RCS-ID:      $Id$
+// Licence:     wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+
+/**
+
+@defgroup group_class_dc Device Contexts
+@ingroup group_class
+
+Device contexts are surfaces that may be drawn on, and provide an abstraction
+that allows parameterisation of your drawing code by passing different device
+contexts.
+
+Related Overviews: @ref overview_dc
+
+*/
+
diff --git a/docs/doxygen/groups/class_gdi.h b/docs/doxygen/groups/class_gdi.h
new file mode 100644
index 0000000000..870e2124a3
--- /dev/null
+++ b/docs/doxygen/groups/class_gdi.h
@@ -0,0 +1,20 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        class_gdi.h
+// Purpose:     Graphics Device Interface classes group docs
+// Author:      wxWidgets team
+// RCS-ID:      $Id$
+// Licence:     wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+
+/**
+
+@defgroup group_class_gdi Graphics Device Interface (GDI)
+@ingroup group_class
+
+The following are classes related to GDI (Graphics Device Interface) access.
+They provide an API for drawing on device contexts, windows, and printing.
+
+Related Overviews: @ref overview_dc, @ref overview_bitmap
+
+*/
+
diff --git a/docs/doxygen/groups/funcmacro.h b/docs/doxygen/groups/funcmacro.h
new file mode 100644
index 0000000000..f077fbf707
--- /dev/null
+++ b/docs/doxygen/groups/funcmacro.h
@@ -0,0 +1,16 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        funcmacro.h
+// Purpose:     Main function and macro group docs
+// Author:      wxWidgets team
+// RCS-ID:      $Id$
+// Licence:     wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+
+/**
+
+@defgroup group_funcmacro Functions and Macros
+
+This group defines all major function and macro groups.
+
+*/
+
diff --git a/docs/doxygen/groups/gdi.h b/docs/doxygen/groups/funcmacro_gdi.h
similarity index 74%
rename from docs/doxygen/groups/gdi.h
rename to docs/doxygen/groups/funcmacro_gdi.h
index d4abfb62f1..d7cda147b5 100644
--- a/docs/doxygen/groups/gdi.h
+++ b/docs/doxygen/groups/funcmacro_gdi.h
@@ -1,14 +1,15 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        gdi.h
+// Name:        funcmacro_gdi.h
 // Purpose:     Graphics Device Interface function and macro docs
 // Author:      wxWidgets team
-// RCS-ID:      $Id: gdicmn.h 52425 2008-03-10 15:24:38Z FM $
+// RCS-ID:      $Id$
 // Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
 /**
 
-@defgroup group_gdi Graphics Device Interface (GDI) Functions and Macros
+@defgroup group_funcmacro_gdi Graphics Device Interface (GDI)
+@ingroup group_funcmacro
 
 The following are functions and macros related to GDI (Graphics Device
 Interface) access.
diff --git a/docs/doxygen/wxwidgets.css b/docs/doxygen/wxwidgets.css
index 150d949d6a..66e848956d 100644
--- a/docs/doxygen/wxwidgets.css
+++ b/docs/doxygen/wxwidgets.css
@@ -491,5 +491,7 @@ SPAN.style, SPAN.event {
     color: #880000;
 }
 
-
+A[HREF="modules.html"] SPAN:before {
+    content: "Categories / ";
+}
 
diff --git a/interface/animate.h b/interface/animate.h
index 2b66e92db9..3631671843 100644
--- a/interface/animate.h
+++ b/interface/animate.h
@@ -170,6 +170,7 @@ public:
 
 /**
     @class wxAnimation
+    @ingroup group_class_gdi
     @wxheader{animate.h}
 
     This class encapsulates the concept of a platform-dependent animation.
diff --git a/interface/bitmap.h b/interface/bitmap.h
index 22710d45ca..fbb889a38c 100644
--- a/interface/bitmap.h
+++ b/interface/bitmap.h
@@ -147,6 +147,7 @@ public:
 
 /**
     @class wxBitmap
+    @ingroup group_class_gdi
     @wxheader{bitmap.h}
 
     This class encapsulates the concept of a platform-dependent bitmap,
@@ -724,6 +725,7 @@ wxBitmap wxNullBitmap;
 
 /**
     @class wxMask
+    @ingroup group_class_gdi
     @wxheader{bitmap.h}
 
     This class encapsulates a monochrome mask bitmap, where the masked area is
diff --git a/interface/brush.h b/interface/brush.h
index d644b1e19b..6b05b82f19 100644
--- a/interface/brush.h
+++ b/interface/brush.h
@@ -8,6 +8,7 @@
 
 /**
     @class wxBrush
+    @ingroup group_class_gdi
     @wxheader{brush.h}
 
     A brush is a drawing tool for filling in areas. It is used for painting
diff --git a/interface/colour.h b/interface/colour.h
index 9df414c4c7..21a03cfd84 100644
--- a/interface/colour.h
+++ b/interface/colour.h
@@ -8,6 +8,7 @@
 
 /**
     @class wxColour
+    @ingroup group_class_gdi
     @wxheader{colour.h}
 
     A colour is an object representing a combination of Red, Green, and Blue (RGB)
diff --git a/interface/cursor.h b/interface/cursor.h
index ee6fc7ef0c..033cded43f 100644
--- a/interface/cursor.h
+++ b/interface/cursor.h
@@ -8,6 +8,7 @@
 
 /**
     @class wxCursor
+    @ingroup group_class_gdi
     @wxheader{cursor.h}
 
     A cursor is a small bitmap usually used for denoting where the mouse
diff --git a/interface/dc.h b/interface/dc.h
index d1b3b1ad3e..c48f21fd6c 100644
--- a/interface/dc.h
+++ b/interface/dc.h
@@ -8,6 +8,7 @@
 
 /**
     @class wxDC
+    @ingroup group_class_dc group_class_gdi
     @wxheader{dc.h}
 
     A wxDC is a @e device context onto which graphics and text can be drawn.
@@ -977,6 +978,7 @@ public:
 
 /**
     @class wxDCClipper
+    @ingroup group_class_gdi
     @wxheader{dc.h}
 
     wxDCClipper is a small helper class for setting a clipping region on a
diff --git a/interface/font.h b/interface/font.h
index 9f706987b8..b76182cefe 100644
--- a/interface/font.h
+++ b/interface/font.h
@@ -8,6 +8,7 @@
 
 /**
     @class wxFont
+    @ingroup group_class_gdi
     @wxheader{font.h}
 
     A font is an object which determines the appearance of text. Fonts are
diff --git a/interface/gdicmn.h b/interface/gdicmn.h
index cd3f33a15e..4c6326d2b0 100644
--- a/interface/gdicmn.h
+++ b/interface/gdicmn.h
@@ -326,6 +326,7 @@ public:
 
 /**
     @class wxBrushList
+    @ingroup group_class_gdi
     @wxheader{gdicmn.h}
 
     A brush list is a list containing all brushes which have been created.
@@ -476,6 +477,7 @@ public:
 
 /**
     @class wxFontList
+    @ingroup group_class_gdi
     @wxheader{gdicmn.h}
 
     A font list is a list containing all fonts which have been created. There
@@ -668,6 +670,7 @@ public:
 
 /**
     @class wxPenList
+    @ingroup group_class_gdi
     @wxheader{gdicmn.h}
 
     There is only one instance of this class: @b wxThePenList.  Use
@@ -739,7 +742,7 @@ public:
 // Global functions/macros
 // ============================================================================
 
-/** @addtogroup group_gdi */
+/** @ingroup group_funcmacro_gdi */
 //@{
 
 /**
diff --git a/interface/icon.h b/interface/icon.h
index c66d073aed..714fe5d5b4 100644
--- a/interface/icon.h
+++ b/interface/icon.h
@@ -8,6 +8,7 @@
 
 /**
     @class wxIcon
+    @ingroup group_class_gdi
     @wxheader{icon.h}
 
     An icon is a small rectangular bitmap usually used for denoting a
diff --git a/interface/image.h b/interface/image.h
index c3ae734275..c3caaebe66 100644
--- a/interface/image.h
+++ b/interface/image.h
@@ -139,6 +139,7 @@ public:
 
 /**
     @class wxImage
+    @ingroup group_class_gdi
     @wxheader{image.h}
 
     This class encapsulates a platform-independent image. An image can be created
diff --git a/interface/imaglist.h b/interface/imaglist.h
index f66d1dbdc5..8a80b1b7d7 100644
--- a/interface/imaglist.h
+++ b/interface/imaglist.h
@@ -8,6 +8,7 @@
 
 /**
     @class wxImageList
+    @ingroup group_class_gdi
     @wxheader{imaglist.h}
 
     A wxImageList contains a list of images, which are stored in
diff --git a/interface/metafile.h b/interface/metafile.h
index 9fd2a88c1e..30450985c0 100644
--- a/interface/metafile.h
+++ b/interface/metafile.h
@@ -117,7 +117,7 @@ public:
 // Global functions/macros
 // ============================================================================
 
-/** @addtogroup group_gdi */
+/** @ingroup group_funcmacro_gdi */
 //@{
 
 /**
diff --git a/interface/palette.h b/interface/palette.h
index 2630124016..fff7fc037a 100644
--- a/interface/palette.h
+++ b/interface/palette.h
@@ -8,6 +8,7 @@
 
 /**
     @class wxPalette
+    @ingroup group_class_gdi
     @wxheader{palette.h}
 
     A palette is a table that maps pixel values to RGB colours. It allows the
diff --git a/interface/pen.h b/interface/pen.h
index 9a9a2833ac..5684c4d404 100644
--- a/interface/pen.h
+++ b/interface/pen.h
@@ -8,6 +8,7 @@
 
 /**
     @class wxPen
+    @ingroup group_class_gdi
     @wxheader{pen.h}
 
     A pen is a drawing tool for drawing outlines. It is used for drawing
diff --git a/interface/region.h b/interface/region.h
index 89059cb114..72400cab98 100644
--- a/interface/region.h
+++ b/interface/region.h
@@ -99,6 +99,7 @@ public:
 
 /**
     @class wxRegion
+    @ingroup group_class_gdi
     @wxheader{region.h}
 
     A wxRegion represents a simple or complex region on a device context or window.
diff --git a/interface/renderer.h b/interface/renderer.h
index d57cc69a8a..cfd5ca225d 100644
--- a/interface/renderer.h
+++ b/interface/renderer.h
@@ -100,6 +100,7 @@ public:
 
 /**
     @class wxRendererNative
+    @ingroup group_class_gdi
     @wxheader{renderer.h}
 
     First, a brief introduction to wxRenderer and why it is needed.
-- 
2.47.2