diff --git a/docs/doxygen/Doxyfile b/docs/doxygen/Doxyfile
index 9b8365496f..7629dd4286 100644
--- a/docs/doxygen/Doxyfile
+++ b/docs/doxygen/Doxyfile
@@ -95,6 +95,10 @@ ALIASES += endFlagTable="\n"
ALIASES += appearance{1}="\htmlonly
Appearance:\endhtmlonly\n\image html appear-\1-msw.png \"wxMSW Appearance\"\n\htmlonly | \endhtmlonly\n\image html appear-\1-gtk.png \"wxGTK Appearance\"\n\htmlonly | \endhtmlonly\n\image html appear-\1-mac.png \"wxOSX Appearance\"\n\htmlonly |
\endhtmlonly"
ALIASES += genericAppearance{1}="\htmlonlyAppearance:\endhtmlonly\n\image html generic/\1.png \"Generic Appearance\"\n\htmlonly |
\endhtmlonly"
+# these compact versions are only used on the screenshots page
+ALIASES += appearance_brief{2}="\htmlonly\endhtmlonly\n\1\htmlonly | \endhtmlonly\n\image html appear-\2-msw.png\n\htmlonly | \endhtmlonly\n\image html appear-\2-gtk.png\n\htmlonly | \endhtmlonly\n\image html appear-\2-mac.png\n\htmlonly |
\endhtmlonly"
+ALIASES += genericAppearance_brief{2}="\htmlonly\endhtmlonly\n\1\htmlonly | \endhtmlonly\n\image html generic/\2.png\n\htmlonly |
\endhtmlonly"
+
# aliases for the creation of "named member groups"
# USAGE: the first argument must not contain spaces and be a unique identifier
# of the member group for the class being documented;
diff --git a/docs/doxygen/extra_stylesheet.css b/docs/doxygen/extra_stylesheet.css
index 2acb20158d..99e2cb67a2 100644
--- a/docs/doxygen/extra_stylesheet.css
+++ b/docs/doxygen/extra_stylesheet.css
@@ -116,6 +116,26 @@ div.appearance .caption {
font-size: 90%;
}
+div.appearance_brief table {
+ width: 100%;
+ table-layout: fixed;
+ text-align: center;
+ border-collapse: collapse;
+}
+
+div.appearance_brief table td:first-child {
+ width: 20em;
+ text-align: left;
+ padding-left: 2em;
+}
+
+div.appearance_brief table td {
+ border-style: none solid solid none;
+ border-width: 1px;
+ border-color: lightblue;
+}
+
+
td.green { color: green; }
td.orange { color: #ff8000; }
td.red { color: red; }
@@ -175,4 +195,4 @@ address.footer {
address.footer small {
padding: 0 10px;
-}
\ No newline at end of file
+}
diff --git a/docs/doxygen/mainpages/cat_classes.h b/docs/doxygen/mainpages/cat_classes.h
index 3c59730d2f..19628291c4 100644
--- a/docs/doxygen/mainpages/cat_classes.h
+++ b/docs/doxygen/mainpages/cat_classes.h
@@ -15,6 +15,7 @@ This page contains a summarized listing of classes, please see the
@ref group_class page for a full listing by category or the
full list of classes in alphabetical order.
+For a more visual approach, see @ref page_screenshots "the screenshots" page.
@section page_class_cat_basicwnd Basic Windows
diff --git a/docs/doxygen/mainpages/screenshots.h b/docs/doxygen/mainpages/screenshots.h
new file mode 100644
index 0000000000..7d8c57c611
--- /dev/null
+++ b/docs/doxygen/mainpages/screenshots.h
@@ -0,0 +1,94 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: screenshots.h
+// Purpose: Screenshots of all controls at a glance
+// Author: Vadim Zeitlin
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+/**
+
+@page page_screenshots Screenshots of Different Controls
+
+This page contains the screenshots of various controls under the three major
+platforms: wxMSW in the first column, wxGTK in the second one and wxOSX in the
+third one.
+
+@section page_screenshots_standard Standard Controls
+
+Some common controls:
+
+@appearance_brief{wxButton,button}
+@appearance_brief{wxBitmapButton,bitmapbutton}
+@appearance_brief{wxCheckBox,checkbox}
+@appearance_brief{wxChoice,choice}
+@appearance_brief{wxCheckListBox,checklistbox}
+@appearance_brief{wxComboBox,combobox}
+@appearance_brief{wxGauge,gauge}
+@appearance_brief{wxListBox,listbox}
+@appearance_brief{wxRadioBox,radiobox}
+@appearance_brief{wxRadioButton,radiobutton}
+@appearance_brief{wxScrollBar,scrollbar}
+@appearance_brief{wxSlider,slider}
+@appearance_brief{wxSpinButton,spinbutton}
+@appearance_brief{wxSpinCtrl,spinctrl}
+@appearance_brief{wxSpinCtrlDouble,spinctrldouble}
+
+
+@section page_screenshots_picker Picker Controls
+
+These controls provide the user with the possibility to choose something (file
+or directory, font or colour, ...) directly from the window containing them:
+
+@appearance_brief{wxColourPickerCtrl,colourpickerctrl}
+@appearance_brief{wxDatePickerCtrl,datepickerctrl}
+@appearance_brief{wxFilePickerCtrl,filepickerctrl}
+@appearance_brief{wxDirPickerCtrl,dirpickerctrl}
+@appearance_brief{wxFontPickerCtrl,fontpickerctrl}
+
+
+@section page_screenshots_adv Advanced Controls
+
+These controls are considered to be less common and are defined in
+@ref page_libs_wxadv "adv" library:
+
+@appearance_brief{wxAnimationCtrl,animationctrl}
+@genericAppearance_brief{wxBannerWindow,bannerwindow}
+@appearance_brief{wxBitmapComboBox,bitmapcombobox}
+@appearance_brief{wxCalendarCtrl,calendarctrl}
+@appearance_brief{wxComboCtrl,comboctrl}
+@appearance_brief{wxCommandLinkButton,commandlinkbutton}
+@appearance_brief{wxHyperlinkCtrl,hyperlinkctrl}
+@appearance_brief{wxOwnerDrawnComboBox,ownerdrawncombobox}
+
+
+@section page_screenshots_book Book Controls
+
+Book controls contain several pages (also called tabs in wxNotebook case) and
+allow the user to switch between them:
+
+@appearance_brief{wxChoicebook,choicebook}
+@appearance_brief{wxListbook,listbook}
+@appearance_brief{wxNotebook,notebook}
+
+
+@section page_screenshots_treelist Tree and List Controls
+
+Several controls can be used to display items organized in a tree or (multi
+column) list:
+
+@appearance_brief{wxDataViewCtrl,dataviewctrl}
+@appearance_brief{wxDataViewTreeCtrl,dataviewtreectrl}
+@appearance_brief{wxListCtrl,listctrl}
+@appearance_brief{wxPropertyGrid,propertygrid}
+@genericAppearance_brief{wxSimpleHtmlListBox,simplehtmllistbox}
+
+
+@section page_screenshots_misc Miscellaneous Other Controls
+
+@appearance_brief{wxCollapsiblePane,collapsiblepane}
+@appearance_brief{wxDirCtrl,genericdirctrl}
+@appearance_brief{wxFileCtrl,filectrl}
+@appearance_brief{wxRichTextCtrl,richtextctrl}
+@appearance_brief{wxRichToolTip,richtooltip}
+
+ */