diff --git a/docs/sphinx/_static/images/sphinxdocs/ShortcutEditor_1.png b/docs/sphinx/_static/images/sphinxdocs/ShortcutEditor_1.png new file mode 100644 index 00000000..b6e6a503 Binary files /dev/null and b/docs/sphinx/_static/images/sphinxdocs/ShortcutEditor_1.png differ diff --git a/docs/sphinx/_static/images/sphinxdocs/ShortcutEditor_1_thumb.png b/docs/sphinx/_static/images/sphinxdocs/ShortcutEditor_1_thumb.png new file mode 100644 index 00000000..b116c1ef Binary files /dev/null and b/docs/sphinx/_static/images/sphinxdocs/ShortcutEditor_1_thumb.png differ diff --git a/docs/sphinx/_static/images/sphinxdocs/ShortcutEditor_2.png b/docs/sphinx/_static/images/sphinxdocs/ShortcutEditor_2.png new file mode 100644 index 00000000..e2e32b01 Binary files /dev/null and b/docs/sphinx/_static/images/sphinxdocs/ShortcutEditor_2.png differ diff --git a/docs/sphinx/_static/images/sphinxdocs/ShortcutEditor_2_thumb.png b/docs/sphinx/_static/images/sphinxdocs/ShortcutEditor_2_thumb.png new file mode 100644 index 00000000..71481dc9 Binary files /dev/null and b/docs/sphinx/_static/images/sphinxdocs/ShortcutEditor_2_thumb.png differ diff --git a/docs/sphinx/_static/images/sphinxdocs/ShortcutEditor_3.png b/docs/sphinx/_static/images/sphinxdocs/ShortcutEditor_3.png new file mode 100644 index 00000000..305d52aa Binary files /dev/null and b/docs/sphinx/_static/images/sphinxdocs/ShortcutEditor_3.png differ diff --git a/docs/sphinx/_static/images/sphinxdocs/ShortcutEditor_3_thumb.png b/docs/sphinx/_static/images/sphinxdocs/ShortcutEditor_3_thumb.png new file mode 100644 index 00000000..d077544b Binary files /dev/null and b/docs/sphinx/_static/images/sphinxdocs/ShortcutEditor_3_thumb.png differ diff --git a/docs/sphinx/_static/images/sphinxdocs/ShortcutEditor_4.png b/docs/sphinx/_static/images/sphinxdocs/ShortcutEditor_4.png new file mode 100644 index 00000000..a4a499e9 Binary files /dev/null and b/docs/sphinx/_static/images/sphinxdocs/ShortcutEditor_4.png differ diff --git a/docs/sphinx/_static/images/sphinxdocs/ShortcutEditor_4_thumb.png b/docs/sphinx/_static/images/sphinxdocs/ShortcutEditor_4_thumb.png new file mode 100644 index 00000000..d52d89f3 Binary files /dev/null and b/docs/sphinx/_static/images/sphinxdocs/ShortcutEditor_4_thumb.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.advancedsplash.advancedsplash.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.advancedsplash.advancedsplash.png new file mode 100644 index 00000000..7d0bd7b3 Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.advancedsplash.advancedsplash.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.aquabutton.aquabutton.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.aquabutton.aquabutton.png new file mode 100644 index 00000000..ed90144f Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.aquabutton.aquabutton.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.aui.auibar.auitoolbar.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.aui.auibar.auitoolbar.png new file mode 100644 index 00000000..4290f46e Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.aui.auibar.auitoolbar.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.aui.auibook.auinotebook.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.aui.auibook.auinotebook.png new file mode 100644 index 00000000..4290f46e Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.aui.auibook.auinotebook.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.aui.framemanager.auimanager.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.aui.framemanager.auimanager.png new file mode 100644 index 00000000..4290f46e Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.aui.framemanager.auimanager.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.balloontip.balloontip.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.balloontip.balloontip.png new file mode 100644 index 00000000..75c4ee02 Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.balloontip.balloontip.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.buttonpanel.buttonpanel.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.buttonpanel.buttonpanel.png new file mode 100644 index 00000000..8964874a Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.buttonpanel.buttonpanel.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.cubecolourdialog.cubecolourdialog.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.cubecolourdialog.cubecolourdialog.png new file mode 100644 index 00000000..5b2e354f Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.cubecolourdialog.cubecolourdialog.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.customtreectrl.customtreectrl.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.customtreectrl.customtreectrl.png new file mode 100644 index 00000000..795447b8 Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.customtreectrl.customtreectrl.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.flatmenu.flatmenubar.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.flatmenu.flatmenubar.png new file mode 100644 index 00000000..8df38dae Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.flatmenu.flatmenubar.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.flatnotebook.flatnotebook.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.flatnotebook.flatnotebook.png new file mode 100644 index 00000000..2604576b Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.flatnotebook.flatnotebook.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.floatspin.floatspin.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.floatspin.floatspin.png new file mode 100644 index 00000000..b1b80223 Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.floatspin.floatspin.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.fmcustomizedlg.fmcustomizedlg.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.fmcustomizedlg.fmcustomizedlg.png new file mode 100644 index 00000000..25072b8c Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.fmcustomizedlg.fmcustomizedlg.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.foldpanelbar.foldpanelbar.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.foldpanelbar.foldpanelbar.png new file mode 100644 index 00000000..b2bf77c9 Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.foldpanelbar.foldpanelbar.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.fourwaysplitter.fourwaysplitter.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.fourwaysplitter.fourwaysplitter.png new file mode 100644 index 00000000..f44ee447 Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.fourwaysplitter.fourwaysplitter.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.genericmessagedialog.genericmessagedialog.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.genericmessagedialog.genericmessagedialog.png new file mode 100644 index 00000000..96af46d4 Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.genericmessagedialog.genericmessagedialog.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.gradientbutton.gradientbutton.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.gradientbutton.gradientbutton.png new file mode 100644 index 00000000..8f52953c Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.gradientbutton.gradientbutton.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.hyperlink.hyperlinkctrl.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.hyperlink.hyperlinkctrl.png new file mode 100644 index 00000000..8a35b933 Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.hyperlink.hyperlinkctrl.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.hypertreelist.hypertreelist.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.hypertreelist.hypertreelist.png new file mode 100644 index 00000000..2411866e Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.hypertreelist.hypertreelist.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.infobar.infobar.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.infobar.infobar.png new file mode 100644 index 00000000..b80e4d13 Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.infobar.infobar.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.knobctrl.knobctrl.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.knobctrl.knobctrl.png new file mode 100644 index 00000000..875cd115 Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.knobctrl.knobctrl.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.labelbook.flatimagebook.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.labelbook.flatimagebook.png new file mode 100644 index 00000000..36788715 Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.labelbook.flatimagebook.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.labelbook.labelbook.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.labelbook.labelbook.png new file mode 100644 index 00000000..e4497698 Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.labelbook.labelbook.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.multidirdialog.multidirdialog.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.multidirdialog.multidirdialog.png new file mode 100644 index 00000000..6b318d6c Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.multidirdialog.multidirdialog.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.peakmeter.peakmeterctrl.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.peakmeter.peakmeterctrl.png new file mode 100644 index 00000000..7388e2c7 Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.peakmeter.peakmeterctrl.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.piectrl.piectrl.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.piectrl.piectrl.png new file mode 100644 index 00000000..2c6ccd19 Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.piectrl.piectrl.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.piectrl.progresspie.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.piectrl.progresspie.png new file mode 100644 index 00000000..2c6ccd19 Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.piectrl.progresspie.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.pybusyinfo.pybusyinfo.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.pybusyinfo.pybusyinfo.png new file mode 100644 index 00000000..a4f4112a Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.pybusyinfo.pybusyinfo.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.pycollapsiblepane.pycollapsiblepane.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.pycollapsiblepane.pycollapsiblepane.png new file mode 100644 index 00000000..a5d18dab Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.pycollapsiblepane.pycollapsiblepane.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.pygauge.pygauge.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.pygauge.pygauge.png new file mode 100644 index 00000000..f6629ddd Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.pygauge.pygauge.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.pyprogress.pyprogress.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.pyprogress.pyprogress.png new file mode 100644 index 00000000..db328171 Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.pyprogress.pyprogress.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.ribbon.bar.ribbonbar.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.ribbon.bar.ribbonbar.png new file mode 100644 index 00000000..2b7bb0db Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.ribbon.bar.ribbonbar.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.ribbon.buttonbar.ribbonbuttonbar.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.ribbon.buttonbar.ribbonbuttonbar.png new file mode 100644 index 00000000..2b7bb0db Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.ribbon.buttonbar.ribbonbuttonbar.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.ribbon.gallery.ribbongallery.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.ribbon.gallery.ribbongallery.png new file mode 100644 index 00000000..2b7bb0db Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.ribbon.gallery.ribbongallery.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.ribbon.page.ribbonpage.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.ribbon.page.ribbonpage.png new file mode 100644 index 00000000..2b7bb0db Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.ribbon.page.ribbonpage.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.ribbon.panel.ribbonpanel.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.ribbon.panel.ribbonpanel.png new file mode 100644 index 00000000..2b7bb0db Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.ribbon.panel.ribbonpanel.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.ribbon.toolbar.ribbontoolbar.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.ribbon.toolbar.ribbontoolbar.png new file mode 100644 index 00000000..2b7bb0db Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.ribbon.toolbar.ribbontoolbar.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.rulerctrl.rulerctrl.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.rulerctrl.rulerctrl.png new file mode 100644 index 00000000..79c2e13f Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.rulerctrl.rulerctrl.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.shapedbutton.sbitmapbutton.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.shapedbutton.sbitmapbutton.png new file mode 100644 index 00000000..7c6a4e90 Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.shapedbutton.sbitmapbutton.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.shapedbutton.sbitmaptextbutton.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.shapedbutton.sbitmaptextbutton.png new file mode 100644 index 00000000..7c6a4e90 Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.shapedbutton.sbitmaptextbutton.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.shapedbutton.sbitmaptexttogglebutton.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.shapedbutton.sbitmaptexttogglebutton.png new file mode 100644 index 00000000..7c6a4e90 Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.shapedbutton.sbitmaptexttogglebutton.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.shapedbutton.sbitmaptogglebutton.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.shapedbutton.sbitmaptogglebutton.png new file mode 100644 index 00000000..7c6a4e90 Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.shapedbutton.sbitmaptogglebutton.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.shortcuteditor.shortcuteditor.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.shortcuteditor.shortcuteditor.png new file mode 100644 index 00000000..1c444fa0 Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.shortcuteditor.shortcuteditor.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.speedmeter.speedmeter.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.speedmeter.speedmeter.png new file mode 100644 index 00000000..36586744 Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.speedmeter.speedmeter.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.supertooltip.supertooltip.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.supertooltip.supertooltip.png new file mode 100644 index 00000000..e4748d94 Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.supertooltip.supertooltip.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.thumbnailctrl.thumbnailctrl.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.thumbnailctrl.thumbnailctrl.png new file mode 100644 index 00000000..1ca077cb Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.thumbnailctrl.thumbnailctrl.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.toasterbox.toasterbox.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.toasterbox.toasterbox.png new file mode 100644 index 00000000..8eef5d64 Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.toasterbox.toasterbox.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.ultimatelistctrl.ultimatelistctrl.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.ultimatelistctrl.ultimatelistctrl.png new file mode 100644 index 00000000..acba2276 Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.ultimatelistctrl.ultimatelistctrl.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.xlsgrid.xlsgrid.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.xlsgrid.xlsgrid.png new file mode 100644 index 00000000..8e3ee012 Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.xlsgrid.xlsgrid.png differ diff --git a/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.zoombar.zoombar.png b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.zoombar.zoombar.png new file mode 100644 index 00000000..cc32e4a4 Binary files /dev/null and b/docs/sphinx/_static/images/widgets/fullsize/wxmsw/lib.agw.zoombar.zoombar.png differ diff --git a/docs/sphinx/_templates/main.html b/docs/sphinx/_templates/main.html index c0f76ff0..4be5fab7 100644 --- a/docs/sphinx/_templates/main.html +++ b/docs/sphinx/_templates/main.html @@ -74,20 +74,26 @@

Documentation

- +
+ +
+ +
-
+ -

-

+

+

+
diff --git a/docs/sphinx/rest_substitutions/snippets/python/converted/MDIParentFrame.OnCreateClient.1.py b/docs/sphinx/rest_substitutions/snippets/python/converted/MDIParentFrame.OnCreateClient.1.py new file mode 100644 index 00000000..2b227b70 --- /dev/null +++ b/docs/sphinx/rest_substitutions/snippets/python/converted/MDIParentFrame.OnCreateClient.1.py @@ -0,0 +1,3 @@ + + frame = MyParentFrame() + frame.Create(parent, myParentFrameId, "My Parent Frame") diff --git a/sphinxtools/librarydescription.py b/sphinxtools/librarydescription.py index 63f319cb..5b3337fc 100644 --- a/sphinxtools/librarydescription.py +++ b/sphinxtools/librarydescription.py @@ -9,7 +9,8 @@ from subprocess import Popen, PIPE from inspect import getmro, getclasstree, getdoc, getcomments -from utilities import MakeSummary, ChopDescription, WriteSphinxOutput, PickleClassInfo +from utilities import MakeSummary, ChopDescription, WriteSphinxOutput +from utilities import FindControlImages, PickleClassInfo from constants import object_types, MODULE_TO_ICON import templates @@ -72,7 +73,7 @@ def generic_summary(libraryItem, stream): table = [] for item in sub_list: - if item.is_redundant: + if item.is_redundant or item.GetShortName().startswith('__test'): continue docs = ChopDescription(ReplaceWxDot(item.docs)) @@ -102,7 +103,9 @@ def ReplaceWxDot(text): # Signle ticks with 'wx.' in them... try and referencing them text = re.sub(r'`wx\.(.*?)`', r'`\1` ', text) - + + # Masked is funny... + text = text.replace('', '') return text @@ -282,7 +285,7 @@ class Library(ParentBase): print '\n\nReST-ifying %s...\n\n'%self.base_name stream = StringIO() - header = templates.TEMPLATE_DESCRIPTION%(self.base_name, self.base_name + ' Library') + header = templates.TEMPLATE_DESCRIPTION%(self.base_name, self.base_name) stream.write(header) stream.write(ReplaceWxDot(self.docs) + '\n\n') @@ -316,6 +319,9 @@ class Module(ParentBase): def ToRest(self): + + if self.is_redundant or self.GetShortName().startswith('__test'): + return stream = StringIO() @@ -325,8 +331,9 @@ class Module(ParentBase): stream.write('.. module:: %s\n\n'%self.name) stream.write('.. currentmodule:: %s\n\n'%self.name) + stream.write('.. highlight:: python\n\n') - header = templates.TEMPLATE_DESCRIPTION%(self.name, '%s %s'%(self.name, label)) + header = templates.TEMPLATE_DESCRIPTION%(self.name, '%s'%self.GetShortName()) stream.write(header) stream.write(ReplaceWxDot(self.docs) + '\n\n') @@ -345,22 +352,21 @@ class Module(ParentBase): generic_summary(self, stream) - if self.kind != object_types.PACKAGE: - functions = self.GetItemByKind(object_types.FUNCTION) + functions = self.GetItemByKind(object_types.FUNCTION) - count = 0 - for fun in functions: - if not fun.is_redundant: - count = 1 - break + count = 0 + for fun in functions: + if not fun.is_redundant: + count = 1 + break - if count > 0: - stream.write('\n\nFunctions\n===========\n\n') - - for fun in functions: - if fun.is_redundant: - continue - fun.Write(stream) + if count > 0: + stream.write('\n\nFunctions\n------------\n\n') + + for fun in functions: + if fun.is_redundant: + continue + fun.Write(stream) WriteSphinxOutput(stream, self.sphinx_file) @@ -394,7 +400,7 @@ class Class(ParentBase): name_parts = sup.split('.') sup = name_parts[-1] - sortedSupClasses.append(sup) + sortedSupClasses.append(sup.replace('wx.', '')) sortedSupClasses.sort() @@ -412,10 +418,16 @@ class Class(ParentBase): name_parts = cls.split('.') cls = name_parts[-1] - sortedSubClasses.append(cls) + sortedSubClasses.append(cls.replace('wx.', '')) sortedSubClasses.sort() + + if len(sortedSubClasses) == 1 and sortedSubClasses[0] == 'object': + sortedSubClasses = [] + if len(sortedSupClasses) == 1 and sortedSupClasses[0] == 'object': + sortedSupClasses = [] + self.class_tree = make_class_tree(getclasstree(getmro(obj))) self.subClasses = sortedSubClasses @@ -431,7 +443,7 @@ class Class(ParentBase): def ToRest(self): - if self.is_redundant: + if self.is_redundant or self.GetShortName().startswith('__test'): return stream = StringIO() @@ -440,10 +452,13 @@ class Class(ParentBase): current_module = '.'.join(parts[0:-1]) stream.write('.. currentmodule:: %s\n\n'%current_module) + stream.write('.. highlight:: python\n\n') + + class_docs = ReplaceWxDot(self.docs) header = templates.TEMPLATE_DESCRIPTION%(self.name, self.GetShortName()) stream.write(header) - stream.write(ReplaceWxDot(self.docs) + '\n\n') + stream.write(class_docs + '\n\n') if self.inheritance_diagram: png, map = self.inheritance_diagram.MakeInheritanceDiagram() @@ -451,22 +466,33 @@ class Class(ParentBase): image_desc = templates.TEMPLATE_INHERITANCE % (short_name, png, short_name, map) stream.write(image_desc) + appearance = FindControlImages(self.name.lower()) + if appearance: + appearance_desc = templates.TEMPLATE_APPEARANCE % tuple(appearance) + stream.write(appearance_desc + '\n\n') + if self.subClasses: - subs = [':ref:`%s`'%cls for cls in self.superClasses] + subs = [':ref:`%s`'%cls for cls in self.subClasses] subs = ', '.join(subs) subs_desc = templates.TEMPLATE_SUBCLASSES % subs stream.write(subs_desc) if self.superClasses: - subs = [':ref:`%s`'%cls for cls in self.superClasses] - subs = ', '.join(subs) - subs_desc = templates.TEMPLATE_SUPERCLASSES % subs - stream.write(subs_desc) + sups = [':ref:`%s`'%cls for cls in self.superClasses] + sups = ', '.join(sups) + sups_desc = templates.TEMPLATE_SUPERCLASSES % sups + stream.write(sups_desc) generic_summary(self, stream) stream.write(templates.TEMPLATE_API) - stream.write("\n.. class:: %s\n\n\n"%self.signature) + stream.write("\n.. class:: %s\n\n"%self.signature) + + docs = '' + for line in class_docs.splitlines(True): + docs += ' '*3 + line + + stream.write(docs + '\n\n') methods = self.GetItemByKind(object_types.METHOD, object_types.INSTANCE_METHOD) properties = self.GetItemByKind(object_types.PROPERTY) @@ -607,6 +633,15 @@ class Method(ChildrenBase): if self.signature.startswith('def '): self.signature = self.signature[4:] + if '@staticmethod' in self.signature: + self.kind = object_types.STATIC_METHOD + elif '@classmethod' in self.signature: + self.kind = object_types.CLASS_METHOD + + if ' def ' in self.signature: + index = self.signature.index(' def ') + self.signature = self.signature[index+5:].strip() + if not self.signature.strip(): self.is_redundant = True @@ -620,7 +655,12 @@ class Method(ChildrenBase): stream.write('.. function:: %s\n\n'%self.signature) indent = 3*' ' else: - stream.write(' .. method:: %s\n\n'%self.signature) + if self.kind == object_types.STATIC_METHOD: + stream.write(' .. staticmethod:: %s\n\n'%self.signature) + elif self.kind == object_types.CLASS_METHOD: + stream.write(' .. classmethod:: %s\n\n'%self.signature) + else: + stream.write(' .. method:: %s\n\n'%self.signature) indent = 6*' ' if not self.docs.strip(): diff --git a/sphinxtools/modulehunter.py b/sphinxtools/modulehunter.py index a2895eee..d8035a53 100644 --- a/sphinxtools/modulehunter.py +++ b/sphinxtools/modulehunter.py @@ -46,6 +46,8 @@ except ImportError: import wx +print '\nUSING VERSION: %s\n'%wx.VERSION_STRING + if hasattr(os.path, "relpath"): relpath = os.path.relpath # since Python 2.6 @@ -367,6 +369,9 @@ def describe_class(obj, module_class, module_name, constants): if source_code: description = get_constructor(source_code) + if '(' not in description and ':' in description: + description = description[0:description.index(':')] + klass.signature = description.strip() klass.number_lines = '%d'%len(source_code.split("\n")) diff --git a/sphinxtools/postprocess.py b/sphinxtools/postprocess.py index 9adbb061..d439fb32 100644 --- a/sphinxtools/postprocess.py +++ b/sphinxtools/postprocess.py @@ -630,12 +630,12 @@ def PostProcess(folder): if index < len_split - 1: - if line.strip() == '

': - + if line.strip() == '

' or line.strip() == '


': next_line = splitted_text[index+1] stripline = next_line.strip() - if (stripline == '
' or stripline == '
') and not methods_done: + if (stripline == '
' or stripline == '
' \ + or stripline == '
') and not methods_done: line = '

MethodsΒΆ

' + '\n' + line methods_done = True diff --git a/sphinxtools/utilities.py b/sphinxtools/utilities.py index 674726cd..aad58d07 100644 --- a/sphinxtools/utilities.py +++ b/sphinxtools/utilities.py @@ -387,9 +387,10 @@ def FindDescendants(element, tag, descendants=None): # ----------------------------------------------------------------------- # -def FindControlImages(element): +def FindControlImages(elementOrString): """ - Given the input `element` (an instance of `xml.etree.ElementTree.Element`) + Given the input `element` (an instance of `xml.etree.ElementTree.Element` + or a plain string) representing a Phoenix class description, this function will scan the doxygen image folder ``DOXYROOT`` to look for a widget screenshot. @@ -398,7 +399,8 @@ def FindControlImages(element): in one of its sub-folders (``wxmsw``, ``wxgtk``, ``wxmac``) depending on which platform the screenshot was taken. - :param xml.etree.ElementTree.Element `element`: the XML element we want to examine. + :param `elementOrString`: the XML element we want to examine (an instance of + xml.etree.ElementTree.Element) or a plain string (usually for wx.lib). :rtype: `list` @@ -411,11 +413,15 @@ def FindControlImages(element): """ - class_name = RemoveWxPrefix(element.name) or element.pyName - py_class_name = Wx2Sphinx(class_name)[1] + if isinstance(elementOrString, basestring): + class_name = py_class_name = elementOrString.lower() + else: + element = elementOrString + class_name = RemoveWxPrefix(element.name) or element.pyName + py_class_name = Wx2Sphinx(class_name)[1] - class_name = class_name.lower() - py_class_name = py_class_name.lower() + class_name = class_name.lower() + py_class_name = py_class_name.lower() image_folder = os.path.join(DOXYROOT, 'images')