]> git.saurik.com Git - wxWidgets.git/commitdiff
Merged GSOC Ribbon work from SOC2009_RIBBON branch into trunk.
authorPeter Cawley <corsix@corsix.org>
Wed, 16 Sep 2009 12:06:02 +0000 (12:06 +0000)
committerPeter Cawley <corsix@corsix.org>
Wed, 16 Sep 2009 12:06:02 +0000 (12:06 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61944 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

126 files changed:
Makefile.in
autoconf_inc.m4
build/bakefiles/common.bkl
build/bakefiles/config.bkl
build/bakefiles/files.bkl
build/bakefiles/make_dist.mk
build/bakefiles/multilib.bkl
build/bakefiles/wxpresets/presets/wx.bkl
build/bakefiles/wxpresets/presets/wx_win32.bkl
build/bakefiles/wxwin.py
build/msw/config.bcc
build/msw/config.gcc
build/msw/config.vc
build/msw/config.wat
build/msw/makefile.bcc
build/msw/makefile.gcc
build/msw/makefile.vc
build/msw/makefile.wat
build/msw/wx.dsw
build/msw/wx_ribbon.dsp [new file with mode: 0644]
build/msw/wx_vc7.sln
build/msw/wx_vc7_ribbon.vcproj [new file with mode: 0644]
build/msw/wx_vc8.sln
build/msw/wx_vc8_ribbon.vcproj [new file with mode: 0644]
build/msw/wx_vc9.sln
build/msw/wx_vc9_ribbon.vcproj [new file with mode: 0644]
configure.in
demos/makefile.bcc
demos/makefile.gcc
demos/makefile.vc
demos/makefile.wat
docs/doxygen/groups/class_ribbon.h [new file with mode: 0644]
docs/doxygen/mainpages/libs.h
include/wx/dlimpexp.h
include/wx/msw/setup0.h
include/wx/os2/setup0.h
include/wx/osx/setup0.h
include/wx/palmos/setup0.h
include/wx/ribbon/art.h [new file with mode: 0644]
include/wx/ribbon/art_internal.h [new file with mode: 0644]
include/wx/ribbon/bar.h [new file with mode: 0644]
include/wx/ribbon/buttonbar.h [new file with mode: 0644]
include/wx/ribbon/control.h [new file with mode: 0644]
include/wx/ribbon/gallery.h [new file with mode: 0644]
include/wx/ribbon/page.h [new file with mode: 0644]
include/wx/ribbon/panel.h [new file with mode: 0644]
include/wx/ribbon/toolbar.h [new file with mode: 0644]
include/wx/univ/setup0.h
interface/wx/ribbon/art.h [new file with mode: 0644]
interface/wx/ribbon/bar.h [new file with mode: 0644]
interface/wx/ribbon/buttonbar.h [new file with mode: 0644]
interface/wx/ribbon/control.h [new file with mode: 0644]
interface/wx/ribbon/gallery.h [new file with mode: 0644]
interface/wx/ribbon/page.h [new file with mode: 0644]
interface/wx/ribbon/panel.h [new file with mode: 0644]
interface/wx/ribbon/toolbar.h [new file with mode: 0644]
samples/html/makefile.bcc
samples/html/makefile.gcc
samples/html/makefile.vc
samples/html/makefile.wat
samples/internat/makefile.bcc
samples/internat/makefile.gcc
samples/makefile.bcc
samples/makefile.gcc
samples/makefile.vc
samples/makefile.wat
samples/opengl/makefile.bcc
samples/opengl/makefile.gcc
samples/opengl/makefile.vc
samples/opengl/makefile.wat
samples/ribbon/Makefile.in [new file with mode: 0644]
samples/ribbon/align_center.xpm [new file with mode: 0644]
samples/ribbon/align_left.xpm [new file with mode: 0644]
samples/ribbon/align_right.xpm [new file with mode: 0644]
samples/ribbon/aui_style.xpm [new file with mode: 0644]
samples/ribbon/auto_crop_selection.xpm [new file with mode: 0644]
samples/ribbon/auto_crop_selection_small.xpm [new file with mode: 0644]
samples/ribbon/circle.xpm [new file with mode: 0644]
samples/ribbon/circle_small.xpm [new file with mode: 0644]
samples/ribbon/colours.xpm [new file with mode: 0644]
samples/ribbon/cross.xpm [new file with mode: 0644]
samples/ribbon/empty.xpm [new file with mode: 0644]
samples/ribbon/expand_selection_h.xpm [new file with mode: 0644]
samples/ribbon/expand_selection_v.xpm [new file with mode: 0644]
samples/ribbon/eye.xpm [new file with mode: 0644]
samples/ribbon/fix_xpm.bat [new file with mode: 0644]
samples/ribbon/fix_xpm.lua [new file with mode: 0644]
samples/ribbon/hexagon.xpm [new file with mode: 0644]
samples/ribbon/makefile.bcc [new file with mode: 0644]
samples/ribbon/makefile.gcc [new file with mode: 0644]
samples/ribbon/makefile.unx [new file with mode: 0644]
samples/ribbon/makefile.vc [new file with mode: 0644]
samples/ribbon/makefile.wat [new file with mode: 0644]
samples/ribbon/msw_style.xpm [new file with mode: 0644]
samples/ribbon/position_left_small.xpm [new file with mode: 0644]
samples/ribbon/position_top_small.xpm [new file with mode: 0644]
samples/ribbon/ribbon.bkl [new file with mode: 0644]
samples/ribbon/ribbon.dsp [new file with mode: 0644]
samples/ribbon/ribbon.dsw [new file with mode: 0644]
samples/ribbon/ribbon.xpm [new file with mode: 0644]
samples/ribbon/ribbon_vc7.sln [new file with mode: 0644]
samples/ribbon/ribbon_vc7.vcproj [new file with mode: 0644]
samples/ribbon/ribbon_vc8.sln [new file with mode: 0644]
samples/ribbon/ribbon_vc8.vcproj [new file with mode: 0644]
samples/ribbon/ribbon_vc9.sln [new file with mode: 0644]
samples/ribbon/ribbon_vc9.vcproj [new file with mode: 0644]
samples/ribbon/ribbondemo.cpp [new file with mode: 0644]
samples/ribbon/selection_panel.xpm [new file with mode: 0644]
samples/ribbon/square.xpm [new file with mode: 0644]
samples/ribbon/triangle.xpm [new file with mode: 0644]
setup.h.in
src/ribbon/art_aui.cpp [new file with mode: 0644]
src/ribbon/art_internal.cpp [new file with mode: 0644]
src/ribbon/art_msw.cpp [new file with mode: 0644]
src/ribbon/bar.cpp [new file with mode: 0644]
src/ribbon/buttonbar.cpp [new file with mode: 0644]
src/ribbon/control.cpp [new file with mode: 0644]
src/ribbon/gallery.cpp [new file with mode: 0644]
src/ribbon/page.cpp [new file with mode: 0644]
src/ribbon/panel.cpp [new file with mode: 0644]
src/ribbon/toolbar.cpp [new file with mode: 0644]
utils/Makefile.in
utils/makefile.bcc
utils/makefile.gcc
utils/makefile.vc
utils/makefile.wat

index 2a40c2793a39a5c6e9464b2ae6ed83c935a9030d..02e0bb548e8b850d3f45c63bde3177e1c09516ab 100644 (file)
@@ -1730,6 +1730,42 @@ AUILIB_OBJECTS =  \
        auilib_auibar.o \
        auilib_tabmdi.o
 AUILIB_ODEP =  $(_____pch_wxprec_auilib_wx_wxprec_h_gch___depname)
+RIBBONDLL_CXXFLAGS = $(__ribbondll_PCH_INC) -D__WX$(TOOLKIT)__ \
+       $(__WXUNIV_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
+       $(__THREAD_DEFINE_p) -DWXBUILDING $(__INC_TIFF_BUILD_p) $(__INC_TIFF_p) \
+       $(__INC_JPEG_p) $(__INC_PNG_p) $(__INC_ZLIB_p) $(__INC_REGEX_p) \
+       $(__INC_EXPAT_p) -DWXUSINGDLL -DWXMAKINGDLL_RIBBON $(PIC_FLAG) \
+       $(CXXWARNINGS) $(CPPFLAGS) $(CXXFLAGS)
+RIBBONDLL_OBJECTS =  \
+       $(__ribbondll___win32rc) \
+       ribbondll_art_internal.o \
+       ribbondll_art_msw.o \
+       ribbondll_art_aui.o \
+       ribbondll_bar.o \
+       ribbondll_buttonbar.o \
+       ribbondll_control.o \
+       ribbondll_gallery.o \
+       ribbondll_page.o \
+       ribbondll_panel.o \
+       ribbondll_toolbar.o
+RIBBONDLL_ODEP =  $(_____pch_wxprec_ribbondll_wx_wxprec_h_gch___depname)
+RIBBONLIB_CXXFLAGS = $(__ribbonlib_PCH_INC) -D__WX$(TOOLKIT)__ \
+       $(__WXUNIV_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
+       $(__THREAD_DEFINE_p) -DWXBUILDING $(__INC_TIFF_BUILD_p) $(__INC_TIFF_p) \
+       $(__INC_JPEG_p) $(__INC_PNG_p) $(__INC_ZLIB_p) $(__INC_REGEX_p) \
+       $(__INC_EXPAT_p) $(CXXWARNINGS) $(CPPFLAGS) $(CXXFLAGS)
+RIBBONLIB_OBJECTS =  \
+       ribbonlib_art_internal.o \
+       ribbonlib_art_msw.o \
+       ribbonlib_art_aui.o \
+       ribbonlib_bar.o \
+       ribbonlib_buttonbar.o \
+       ribbonlib_control.o \
+       ribbonlib_gallery.o \
+       ribbonlib_page.o \
+       ribbonlib_panel.o \
+       ribbonlib_toolbar.o
+RIBBONLIB_ODEP =  $(_____pch_wxprec_ribbonlib_wx_wxprec_h_gch___depname)
 PROPGRIDDLL_CXXFLAGS = $(__propgriddll_PCH_INC) -D__WX$(TOOLKIT)__ \
        $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) \
        $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) -DWXBUILDING $(__INC_TIFF_BUILD_p) \
@@ -11448,6 +11484,72 @@ COND_MONOLITHIC_0_SHARED_0_USE_AUI_1___auilib___depname = \
 @COND_USE_PCH_1@       = ./.pch/wxprec_auilib/wx/wxprec.h.gch
 @COND_SHARED_1@____wxaui_namedll_DEP = $(__auidll___depname)
 @COND_SHARED_0@____wxaui_namelib_DEP = $(__auilib___depname)
+COND_MONOLITHIC_0_SHARED_1_USE_RIBBON_1___ribbondll___depname = \
+       $(LIBDIRNAME)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3)
+@COND_MONOLITHIC_0_SHARED_1_USE_RIBBON_1@__ribbondll___depname = $(COND_MONOLITHIC_0_SHARED_1_USE_RIBBON_1___ribbondll___depname)
+@COND_MONOLITHIC_0_SHARED_1_USE_RIBBON_1@__install_ribbondll___depname \
+@COND_MONOLITHIC_0_SHARED_1_USE_RIBBON_1@      = install_ribbondll
+@COND_MONOLITHIC_0_SHARED_1_USE_RIBBON_1@__uninstall_ribbondll___depname \
+@COND_MONOLITHIC_0_SHARED_1_USE_RIBBON_1@      = uninstall_ribbondll
+COND_PLATFORM_MACOSX_1___ribbondll___macinstnamecmd = -install_name \
+       $(libdir)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf2)
+@COND_PLATFORM_MACOSX_1@__ribbondll___macinstnamecmd = $(COND_PLATFORM_MACOSX_1___ribbondll___macinstnamecmd)
+COND_PLATFORM_OS2_1___ribbondll___importlib = -import \
+       $(LIBDIRNAME)/$(LIBPREFIX)wx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon-$(WX_RELEASE)$(HOST_SUFFIX).$(DLLIMP_SUFFIX)
+@COND_PLATFORM_OS2_1@__ribbondll___importlib = $(COND_PLATFORM_OS2_1___ribbondll___importlib)
+COND_WINDOWS_IMPLIB_1___ribbondll___importlib = \
+       -Wl,--out-implib=$(LIBDIRNAME)/$(LIBPREFIX)wx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon-$(WX_RELEASE)$(HOST_SUFFIX).$(DLLIMP_SUFFIX)
+@COND_WINDOWS_IMPLIB_1@__ribbondll___importlib = $(COND_WINDOWS_IMPLIB_1___ribbondll___importlib)
+@COND_GCC_PCH_1@__ribbondll_PCH_INC = -I./.pch/wxprec_ribbondll
+@COND_ICC_PCH_1@__ribbondll_PCH_INC = -use_pch \
+@COND_ICC_PCH_1@       ./.pch/wxprec_ribbondll/wx/wxprec.h.gch
+@COND_USE_PCH_1@_____pch_wxprec_ribbondll_wx_wxprec_h_gch___depname \
+@COND_USE_PCH_1@       = ./.pch/wxprec_ribbondll/wx/wxprec.h.gch
+COND_USE_SOVERLINUX_1___ribbondll___soname_flags = \
+       $(SONAME_FLAG)$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf2)
+@COND_USE_SOVERLINUX_1@__ribbondll___soname_flags = $(COND_USE_SOVERLINUX_1___ribbondll___soname_flags)
+COND_USE_SOVERSOLARIS_1___ribbondll___soname_flags = \
+       $(SONAME_FLAG)$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3)
+@COND_USE_SOVERSOLARIS_1@__ribbondll___soname_flags = $(COND_USE_SOVERSOLARIS_1___ribbondll___soname_flags)
+COND_USE_SOSYMLINKS_1___ribbondll___so_symlinks_cmd = (cd $(LIBDIRNAME)/; rm -f \
+       $(LIBPREFIX)wx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon-$(WX_RELEASE)$(HOST_SUFFIX).$(DLLIMP_SUFFIX) \
+       $(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf2); \
+       $(LN_S) \
+       $(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3) \
+       $(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf2); \
+       $(LN_S) \
+       $(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf2) \
+       $(LIBPREFIX)wx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon-$(WX_RELEASE)$(HOST_SUFFIX).$(DLLIMP_SUFFIX))
+@COND_USE_SOSYMLINKS_1@__ribbondll___so_symlinks_cmd = $(COND_USE_SOSYMLINKS_1___ribbondll___so_symlinks_cmd)
+COND_USE_SOSYMLINKS_1___ribbondll___so_symlinks_inst_cmd = rm -f \
+       $(LIBPREFIX)wx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon-$(WX_RELEASE)$(HOST_SUFFIX).$(DLLIMP_SUFFIX) \
+       $(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf2); \
+       $(LN_S) \
+       $(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3) \
+       $(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf2); \
+       $(LN_S) \
+       $(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf2) \
+       $(LIBPREFIX)wx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon-$(WX_RELEASE)$(HOST_SUFFIX).$(DLLIMP_SUFFIX)
+@COND_USE_SOSYMLINKS_1@__ribbondll___so_symlinks_inst_cmd = $(COND_USE_SOSYMLINKS_1___ribbondll___so_symlinks_inst_cmd)
+COND_USE_SOSYMLINKS_1___ribbondll___so_symlinks_uninst_cmd = rm -f \
+       $(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf2) \
+       $(LIBPREFIX)wx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon-$(WX_RELEASE)$(HOST_SUFFIX).$(DLLIMP_SUFFIX)
+@COND_USE_SOSYMLINKS_1@__ribbondll___so_symlinks_uninst_cmd = $(COND_USE_SOSYMLINKS_1___ribbondll___so_symlinks_uninst_cmd)
+@COND_PLATFORM_WIN32_1@__ribbondll___win32rc = ribbondll_version_rc.o
+COND_MONOLITHIC_0_SHARED_0_USE_RIBBON_1___ribbonlib___depname = \
+       $(LIBDIRNAME)/$(LIBPREFIX)wx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon-$(WX_RELEASE)$(HOST_SUFFIX)$(LIBEXT)
+@COND_MONOLITHIC_0_SHARED_0_USE_RIBBON_1@__ribbonlib___depname = $(COND_MONOLITHIC_0_SHARED_0_USE_RIBBON_1___ribbonlib___depname)
+@COND_MONOLITHIC_0_SHARED_0_USE_RIBBON_1@__install_ribbonlib___depname \
+@COND_MONOLITHIC_0_SHARED_0_USE_RIBBON_1@      = install_ribbonlib
+@COND_MONOLITHIC_0_SHARED_0_USE_RIBBON_1@__uninstall_ribbonlib___depname \
+@COND_MONOLITHIC_0_SHARED_0_USE_RIBBON_1@      = uninstall_ribbonlib
+@COND_GCC_PCH_1@__ribbonlib_PCH_INC = -I./.pch/wxprec_ribbonlib
+@COND_ICC_PCH_1@__ribbonlib_PCH_INC = -use_pch \
+@COND_ICC_PCH_1@       ./.pch/wxprec_ribbonlib/wx/wxprec.h.gch
+@COND_USE_PCH_1@_____pch_wxprec_ribbonlib_wx_wxprec_h_gch___depname \
+@COND_USE_PCH_1@       = ./.pch/wxprec_ribbonlib/wx/wxprec.h.gch
+@COND_SHARED_1@____wxribbon_namedll_DEP = $(__ribbondll___depname)
+@COND_SHARED_0@____wxribbon_namelib_DEP = $(__ribbonlib___depname)
 COND_MONOLITHIC_0_SHARED_1_USE_PROPGRID_1___propgriddll___depname = \
        $(LIBDIRNAME)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3)
 @COND_MONOLITHIC_0_SHARED_1_USE_PROPGRID_1@__propgriddll___depname = $(COND_MONOLITHIC_0_SHARED_1_USE_PROPGRID_1___propgriddll___depname)
@@ -12516,20 +12618,20 @@ COND_MONOLITHIC_0_SHARED_1_USE_GUI_1_USE_HTML_1___htmldll_library_link_LIBR_0 \
 @COND_USE_SOVERSION_0@dll___targetsuf3 = .$(SO_SUFFIX)
 @COND_TOOLKIT_MSW@__RCDEFDIR_p = --include-dir \
 @COND_TOOLKIT_MSW@     $(LIBDIRNAME)/wx/include/$(TOOLCHAIN_FULLNAME)
-@COND_wxUSE_LIBTIFF_builtin@__INC_TIFF_BUILD_p_58 \
+@COND_wxUSE_LIBTIFF_builtin@__INC_TIFF_BUILD_p_62 \
 @COND_wxUSE_LIBTIFF_builtin@   = --include-dir \
 @COND_wxUSE_LIBTIFF_builtin@   $(wx_top_builddir)/src/tiff/libtiff
-@COND_wxUSE_LIBTIFF_builtin@__INC_TIFF_p_58 = \
+@COND_wxUSE_LIBTIFF_builtin@__INC_TIFF_p_62 = \
 @COND_wxUSE_LIBTIFF_builtin@   --include-dir $(top_srcdir)/src/tiff/libtiff
-@COND_wxUSE_LIBJPEG_builtin@__INC_JPEG_p_58 = \
+@COND_wxUSE_LIBJPEG_builtin@__INC_JPEG_p_62 = \
 @COND_wxUSE_LIBJPEG_builtin@   --include-dir $(top_srcdir)/src/jpeg
-@COND_wxUSE_LIBPNG_builtin@__INC_PNG_p_57 = \
+@COND_wxUSE_LIBPNG_builtin@__INC_PNG_p_61 = \
 @COND_wxUSE_LIBPNG_builtin@    --include-dir $(top_srcdir)/src/png
-@COND_wxUSE_ZLIB_builtin@__INC_ZLIB_p_59 = \
+@COND_wxUSE_ZLIB_builtin@__INC_ZLIB_p_63 = \
 @COND_wxUSE_ZLIB_builtin@      --include-dir $(top_srcdir)/src/zlib
-@COND_wxUSE_REGEX_builtin@__INC_REGEX_p_57 = \
+@COND_wxUSE_REGEX_builtin@__INC_REGEX_p_61 = \
 @COND_wxUSE_REGEX_builtin@     --include-dir $(top_srcdir)/src/regex
-@COND_wxUSE_EXPAT_builtin@__INC_EXPAT_p_57 = \
+@COND_wxUSE_EXPAT_builtin@__INC_EXPAT_p_61 = \
 @COND_wxUSE_EXPAT_builtin@     --include-dir $(top_srcdir)/src/expat/lib
 @COND_USE_GUI_1_wxUSE_LIBTIFF_builtin@__LIB_TIFF_p \
 @COND_USE_GUI_1_wxUSE_LIBTIFF_builtin@ = \
@@ -12563,9 +12665,9 @@ COND_wxUSE_REGEX_builtin___LIB_REGEX_p = \
 
 ### Targets: ###
 
-all: $(__wxregex___depname) $(__wxzlib___depname) $(__wxpng___depname) $(__wxjpeg___depname) $(__wxtiff___depname) $(__wxexpat___depname) $(__wxscintilla___depname) $(__monodll___depname) $(__monolib___depname) $(__basedll___depname) $(__baselib___depname) $(__netdll___depname) $(__netlib___depname) $(__coredll___depname) $(__corelib___depname) $(__advdll___depname) $(__advlib___depname) $(__mediadll___depname) $(__medialib___depname) $(__htmldll___depname) $(__htmllib___depname) $(__qadll___depname) $(__qalib___depname) $(__xmldll___depname) $(__xmllib___depname) $(__xrcdll___depname) $(__xrclib___depname) $(__auidll___depname) $(__auilib___depname) $(__propgriddll___depname) $(__propgridlib___depname) $(__richtextdll___depname) $(__richtextlib___depname) $(__stcdll___depname) $(__stclib___depname) $(__gldll___depname) $(__gllib___depname) $(__sound_sdl___depname) $(__wxrc___depname) $(__cocoa_res___depname)
+all: $(__wxregex___depname) $(__wxzlib___depname) $(__wxpng___depname) $(__wxjpeg___depname) $(__wxtiff___depname) $(__wxexpat___depname) $(__wxscintilla___depname) $(__monodll___depname) $(__monolib___depname) $(__basedll___depname) $(__baselib___depname) $(__netdll___depname) $(__netlib___depname) $(__coredll___depname) $(__corelib___depname) $(__advdll___depname) $(__advlib___depname) $(__mediadll___depname) $(__medialib___depname) $(__htmldll___depname) $(__htmllib___depname) $(__qadll___depname) $(__qalib___depname) $(__xmldll___depname) $(__xmllib___depname) $(__xrcdll___depname) $(__xrclib___depname) $(__auidll___depname) $(__auilib___depname) $(__ribbondll___depname) $(__ribbonlib___depname) $(__propgriddll___depname) $(__propgridlib___depname) $(__richtextdll___depname) $(__richtextlib___depname) $(__stcdll___depname) $(__stclib___depname) $(__gldll___depname) $(__gllib___depname) $(__sound_sdl___depname) $(__wxrc___depname) $(__cocoa_res___depname)
 
-install: $(__install_wxregex___depname) $(__install_wxzlib___depname) $(__install_wxpng___depname) $(__install_wxjpeg___depname) $(__install_wxtiff___depname) $(__install_wxexpat___depname) $(__install_wxscintilla___depname) $(__install_monodll___depname) $(__install_monolib___depname) $(__install_basedll___depname) $(__install_baselib___depname) $(__install_netdll___depname) $(__install_netlib___depname) $(__install_coredll___depname) $(__install_corelib___depname) $(__install_advdll___depname) $(__install_advlib___depname) $(__install_mediadll___depname) $(__install_medialib___depname) $(__install_htmldll___depname) $(__install_htmllib___depname) $(__install_qadll___depname) $(__install_qalib___depname) $(__install_xmldll___depname) $(__install_xmllib___depname) $(__install_xrcdll___depname) $(__install_xrclib___depname) $(__install_auidll___depname) $(__install_auilib___depname) $(__install_propgriddll___depname) $(__install_propgridlib___depname) $(__install_richtextdll___depname) $(__install_richtextlib___depname) $(__install_stcdll___depname) $(__install_stclib___depname) $(__install_gldll___depname) $(__install_gllib___depname) $(__install_sound_sdl___depname) $(__install_wxrc___depname) install-wxconfig locale_install locale_msw_install $(__cocoa_res_install___depname)
+install: $(__install_wxregex___depname) $(__install_wxzlib___depname) $(__install_wxpng___depname) $(__install_wxjpeg___depname) $(__install_wxtiff___depname) $(__install_wxexpat___depname) $(__install_wxscintilla___depname) $(__install_monodll___depname) $(__install_monolib___depname) $(__install_basedll___depname) $(__install_baselib___depname) $(__install_netdll___depname) $(__install_netlib___depname) $(__install_coredll___depname) $(__install_corelib___depname) $(__install_advdll___depname) $(__install_advlib___depname) $(__install_mediadll___depname) $(__install_medialib___depname) $(__install_htmldll___depname) $(__install_htmllib___depname) $(__install_qadll___depname) $(__install_qalib___depname) $(__install_xmldll___depname) $(__install_xmllib___depname) $(__install_xrcdll___depname) $(__install_xrclib___depname) $(__install_auidll___depname) $(__install_auilib___depname) $(__install_ribbondll___depname) $(__install_ribbonlib___depname) $(__install_propgriddll___depname) $(__install_propgridlib___depname) $(__install_richtextdll___depname) $(__install_richtextlib___depname) $(__install_stcdll___depname) $(__install_stclib___depname) $(__install_gldll___depname) $(__install_gllib___depname) $(__install_sound_sdl___depname) $(__install_wxrc___depname) install-wxconfig locale_install locale_msw_install $(__cocoa_res_install___depname)
        $(INSTALL_DIR) $(DESTDIR)$(datadir)/aclocal
        (cd $(srcdir) ; $(INSTALL_DATA)  wxwin.m4 $(DESTDIR)$(datadir)/aclocal)
        $(INSTALL_DIR) $(DESTDIR)$(datadir)/bakefile/presets
@@ -12601,7 +12703,7 @@ install: $(__install_wxregex___depname) $(__install_wxzlib___depname) $(__instal
        @echo " ------------------------------------------------------"
        @echo " "
 
-uninstall: $(__uninstall_wxregex___depname) $(__uninstall_wxzlib___depname) $(__uninstall_wxpng___depname) $(__uninstall_wxjpeg___depname) $(__uninstall_wxtiff___depname) $(__uninstall_wxexpat___depname) $(__uninstall_wxscintilla___depname) $(__uninstall_monodll___depname) $(__uninstall_monolib___depname) $(__uninstall_basedll___depname) $(__uninstall_baselib___depname) $(__uninstall_netdll___depname) $(__uninstall_netlib___depname) $(__uninstall_coredll___depname) $(__uninstall_corelib___depname) $(__uninstall_advdll___depname) $(__uninstall_advlib___depname) $(__uninstall_mediadll___depname) $(__uninstall_medialib___depname) $(__uninstall_htmldll___depname) $(__uninstall_htmllib___depname) $(__uninstall_qadll___depname) $(__uninstall_qalib___depname) $(__uninstall_xmldll___depname) $(__uninstall_xmllib___depname) $(__uninstall_xrcdll___depname) $(__uninstall_xrclib___depname) $(__uninstall_auidll___depname) $(__uninstall_auilib___depname) $(__uninstall_propgriddll___depname) $(__uninstall_propgridlib___depname) $(__uninstall_richtextdll___depname) $(__uninstall_richtextlib___depname) $(__uninstall_stcdll___depname) $(__uninstall_stclib___depname) $(__uninstall_gldll___depname) $(__uninstall_gllib___depname) $(__uninstall_sound_sdl___depname) locale_uninstall locale_msw_uninstall
+uninstall: $(__uninstall_wxregex___depname) $(__uninstall_wxzlib___depname) $(__uninstall_wxpng___depname) $(__uninstall_wxjpeg___depname) $(__uninstall_wxtiff___depname) $(__uninstall_wxexpat___depname) $(__uninstall_wxscintilla___depname) $(__uninstall_monodll___depname) $(__uninstall_monolib___depname) $(__uninstall_basedll___depname) $(__uninstall_baselib___depname) $(__uninstall_netdll___depname) $(__uninstall_netlib___depname) $(__uninstall_coredll___depname) $(__uninstall_corelib___depname) $(__uninstall_advdll___depname) $(__uninstall_advlib___depname) $(__uninstall_mediadll___depname) $(__uninstall_medialib___depname) $(__uninstall_htmldll___depname) $(__uninstall_htmllib___depname) $(__uninstall_qadll___depname) $(__uninstall_qalib___depname) $(__uninstall_xmldll___depname) $(__uninstall_xmllib___depname) $(__uninstall_xrcdll___depname) $(__uninstall_xrclib___depname) $(__uninstall_auidll___depname) $(__uninstall_auilib___depname) $(__uninstall_ribbondll___depname) $(__uninstall_ribbonlib___depname) $(__uninstall_propgriddll___depname) $(__uninstall_propgridlib___depname) $(__uninstall_richtextdll___depname) $(__uninstall_richtextlib___depname) $(__uninstall_stcdll___depname) $(__uninstall_stclib___depname) $(__uninstall_gldll___depname) $(__uninstall_gllib___depname) $(__uninstall_sound_sdl___depname) locale_uninstall locale_msw_uninstall
        (cd $(DESTDIR)$(datadir)/aclocal ; rm -f wxwin.m4)
        (cd $(DESTDIR)$(datadir)/bakefile/presets ; rm -f wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl)
        for f in setup.h $(RCDEFS_H); do \
@@ -12623,6 +12725,7 @@ install-strip: install
        $(STRIP) $(DESTDIR)$(libdir)/$(DLLPREFIX)$(WXDLLNAMEPREFIX)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3)
        $(STRIP) $(DESTDIR)$(libdir)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xrc$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3)
        $(STRIP) $(DESTDIR)$(libdir)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3)
+       $(STRIP) $(DESTDIR)$(libdir)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3)
        $(STRIP) $(DESTDIR)$(libdir)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3)
        $(STRIP) $(DESTDIR)$(libdir)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_richtext$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3)
        $(STRIP) $(DESTDIR)$(libdir)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3)
@@ -12683,6 +12786,10 @@ clean: $(__clean_wxrc___depname)
        rm -f $(LIBDIRNAME)/$(LIBPREFIX)wx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui-$(WX_RELEASE)$(HOST_SUFFIX).$(DLLIMP_SUFFIX)
        rm -f $(LIBDIRNAME)/$(LIBPREFIX)wx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui-$(WX_RELEASE)$(HOST_SUFFIX).$(DLLIMP_SUFFIX) $(LIBDIRNAME)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf2)
        rm -f $(LIBDIRNAME)/$(LIBPREFIX)wx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui-$(WX_RELEASE)$(HOST_SUFFIX)$(LIBEXT)
+       rm -f $(LIBDIRNAME)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3)
+       rm -f $(LIBDIRNAME)/$(LIBPREFIX)wx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon-$(WX_RELEASE)$(HOST_SUFFIX).$(DLLIMP_SUFFIX)
+       rm -f $(LIBDIRNAME)/$(LIBPREFIX)wx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon-$(WX_RELEASE)$(HOST_SUFFIX).$(DLLIMP_SUFFIX) $(LIBDIRNAME)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf2)
+       rm -f $(LIBDIRNAME)/$(LIBPREFIX)wx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon-$(WX_RELEASE)$(HOST_SUFFIX)$(LIBEXT)
        rm -f $(LIBDIRNAME)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3)
        rm -f $(LIBDIRNAME)/$(LIBPREFIX)wx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid-$(WX_RELEASE)$(HOST_SUFFIX).$(DLLIMP_SUFFIX)
        rm -f $(LIBDIRNAME)/$(LIBPREFIX)wx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid-$(WX_RELEASE)$(HOST_SUFFIX).$(DLLIMP_SUFFIX) $(LIBDIRNAME)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf2)
@@ -13196,6 +13303,43 @@ distclean: clean
 
 @COND_MONOLITHIC_0_USE_AUI_1@wxaui: $(____wxaui_namedll_DEP) $(____wxaui_namelib_DEP)
 
+@COND_MONOLITHIC_0_SHARED_1_USE_RIBBON_1@$(LIBDIRNAME)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3): $(RIBBONDLL_OBJECTS) $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla___depname) $(__wxexpat___depname) $(__wxzlib___depname) $(__wxregex___depname) $(__ribbondll___win32rc) $(__advdll___depname) $(__coredll___depname) $(__basedll___depname)
+@COND_MONOLITHIC_0_SHARED_1_USE_RIBBON_1@      $(SHARED_LD_CXX) $@ $(RIBBONDLL_OBJECTS) -L$(LIBDIRNAME) -L$(LIBDIRNAME) -L$(LIBDIRNAME)    -L$(LIBDIRNAME) $(__ribbondll___macinstnamecmd) $(__ribbondll___importlib) $(__ribbondll___soname_flags) $(WXMACVERSION_CMD) $(LDFLAGS)  $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(EXTRALIBS_FOR_GUI) $(__LIB_ZLIB_p) $(__LIB_REGEX_p) $(__LIB_EXPAT_p) $(EXTRALIBS_FOR_BASE) -lwx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv-$(WX_RELEASE)$(HOST_SUFFIX) -lwx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core-$(WX_RELEASE)$(HOST_SUFFIX) -lwx_base$(WXBASEPORT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX) $(LIBS)
+@COND_MONOLITHIC_0_SHARED_1_USE_RIBBON_1@      $(DYLIB_RPATH_POSTLINK)
+@COND_MONOLITHIC_0_SHARED_1_USE_RIBBON_1@      
+@COND_MONOLITHIC_0_SHARED_1_USE_RIBBON_1@      $(__ribbondll___so_symlinks_cmd)
+
+@COND_MONOLITHIC_0_SHARED_1_USE_RIBBON_1@install_ribbondll: $(__ribbondll___depname)
+@COND_MONOLITHIC_0_SHARED_1_USE_RIBBON_1@      $(INSTALL_DIR) $(DESTDIR)$(libdir)
+@COND_MONOLITHIC_0_SHARED_1_USE_RIBBON_1@      $(INSTALL_DATA) $(LIBDIRNAME)/$(LIBPREFIX)wx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon-$(WX_RELEASE)$(HOST_SUFFIX).$(DLLIMP_SUFFIX) $(DESTDIR)$(libdir)
+@COND_MONOLITHIC_0_SHARED_1_USE_RIBBON_1@      $(INSTALL_PROGRAM) $(LIBDIRNAME)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3) $(DESTDIR)$(libdir)
+@COND_MONOLITHIC_0_SHARED_1_USE_RIBBON_1@      (cd $(DESTDIR)$(libdir) ; $(__ribbondll___so_symlinks_inst_cmd))
+
+@COND_MONOLITHIC_0_SHARED_1_USE_RIBBON_1@uninstall_ribbondll: 
+@COND_MONOLITHIC_0_SHARED_1_USE_RIBBON_1@      rm -f $(DESTDIR)$(libdir)/$(LIBPREFIX)wx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon-$(WX_RELEASE)$(HOST_SUFFIX).$(DLLIMP_SUFFIX)
+@COND_MONOLITHIC_0_SHARED_1_USE_RIBBON_1@      rm -f $(DESTDIR)$(libdir)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3)
+@COND_MONOLITHIC_0_SHARED_1_USE_RIBBON_1@      (cd $(DESTDIR)$(libdir) ; $(__ribbondll___so_symlinks_uninst_cmd))
+
+@COND_USE_PCH_1@./.pch/wxprec_ribbondll/wx/wxprec.h.gch: 
+@COND_USE_PCH_1@       $(BK_MAKE_PCH) ./.pch/wxprec_ribbondll/wx/wxprec.h.gch wx/wxprec.h $(CXX) $(RIBBONDLL_CXXFLAGS)
+
+@COND_MONOLITHIC_0_SHARED_0_USE_RIBBON_1@$(LIBDIRNAME)/$(LIBPREFIX)wx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon-$(WX_RELEASE)$(HOST_SUFFIX)$(LIBEXT): $(RIBBONLIB_OBJECTS)
+@COND_MONOLITHIC_0_SHARED_0_USE_RIBBON_1@      rm -f $@
+@COND_MONOLITHIC_0_SHARED_0_USE_RIBBON_1@      $(AR) $(AROPTIONS) $@ $(RIBBONLIB_OBJECTS)
+@COND_MONOLITHIC_0_SHARED_0_USE_RIBBON_1@      $(RANLIB) $@
+
+@COND_MONOLITHIC_0_SHARED_0_USE_RIBBON_1@install_ribbonlib: $(__ribbonlib___depname)
+@COND_MONOLITHIC_0_SHARED_0_USE_RIBBON_1@      $(INSTALL_DIR) $(DESTDIR)$(libdir)
+@COND_MONOLITHIC_0_SHARED_0_USE_RIBBON_1@      $(INSTALL_DATA) $(LIBDIRNAME)/$(LIBPREFIX)wx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon-$(WX_RELEASE)$(HOST_SUFFIX)$(LIBEXT) $(DESTDIR)$(libdir)
+
+@COND_MONOLITHIC_0_SHARED_0_USE_RIBBON_1@uninstall_ribbonlib: 
+@COND_MONOLITHIC_0_SHARED_0_USE_RIBBON_1@      rm -f $(DESTDIR)$(libdir)/$(LIBPREFIX)wx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon-$(WX_RELEASE)$(HOST_SUFFIX)$(LIBEXT)
+
+@COND_USE_PCH_1@./.pch/wxprec_ribbonlib/wx/wxprec.h.gch: 
+@COND_USE_PCH_1@       $(BK_MAKE_PCH) ./.pch/wxprec_ribbonlib/wx/wxprec.h.gch wx/wxprec.h $(CXX) $(RIBBONLIB_CXXFLAGS)
+
+@COND_MONOLITHIC_0_USE_RIBBON_1@wxribbon: $(____wxribbon_namedll_DEP) $(____wxribbon_namelib_DEP)
+
 @COND_MONOLITHIC_0_SHARED_1_USE_PROPGRID_1@$(LIBDIRNAME)/$(DLLPREFIX)$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG)$(dll___targetsuf3): $(PROPGRIDDLL_OBJECTS) $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla___depname) $(__wxexpat___depname) $(__wxzlib___depname) $(__wxregex___depname) $(__propgriddll___win32rc) $(__advdll___depname) $(__coredll___depname) $(__basedll___depname)
 @COND_MONOLITHIC_0_SHARED_1_USE_PROPGRID_1@    $(SHARED_LD_CXX) $@ $(PROPGRIDDLL_OBJECTS) -L$(LIBDIRNAME) -L$(LIBDIRNAME) -L$(LIBDIRNAME)    -L$(LIBDIRNAME) $(__propgriddll___macinstnamecmd) $(__propgriddll___importlib) $(__propgriddll___soname_flags) $(WXMACVERSION_CMD) $(LDFLAGS)  $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(EXTRALIBS_FOR_GUI) $(__LIB_ZLIB_p) $(__LIB_REGEX_p) $(__LIB_EXPAT_p) $(EXTRALIBS_FOR_BASE) -lwx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv-$(WX_RELEASE)$(HOST_SUFFIX) -lwx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core-$(WX_RELEASE)$(HOST_SUFFIX) -lwx_base$(WXBASEPORT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX) $(LIBS)
 @COND_MONOLITHIC_0_SHARED_1_USE_PROPGRID_1@    $(DYLIB_RPATH_POSTLINK)
@@ -32974,6 +33118,69 @@ auilib_auibar.o: $(srcdir)/src/aui/auibar.cpp $(AUILIB_ODEP)
 auilib_tabmdi.o: $(srcdir)/src/aui/tabmdi.cpp $(AUILIB_ODEP)
        $(CXXC) -c -o $@ $(AUILIB_CXXFLAGS) $(srcdir)/src/aui/tabmdi.cpp
 
+ribbondll_version_rc.o: $(srcdir)/src/msw/version.rc $(RIBBONDLL_ODEP)
+       $(WINDRES) -i$< -o$@    --define __WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p_62)  $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61)   --define WXBUILDING --define WXDLLNAME=$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG) $(__RCDEFDIR_p) --include-dir $(top_srcdir)/include $(__INC_TIFF_BUILD_p_62) $(__INC_TIFF_p_62) $(__INC_JPEG_p_62) $(__INC_PNG_p_61) $(__INC_ZLIB_p_63) $(__INC_REGEX_p_61) $(__INC_EXPAT_p_61) --define WXUSINGDLL --define WXMAKINGDLL_RIBBON
+
+ribbondll_art_internal.o: $(srcdir)/src/ribbon/art_internal.cpp $(RIBBONDLL_ODEP)
+       $(CXXC) -c -o $@ $(RIBBONDLL_CXXFLAGS) $(srcdir)/src/ribbon/art_internal.cpp
+
+ribbondll_art_msw.o: $(srcdir)/src/ribbon/art_msw.cpp $(RIBBONDLL_ODEP)
+       $(CXXC) -c -o $@ $(RIBBONDLL_CXXFLAGS) $(srcdir)/src/ribbon/art_msw.cpp
+
+ribbondll_art_aui.o: $(srcdir)/src/ribbon/art_aui.cpp $(RIBBONDLL_ODEP)
+       $(CXXC) -c -o $@ $(RIBBONDLL_CXXFLAGS) $(srcdir)/src/ribbon/art_aui.cpp
+
+ribbondll_bar.o: $(srcdir)/src/ribbon/bar.cpp $(RIBBONDLL_ODEP)
+       $(CXXC) -c -o $@ $(RIBBONDLL_CXXFLAGS) $(srcdir)/src/ribbon/bar.cpp
+
+ribbondll_buttonbar.o: $(srcdir)/src/ribbon/buttonbar.cpp $(RIBBONDLL_ODEP)
+       $(CXXC) -c -o $@ $(RIBBONDLL_CXXFLAGS) $(srcdir)/src/ribbon/buttonbar.cpp
+
+ribbondll_control.o: $(srcdir)/src/ribbon/control.cpp $(RIBBONDLL_ODEP)
+       $(CXXC) -c -o $@ $(RIBBONDLL_CXXFLAGS) $(srcdir)/src/ribbon/control.cpp
+
+ribbondll_gallery.o: $(srcdir)/src/ribbon/gallery.cpp $(RIBBONDLL_ODEP)
+       $(CXXC) -c -o $@ $(RIBBONDLL_CXXFLAGS) $(srcdir)/src/ribbon/gallery.cpp
+
+ribbondll_page.o: $(srcdir)/src/ribbon/page.cpp $(RIBBONDLL_ODEP)
+       $(CXXC) -c -o $@ $(RIBBONDLL_CXXFLAGS) $(srcdir)/src/ribbon/page.cpp
+
+ribbondll_panel.o: $(srcdir)/src/ribbon/panel.cpp $(RIBBONDLL_ODEP)
+       $(CXXC) -c -o $@ $(RIBBONDLL_CXXFLAGS) $(srcdir)/src/ribbon/panel.cpp
+
+ribbondll_toolbar.o: $(srcdir)/src/ribbon/toolbar.cpp $(RIBBONDLL_ODEP)
+       $(CXXC) -c -o $@ $(RIBBONDLL_CXXFLAGS) $(srcdir)/src/ribbon/toolbar.cpp
+
+ribbonlib_art_internal.o: $(srcdir)/src/ribbon/art_internal.cpp $(RIBBONLIB_ODEP)
+       $(CXXC) -c -o $@ $(RIBBONLIB_CXXFLAGS) $(srcdir)/src/ribbon/art_internal.cpp
+
+ribbonlib_art_msw.o: $(srcdir)/src/ribbon/art_msw.cpp $(RIBBONLIB_ODEP)
+       $(CXXC) -c -o $@ $(RIBBONLIB_CXXFLAGS) $(srcdir)/src/ribbon/art_msw.cpp
+
+ribbonlib_art_aui.o: $(srcdir)/src/ribbon/art_aui.cpp $(RIBBONLIB_ODEP)
+       $(CXXC) -c -o $@ $(RIBBONLIB_CXXFLAGS) $(srcdir)/src/ribbon/art_aui.cpp
+
+ribbonlib_bar.o: $(srcdir)/src/ribbon/bar.cpp $(RIBBONLIB_ODEP)
+       $(CXXC) -c -o $@ $(RIBBONLIB_CXXFLAGS) $(srcdir)/src/ribbon/bar.cpp
+
+ribbonlib_buttonbar.o: $(srcdir)/src/ribbon/buttonbar.cpp $(RIBBONLIB_ODEP)
+       $(CXXC) -c -o $@ $(RIBBONLIB_CXXFLAGS) $(srcdir)/src/ribbon/buttonbar.cpp
+
+ribbonlib_control.o: $(srcdir)/src/ribbon/control.cpp $(RIBBONLIB_ODEP)
+       $(CXXC) -c -o $@ $(RIBBONLIB_CXXFLAGS) $(srcdir)/src/ribbon/control.cpp
+
+ribbonlib_gallery.o: $(srcdir)/src/ribbon/gallery.cpp $(RIBBONLIB_ODEP)
+       $(CXXC) -c -o $@ $(RIBBONLIB_CXXFLAGS) $(srcdir)/src/ribbon/gallery.cpp
+
+ribbonlib_page.o: $(srcdir)/src/ribbon/page.cpp $(RIBBONLIB_ODEP)
+       $(CXXC) -c -o $@ $(RIBBONLIB_CXXFLAGS) $(srcdir)/src/ribbon/page.cpp
+
+ribbonlib_panel.o: $(srcdir)/src/ribbon/panel.cpp $(RIBBONLIB_ODEP)
+       $(CXXC) -c -o $@ $(RIBBONLIB_CXXFLAGS) $(srcdir)/src/ribbon/panel.cpp
+
+ribbonlib_toolbar.o: $(srcdir)/src/ribbon/toolbar.cpp $(RIBBONLIB_ODEP)
+       $(CXXC) -c -o $@ $(RIBBONLIB_CXXFLAGS) $(srcdir)/src/ribbon/toolbar.cpp
+
 propgriddll_version_rc.o: $(srcdir)/src/msw/version.rc $(PROPGRIDDLL_ODEP)
        $(WINDRES) -i$< -o$@    --define __WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57)   --define WXBUILDING --define WXDLLNAME=$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG) $(__RCDEFDIR_p) --include-dir $(top_srcdir)/include $(__INC_TIFF_BUILD_p_58) $(__INC_TIFF_p_58) $(__INC_JPEG_p_58) $(__INC_PNG_p_57) $(__INC_ZLIB_p_59) $(__INC_REGEX_p_57) $(__INC_EXPAT_p_57) --define WXUSINGDLL --define WXMAKINGDLL_PROPGRID
 
@@ -33238,6 +33445,7 @@ COMMDIR  = $(WXDIR)/src/common
 HTMLDIR  = $(WXDIR)/src/html
 RICHTEXTDIR = $(WXDIR)/src/richtext
 AUIDIR =   $(WXDIR)/src/aui
+RIBBONDIR = $(WXDIR)/src/ribbon
 PROPGRIDDIR = $(WXDIR)/src/propgrid
 STCDIR =   $(WXDIR)/src/stc
 UNIXDIR  = $(WXDIR)/src/unix
@@ -33388,6 +33596,7 @@ ALL_GUI_DIST: ALL_DIST
        mkdir $(DISTDIR)/include/wx/html
        mkdir $(DISTDIR)/include/wx/richtext
        mkdir $(DISTDIR)/include/wx/aui
+       mkdir $(DISTDIR)/include/wx/ribbon
        mkdir $(DISTDIR)/include/wx/propgrid
        mkdir $(DISTDIR)/include/wx/stc
        mkdir $(DISTDIR)/include/wx/protocol
@@ -33402,6 +33611,7 @@ ALL_GUI_DIST: ALL_DIST
        $(CP_P) $(INCDIR)/wx/html/*.h $(DISTDIR)/include/wx/html
        $(CP_P) $(INCDIR)/wx/richtext/*.h $(DISTDIR)/include/wx/richtext
        $(CP_P) $(INCDIR)/wx/aui/*.h $(DISTDIR)/include/wx/aui
+       $(CP_P) $(INCDIR)/wx/ribbon/*.h $(DISTDIR)/include/wx/ribbon
        $(CP_P) $(INCDIR)/wx/propgrid/*.h $(DISTDIR)/include/wx/propgrid
        $(CP_P) $(INCDIR)/wx/stc/*.h $(DISTDIR)/include/wx/stc
        $(CP_P) $(INCDIR)/wx/unix/*.h $(DISTDIR)/include/wx/unix
@@ -33442,6 +33652,9 @@ ALL_GUI_DIST: ALL_DIST
 
        mkdir $(DISTDIR)/src/aui
        $(CP_P) $(AUIDIR)/*.cpp $(DISTDIR)/src/aui
+       
+       mkdir $(DISTDIR)/src/ribbon
+       $(CP_P) $(RIBBONDIR)/*.cpp $(DISTDIR)/src/ribbon
 
        mkdir $(DISTDIR)/src/propgrid
        $(CP_P) $(PROPGRIDDIR)/*.cpp $(DISTDIR)/src/propgrid
@@ -33507,6 +33720,7 @@ BASE_DIST: ALL_DIST INTL_DIST
        mkdir $(DISTDIR)/include/wx/html
        mkdir $(DISTDIR)/include/wx/richtext
        mkdir $(DISTDIR)/include/wx/aui
+       mkdir $(DISTDIR)/include/wx/ribbon
        mkdir $(DISTDIR)/include/wx/propgrid
        mkdir $(DISTDIR)/include/wx/stc
        mkdir $(DISTDIR)/include/wx/osx
@@ -33958,6 +34172,7 @@ MANUAL_DIST:
        mkdir $(DISTDIR)/interface
        mkdir $(DISTDIR)/interface/wx
        mkdir $(DISTDIR)/interface/wx/aui
+       mkdir $(DISTDIR)/interface/wx/ribbon
        mkdir $(DISTDIR)/interface/wx/generic
        mkdir $(DISTDIR)/interface/wx/html
        mkdir $(DISTDIR)/interface/wx/msw
@@ -33970,6 +34185,7 @@ MANUAL_DIST:
        mkdir $(DISTDIR)/interface/wx/xrc
        $(CP_P) $(IFACEDIR)/wx/*.h $(DISTDIR)/interface/wx
        $(CP_P) $(IFACEDIR)/wx/aui/*.h $(DISTDIR)/interface/wx/aui
+       $(CP_P) $(IFACEDIR)/wx/ribbon/*.h $(DISTDIR)/interface/wx/ribbon
        $(CP_P) $(IFACEDIR)/wx/generic/*.h $(DISTDIR)/interface/wx/generic
        $(CP_P) $(IFACEDIR)/wx/html/*.h $(DISTDIR)/interface/wx/html
        $(CP_P) $(IFACEDIR)/wx/msw/*.h $(DISTDIR)/interface/wx/msw
@@ -34162,7 +34378,8 @@ rpm: bzip-dist
        install_xmldll uninstall_xmldll install_xmllib uninstall_xmllib wxxml \
        install_xrcdll uninstall_xrcdll install_xrclib uninstall_xrclib wxxrc \
        install_auidll uninstall_auidll install_auilib uninstall_auilib wxaui \
-       install_propgriddll uninstall_propgriddll install_propgridlib \
+       install_ribbondll uninstall_ribbondll install_ribbonlib uninstall_ribbonlib \
+       wxribbon install_propgriddll uninstall_propgriddll install_propgridlib \
        uninstall_propgridlib wxpropgrid install_richtextdll uninstall_richtextdll \
        install_richtextlib uninstall_richtextlib wxrichtext install_stcdll \
        uninstall_stcdll install_stclib uninstall_stclib wxstc install_gldll \
index 8bb3366a68ace90009a4638f5689147c763c3763..00bdd26e79a37260a0d3ddb69ca9ef7c6394276a 100644 (file)
@@ -1,4 +1,4 @@
-dnl ### begin block 00_header[../../demos/bombs/bombs.bkl,../../demos/demos.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/html_samples.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/mobile_samples.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/opengl_samples.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/utils.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 00_header[../../demos/bombs/bombs.bkl,../../demos/demos.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/html_samples.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/mobile_samples.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/opengl_samples.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/utils.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
 dnl
 dnl This macro was generated by
 dnl Bakefile 0.2.6 (http://www.bakefile.org)
@@ -62,7 +62,7 @@ dnl ### begin block 20_COND_BUILD_RELEASE_UNICODE_1[../../samples/docvwmdi/docvw
         COND_BUILD_RELEASE_UNICODE_1=""
     fi
     AC_SUBST(COND_BUILD_RELEASE_UNICODE_1)
-dnl ### begin block 20_COND_BUILD_debug[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_BUILD_debug[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_BUILD_debug="#"
     if test "x$BUILD" = "xdebug" ; then
         COND_BUILD_debug=""
@@ -74,7 +74,7 @@ dnl ### begin block 20_COND_BUILD_debug_DEBUG_FLAG_default[../../samples/editlbo
         COND_BUILD_debug_DEBUG_FLAG_default=""
     fi
     AC_SUBST(COND_BUILD_debug_DEBUG_FLAG_default)
-dnl ### begin block 20_COND_BUILD_debug_DEBUG_INFO_default[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_BUILD_debug_DEBUG_INFO_default[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_BUILD_debug_DEBUG_INFO_default="#"
     if test "x$BUILD" = "xdebug" -a "x$DEBUG_INFO" = "xdefault" ; then
         COND_BUILD_debug_DEBUG_INFO_default=""
@@ -92,13 +92,13 @@ dnl ### begin block 20_COND_BUILD_debug_UNICODE_1[../../samples/editlbox/editlbo
         COND_BUILD_debug_UNICODE_1=""
     fi
     AC_SUBST(COND_BUILD_debug_UNICODE_1)
-dnl ### begin block 20_COND_BUILD_release[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_BUILD_release[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_BUILD_release="#"
     if test "x$BUILD" = "xrelease" ; then
         COND_BUILD_release=""
     fi
     AC_SUBST(COND_BUILD_release)
-dnl ### begin block 20_COND_BUILD_release_DEBUG_INFO_default[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_BUILD_release_DEBUG_INFO_default[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_BUILD_release_DEBUG_INFO_default="#"
     if test "x$BUILD" = "xrelease" -a "x$DEBUG_INFO" = "xdefault" ; then
         COND_BUILD_release_DEBUG_INFO_default=""
@@ -128,25 +128,25 @@ dnl ### begin block 20_COND_DEBUG_FLAG_1[../../samples/docvwmdi/docvwmdi.bkl,../
         COND_DEBUG_FLAG_1=""
     fi
     AC_SUBST(COND_DEBUG_FLAG_1)
-dnl ### begin block 20_COND_DEBUG_INFO_0[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_DEBUG_INFO_0[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_DEBUG_INFO_0="#"
     if test "x$DEBUG_INFO" = "x0" ; then
         COND_DEBUG_INFO_0=""
     fi
     AC_SUBST(COND_DEBUG_INFO_0)
-dnl ### begin block 20_COND_DEBUG_INFO_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_DEBUG_INFO_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_DEBUG_INFO_1="#"
     if test "x$DEBUG_INFO" = "x1" ; then
         COND_DEBUG_INFO_1=""
     fi
     AC_SUBST(COND_DEBUG_INFO_1)
-dnl ### begin block 20_COND_DEPS_TRACKING_0[../../demos/bombs/bombs.bkl,../../demos/demos.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/html_samples.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/mobile_samples.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/opengl_samples.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/utils.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_DEPS_TRACKING_0[../../demos/bombs/bombs.bkl,../../demos/demos.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/html_samples.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/mobile_samples.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/opengl_samples.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/utils.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_DEPS_TRACKING_0="#"
     if test "x$DEPS_TRACKING" = "x0" ; then
         COND_DEPS_TRACKING_0=""
     fi
     AC_SUBST(COND_DEPS_TRACKING_0)
-dnl ### begin block 20_COND_DEPS_TRACKING_1[../../demos/bombs/bombs.bkl,../../demos/demos.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/html_samples.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/mobile_samples.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/opengl_samples.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/utils.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_DEPS_TRACKING_1[../../demos/bombs/bombs.bkl,../../demos/demos.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/html_samples.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/mobile_samples.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/opengl_samples.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/utils.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_DEPS_TRACKING_1="#"
     if test "x$DEPS_TRACKING" = "x1" ; then
         COND_DEPS_TRACKING_1=""
@@ -164,7 +164,7 @@ dnl ### begin block 20_COND_ICC_PCH_1[../../tests/test.bkl,wx.bkl] ###
         COND_ICC_PCH_1=""
     fi
     AC_SUBST(COND_ICC_PCH_1)
-dnl ### begin block 20_COND_MONOLITHIC_0[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_MONOLITHIC_0[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_MONOLITHIC_0="#"
     if test "x$MONOLITHIC" = "x0" ; then
         COND_MONOLITHIC_0=""
@@ -212,6 +212,12 @@ dnl ### begin block 20_COND_MONOLITHIC_0_SHARED_0_USE_PROPGRID_1[wx.bkl] ###
         COND_MONOLITHIC_0_SHARED_0_USE_PROPGRID_1=""
     fi
     AC_SUBST(COND_MONOLITHIC_0_SHARED_0_USE_PROPGRID_1)
+dnl ### begin block 20_COND_MONOLITHIC_0_SHARED_0_USE_RIBBON_1[wx.bkl] ###
+    COND_MONOLITHIC_0_SHARED_0_USE_RIBBON_1="#"
+    if test "x$MONOLITHIC" = "x0" -a "x$SHARED" = "x0" -a "x$USE_RIBBON" = "x1" ; then
+        COND_MONOLITHIC_0_SHARED_0_USE_RIBBON_1=""
+    fi
+    AC_SUBST(COND_MONOLITHIC_0_SHARED_0_USE_RIBBON_1)
 dnl ### begin block 20_COND_MONOLITHIC_0_SHARED_0_USE_RICHTEXT_1[wx.bkl] ###
     COND_MONOLITHIC_0_SHARED_0_USE_RICHTEXT_1="#"
     if test "x$MONOLITHIC" = "x0" -a "x$SHARED" = "x0" -a "x$USE_RICHTEXT" = "x1" ; then
@@ -272,6 +278,12 @@ dnl ### begin block 20_COND_MONOLITHIC_0_SHARED_1_USE_PROPGRID_1[wx.bkl] ###
         COND_MONOLITHIC_0_SHARED_1_USE_PROPGRID_1=""
     fi
     AC_SUBST(COND_MONOLITHIC_0_SHARED_1_USE_PROPGRID_1)
+dnl ### begin block 20_COND_MONOLITHIC_0_SHARED_1_USE_RIBBON_1[wx.bkl] ###
+    COND_MONOLITHIC_0_SHARED_1_USE_RIBBON_1="#"
+    if test "x$MONOLITHIC" = "x0" -a "x$SHARED" = "x1" -a "x$USE_RIBBON" = "x1" ; then
+        COND_MONOLITHIC_0_SHARED_1_USE_RIBBON_1=""
+    fi
+    AC_SUBST(COND_MONOLITHIC_0_SHARED_1_USE_RIBBON_1)
 dnl ### begin block 20_COND_MONOLITHIC_0_SHARED_1_USE_RICHTEXT_1[wx.bkl] ###
     COND_MONOLITHIC_0_SHARED_1_USE_RICHTEXT_1="#"
     if test "x$MONOLITHIC" = "x0" -a "x$SHARED" = "x1" -a "x$USE_RICHTEXT" = "x1" ; then
@@ -314,7 +326,7 @@ dnl ### begin block 20_COND_MONOLITHIC_0_USE_HTML_1[wx.bkl] ###
         COND_MONOLITHIC_0_USE_HTML_1=""
     fi
     AC_SUBST(COND_MONOLITHIC_0_USE_HTML_1)
-dnl ### begin block 20_COND_MONOLITHIC_0_USE_MEDIA_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_MONOLITHIC_0_USE_MEDIA_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_MONOLITHIC_0_USE_MEDIA_1="#"
     if test "x$MONOLITHIC" = "x0" -a "x$USE_MEDIA" = "x1" ; then
         COND_MONOLITHIC_0_USE_MEDIA_1=""
@@ -332,6 +344,12 @@ dnl ### begin block 20_COND_MONOLITHIC_0_USE_QA_1[wx.bkl] ###
         COND_MONOLITHIC_0_USE_QA_1=""
     fi
     AC_SUBST(COND_MONOLITHIC_0_USE_QA_1)
+dnl ### begin block 20_COND_MONOLITHIC_0_USE_RIBBON_1[wx.bkl] ###
+    COND_MONOLITHIC_0_USE_RIBBON_1="#"
+    if test "x$MONOLITHIC" = "x0" -a "x$USE_RIBBON" = "x1" ; then
+        COND_MONOLITHIC_0_USE_RIBBON_1=""
+    fi
+    AC_SUBST(COND_MONOLITHIC_0_USE_RIBBON_1)
 dnl ### begin block 20_COND_MONOLITHIC_0_USE_RICHTEXT_1[wx.bkl] ###
     COND_MONOLITHIC_0_USE_RICHTEXT_1="#"
     if test "x$MONOLITHIC" = "x0" -a "x$USE_RICHTEXT" = "x1" ; then
@@ -350,7 +368,7 @@ dnl ### begin block 20_COND_MONOLITHIC_0_USE_XRC_1[wx.bkl] ###
         COND_MONOLITHIC_0_USE_XRC_1=""
     fi
     AC_SUBST(COND_MONOLITHIC_0_USE_XRC_1)
-dnl ### begin block 20_COND_MONOLITHIC_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_MONOLITHIC_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_MONOLITHIC_1="#"
     if test "x$MONOLITHIC" = "x1" ; then
         COND_MONOLITHIC_1=""
@@ -368,13 +386,13 @@ dnl ### begin block 20_COND_MONOLITHIC_1_SHARED_1[wx.bkl] ###
         COND_MONOLITHIC_1_SHARED_1=""
     fi
     AC_SUBST(COND_MONOLITHIC_1_SHARED_1)
-dnl ### begin block 20_COND_OFFICIAL_BUILD_0_PLATFORM_WIN32_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_OFFICIAL_BUILD_0_PLATFORM_WIN32_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_OFFICIAL_BUILD_0_PLATFORM_WIN32_1="#"
     if test "x$OFFICIAL_BUILD" = "x0" -a "x$PLATFORM_WIN32" = "x1" ; then
         COND_OFFICIAL_BUILD_0_PLATFORM_WIN32_1=""
     fi
     AC_SUBST(COND_OFFICIAL_BUILD_0_PLATFORM_WIN32_1)
-dnl ### begin block 20_COND_OFFICIAL_BUILD_1_PLATFORM_WIN32_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_OFFICIAL_BUILD_1_PLATFORM_WIN32_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_OFFICIAL_BUILD_1_PLATFORM_WIN32_1="#"
     if test "x$OFFICIAL_BUILD" = "x1" -a "x$PLATFORM_WIN32" = "x1" ; then
         COND_OFFICIAL_BUILD_1_PLATFORM_WIN32_1=""
@@ -392,7 +410,7 @@ dnl ### begin block 20_COND_PLATFORM_MACOSX_0_USE_SOVERSION_1[wx.bkl] ###
         COND_PLATFORM_MACOSX_0_USE_SOVERSION_1=""
     fi
     AC_SUBST(COND_PLATFORM_MACOSX_0_USE_SOVERSION_1)
-dnl ### begin block 20_COND_PLATFORM_MACOSX_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_PLATFORM_MACOSX_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_PLATFORM_MACOSX_1="#"
     if test "x$PLATFORM_MACOSX" = "x1" ; then
         COND_PLATFORM_MACOSX_1=""
@@ -446,19 +464,19 @@ dnl ### begin block 20_COND_PLATFORM_MACOSX_1_USE_SOVERSION_1[wx.bkl] ###
         COND_PLATFORM_MACOSX_1_USE_SOVERSION_1=""
     fi
     AC_SUBST(COND_PLATFORM_MACOSX_1_USE_SOVERSION_1)
-dnl ### begin block 20_COND_PLATFORM_MACOS_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_PLATFORM_MACOS_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_PLATFORM_MACOS_1="#"
     if test "x$PLATFORM_MACOS" = "x1" ; then
         COND_PLATFORM_MACOS_1=""
     fi
     AC_SUBST(COND_PLATFORM_MACOS_1)
-dnl ### begin block 20_COND_PLATFORM_MAC_0[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl] ###
+dnl ### begin block 20_COND_PLATFORM_MAC_0[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl] ###
     COND_PLATFORM_MAC_0="#"
     if test "x$PLATFORM_MAC" = "x0" ; then
         COND_PLATFORM_MAC_0=""
     fi
     AC_SUBST(COND_PLATFORM_MAC_0)
-dnl ### begin block 20_COND_PLATFORM_MAC_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl] ###
+dnl ### begin block 20_COND_PLATFORM_MAC_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl] ###
     COND_PLATFORM_MAC_1="#"
     if test "x$PLATFORM_MAC" = "x1" ; then
         COND_PLATFORM_MAC_1=""
@@ -470,25 +488,25 @@ dnl ### begin block 20_COND_PLATFORM_MSDOS_0[../../samples/dialup/dialup.bkl] ##
         COND_PLATFORM_MSDOS_0=""
     fi
     AC_SUBST(COND_PLATFORM_MSDOS_0)
-dnl ### begin block 20_COND_PLATFORM_MSDOS_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_PLATFORM_MSDOS_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_PLATFORM_MSDOS_1="#"
     if test "x$PLATFORM_MSDOS" = "x1" ; then
         COND_PLATFORM_MSDOS_1=""
     fi
     AC_SUBST(COND_PLATFORM_MSDOS_1)
-dnl ### begin block 20_COND_PLATFORM_OS2_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_PLATFORM_OS2_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_PLATFORM_OS2_1="#"
     if test "x$PLATFORM_OS2" = "x1" ; then
         COND_PLATFORM_OS2_1=""
     fi
     AC_SUBST(COND_PLATFORM_OS2_1)
-dnl ### begin block 20_COND_PLATFORM_UNIX_0[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_PLATFORM_UNIX_0[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_PLATFORM_UNIX_0="#"
     if test "x$PLATFORM_UNIX" = "x0" ; then
         COND_PLATFORM_UNIX_0=""
     fi
     AC_SUBST(COND_PLATFORM_UNIX_0)
-dnl ### begin block 20_COND_PLATFORM_UNIX_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_PLATFORM_UNIX_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_PLATFORM_UNIX_1="#"
     if test "x$PLATFORM_UNIX" = "x1" ; then
         COND_PLATFORM_UNIX_1=""
@@ -518,13 +536,13 @@ dnl ### begin block 20_COND_PLATFORM_UNIX_1_USE_PLUGINS_0[wx.bkl] ###
         COND_PLATFORM_UNIX_1_USE_PLUGINS_0=""
     fi
     AC_SUBST(COND_PLATFORM_UNIX_1_USE_PLUGINS_0)
-dnl ### begin block 20_COND_PLATFORM_WIN32_0[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_PLATFORM_WIN32_0[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_PLATFORM_WIN32_0="#"
     if test "x$PLATFORM_WIN32" = "x0" ; then
         COND_PLATFORM_WIN32_0=""
     fi
     AC_SUBST(COND_PLATFORM_WIN32_0)
-dnl ### begin block 20_COND_PLATFORM_WIN32_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_PLATFORM_WIN32_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_PLATFORM_WIN32_1="#"
     if test "x$PLATFORM_WIN32" = "x1" ; then
         COND_PLATFORM_WIN32_1=""
@@ -602,7 +620,7 @@ dnl ### begin block 20_COND_SHARED_0_wxUSE_ZLIB_builtin[wx.bkl] ###
         COND_SHARED_0_wxUSE_ZLIB_builtin=""
     fi
     AC_SUBST(COND_SHARED_0_wxUSE_ZLIB_builtin)
-dnl ### begin block 20_COND_SHARED_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_SHARED_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_SHARED_1="#"
     if test "x$SHARED" = "x1" ; then
         COND_SHARED_1=""
@@ -620,7 +638,7 @@ dnl ### begin block 20_COND_TOOLKIT_[wx.bkl] ###
         COND_TOOLKIT_=""
     fi
     AC_SUBST(COND_TOOLKIT_)
-dnl ### begin block 20_COND_TOOLKIT_COCOA[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/test.bkl,../../utils/helpview/src/helpview.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_TOOLKIT_COCOA[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/test.bkl,../../utils/helpview/src/helpview.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,wx.bkl] ###
     COND_TOOLKIT_COCOA="#"
     if test "x$TOOLKIT" = "xCOCOA" ; then
         COND_TOOLKIT_COCOA=""
@@ -698,7 +716,7 @@ dnl ### begin block 20_COND_TOOLKIT_GTK_USE_GUI_1[wx.bkl] ###
         COND_TOOLKIT_GTK_USE_GUI_1=""
     fi
     AC_SUBST(COND_TOOLKIT_GTK_USE_GUI_1)
-dnl ### begin block 20_COND_TOOLKIT_MAC[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_TOOLKIT_MAC[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_TOOLKIT_MAC="#"
     if test "x$TOOLKIT" = "xMAC" ; then
         COND_TOOLKIT_MAC=""
@@ -734,7 +752,7 @@ dnl ### begin block 20_COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0[wx.bkl] ###
         COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0=""
     fi
     AC_SUBST(COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0)
-dnl ### begin block 20_COND_TOOLKIT_MSW[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_TOOLKIT_MSW[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_TOOLKIT_MSW="#"
     if test "x$TOOLKIT" = "xMSW" ; then
         COND_TOOLKIT_MSW=""
@@ -758,7 +776,7 @@ dnl ### begin block 20_COND_TOOLKIT_MSW_WXUNIV_0[wx.bkl] ###
         COND_TOOLKIT_MSW_WXUNIV_0=""
     fi
     AC_SUBST(COND_TOOLKIT_MSW_WXUNIV_0)
-dnl ### begin block 20_COND_TOOLKIT_OSX_CARBON[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/test.bkl,../../utils/helpview/src/helpview.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_TOOLKIT_OSX_CARBON[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/test.bkl,../../utils/helpview/src/helpview.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,wx.bkl] ###
     COND_TOOLKIT_OSX_CARBON="#"
     if test "x$TOOLKIT" = "xOSX_CARBON" ; then
         COND_TOOLKIT_OSX_CARBON=""
@@ -770,7 +788,7 @@ dnl ### begin block 20_COND_TOOLKIT_OSX_CARBON_USE_GUI_1[wx.bkl] ###
         COND_TOOLKIT_OSX_CARBON_USE_GUI_1=""
     fi
     AC_SUBST(COND_TOOLKIT_OSX_CARBON_USE_GUI_1)
-dnl ### begin block 20_COND_TOOLKIT_OSX_COCOA[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/test.bkl,../../utils/helpview/src/helpview.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_TOOLKIT_OSX_COCOA[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/test.bkl,../../utils/helpview/src/helpview.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,wx.bkl] ###
     COND_TOOLKIT_OSX_COCOA="#"
     if test "x$TOOLKIT" = "xOSX_COCOA" ; then
         COND_TOOLKIT_OSX_COCOA=""
@@ -782,7 +800,7 @@ dnl ### begin block 20_COND_TOOLKIT_OSX_COCOA_USE_GUI_1[wx.bkl] ###
         COND_TOOLKIT_OSX_COCOA_USE_GUI_1=""
     fi
     AC_SUBST(COND_TOOLKIT_OSX_COCOA_USE_GUI_1)
-dnl ### begin block 20_COND_TOOLKIT_OSX_IPHONE[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/test.bkl,../../utils/helpview/src/helpview.bkl,../../utils/screenshotgen/src/screenshotgen.bkl] ###
+dnl ### begin block 20_COND_TOOLKIT_OSX_IPHONE[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/test.bkl,../../utils/helpview/src/helpview.bkl,../../utils/screenshotgen/src/screenshotgen.bkl] ###
     COND_TOOLKIT_OSX_IPHONE="#"
     if test "x$TOOLKIT" = "xOSX_IPHONE" ; then
         COND_TOOLKIT_OSX_IPHONE=""
@@ -842,31 +860,31 @@ dnl ### begin block 20_COND_TOOLKIT_X11_USE_GUI_1[wx.bkl] ###
         COND_TOOLKIT_X11_USE_GUI_1=""
     fi
     AC_SUBST(COND_TOOLKIT_X11_USE_GUI_1)
-dnl ### begin block 20_COND_UNICODE_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_UNICODE_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_UNICODE_1="#"
     if test "x$UNICODE" = "x1" ; then
         COND_UNICODE_1=""
     fi
     AC_SUBST(COND_UNICODE_1)
-dnl ### begin block 20_COND_USE_EXCEPTIONS_0[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_USE_EXCEPTIONS_0[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_USE_EXCEPTIONS_0="#"
     if test "x$USE_EXCEPTIONS" = "x0" ; then
         COND_USE_EXCEPTIONS_0=""
     fi
     AC_SUBST(COND_USE_EXCEPTIONS_0)
-dnl ### begin block 20_COND_USE_EXCEPTIONS_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_USE_EXCEPTIONS_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_USE_EXCEPTIONS_1="#"
     if test "x$USE_EXCEPTIONS" = "x1" ; then
         COND_USE_EXCEPTIONS_1=""
     fi
     AC_SUBST(COND_USE_EXCEPTIONS_1)
-dnl ### begin block 20_COND_USE_GUI_0[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_USE_GUI_0[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_USE_GUI_0="#"
     if test "x$USE_GUI" = "x0" ; then
         COND_USE_GUI_0=""
     fi
     AC_SUBST(COND_USE_GUI_0)
-dnl ### begin block 20_COND_USE_GUI_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_USE_GUI_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_USE_GUI_1="#"
     if test "x$USE_GUI" = "x1" ; then
         COND_USE_GUI_1=""
@@ -908,19 +926,19 @@ dnl ### begin block 20_COND_USE_GUI_1_WXUSE_LIBTIFF_BUILTIN[../../samples/docvwm
         COND_USE_GUI_1_WXUSE_LIBTIFF_BUILTIN=""
     fi
     AC_SUBST(COND_USE_GUI_1_WXUSE_LIBTIFF_BUILTIN)
-dnl ### begin block 20_COND_USE_GUI_1_wxUSE_LIBJPEG_builtin[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_USE_GUI_1_wxUSE_LIBJPEG_builtin[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_USE_GUI_1_wxUSE_LIBJPEG_builtin="#"
     if test "x$USE_GUI" = "x1" -a "x$wxUSE_LIBJPEG" = "xbuiltin" ; then
         COND_USE_GUI_1_wxUSE_LIBJPEG_builtin=""
     fi
     AC_SUBST(COND_USE_GUI_1_wxUSE_LIBJPEG_builtin)
-dnl ### begin block 20_COND_USE_GUI_1_wxUSE_LIBPNG_builtin[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_USE_GUI_1_wxUSE_LIBPNG_builtin[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_USE_GUI_1_wxUSE_LIBPNG_builtin="#"
     if test "x$USE_GUI" = "x1" -a "x$wxUSE_LIBPNG" = "xbuiltin" ; then
         COND_USE_GUI_1_wxUSE_LIBPNG_builtin=""
     fi
     AC_SUBST(COND_USE_GUI_1_wxUSE_LIBPNG_builtin)
-dnl ### begin block 20_COND_USE_GUI_1_wxUSE_LIBTIFF_builtin[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_USE_GUI_1_wxUSE_LIBTIFF_builtin[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_USE_GUI_1_wxUSE_LIBTIFF_builtin="#"
     if test "x$USE_GUI" = "x1" -a "x$wxUSE_LIBTIFF" = "xbuiltin" ; then
         COND_USE_GUI_1_wxUSE_LIBTIFF_builtin=""
@@ -938,19 +956,19 @@ dnl ### begin block 20_COND_USE_PCH_1[../../tests/test.bkl,wx.bkl] ###
         COND_USE_PCH_1=""
     fi
     AC_SUBST(COND_USE_PCH_1)
-dnl ### begin block 20_COND_USE_PLUGINS_0[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_USE_PLUGINS_0[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_USE_PLUGINS_0="#"
     if test "x$USE_PLUGINS" = "x0" ; then
         COND_USE_PLUGINS_0=""
     fi
     AC_SUBST(COND_USE_PLUGINS_0)
-dnl ### begin block 20_COND_USE_RTTI_0[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_USE_RTTI_0[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_USE_RTTI_0="#"
     if test "x$USE_RTTI" = "x0" ; then
         COND_USE_RTTI_0=""
     fi
     AC_SUBST(COND_USE_RTTI_0)
-dnl ### begin block 20_COND_USE_RTTI_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_USE_RTTI_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_USE_RTTI_1="#"
     if test "x$USE_RTTI" = "x1" ; then
         COND_USE_RTTI_1=""
@@ -992,13 +1010,13 @@ dnl ### begin block 20_COND_USE_STC_1[wx.bkl] ###
         COND_USE_STC_1=""
     fi
     AC_SUBST(COND_USE_STC_1)
-dnl ### begin block 20_COND_USE_THREADS_0[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_USE_THREADS_0[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_USE_THREADS_0="#"
     if test "x$USE_THREADS" = "x0" ; then
         COND_USE_THREADS_0=""
     fi
     AC_SUBST(COND_USE_THREADS_0)
-dnl ### begin block 20_COND_USE_THREADS_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_USE_THREADS_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_USE_THREADS_1="#"
     if test "x$USE_THREADS" = "x1" ; then
         COND_USE_THREADS_1=""
@@ -1028,7 +1046,7 @@ dnl ### begin block 20_COND_WXUNIV_0[wx.bkl] ###
         COND_WXUNIV_0=""
     fi
     AC_SUBST(COND_WXUNIV_0)
-dnl ### begin block 20_COND_WXUNIV_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_WXUNIV_1[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/docvwmdi/docvwmdi.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/HelpGen/src/helpgen.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/ifacecheck.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/tex2rtf/src/tex2rtf.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_WXUNIV_1="#"
     if test "x$WXUNIV" = "x1" ; then
         COND_WXUNIV_1=""
@@ -1070,37 +1088,37 @@ dnl ### begin block 20_COND_WXUSE_ZLIB_BUILTIN[../../samples/docvwmdi/docvwmdi.b
         COND_WXUSE_ZLIB_BUILTIN=""
     fi
     AC_SUBST(COND_WXUSE_ZLIB_BUILTIN)
-dnl ### begin block 20_COND_wxUSE_EXPAT_builtin[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_wxUSE_EXPAT_builtin[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_wxUSE_EXPAT_builtin="#"
     if test "x$wxUSE_EXPAT" = "xbuiltin" ; then
         COND_wxUSE_EXPAT_builtin=""
     fi
     AC_SUBST(COND_wxUSE_EXPAT_builtin)
-dnl ### begin block 20_COND_wxUSE_LIBJPEG_builtin[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_wxUSE_LIBJPEG_builtin[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_wxUSE_LIBJPEG_builtin="#"
     if test "x$wxUSE_LIBJPEG" = "xbuiltin" ; then
         COND_wxUSE_LIBJPEG_builtin=""
     fi
     AC_SUBST(COND_wxUSE_LIBJPEG_builtin)
-dnl ### begin block 20_COND_wxUSE_LIBPNG_builtin[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_wxUSE_LIBPNG_builtin[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_wxUSE_LIBPNG_builtin="#"
     if test "x$wxUSE_LIBPNG" = "xbuiltin" ; then
         COND_wxUSE_LIBPNG_builtin=""
     fi
     AC_SUBST(COND_wxUSE_LIBPNG_builtin)
-dnl ### begin block 20_COND_wxUSE_LIBTIFF_builtin[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_wxUSE_LIBTIFF_builtin[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_wxUSE_LIBTIFF_builtin="#"
     if test "x$wxUSE_LIBTIFF" = "xbuiltin" ; then
         COND_wxUSE_LIBTIFF_builtin=""
     fi
     AC_SUBST(COND_wxUSE_LIBTIFF_builtin)
-dnl ### begin block 20_COND_wxUSE_REGEX_builtin[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_wxUSE_REGEX_builtin[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_wxUSE_REGEX_builtin="#"
     if test "x$wxUSE_REGEX" = "xbuiltin" ; then
         COND_wxUSE_REGEX_builtin=""
     fi
     AC_SUBST(COND_wxUSE_REGEX_builtin)
-dnl ### begin block 20_COND_wxUSE_ZLIB_builtin[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
+dnl ### begin block 20_COND_wxUSE_ZLIB_builtin[../../demos/bombs/bombs.bkl,../../demos/forty/forty.bkl,../../demos/fractal/fractal.bkl,../../demos/life/life.bkl,../../demos/poem/poem.bkl,../../samples/access/access.bkl,../../samples/animate/anitest.bkl,../../samples/artprov/artprov.bkl,../../samples/aui/auidemo.bkl,../../samples/calendar/calendar.bkl,../../samples/caret/caret.bkl,../../samples/clipboard/clipboard.bkl,../../samples/collpane/collpane.bkl,../../samples/combo/combo.bkl,../../samples/config/config.bkl,../../samples/console/console.bkl,../../samples/controls/controls.bkl,../../samples/dataview/dataview.bkl,../../samples/debugrpt/debugrpt.bkl,../../samples/dialogs/dialogs.bkl,../../samples/dialup/dialup.bkl,../../samples/display/display.bkl,../../samples/dnd/dnd.bkl,../../samples/docview/docview.bkl,../../samples/dragimag/dragimag.bkl,../../samples/drawing/drawing.bkl,../../samples/editlbox/editlbox.bkl,../../samples/erase/erase.bkl,../../samples/event/event.bkl,../../samples/except/except.bkl,../../samples/exec/exec.bkl,../../samples/flash/flash.bkl,../../samples/font/font.bkl,../../samples/grid/grid.bkl,../../samples/help/help.bkl,../../samples/htlbox/htlbox.bkl,../../samples/html/about/about.bkl,../../samples/html/help/help.bkl,../../samples/html/helpview/helpview.bkl,../../samples/html/htmlctrl/htmlctrl.bkl,../../samples/html/printing/printing.bkl,../../samples/html/test/test.bkl,../../samples/html/virtual/virtual.bkl,../../samples/html/widget/widget.bkl,../../samples/html/zip/zip.bkl,../../samples/image/image.bkl,../../samples/internat/internat.bkl,../../samples/ipc/ipc.bkl,../../samples/joytest/joytest.bkl,../../samples/keyboard/keyboard.bkl,../../samples/layout/layout.bkl,../../samples/listctrl/listctrl.bkl,../../samples/mahogany/mahogany.bkl,../../samples/mdi/mdi.bkl,../../samples/mediaplayer/mediaplayer.bkl,../../samples/memcheck/memcheck.bkl,../../samples/menu/menu.bkl,../../samples/mfc/mfc.bkl,../../samples/minimal/minimal.bkl,../../samples/mobile/styles/styles.bkl,../../samples/mobile/wxedit/wxedit.bkl,../../samples/nativdlg/nativdlg.bkl,../../samples/notebook/notebook.bkl,../../samples/oleauto/oleauto.bkl,../../samples/opengl/cube/cube.bkl,../../samples/opengl/isosurf/isosurf.bkl,../../samples/opengl/penguin/penguin.bkl,../../samples/ownerdrw/ownerdrw.bkl,../../samples/popup/popup.bkl,../../samples/power/power.bkl,../../samples/printing/printing.bkl,../../samples/propgrid/propgrid.bkl,../../samples/regtest/regtest.bkl,../../samples/render/render.bkl,../../samples/ribbon/mahogany.bkl,../../samples/ribbon/ribbon.bkl,../../samples/richtext/richtext.bkl,../../samples/sashtest/sashtest.bkl,../../samples/scroll/scroll.bkl,../../samples/scrollsub/scrollsub.bkl,../../samples/shaped/shaped.bkl,../../samples/sockets/sockets.bkl,../../samples/sound/sound.bkl,../../samples/splash/splash.bkl,../../samples/splitter/splitter.bkl,../../samples/statbar/statbar.bkl,../../samples/stc/stctest.bkl,../../samples/svg/svgtest.bkl,../../samples/taborder/taborder.bkl,../../samples/taskbar/taskbar.bkl,../../samples/text/text.bkl,../../samples/thread/thread.bkl,../../samples/toolbar/toolbar.bkl,../../samples/treectrl/treectrl.bkl,../../samples/typetest/typetest.bkl,../../samples/validate/validate.bkl,../../samples/vscroll/vscroll.bkl,../../samples/widgets/widgets.bkl,../../samples/wizard/wizard.bkl,../../samples/wrapsizer/wrapsizer.bkl,../../samples/xrc/xrcdemo.bkl,../../tests/benchmarks/bench.bkl,../../tests/test.bkl,../../utils/emulator/src/emulator.bkl,../../utils/execmon/execmon.bkl,../../utils/helpview/src/helpview.bkl,../../utils/hhp2cached/hhp2cached.bkl,../../utils/ifacecheck/src/ifacecheck.bkl,../../utils/screenshotgen/src/screenshotgen.bkl,../../utils/wxrc/wxrc.bkl,wx.bkl] ###
     COND_wxUSE_ZLIB_builtin="#"
     if test "x$wxUSE_ZLIB" = "xbuiltin" ; then
         COND_wxUSE_ZLIB_builtin=""
index d4f343018d73cb67f28fd1101c11b782336ef262..56862964905b20a667d109adb953533676e25a7c 100644 (file)
     <set var="WXLIB_AUI">
         <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('aui')))</if>
     </set>
+    <set var="WXLIB_RIBBON">
+        <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('ribbon')))</if>
+    </set>
     <set var="WXLIB_PROPGRID">
         <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('propgrid')))</if>
     </set>
index 8ec1dbaa728c90617197f6f7403327fcffe41850..8c595ead8b896ea70468445adc14324fa9f03f6e 100644 (file)
@@ -224,6 +224,14 @@ Default is to use debug CRT if and only if BUILD==debug.
         </description>
     </option>
 
+    <option name="USE_RIBBON">
+        <values>0,1</values>
+        <default-value>1</default-value>
+        <description>
+            Build wxRibbon library (USE_GUI must be 1)?
+        </description>
+    </option>
+
     <option name="USE_PROPGRID">
         <values>0,1</values>
         <default-value>1</default-value>
@@ -469,6 +477,7 @@ Set the version of your Mingw installation here.
         <set var="RUNTIME_LIBS">dynamic</set>
         <set var="OFFICIAL_BUILD">0</set>
         <set var="USE_AUI">1</set>
+        <set var="USE_RIBBON">1</set>
         <set var="USE_PROPGRID">1</set>
         <set var="USE_RICHTEXT">1</set>
         <set var="USE_STC">1</set>
index ae65e772722258d4a895b37b70f7cc5ec1bff204..6849e3fee6e6fe7df086ac7a08ef8efdfacc0b72 100644 (file)
@@ -3409,6 +3409,34 @@ src/osx/iphone/window.mm
     wx/aui/aui.h
 </set>
 
+<!-- ====================================================================== -->
+<!--                                  wxRibbon                              -->
+<!-- ====================================================================== -->
+
+<set var="RIBBON_SRC" hints="files">
+    src/ribbon/art_internal.cpp
+    src/ribbon/art_msw.cpp
+    src/ribbon/art_aui.cpp
+    src/ribbon/bar.cpp
+    src/ribbon/buttonbar.cpp
+    src/ribbon/control.cpp
+    src/ribbon/gallery.cpp
+    src/ribbon/page.cpp
+    src/ribbon/panel.cpp
+    src/ribbon/toolbar.cpp
+</set>
+<set var="RIBBON_HDR" hints="files">
+    wx/ribbon/art.h
+    wx/ribbon/art_internal.h
+    wx/ribbon/bar.h
+    wx/ribbon/buttonbar.h
+    wx/ribbon/control.h
+    wx/ribbon/gallery.h
+    wx/ribbon/page.h
+    wx/ribbon/panel.h
+    wx/ribbon/toolbar.h
+</set>
+
 <!-- ====================================================================== -->
 <!--                                  wxPropertyGrid                        -->
 <!-- ====================================================================== -->
index 74be95e85bbf6ca0a058acca4d916e71458b4afd..71af8b6f22f152b83c244d42ed39565ea7a3a53a 100644 (file)
@@ -15,6 +15,7 @@ COMMDIR  = $(WXDIR)/src/common
 HTMLDIR  = $(WXDIR)/src/html
 RICHTEXTDIR = $(WXDIR)/src/richtext
 AUIDIR =   $(WXDIR)/src/aui
+RIBBONDIR = $(WXDIR)/src/ribbon
 PROPGRIDDIR = $(WXDIR)/src/propgrid
 STCDIR =   $(WXDIR)/src/stc
 UNIXDIR  = $(WXDIR)/src/unix
@@ -165,6 +166,7 @@ ALL_GUI_DIST: ALL_DIST
        mkdir $(DISTDIR)/include/wx/html
        mkdir $(DISTDIR)/include/wx/richtext
        mkdir $(DISTDIR)/include/wx/aui
+       mkdir $(DISTDIR)/include/wx/ribbon
        mkdir $(DISTDIR)/include/wx/propgrid
        mkdir $(DISTDIR)/include/wx/stc
        mkdir $(DISTDIR)/include/wx/protocol
@@ -179,6 +181,7 @@ ALL_GUI_DIST: ALL_DIST
        $(CP_P) $(INCDIR)/wx/html/*.h $(DISTDIR)/include/wx/html
        $(CP_P) $(INCDIR)/wx/richtext/*.h $(DISTDIR)/include/wx/richtext
        $(CP_P) $(INCDIR)/wx/aui/*.h $(DISTDIR)/include/wx/aui
+       $(CP_P) $(INCDIR)/wx/ribbon/*.h $(DISTDIR)/include/wx/ribbon
        $(CP_P) $(INCDIR)/wx/propgrid/*.h $(DISTDIR)/include/wx/propgrid
        $(CP_P) $(INCDIR)/wx/stc/*.h $(DISTDIR)/include/wx/stc
        $(CP_P) $(INCDIR)/wx/unix/*.h $(DISTDIR)/include/wx/unix
@@ -219,6 +222,9 @@ ALL_GUI_DIST: ALL_DIST
 
        mkdir $(DISTDIR)/src/aui
        $(CP_P) $(AUIDIR)/*.cpp $(DISTDIR)/src/aui
+       
+       mkdir $(DISTDIR)/src/ribbon
+       $(CP_P) $(RIBBONDIR)/*.cpp $(DISTDIR)/src/ribbon
 
        mkdir $(DISTDIR)/src/propgrid
        $(CP_P) $(PROPGRIDDIR)/*.cpp $(DISTDIR)/src/propgrid
@@ -284,6 +290,7 @@ BASE_DIST: ALL_DIST INTL_DIST
        mkdir $(DISTDIR)/include/wx/html
        mkdir $(DISTDIR)/include/wx/richtext
        mkdir $(DISTDIR)/include/wx/aui
+       mkdir $(DISTDIR)/include/wx/ribbon
        mkdir $(DISTDIR)/include/wx/propgrid
        mkdir $(DISTDIR)/include/wx/stc
        mkdir $(DISTDIR)/include/wx/osx
@@ -735,6 +742,7 @@ MANUAL_DIST:
        mkdir $(DISTDIR)/interface
        mkdir $(DISTDIR)/interface/wx
        mkdir $(DISTDIR)/interface/wx/aui
+       mkdir $(DISTDIR)/interface/wx/ribbon
        mkdir $(DISTDIR)/interface/wx/generic
        mkdir $(DISTDIR)/interface/wx/html
        mkdir $(DISTDIR)/interface/wx/msw
@@ -747,6 +755,7 @@ MANUAL_DIST:
        mkdir $(DISTDIR)/interface/wx/xrc
        $(CP_P) $(IFACEDIR)/wx/*.h $(DISTDIR)/interface/wx
        $(CP_P) $(IFACEDIR)/wx/aui/*.h $(DISTDIR)/interface/wx/aui
+       $(CP_P) $(IFACEDIR)/wx/ribbon/*.h $(DISTDIR)/interface/wx/ribbon
        $(CP_P) $(IFACEDIR)/wx/generic/*.h $(DISTDIR)/interface/wx/generic
        $(CP_P) $(IFACEDIR)/wx/html/*.h $(DISTDIR)/interface/wx/html
        $(CP_P) $(IFACEDIR)/wx/msw/*.h $(DISTDIR)/interface/wx/msw
index 93e5848a4e10a4fedd929997e24f476eaab0a505..75172bf0c67ac243ed3c037418b4c0209c1000f1 100644 (file)
     <wxshortcut id="wxaui" cond="MONOLITHIC=='0' and USE_AUI=='1'"/>
 
     <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">aui=auilib+auidll</set>
+    
+    <!-- ================================================================ -->
+    <!--                            RIBBON                                -->
+    <!-- ================================================================ -->
+
+    <dll id="ribbondll" template="wx_dll"
+         cond="SHARED=='1' and USE_RIBBON=='1' and MONOLITHIC=='0'">
+        <define>WXUSINGDLL</define>
+        <define>WXMAKINGDLL_RIBBON</define>
+        <sources>$(RIBBON_SRC)</sources>
+        <library>advdll</library>
+        <library>coredll</library>
+        <library>basedll</library>
+        <msvc-headers>$(RIBBON_HDR)</msvc-headers>
+    </dll>
+
+    <lib id="ribbonlib" template="wx_lib"
+         cond="SHARED=='0' and USE_RIBBON=='1' and MONOLITHIC=='0'">
+        <sources>$(RIBBON_SRC)</sources>
+        <msvc-headers>$(RIBBON_HDR)</msvc-headers>
+    </lib>
+    
+    <wxshortcut id="wxribbon" cond="MONOLITHIC=='0' and USE_RIBBON=='1'"/>
+
+    <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">ribbon=ribbonlib+ribbondll</set>
 
     <!-- ================================================================ -->
     <!--                            PROPGRID                              -->
index ca3689c1995feddd388e3ad91ae5591981665896..5c0281bb5b2f7e6d4fe9633f1e122089be9b6703 100644 (file)
@@ -91,6 +91,7 @@
 
         <wx-lib>richtext</wx-lib>
         <wx-lib>aui</wx-lib>
+        <wx-lib>ribbon</wx-lib>
         <wx-lib>propgrid</wx-lib>
         <wx-lib>stc</wx-lib>
         <wx-lib>qa</wx-lib>
                          tag definitions.
     -->
     <set var="WX_LIB_LIST">
-        base core net xml xrc html adv media gl qa aui propgrid richtext stc
+        base core net xml xrc html adv media gl qa aui ribbon propgrid richtext stc
     </set>
 
     <!-- if you define this variable to 0 before including wx presets, the
index b056dc222389c97c4da2d10ac0d7692534725db4..57f1d358ce425b085f63cd027f416f9e7803bdfd 100644 (file)
     <define-wxlib-name>adv</define-wxlib-name>
     <define-wxlib-name>qa</define-wxlib-name>
     <define-wxlib-name>aui</define-wxlib-name>
+    <define-wxlib-name>ribbon</define-wxlib-name>
     <define-wxlib-name>propgrid</define-wxlib-name>
     <define-wxlib-name>stc</define-wxlib-name>
     <define-wxlib-name>richtext</define-wxlib-name>
         <if cond="value=='adv'"><sys-lib>$(WXLIB_ADV_NAME)</sys-lib></if>
         <if cond="value=='qa'"><sys-lib>$(WXLIB_QA_NAME)</sys-lib></if>
         <if cond="value=='aui'"><sys-lib>$(WXLIB_AUI_NAME)</sys-lib></if>
+        <if cond="value=='ribbon'"><sys-lib>$(WXLIB_RIBBON_NAME)</sys-lib></if>
         <if cond="value=='propgrid'"><sys-lib>$(WXLIB_PROPGRID_NAME)</sys-lib></if>
         <if cond="value=='richtext'"><sys-lib>$(WXLIB_RICHTEXT_NAME)</sys-lib></if>
 
index bad7270fa049ff3958717c7adc88d1bdc65d7e50..8f5cb31f8a7393ee432474f7a19671e6c8b29ccd 100644 (file)
@@ -40,11 +40,11 @@ def mk_wxid(id):
 
 # All libs that are part of the main library:
 MAIN_LIBS = ['mono', 'base', 'core', 'adv', 'html', 'xml', 'net',
-             'media', 'qa', 'xrc', 'aui', 'propgrid', 'richtext', 'stc']
+             'media', 'qa', 'xrc', 'aui', 'ribbon', 'propgrid', 'richtext', 'stc']
 # List of library names/ids for categories with different names:
 LIBS_NOGUI = ['xml', 'net']
 LIBS_GUI   = ['core', 'adv', 'html', 'gl', 'qa', 'xrc', 'media',
-              'aui', 'propgrid', 'richtext', 'stc']
+              'aui', 'propgrid', 'richtext', 'stc', 'ribbon']
 # Additional libraries that must be linked in:
 EXTRALIBS = {
     'gl' : '$(EXTRALIBS_OPENGL)',
index 53f773c54945c1bb5ab9ee8b4040074976331343..a01eed18586224236c48fcc003437771deb8fc50 100644 (file)
@@ -114,6 +114,11 @@ USE_XRC = 1
 USE_AUI = 1
 !endif
 
+# Build wxRibbon library (USE_GUI must be 1)? [0,1]
+!ifndef USE_RIBBON
+USE_RIBBON = 1
+!endif
+
 # Build wxPropertyGrid library (USE_GUI must be 1)? [0,1]
 !ifndef USE_PROPGRID
 USE_PROPGRID = 1
index b6fd9747dfed5c66c747514e4414501d1271fb08..7f94d653185a3f48da01853f9eecc7c463580037 100644 (file)
@@ -80,6 +80,9 @@ USE_XRC ?= 1
 # Build wxAUI library (USE_GUI must be 1)? [0,1]
 USE_AUI ?= 1
 
+# Build wxRibbon library (USE_GUI must be 1)? [0,1]
+USE_RIBBON ?= 1
+
 # Build wxPropertyGrid library (USE_GUI must be 1)? [0,1]
 USE_PROPGRID ?= 1
 
index 7e487db996da906329f14e88263c65eaaedde877..63471fe0d9a6bc8e141f67b054e03f51cfb2e1b7 100644 (file)
@@ -87,6 +87,9 @@ USE_XRC = 1
 # Build wxAUI library (USE_GUI must be 1)? [0,1]
 USE_AUI = 1
 
+# Build wxRibbon library (USE_GUI must be 1)? [0,1]
+USE_RIBBON = 1
+
 # Build wxPropertyGrid library (USE_GUI must be 1)? [0,1]
 USE_PROPGRID = 1
 
index 30b1de73a23692bfbdf406c92ba07c200e706252..ba6b3007b5a85f30c7921aa4d27daee31d9266e3 100644 (file)
@@ -78,6 +78,9 @@ USE_XRC = 1
 # Build wxAUI library (USE_GUI must be 1)? [0,1]
 USE_AUI = 1
 
+# Build wxRibbon library (USE_GUI must be 1)? [0,1]
+USE_RIBBON = 1
+
 # Build wxPropertyGrid library (USE_GUI must be 1)? [0,1]
 USE_PROPGRID = 1
 
index 8b4441edd3a203f0c4270a30d58f6762c9d45b68..a7cb8fb5bec57da105ac682690c7bfd66c6f6f05 100644 (file)
@@ -28,9 +28,9 @@ MAKEARGS = -DCC="$(CC)" -DCXX="$(CXX)" -DCFLAGS="$(CFLAGS)" \
        -DDEBUG_INFO="$(DEBUG_INFO)" -DDEBUG_FLAG="$(DEBUG_FLAG)" \
        -DMONOLITHIC="$(MONOLITHIC)" -DUSE_GUI="$(USE_GUI)" \
        -DUSE_HTML="$(USE_HTML)" -DUSE_MEDIA="$(USE_MEDIA)" -DUSE_XRC="$(USE_XRC)" \
-       -DUSE_AUI="$(USE_AUI)" -DUSE_PROPGRID="$(USE_PROPGRID)" \
-       -DUSE_RICHTEXT="$(USE_RICHTEXT)" -DUSE_STC="$(USE_STC)" \
-       -DUSE_OPENGL="$(USE_OPENGL)" -DUSE_QA="$(USE_QA)" \
+       -DUSE_AUI="$(USE_AUI)" -DUSE_RIBBON="$(USE_RIBBON)" \
+       -DUSE_PROPGRID="$(USE_PROPGRID)" -DUSE_RICHTEXT="$(USE_RICHTEXT)" \
+       -DUSE_STC="$(USE_STC)" -DUSE_OPENGL="$(USE_OPENGL)" -DUSE_QA="$(USE_QA)" \
        -DUSE_EXCEPTIONS="$(USE_EXCEPTIONS)" -DUSE_RTTI="$(USE_RTTI)" \
        -DUSE_THREADS="$(USE_THREADS)" -DUSE_GDIPLUS="$(USE_GDIPLUS)" \
        -DOFFICIAL_BUILD="$(OFFICIAL_BUILD)" -DVENDOR="$(VENDOR)" \
@@ -1232,6 +1232,46 @@ AUILIB_OBJECTS =  \
        $(OBJS)\auilib_auibook.obj \
        $(OBJS)\auilib_auibar.obj \
        $(OBJS)\auilib_tabmdi.obj
+RIBBONDLL_CXXFLAGS = $(__RUNTIME_LIBS) -I$(BCCDIR)\include $(__DEBUGINFO) \
+       $(__OPTIMIZEFLAG) $(__THREADSFLAG) -D__WXMSW__ $(__WXUNIV_DEFINE_p) \
+       $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
+       $(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p) $(__MSLU_DEFINE_p) \
+       $(__GFXCTX_DEFINE_p) -I$(SETUPHDIR) -I..\..\include -DWXBUILDING \
+       -I..\..\src\tiff\libtiff -I..\..\src\jpeg -I..\..\src\png -I..\..\src\zlib \
+       -I..\..\src\regex -I..\..\src\expat\lib -DWXUSINGDLL -DWXMAKINGDLL_RIBBON \
+       -Hu -H=$(OBJS)\wxprec_ribbondll.csm $(CPPFLAGS) $(CXXFLAGS)
+RIBBONDLL_OBJECTS =  \
+       $(OBJS)\ribbondll_dummy.obj \
+       $(OBJS)\ribbondll_art_internal.obj \
+       $(OBJS)\ribbondll_art_msw.obj \
+       $(OBJS)\ribbondll_art_aui.obj \
+       $(OBJS)\ribbondll_bar.obj \
+       $(OBJS)\ribbondll_buttonbar.obj \
+       $(OBJS)\ribbondll_control.obj \
+       $(OBJS)\ribbondll_gallery.obj \
+       $(OBJS)\ribbondll_page.obj \
+       $(OBJS)\ribbondll_panel.obj \
+       $(OBJS)\ribbondll_toolbar.obj
+RIBBONLIB_CXXFLAGS = $(__RUNTIME_LIBS) -I$(BCCDIR)\include $(__DEBUGINFO) \
+       $(__OPTIMIZEFLAG) $(__THREADSFLAG) -D__WXMSW__ $(__WXUNIV_DEFINE_p) \
+       $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
+       $(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p) $(__MSLU_DEFINE_p) \
+       $(__GFXCTX_DEFINE_p) -I$(SETUPHDIR) -I..\..\include -DWXBUILDING \
+       -I..\..\src\tiff\libtiff -I..\..\src\jpeg -I..\..\src\png -I..\..\src\zlib \
+       -I..\..\src\regex -I..\..\src\expat\lib -Hu -H=$(OBJS)\wxprec_ribbonlib.csm \
+       $(CPPFLAGS) $(CXXFLAGS)
+RIBBONLIB_OBJECTS =  \
+       $(OBJS)\ribbonlib_dummy.obj \
+       $(OBJS)\ribbonlib_art_internal.obj \
+       $(OBJS)\ribbonlib_art_msw.obj \
+       $(OBJS)\ribbonlib_art_aui.obj \
+       $(OBJS)\ribbonlib_bar.obj \
+       $(OBJS)\ribbonlib_buttonbar.obj \
+       $(OBJS)\ribbonlib_control.obj \
+       $(OBJS)\ribbonlib_gallery.obj \
+       $(OBJS)\ribbonlib_page.obj \
+       $(OBJS)\ribbonlib_panel.obj \
+       $(OBJS)\ribbonlib_toolbar.obj
 PROPGRIDDLL_CXXFLAGS = $(__RUNTIME_LIBS) -I$(BCCDIR)\include $(__DEBUGINFO) \
        $(__OPTIMIZEFLAG) $(__THREADSFLAG) -D__WXMSW__ $(__WXUNIV_DEFINE_p) \
        $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
@@ -4031,6 +4071,20 @@ ____wxaui_namedll_DEP = $(__auidll___depname)
 !if "$(SHARED)" == "0"
 ____wxaui_namelib_DEP = $(__auilib___depname)
 !endif
+!if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "1" && "$(USE_RIBBON)" == "1"
+__ribbondll___depname = \
+       $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_bcc$(VENDORTAG).dll
+!endif
+!if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "0" && "$(USE_RIBBON)" == "1"
+__ribbonlib___depname = \
+       $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.lib
+!endif
+!if "$(SHARED)" == "1"
+____wxribbon_namedll_DEP = $(__ribbondll___depname)
+!endif
+!if "$(SHARED)" == "0"
+____wxribbon_namelib_DEP = $(__ribbonlib___depname)
+!endif
 !if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "1" && "$(USE_PROPGRID)" == "1"
 __propgriddll___depname = \
        $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid_bcc$(VENDORTAG).dll
@@ -4110,43 +4164,43 @@ __htmldll_library_link_LIBR = \
        $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_html.lib
 !endif
 !if "$(USE_THREADS)" == "0"
-__THREADSFLAG_12 = 
+__THREADSFLAG_13 = 
 !endif
 !if "$(USE_THREADS)" == "1"
-__THREADSFLAG_12 = mt
+__THREADSFLAG_13 = mt
 !endif
 !if "$(RUNTIME_LIBS)" == "dynamic"
-__RUNTIME_LIBS_4 = i
+__RUNTIME_LIBS_5 = i
 !endif
 !if "$(RUNTIME_LIBS)" == "static"
-__RUNTIME_LIBS_4 = 
+__RUNTIME_LIBS_5 = 
 !endif
 !if "$(WXUNIV)" == "1"
-__WXUNIV_DEFINE_p_58 = -d__WXUNIVERSAL__
+__WXUNIV_DEFINE_p_62 = -d__WXUNIVERSAL__
 !endif
 !if "$(DEBUG_FLAG)" == "0"
 __DEBUG_DEFINE_p_57 = -dwxDEBUG_LEVEL=0
 !endif
 !if "$(USE_EXCEPTIONS)" == "0"
-__EXCEPTIONS_DEFINE_p_57 = -dwxNO_EXCEPTIONS
+__EXCEPTIONS_DEFINE_p_61 = -dwxNO_EXCEPTIONS
 !endif
 !if "$(USE_RTTI)" == "0"
-__RTTI_DEFINE_p_57 = -dwxNO_RTTI
+__RTTI_DEFINE_p_61 = -dwxNO_RTTI
 !endif
 !if "$(USE_THREADS)" == "0"
-__THREAD_DEFINE_p_57 = -dwxNO_THREADS
+__THREAD_DEFINE_p_61 = -dwxNO_THREADS
 !endif
 !if "$(UNICODE)" == "0"
-__UNICODE_DEFINE_p_58 = -dwxUSE_UNICODE=0
+__UNICODE_DEFINE_p_62 = -dwxUSE_UNICODE=0
 !endif
 !if "$(UNICODE)" == "1"
-__UNICODE_DEFINE_p_58 = -d_UNICODE
+__UNICODE_DEFINE_p_62 = -d_UNICODE
 !endif
 !if "$(MSLU)" == "1"
-__MSLU_DEFINE_p_57 = -dwxUSE_UNICODE_MSLU=1
+__MSLU_DEFINE_p_61 = -dwxUSE_UNICODE_MSLU=1
 !endif
 !if "$(USE_GDIPLUS)" == "1"
-__GFXCTX_DEFINE_p_57 = -dwxUSE_GRAPHICS_CONTEXT=1
+__GFXCTX_DEFINE_p_61 = -dwxUSE_GRAPHICS_CONTEXT=1
 !endif
 !if "$(USE_GUI)" == "1"
 __LIB_TIFF_p = wxtiff$(WXDEBUGFLAG).lib
@@ -4234,7 +4288,7 @@ $(OBJS):
 
 ### Targets: ###
 
-all: setup_h $(LIBDIRNAME)\wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(__wxpng___depname) $(__wxjpeg___depname) $(__wxtiff___depname) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(__wxscintilla) $(__monodll___depname) $(__monolib___depname) $(__basedll___depname) $(__baselib___depname) $(__netdll___depname) $(__netlib___depname) $(__coredll___depname) $(__corelib___depname) $(__advdll___depname) $(__advlib___depname) $(__mediadll___depname) $(__medialib___depname) $(__htmldll___depname) $(__htmllib___depname) $(__qadll___depname) $(__qalib___depname) $(__xmldll___depname) $(__xmllib___depname) $(__xrcdll___depname) $(__xrclib___depname) $(__auidll___depname) $(__auilib___depname) $(__propgriddll___depname) $(__propgridlib___depname) $(__richtextdll___depname) $(__richtextlib___depname) $(__stcdll___depname) $(__stclib___depname) $(__gldll___depname) $(__gllib___depname) build_cfg_file
+all: setup_h $(LIBDIRNAME)\wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(__wxpng___depname) $(__wxjpeg___depname) $(__wxtiff___depname) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(__wxscintilla) $(__monodll___depname) $(__monolib___depname) $(__basedll___depname) $(__baselib___depname) $(__netdll___depname) $(__netlib___depname) $(__coredll___depname) $(__corelib___depname) $(__advdll___depname) $(__advlib___depname) $(__mediadll___depname) $(__medialib___depname) $(__htmldll___depname) $(__htmllib___depname) $(__qadll___depname) $(__qalib___depname) $(__xmldll___depname) $(__xmllib___depname) $(__xrcdll___depname) $(__xrclib___depname) $(__auidll___depname) $(__auilib___depname) $(__ribbondll___depname) $(__ribbonlib___depname) $(__propgriddll___depname) $(__propgridlib___depname) $(__richtextdll___depname) $(__richtextlib___depname) $(__stcdll___depname) $(__stclib___depname) $(__gldll___depname) $(__gllib___depname) build_cfg_file
 
 clean: 
        -if exist $(OBJS)\*.obj del $(OBJS)\*.obj
@@ -4335,6 +4389,14 @@ clean:
        -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui_bcc$(VENDORTAG).ils del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui_bcc$(VENDORTAG).ils
        -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui.lib del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui.lib
        -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui.lib del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui.lib
+       -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_bcc$(VENDORTAG).dll del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_bcc$(VENDORTAG).dll
+       -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_bcc$(VENDORTAG).tds del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_bcc$(VENDORTAG).tds
+       -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_bcc$(VENDORTAG).ilc del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_bcc$(VENDORTAG).ilc
+       -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_bcc$(VENDORTAG).ild del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_bcc$(VENDORTAG).ild
+       -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_bcc$(VENDORTAG).ilf del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_bcc$(VENDORTAG).ilf
+       -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_bcc$(VENDORTAG).ils del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_bcc$(VENDORTAG).ils
+       -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.lib del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.lib
+       -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.lib del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.lib
        -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid_bcc$(VENDORTAG).dll del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid_bcc$(VENDORTAG).dll
        -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid_bcc$(VENDORTAG).tds del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid_bcc$(VENDORTAG).tds
        -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid_bcc$(VENDORTAG).ilc del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid_bcc$(VENDORTAG).ilc
@@ -4427,7 +4489,7 @@ $(LIBDIRNAME)\wxscintilla$(WXDEBUGFLAG).lib: $(WXSCINTILLA_OBJECTS)
 !if "$(MONOLITHIC)" == "1" && "$(SHARED)" == "1"
 $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_bcc$(VENDORTAG).dll: $(OBJS)\monodll_dummy.obj  $(MONODLL_OBJECTS) $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib  $(OBJS)\monodll_version.res $(__wxscintilla_library_link_DEP)
        ilink32 -Tpd -q  -L$(BCCDIR)\lib -L$(BCCDIR)\lib\psdk $(__DEBUGINFO)  -L$(LIBDIRNAME) $(LDFLAGS) @&&|
-       c0d32.obj $(MONODLL_OBJECTS),$@,, $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib     $(__wxscintilla) import32.lib cw32$(__THREADSFLAG_12)$(__RUNTIME_LIBS_4).lib,, $(OBJS)\monodll_version.res
+       c0d32.obj $(MONODLL_OBJECTS),$@,, $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib     $(__wxscintilla) import32.lib cw32$(__THREADSFLAG_13)$(__RUNTIME_LIBS_5).lib,, $(OBJS)\monodll_version.res
 |
        implib -f $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR) $@
 !endif
@@ -4443,7 +4505,7 @@ $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXD
 !if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "1"
 $(LIBDIRNAME)\wxbase$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_bcc$(VENDORTAG).dll: $(OBJS)\basedll_dummy.obj  $(BASEDLL_OBJECTS) $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib  $(OBJS)\basedll_version.res
        ilink32 -Tpd -q  -L$(BCCDIR)\lib -L$(BCCDIR)\lib\psdk $(__DEBUGINFO)  -L$(LIBDIRNAME) $(LDFLAGS) @&&|
-       c0d32.obj $(BASEDLL_OBJECTS),$@,, wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib import32.lib cw32$(__THREADSFLAG_12)$(__RUNTIME_LIBS_4).lib,, $(OBJS)\basedll_version.res
+       c0d32.obj $(BASEDLL_OBJECTS),$@,, wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib import32.lib cw32$(__THREADSFLAG_13)$(__RUNTIME_LIBS_5).lib,, $(OBJS)\basedll_version.res
 |
        implib -f $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR) $@
 !endif
@@ -4463,7 +4525,7 @@ wxbase: $(____wxbase_namedll_DEP) $(____wxbase_namelib_DEP)
 !if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "1"
 $(LIBDIRNAME)\wxbase$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_net_bcc$(VENDORTAG).dll: $(OBJS)\netdll_dummy.obj  $(NETDLL_OBJECTS) $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib  $(OBJS)\netdll_version.res $(__basedll___depname)
        ilink32 -Tpd -q  -L$(BCCDIR)\lib -L$(BCCDIR)\lib\psdk $(__DEBUGINFO)  -L$(LIBDIRNAME) $(LDFLAGS) @&&|
-       c0d32.obj $(NETDLL_OBJECTS),$@,, wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib import32.lib cw32$(__THREADSFLAG_12)$(__RUNTIME_LIBS_4).lib,, $(OBJS)\netdll_version.res
+       c0d32.obj $(NETDLL_OBJECTS),$@,, wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib import32.lib cw32$(__THREADSFLAG_13)$(__RUNTIME_LIBS_5).lib,, $(OBJS)\netdll_version.res
 |
        implib -f $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_net $@
 !endif
@@ -4483,7 +4545,7 @@ wxnet: $(____wxnet_namedll_DEP) $(____wxnet_namelib_DEP)
 !if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "1" && "$(USE_GUI)" == "1"
 $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core_bcc$(VENDORTAG).dll: $(OBJS)\coredll_dummy.obj  $(COREDLL_OBJECTS) $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib  $(OBJS)\coredll_version.res $(__basedll___depname)
        ilink32 -Tpd -q  -L$(BCCDIR)\lib -L$(BCCDIR)\lib\psdk $(__DEBUGINFO)  -L$(LIBDIRNAME) $(LDFLAGS) @&&|
-       c0d32.obj $(COREDLL_OBJECTS),$@,, $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib import32.lib cw32$(__THREADSFLAG_12)$(__RUNTIME_LIBS_4).lib,, $(OBJS)\coredll_version.res
+       c0d32.obj $(COREDLL_OBJECTS),$@,, $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib import32.lib cw32$(__THREADSFLAG_13)$(__RUNTIME_LIBS_5).lib,, $(OBJS)\coredll_version.res
 |
        implib -f $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core $@
 !endif
@@ -4503,7 +4565,7 @@ wxcore: $(____wxcore_namedll_DEP) $(____wxcore_namelib_DEP)
 !if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "1" && "$(USE_GUI)" == "1"
 $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv_bcc$(VENDORTAG).dll: $(OBJS)\advdll_dummy.obj  $(ADVDLL_OBJECTS) $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib  $(OBJS)\advdll_version.res $(__coredll___depname) $(__basedll___depname)
        ilink32 -Tpd -q  -L$(BCCDIR)\lib -L$(BCCDIR)\lib\psdk $(__DEBUGINFO)  -L$(LIBDIRNAME) $(LDFLAGS) @&&|
-       c0d32.obj $(ADVDLL_OBJECTS),$@,, $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib  import32.lib cw32$(__THREADSFLAG_12)$(__RUNTIME_LIBS_4).lib,, $(OBJS)\advdll_version.res
+       c0d32.obj $(ADVDLL_OBJECTS),$@,, $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib  import32.lib cw32$(__THREADSFLAG_13)$(__RUNTIME_LIBS_5).lib,, $(OBJS)\advdll_version.res
 |
        implib -f $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv $@
 !endif
@@ -4523,7 +4585,7 @@ wxadv: $(____wxadv_namedll_DEP) $(____wxadv_namelib_DEP)
 !if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "1" && "$(USE_GUI)" == "1" && "$(USE_MEDIA)" == "1"
 $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_media_bcc$(VENDORTAG).dll: $(OBJS)\mediadll_dummy.obj  $(MEDIADLL_OBJECTS) $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib  $(OBJS)\mediadll_version.res $(__coredll___depname) $(__basedll___depname)
        ilink32 -Tpd -q  -L$(BCCDIR)\lib -L$(BCCDIR)\lib\psdk $(__DEBUGINFO)  -L$(LIBDIRNAME) $(LDFLAGS) @&&|
-       c0d32.obj $(MEDIADLL_OBJECTS),$@,, $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib  import32.lib cw32$(__THREADSFLAG_12)$(__RUNTIME_LIBS_4).lib,, $(OBJS)\mediadll_version.res
+       c0d32.obj $(MEDIADLL_OBJECTS),$@,, $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib  import32.lib cw32$(__THREADSFLAG_13)$(__RUNTIME_LIBS_5).lib,, $(OBJS)\mediadll_version.res
 |
        implib -f $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_media $@
 !endif
@@ -4543,7 +4605,7 @@ wxmedia: $(____wxmedia_namedll_DEP) $(____wxmedia_namelib_DEP)
 !if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "1" && "$(USE_GUI)" == "1" && "$(USE_HTML)" == "1"
 $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_html_bcc$(VENDORTAG).dll: $(OBJS)\htmldll_dummy.obj  $(HTMLDLL_OBJECTS) $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib  $(OBJS)\htmldll_version.res $(__coredll___depname) $(__basedll___depname)
        ilink32 -Tpd -q  -L$(BCCDIR)\lib -L$(BCCDIR)\lib\psdk $(__DEBUGINFO)  -L$(LIBDIRNAME) $(LDFLAGS) @&&|
-       c0d32.obj $(HTMLDLL_OBJECTS),$@,, $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib  import32.lib cw32$(__THREADSFLAG_12)$(__RUNTIME_LIBS_4).lib,, $(OBJS)\htmldll_version.res
+       c0d32.obj $(HTMLDLL_OBJECTS),$@,, $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib  import32.lib cw32$(__THREADSFLAG_13)$(__RUNTIME_LIBS_5).lib,, $(OBJS)\htmldll_version.res
 |
        implib -f $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_html $@
 !endif
@@ -4563,7 +4625,7 @@ wxhtml: $(____wxhtml_namedll_DEP) $(____wxhtml_namelib_DEP)
 !if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "1" && "$(USE_GUI)" == "1" && "$(USE_QA)" == "1"
 $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_qa_bcc$(VENDORTAG).dll: $(OBJS)\qadll_dummy.obj  $(QADLL_OBJECTS) $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib  $(OBJS)\qadll_version.res $(__coredll___depname) $(__basedll___depname) $(__xmldll___depname)
        ilink32 -Tpd -q  -L$(BCCDIR)\lib -L$(BCCDIR)\lib\psdk $(__DEBUGINFO)  -L$(LIBDIRNAME) $(LDFLAGS) @&&|
-       c0d32.obj $(QADLL_OBJECTS),$@,, $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml.lib import32.lib cw32$(__THREADSFLAG_12)$(__RUNTIME_LIBS_4).lib,, $(OBJS)\qadll_version.res
+       c0d32.obj $(QADLL_OBJECTS),$@,, $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml.lib import32.lib cw32$(__THREADSFLAG_13)$(__RUNTIME_LIBS_5).lib,, $(OBJS)\qadll_version.res
 |
        implib -f $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_qa $@
 !endif
@@ -4583,7 +4645,7 @@ wxqa: $(____wxqa_namedll_DEP) $(____wxqa_namelib_DEP)
 !if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "1"
 $(LIBDIRNAME)\wxbase$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml_bcc$(VENDORTAG).dll: $(OBJS)\xmldll_dummy.obj  $(XMLDLL_OBJECTS) $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib  $(OBJS)\xmldll_version.res $(__basedll___depname)
        ilink32 -Tpd -q  -L$(BCCDIR)\lib -L$(BCCDIR)\lib\psdk $(__DEBUGINFO)  -L$(LIBDIRNAME) $(LDFLAGS) @&&|
-       c0d32.obj $(XMLDLL_OBJECTS),$@,, wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib  import32.lib cw32$(__THREADSFLAG_12)$(__RUNTIME_LIBS_4).lib,, $(OBJS)\xmldll_version.res
+       c0d32.obj $(XMLDLL_OBJECTS),$@,, wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib  import32.lib cw32$(__THREADSFLAG_13)$(__RUNTIME_LIBS_5).lib,, $(OBJS)\xmldll_version.res
 |
        implib -f $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml $@
 !endif
@@ -4603,7 +4665,7 @@ wxxml: $(____wxxml_namedll_DEP) $(____wxxml_namelib_DEP)
 !if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "1" && "$(USE_XRC)" == "1"
 $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xrc_bcc$(VENDORTAG).dll: $(OBJS)\xrcdll_dummy.obj  $(XRCDLL_OBJECTS) $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib  $(OBJS)\xrcdll_version.res $(__htmldll_library_link_DEP) $(__advdll___depname) $(__coredll___depname) $(__xmldll___depname) $(__basedll___depname)
        ilink32 -Tpd -q  -L$(BCCDIR)\lib -L$(BCCDIR)\lib\psdk $(__DEBUGINFO)  -L$(LIBDIRNAME) $(LDFLAGS) @&&|
-       c0d32.obj $(XRCDLL_OBJECTS),$@,, $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib $(__htmldll_library_link_LIBR) $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib import32.lib cw32$(__THREADSFLAG_12)$(__RUNTIME_LIBS_4).lib,, $(OBJS)\xrcdll_version.res
+       c0d32.obj $(XRCDLL_OBJECTS),$@,, $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib $(__htmldll_library_link_LIBR) $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib import32.lib cw32$(__THREADSFLAG_13)$(__RUNTIME_LIBS_5).lib,, $(OBJS)\xrcdll_version.res
 |
        implib -f $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xrc $@
 !endif
@@ -4623,7 +4685,7 @@ wxxrc: $(____wxxrc_namedll_DEP) $(____wxxrc_namelib_DEP)
 !if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "1" && "$(USE_AUI)" == "1"
 $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui_bcc$(VENDORTAG).dll: $(OBJS)\auidll_dummy.obj  $(AUIDLL_OBJECTS) $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib  $(OBJS)\auidll_version.res $(__advdll___depname) $(__coredll___depname) $(__basedll___depname)
        ilink32 -Tpd -q  -L$(BCCDIR)\lib -L$(BCCDIR)\lib\psdk $(__DEBUGINFO)  -L$(LIBDIRNAME) $(LDFLAGS) @&&|
-       c0d32.obj $(AUIDLL_OBJECTS),$@,, $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib import32.lib cw32$(__THREADSFLAG_12)$(__RUNTIME_LIBS_4).lib,, $(OBJS)\auidll_version.res
+       c0d32.obj $(AUIDLL_OBJECTS),$@,, $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib import32.lib cw32$(__THREADSFLAG_13)$(__RUNTIME_LIBS_5).lib,, $(OBJS)\auidll_version.res
 |
        implib -f $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui $@
 !endif
@@ -4640,10 +4702,30 @@ $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXD
 wxaui: $(____wxaui_namedll_DEP) $(____wxaui_namelib_DEP)
 !endif
 
+!if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "1" && "$(USE_RIBBON)" == "1"
+$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_bcc$(VENDORTAG).dll: $(OBJS)\ribbondll_dummy.obj  $(RIBBONDLL_OBJECTS) $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib  $(OBJS)\ribbondll_version.res $(__advdll___depname) $(__coredll___depname) $(__basedll___depname)
+       ilink32 -Tpd -q  -L$(BCCDIR)\lib -L$(BCCDIR)\lib\psdk $(__DEBUGINFO)  -L$(LIBDIRNAME) $(LDFLAGS) @&&|
+       c0d32.obj $(RIBBONDLL_OBJECTS),$@,, $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib import32.lib cw32$(__THREADSFLAG_13)$(__RUNTIME_LIBS_5).lib,, $(OBJS)\ribbondll_version.res
+|
+       implib -f $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon $@
+!endif
+
+!if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "0" && "$(USE_RIBBON)" == "1"
+$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.lib: $(OBJS)\ribbonlib_dummy.obj  $(RIBBONLIB_OBJECTS)
+       if exist $@ del $@
+       tlib /a /p4096 $@ @&&|
+       $(RIBBONLIB_OBJECTS)
+|
+!endif
+
+!if "$(MONOLITHIC)" == "0" && "$(USE_RIBBON)" == "1"
+wxribbon: $(____wxribbon_namedll_DEP) $(____wxribbon_namelib_DEP)
+!endif
+
 !if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "1" && "$(USE_PROPGRID)" == "1"
 $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid_bcc$(VENDORTAG).dll: $(OBJS)\propgriddll_dummy.obj  $(PROPGRIDDLL_OBJECTS) $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib  $(OBJS)\propgriddll_version.res $(__advdll___depname) $(__coredll___depname) $(__basedll___depname)
        ilink32 -Tpd -q  -L$(BCCDIR)\lib -L$(BCCDIR)\lib\psdk $(__DEBUGINFO)  -L$(LIBDIRNAME) $(LDFLAGS) @&&|
-       c0d32.obj $(PROPGRIDDLL_OBJECTS),$@,, $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib import32.lib cw32$(__THREADSFLAG_12)$(__RUNTIME_LIBS_4).lib,, $(OBJS)\propgriddll_version.res
+       c0d32.obj $(PROPGRIDDLL_OBJECTS),$@,, $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib import32.lib cw32$(__THREADSFLAG_13)$(__RUNTIME_LIBS_5).lib,, $(OBJS)\propgriddll_version.res
 |
        implib -f $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid $@
 !endif
@@ -4663,7 +4745,7 @@ wxpropgrid: $(____wxpropgrid_namedll_DEP) $(____wxpropgrid_namelib_DEP)
 !if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "1" && "$(USE_RICHTEXT)" == "1"
 $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_richtext_bcc$(VENDORTAG).dll: $(OBJS)\richtextdll_dummy.obj  $(RICHTEXTDLL_OBJECTS) $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib  $(OBJS)\richtextdll_version.res $(__advdll___depname) $(__htmldll_library_link_DEP) $(__xmldll___depname) $(__coredll___depname) $(__basedll___depname)
        ilink32 -Tpd -q  -L$(BCCDIR)\lib -L$(BCCDIR)\lib\psdk $(__DEBUGINFO)  -L$(LIBDIRNAME) $(LDFLAGS) @&&|
-       c0d32.obj $(RICHTEXTDLL_OBJECTS),$@,, $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv.lib $(__htmldll_library_link_LIBR) $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib import32.lib cw32$(__THREADSFLAG_12)$(__RUNTIME_LIBS_4).lib,, $(OBJS)\richtextdll_version.res
+       c0d32.obj $(RICHTEXTDLL_OBJECTS),$@,, $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv.lib $(__htmldll_library_link_LIBR) $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib import32.lib cw32$(__THREADSFLAG_13)$(__RUNTIME_LIBS_5).lib,, $(OBJS)\richtextdll_version.res
 |
        implib -f $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_richtext $@
 !endif
@@ -4683,7 +4765,7 @@ wxrichtext: $(____wxrichtext_namedll_DEP) $(____wxrichtext_namelib_DEP)
 !if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "1" && "$(USE_STC)" == "1"
 $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc_bcc$(VENDORTAG).dll: $(OBJS)\stcdll_dummy.obj  $(STCDLL_OBJECTS) $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib $(__wxscintilla)  $(OBJS)\stcdll_version.res $(__coredll___depname) $(__basedll___depname)
        ilink32 -Tpd -q  -L$(BCCDIR)\lib -L$(BCCDIR)\lib\psdk $(__DEBUGINFO)  -L$(LIBDIRNAME) $(LDFLAGS) @&&|
-       c0d32.obj $(STCDLL_OBJECTS),$@,, $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib $(LIBDIRNAME)\wxscintilla$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib import32.lib cw32$(__THREADSFLAG_12)$(__RUNTIME_LIBS_4).lib,, $(OBJS)\stcdll_version.res
+       c0d32.obj $(STCDLL_OBJECTS),$@,, $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib $(LIBDIRNAME)\wxscintilla$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib import32.lib cw32$(__THREADSFLAG_13)$(__RUNTIME_LIBS_5).lib,, $(OBJS)\stcdll_version.res
 |
        implib -f $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc $@
 !endif
@@ -4703,7 +4785,7 @@ wxstc: $(____wxstc_namedll_DEP) $(____wxstc_namelib_DEP)
 !if "$(SHARED)" == "1" && "$(USE_GUI)" == "1" && "$(USE_OPENGL)" == "1"
 $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl_bcc$(VENDORTAG).dll: $(OBJS)\gldll_dummy.obj  $(GLDLL_OBJECTS) $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib  $(OBJS)\gldll_version.res $(__basedll___depname) $(__coredll___depname) $(__monodll___depname)
        ilink32 -Tpd -q  -L$(BCCDIR)\lib -L$(BCCDIR)\lib\psdk $(__DEBUGINFO)  -L$(LIBDIRNAME) $(LDFLAGS) @&&|
-       c0d32.obj $(GLDLL_OBJECTS),$@,, $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib $(__WXLIBGLDEP_CORE_p) $(__WXLIBGLDEP_BASE_p) $(__WXLIB_MONO_p)  import32.lib cw32$(__THREADSFLAG_12)$(__RUNTIME_LIBS_4).lib,, $(OBJS)\gldll_version.res
+       c0d32.obj $(GLDLL_OBJECTS),$@,, $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib $(__WXLIBGLDEP_CORE_p) $(__WXLIBGLDEP_BASE_p) $(__WXLIB_MONO_p)  import32.lib cw32$(__THREADSFLAG_13)$(__RUNTIME_LIBS_5).lib,, $(OBJS)\gldll_version.res
 |
        implib -f $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl $@
 !endif
@@ -7644,7 +7726,7 @@ $(OBJS)\monodll_animateg.obj: ..\..\src\generic\animateg.cpp
 !endif
 
 $(OBJS)\monodll_version.res: ..\..\src\msw\version.rc
-       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dwxUSE_BASE=1 -dWXMAKINGDLL -i..\..\src\stc\scintilla\include -i..\..\src\stc\scintilla\src -d__WX__ -dSCI_LEXER -dLINK_LEXERS ..\..\src\msw\version.rc
+       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dwxUSE_BASE=1 -dWXMAKINGDLL -i..\..\src\stc\scintilla\include -i..\..\src\stc\scintilla\src -d__WX__ -dSCI_LEXER -dLINK_LEXERS ..\..\src\msw\version.rc
 
 $(OBJS)\monolib_dummy.obj: ..\..\src\common\dummy.cpp
        $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) -H ..\..\src\common\dummy.cpp
@@ -9884,7 +9966,7 @@ $(OBJS)\basedll_dummy.obj: ..\..\src\common\dummy.cpp
        $(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) -H ..\..\src\common\dummy.cpp
 
 $(OBJS)\basedll_version.res: ..\..\src\msw\version.rc
-       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wxbase$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dwxUSE_GUI=0 -dWXMAKINGDLL_BASE -dwxUSE_BASE=1 ..\..\src\msw\version.rc
+       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wxbase$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dwxUSE_GUI=0 -dWXMAKINGDLL_BASE -dwxUSE_BASE=1 ..\..\src\msw\version.rc
 
 $(OBJS)\basedll_appbase.obj: ..\..\src\common\appbase.cpp
        $(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) ..\..\src\common\appbase.cpp
@@ -10517,7 +10599,7 @@ $(OBJS)\netdll_dummy.obj: ..\..\src\common\dummy.cpp
        $(CXX) -q -c -P -o$@ $(NETDLL_CXXFLAGS) -H ..\..\src\common\dummy.cpp
 
 $(OBJS)\netdll_version.res: ..\..\src\msw\version.rc
-       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wxbase$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_net_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dwxUSE_GUI=0 -dWXUSINGDLL -dWXMAKINGDLL_NET ..\..\src\msw\version.rc
+       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wxbase$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_net_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dwxUSE_GUI=0 -dWXUSINGDLL -dWXMAKINGDLL_NET ..\..\src\msw\version.rc
 
 $(OBJS)\netdll_fs_inet.obj: ..\..\src\common\fs_inet.cpp
        $(CXX) -q -c -P -o$@ $(NETDLL_CXXFLAGS) ..\..\src\common\fs_inet.cpp
@@ -10598,7 +10680,7 @@ $(OBJS)\coredll_dummy.obj: ..\..\src\common\dummy.cpp
        $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) -H ..\..\src\common\dummy.cpp
 
 $(OBJS)\coredll_version.res: ..\..\src\msw\version.rc
-       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dWXUSINGDLL -dWXMAKINGDLL_CORE -dwxUSE_BASE=0 ..\..\src\msw\version.rc
+       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dWXUSINGDLL -dWXMAKINGDLL_CORE -dwxUSE_BASE=0 ..\..\src\msw\version.rc
 
 $(OBJS)\coredll_event.obj: ..\..\src\common\event.cpp
        $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\common\event.cpp
@@ -13363,7 +13445,7 @@ $(OBJS)\advdll_dummy.obj: ..\..\src\common\dummy.cpp
        $(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) -H ..\..\src\common\dummy.cpp
 
 $(OBJS)\advdll_version.res: ..\..\src\msw\version.rc
-       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dWXUSINGDLL -dWXMAKINGDLL_ADV ..\..\src\msw\version.rc
+       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dWXUSINGDLL -dWXMAKINGDLL_ADV ..\..\src\msw\version.rc
 
 $(OBJS)\advdll_bmpcbox.obj: ..\..\src\msw\bmpcbox.cpp
        $(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) ..\..\src\msw\bmpcbox.cpp
@@ -13588,7 +13670,7 @@ $(OBJS)\mediadll_dummy.obj: ..\..\src\common\dummy.cpp
        $(CXX) -q -c -P -o$@ $(MEDIADLL_CXXFLAGS) -H ..\..\src\common\dummy.cpp
 
 $(OBJS)\mediadll_version.res: ..\..\src\msw\version.rc
-       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_media_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dWXUSINGDLL -dWXMAKINGDLL_MEDIA ..\..\src\msw\version.rc
+       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_media_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dWXUSINGDLL -dWXMAKINGDLL_MEDIA ..\..\src\msw\version.rc
 
 $(OBJS)\mediadll_mediactrlcmn.obj: ..\..\src\common\mediactrlcmn.cpp
        $(CXX) -q -c -P -o$@ $(MEDIADLL_CXXFLAGS) ..\..\src\common\mediactrlcmn.cpp
@@ -13621,7 +13703,7 @@ $(OBJS)\htmldll_dummy.obj: ..\..\src\common\dummy.cpp
        $(CXX) -q -c -P -o$@ $(HTMLDLL_CXXFLAGS) -H ..\..\src\common\dummy.cpp
 
 $(OBJS)\htmldll_version.res: ..\..\src\msw\version.rc
-       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_html_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dWXUSINGDLL -dWXMAKINGDLL_HTML ..\..\src\msw\version.rc
+       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_html_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dWXUSINGDLL -dWXMAKINGDLL_HTML ..\..\src\msw\version.rc
 
 $(OBJS)\htmldll_helpbest.obj: ..\..\src\msw\helpbest.cpp
        $(CXX) -q -c -P -o$@ $(HTMLDLL_CXXFLAGS) ..\..\src\msw\helpbest.cpp
@@ -13774,7 +13856,7 @@ $(OBJS)\qadll_dummy.obj: ..\..\src\common\dummy.cpp
        $(CXX) -q -c -P -o$@ $(QADLL_CXXFLAGS) -H ..\..\src\common\dummy.cpp
 
 $(OBJS)\qadll_version.res: ..\..\src\msw\version.rc
-       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_qa_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dWXUSINGDLL -dWXMAKINGDLL_QA ..\..\src\msw\version.rc
+       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_qa_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dWXUSINGDLL -dWXMAKINGDLL_QA ..\..\src\msw\version.rc
 
 $(OBJS)\qadll_debugrpt.obj: ..\..\src\common\debugrpt.cpp
        $(CXX) -q -c -P -o$@ $(QADLL_CXXFLAGS) ..\..\src\common\debugrpt.cpp
@@ -13795,7 +13877,7 @@ $(OBJS)\xmldll_dummy.obj: ..\..\src\common\dummy.cpp
        $(CXX) -q -c -P -o$@ $(XMLDLL_CXXFLAGS) -H ..\..\src\common\dummy.cpp
 
 $(OBJS)\xmldll_version.res: ..\..\src\msw\version.rc
-       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wxbase$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dwxUSE_GUI=0 -dWXUSINGDLL -dWXMAKINGDLL_XML ..\..\src\msw\version.rc
+       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wxbase$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dwxUSE_GUI=0 -dWXUSINGDLL -dWXMAKINGDLL_XML ..\..\src\msw\version.rc
 
 $(OBJS)\xmldll_xml.obj: ..\..\src\xml\xml.cpp
        $(CXX) -q -c -P -o$@ $(XMLDLL_CXXFLAGS) ..\..\src\xml\xml.cpp
@@ -13816,7 +13898,7 @@ $(OBJS)\xrcdll_dummy.obj: ..\..\src\common\dummy.cpp
        $(CXX) -q -c -P -o$@ $(XRCDLL_CXXFLAGS) -H ..\..\src\common\dummy.cpp
 
 $(OBJS)\xrcdll_version.res: ..\..\src\msw\version.rc
-       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xrc_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dWXUSINGDLL -dWXMAKINGDLL_XRC ..\..\src\msw\version.rc
+       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xrc_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dWXUSINGDLL -dWXMAKINGDLL_XRC ..\..\src\msw\version.rc
 
 $(OBJS)\xrcdll_xh_animatctrl.obj: ..\..\src\xrc\xh_animatctrl.cpp
        $(CXX) -q -c -P -o$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_animatctrl.cpp
@@ -14191,7 +14273,7 @@ $(OBJS)\auidll_dummy.obj: ..\..\src\common\dummy.cpp
        $(CXX) -q -c -P -o$@ $(AUIDLL_CXXFLAGS) -H ..\..\src\common\dummy.cpp
 
 $(OBJS)\auidll_version.res: ..\..\src\msw\version.rc
-       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dWXUSINGDLL -dWXMAKINGDLL_AUI ..\..\src\msw\version.rc
+       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dWXUSINGDLL -dWXMAKINGDLL_AUI ..\..\src\msw\version.rc
 
 $(OBJS)\auidll_framemanager.obj: ..\..\src\aui\framemanager.cpp
        $(CXX) -q -c -P -o$@ $(AUIDLL_CXXFLAGS) ..\..\src\aui\framemanager.cpp
@@ -14232,11 +14314,80 @@ $(OBJS)\auilib_auibar.obj: ..\..\src\aui\auibar.cpp
 $(OBJS)\auilib_tabmdi.obj: ..\..\src\aui\tabmdi.cpp
        $(CXX) -q -c -P -o$@ $(AUILIB_CXXFLAGS) ..\..\src\aui\tabmdi.cpp
 
+$(OBJS)\ribbondll_dummy.obj: ..\..\src\common\dummy.cpp
+       $(CXX) -q -c -P -o$@ $(RIBBONDLL_CXXFLAGS) -H ..\..\src\common\dummy.cpp
+
+$(OBJS)\ribbondll_version.res: ..\..\src\msw\version.rc
+       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dWXUSINGDLL -dWXMAKINGDLL_RIBBON ..\..\src\msw\version.rc
+
+$(OBJS)\ribbondll_art_internal.obj: ..\..\src\ribbon\art_internal.cpp
+       $(CXX) -q -c -P -o$@ $(RIBBONDLL_CXXFLAGS) ..\..\src\ribbon\art_internal.cpp
+
+$(OBJS)\ribbondll_art_msw.obj: ..\..\src\ribbon\art_msw.cpp
+       $(CXX) -q -c -P -o$@ $(RIBBONDLL_CXXFLAGS) ..\..\src\ribbon\art_msw.cpp
+
+$(OBJS)\ribbondll_art_aui.obj: ..\..\src\ribbon\art_aui.cpp
+       $(CXX) -q -c -P -o$@ $(RIBBONDLL_CXXFLAGS) ..\..\src\ribbon\art_aui.cpp
+
+$(OBJS)\ribbondll_bar.obj: ..\..\src\ribbon\bar.cpp
+       $(CXX) -q -c -P -o$@ $(RIBBONDLL_CXXFLAGS) ..\..\src\ribbon\bar.cpp
+
+$(OBJS)\ribbondll_buttonbar.obj: ..\..\src\ribbon\buttonbar.cpp
+       $(CXX) -q -c -P -o$@ $(RIBBONDLL_CXXFLAGS) ..\..\src\ribbon\buttonbar.cpp
+
+$(OBJS)\ribbondll_control.obj: ..\..\src\ribbon\control.cpp
+       $(CXX) -q -c -P -o$@ $(RIBBONDLL_CXXFLAGS) ..\..\src\ribbon\control.cpp
+
+$(OBJS)\ribbondll_gallery.obj: ..\..\src\ribbon\gallery.cpp
+       $(CXX) -q -c -P -o$@ $(RIBBONDLL_CXXFLAGS) ..\..\src\ribbon\gallery.cpp
+
+$(OBJS)\ribbondll_page.obj: ..\..\src\ribbon\page.cpp
+       $(CXX) -q -c -P -o$@ $(RIBBONDLL_CXXFLAGS) ..\..\src\ribbon\page.cpp
+
+$(OBJS)\ribbondll_panel.obj: ..\..\src\ribbon\panel.cpp
+       $(CXX) -q -c -P -o$@ $(RIBBONDLL_CXXFLAGS) ..\..\src\ribbon\panel.cpp
+
+$(OBJS)\ribbondll_toolbar.obj: ..\..\src\ribbon\toolbar.cpp
+       $(CXX) -q -c -P -o$@ $(RIBBONDLL_CXXFLAGS) ..\..\src\ribbon\toolbar.cpp
+
+$(OBJS)\ribbonlib_dummy.obj: ..\..\src\common\dummy.cpp
+       $(CXX) -q -c -P -o$@ $(RIBBONLIB_CXXFLAGS) -H ..\..\src\common\dummy.cpp
+
+$(OBJS)\ribbonlib_art_internal.obj: ..\..\src\ribbon\art_internal.cpp
+       $(CXX) -q -c -P -o$@ $(RIBBONLIB_CXXFLAGS) ..\..\src\ribbon\art_internal.cpp
+
+$(OBJS)\ribbonlib_art_msw.obj: ..\..\src\ribbon\art_msw.cpp
+       $(CXX) -q -c -P -o$@ $(RIBBONLIB_CXXFLAGS) ..\..\src\ribbon\art_msw.cpp
+
+$(OBJS)\ribbonlib_art_aui.obj: ..\..\src\ribbon\art_aui.cpp
+       $(CXX) -q -c -P -o$@ $(RIBBONLIB_CXXFLAGS) ..\..\src\ribbon\art_aui.cpp
+
+$(OBJS)\ribbonlib_bar.obj: ..\..\src\ribbon\bar.cpp
+       $(CXX) -q -c -P -o$@ $(RIBBONLIB_CXXFLAGS) ..\..\src\ribbon\bar.cpp
+
+$(OBJS)\ribbonlib_buttonbar.obj: ..\..\src\ribbon\buttonbar.cpp
+       $(CXX) -q -c -P -o$@ $(RIBBONLIB_CXXFLAGS) ..\..\src\ribbon\buttonbar.cpp
+
+$(OBJS)\ribbonlib_control.obj: ..\..\src\ribbon\control.cpp
+       $(CXX) -q -c -P -o$@ $(RIBBONLIB_CXXFLAGS) ..\..\src\ribbon\control.cpp
+
+$(OBJS)\ribbonlib_gallery.obj: ..\..\src\ribbon\gallery.cpp
+       $(CXX) -q -c -P -o$@ $(RIBBONLIB_CXXFLAGS) ..\..\src\ribbon\gallery.cpp
+
+$(OBJS)\ribbonlib_page.obj: ..\..\src\ribbon\page.cpp
+       $(CXX) -q -c -P -o$@ $(RIBBONLIB_CXXFLAGS) ..\..\src\ribbon\page.cpp
+
+$(OBJS)\ribbonlib_panel.obj: ..\..\src\ribbon\panel.cpp
+       $(CXX) -q -c -P -o$@ $(RIBBONLIB_CXXFLAGS) ..\..\src\ribbon\panel.cpp
+
+$(OBJS)\ribbonlib_toolbar.obj: ..\..\src\ribbon\toolbar.cpp
+       $(CXX) -q -c -P -o$@ $(RIBBONLIB_CXXFLAGS) ..\..\src\ribbon\toolbar.cpp
+
 $(OBJS)\propgriddll_dummy.obj: ..\..\src\common\dummy.cpp
        $(CXX) -q -c -P -o$@ $(PROPGRIDDLL_CXXFLAGS) -H ..\..\src\common\dummy.cpp
 
 $(OBJS)\propgriddll_version.res: ..\..\src\msw\version.rc
-       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dWXUSINGDLL -dWXMAKINGDLL_PROPGRID ..\..\src\msw\version.rc
+       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dWXUSINGDLL -dWXMAKINGDLL_PROPGRID ..\..\src\msw\version.rc
 
 $(OBJS)\propgriddll_advprops.obj: ..\..\src\propgrid\advprops.cpp
        $(CXX) -q -c -P -o$@ $(PROPGRIDDLL_CXXFLAGS) ..\..\src\propgrid\advprops.cpp
@@ -14293,7 +14444,7 @@ $(OBJS)\richtextdll_dummy.obj: ..\..\src\common\dummy.cpp
        $(CXX) -q -c -P -o$@ $(RICHTEXTDLL_CXXFLAGS) -H ..\..\src\common\dummy.cpp
 
 $(OBJS)\richtextdll_version.res: ..\..\src\msw\version.rc
-       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_richtext_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dWXUSINGDLL -dWXMAKINGDLL_RICHTEXT ..\..\src\msw\version.rc
+       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_richtext_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dWXUSINGDLL -dWXMAKINGDLL_RICHTEXT ..\..\src\msw\version.rc
 
 $(OBJS)\richtextdll_richtextctrl.obj: ..\..\src\richtext\richtextctrl.cpp
        $(CXX) -q -c -P -o$@ $(RICHTEXTDLL_CXXFLAGS) ..\..\src\richtext\richtextctrl.cpp
@@ -14356,7 +14507,7 @@ $(OBJS)\stcdll_dummy.obj: ..\..\src\common\dummy.cpp
        $(CXX) -q -c -P -o$@ $(STCDLL_CXXFLAGS) -H ..\..\src\common\dummy.cpp
 
 $(OBJS)\stcdll_version.res: ..\..\src\msw\version.rc
-       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -i..\..\src\stc\scintilla\include -i..\..\src\stc\scintilla\src -d__WX__ -dSCI_LEXER -dLINK_LEXERS -dWXUSINGDLL -dWXMAKINGDLL_STC ..\..\src\msw\version.rc
+       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -i..\..\src\stc\scintilla\include -i..\..\src\stc\scintilla\src -d__WX__ -dSCI_LEXER -dLINK_LEXERS -dWXUSINGDLL -dWXMAKINGDLL_STC ..\..\src\msw\version.rc
 
 $(OBJS)\stcdll_stc.obj: ..\..\src\stc\stc.cpp
        $(CXX) -q -c -P -o$@ $(STCDLL_CXXFLAGS) ..\..\src\stc\stc.cpp
@@ -14383,7 +14534,7 @@ $(OBJS)\gldll_dummy.obj: ..\..\src\common\dummy.cpp
        $(CXX) -q -c -P -o$@ $(GLDLL_CXXFLAGS) -H ..\..\src\common\dummy.cpp
 
 $(OBJS)\gldll_version.res: ..\..\src\msw\version.rc
-       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dWXUSINGDLL -dWXMAKINGDLL_GL ..\..\src\msw\version.rc
+       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl_bcc$(VENDORTAG)  -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dWXUSINGDLL -dWXMAKINGDLL_GL ..\..\src\msw\version.rc
 
 $(OBJS)\gldll_glcmn.obj: ..\..\src\common\glcmn.cpp
        $(CXX) -q -c -P -o$@ $(GLDLL_CXXFLAGS) ..\..\src\common\glcmn.cpp
index 034dd61ae786bec23dbd5cf6de7524af62f1dc34..3aa540460c0b3ad2ca177836e12071e3c0cba7a9 100644 (file)
@@ -20,8 +20,9 @@ MAKEARGS = LINK_DLL_FLAGS="$(LINK_DLL_FLAGS)" \
        DEBUG_INFO="$(DEBUG_INFO)" DEBUG_FLAG="$(DEBUG_FLAG)" \
        MONOLITHIC="$(MONOLITHIC)" USE_GUI="$(USE_GUI)" USE_HTML="$(USE_HTML)" \
        USE_MEDIA="$(USE_MEDIA)" USE_XRC="$(USE_XRC)" USE_AUI="$(USE_AUI)" \
-       USE_PROPGRID="$(USE_PROPGRID)" USE_RICHTEXT="$(USE_RICHTEXT)" \
-       USE_STC="$(USE_STC)" USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" \
+       USE_RIBBON="$(USE_RIBBON)" USE_PROPGRID="$(USE_PROPGRID)" \
+       USE_RICHTEXT="$(USE_RICHTEXT)" USE_STC="$(USE_STC)" \
+       USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" \
        USE_EXCEPTIONS="$(USE_EXCEPTIONS)" USE_RTTI="$(USE_RTTI)" \
        USE_THREADS="$(USE_THREADS)" USE_GDIPLUS="$(USE_GDIPLUS)" \
        OFFICIAL_BUILD="$(OFFICIAL_BUILD)" VENDOR="$(VENDOR)" \
@@ -1235,6 +1236,48 @@ AUILIB_OBJECTS =  \
        $(OBJS)\auilib_auibook.o \
        $(OBJS)\auilib_auibar.o \
        $(OBJS)\auilib_tabmdi.o
+RIBBONDLL_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) \
+       $(GCCFLAGS) -DHAVE_W32API_H -D__WXMSW__ $(__WXUNIV_DEFINE_p) \
+       $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
+       $(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p) $(__MSLU_DEFINE_p) \
+       $(__GFXCTX_DEFINE_p) -I$(SETUPHDIR) -I..\..\include -W -Wall -DWXBUILDING \
+       -I..\..\src\tiff\libtiff -I..\..\src\jpeg -I..\..\src\png -I..\..\src\zlib \
+       -I..\..\src\regex -I..\..\src\expat\lib -DWXUSINGDLL -DWXMAKINGDLL_RIBBON \
+       $(__RTTIFLAG) $(__EXCEPTIONSFLAG) -Wno-ctor-dtor-privacy $(CPPFLAGS) \
+       $(CXXFLAGS)
+RIBBONDLL_OBJECTS =  \
+       $(OBJS)\ribbondll_dummy.o \
+       $(OBJS)\ribbondll_version_rc.o \
+       $(OBJS)\ribbondll_art_internal.o \
+       $(OBJS)\ribbondll_art_msw.o \
+       $(OBJS)\ribbondll_art_aui.o \
+       $(OBJS)\ribbondll_bar.o \
+       $(OBJS)\ribbondll_buttonbar.o \
+       $(OBJS)\ribbondll_control.o \
+       $(OBJS)\ribbondll_gallery.o \
+       $(OBJS)\ribbondll_page.o \
+       $(OBJS)\ribbondll_panel.o \
+       $(OBJS)\ribbondll_toolbar.o
+RIBBONLIB_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) \
+       $(GCCFLAGS) -DHAVE_W32API_H -D__WXMSW__ $(__WXUNIV_DEFINE_p) \
+       $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
+       $(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p) $(__MSLU_DEFINE_p) \
+       $(__GFXCTX_DEFINE_p) -I$(SETUPHDIR) -I..\..\include -W -Wall -DWXBUILDING \
+       -I..\..\src\tiff\libtiff -I..\..\src\jpeg -I..\..\src\png -I..\..\src\zlib \
+       -I..\..\src\regex -I..\..\src\expat\lib $(__RTTIFLAG) $(__EXCEPTIONSFLAG) \
+       -Wno-ctor-dtor-privacy $(CPPFLAGS) $(CXXFLAGS)
+RIBBONLIB_OBJECTS =  \
+       $(OBJS)\ribbonlib_dummy.o \
+       $(OBJS)\ribbonlib_art_internal.o \
+       $(OBJS)\ribbonlib_art_msw.o \
+       $(OBJS)\ribbonlib_art_aui.o \
+       $(OBJS)\ribbonlib_bar.o \
+       $(OBJS)\ribbonlib_buttonbar.o \
+       $(OBJS)\ribbonlib_control.o \
+       $(OBJS)\ribbonlib_gallery.o \
+       $(OBJS)\ribbonlib_page.o \
+       $(OBJS)\ribbonlib_panel.o \
+       $(OBJS)\ribbonlib_toolbar.o
 PROPGRIDDLL_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) \
        $(GCCFLAGS) -DHAVE_W32API_H -D__WXMSW__ $(__WXUNIV_DEFINE_p) \
        $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
@@ -4146,6 +4189,28 @@ ____wxaui_namelib_DEP = $(__auilib___depname)
 endif
 ifeq ($(MONOLITHIC),0)
 ifeq ($(SHARED),1)
+ifeq ($(USE_RIBBON),1)
+__ribbondll___depname = \
+       $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_gcc$(VENDORTAG).dll
+endif
+endif
+endif
+ifeq ($(MONOLITHIC),0)
+ifeq ($(SHARED),0)
+ifeq ($(USE_RIBBON),1)
+__ribbonlib___depname = \
+       $(LIBDIRNAME)\libwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.a
+endif
+endif
+endif
+ifeq ($(SHARED),1)
+____wxribbon_namedll_DEP = $(__ribbondll___depname)
+endif
+ifeq ($(SHARED),0)
+____wxribbon_namelib_DEP = $(__ribbonlib___depname)
+endif
+ifeq ($(MONOLITHIC),0)
+ifeq ($(SHARED),1)
 ifeq ($(USE_PROPGRID),1)
 __propgriddll___depname = \
        $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid_gcc$(VENDORTAG).dll
@@ -4267,31 +4332,31 @@ endif
 endif
 endif
 ifeq ($(WXUNIV),1)
-__WXUNIV_DEFINE_p_58 = --define __WXUNIVERSAL__
+__WXUNIV_DEFINE_p_62 = --define __WXUNIVERSAL__
 endif
 ifeq ($(DEBUG_FLAG),0)
 __DEBUG_DEFINE_p_57 = --define wxDEBUG_LEVEL=0
 endif
 ifeq ($(USE_EXCEPTIONS),0)
-__EXCEPTIONS_DEFINE_p_57 = --define wxNO_EXCEPTIONS
+__EXCEPTIONS_DEFINE_p_61 = --define wxNO_EXCEPTIONS
 endif
 ifeq ($(USE_RTTI),0)
-__RTTI_DEFINE_p_57 = --define wxNO_RTTI
+__RTTI_DEFINE_p_61 = --define wxNO_RTTI
 endif
 ifeq ($(USE_THREADS),0)
-__THREAD_DEFINE_p_57 = --define wxNO_THREADS
+__THREAD_DEFINE_p_61 = --define wxNO_THREADS
 endif
 ifeq ($(UNICODE),0)
-__UNICODE_DEFINE_p_58 = --define wxUSE_UNICODE=0
+__UNICODE_DEFINE_p_62 = --define wxUSE_UNICODE=0
 endif
 ifeq ($(UNICODE),1)
-__UNICODE_DEFINE_p_58 = --define _UNICODE
+__UNICODE_DEFINE_p_62 = --define _UNICODE
 endif
 ifeq ($(MSLU),1)
-__MSLU_DEFINE_p_57 = --define wxUSE_UNICODE_MSLU=1
+__MSLU_DEFINE_p_61 = --define wxUSE_UNICODE_MSLU=1
 endif
 ifeq ($(USE_GDIPLUS),1)
-__GFXCTX_DEFINE_p_57 = --define wxUSE_GRAPHICS_CONTEXT=1
+__GFXCTX_DEFINE_p_61 = --define wxUSE_GRAPHICS_CONTEXT=1
 endif
 ifeq ($(USE_GUI),1)
 __LIB_TIFF_p = -lwxtiff$(WXDEBUGFLAG)
@@ -4389,7 +4454,7 @@ $(OBJS):
 
 ### Targets: ###
 
-all: setup_h $(LIBDIRNAME)\libwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).a $(LIBDIRNAME)\libwxzlib$(WXDEBUGFLAG).a $(__wxpng___depname) $(__wxjpeg___depname) $(__wxtiff___depname) $(LIBDIRNAME)\libwxexpat$(WXDEBUGFLAG).a $(__wxscintilla) $(__monodll___depname) $(__monolib___depname) $(__basedll___depname) $(__baselib___depname) $(__netdll___depname) $(__netlib___depname) $(__coredll___depname) $(__corelib___depname) $(__advdll___depname) $(__advlib___depname) $(__mediadll___depname) $(__medialib___depname) $(__htmldll___depname) $(__htmllib___depname) $(__qadll___depname) $(__qalib___depname) $(__xmldll___depname) $(__xmllib___depname) $(__xrcdll___depname) $(__xrclib___depname) $(__auidll___depname) $(__auilib___depname) $(__propgriddll___depname) $(__propgridlib___depname) $(__richtextdll___depname) $(__richtextlib___depname) $(__stcdll___depname) $(__stclib___depname) $(__gldll___depname) $(__gllib___depname) build_cfg_file
+all: setup_h $(LIBDIRNAME)\libwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).a $(LIBDIRNAME)\libwxzlib$(WXDEBUGFLAG).a $(__wxpng___depname) $(__wxjpeg___depname) $(__wxtiff___depname) $(LIBDIRNAME)\libwxexpat$(WXDEBUGFLAG).a $(__wxscintilla) $(__monodll___depname) $(__monolib___depname) $(__basedll___depname) $(__baselib___depname) $(__netdll___depname) $(__netlib___depname) $(__coredll___depname) $(__corelib___depname) $(__advdll___depname) $(__advlib___depname) $(__mediadll___depname) $(__medialib___depname) $(__htmldll___depname) $(__htmllib___depname) $(__qadll___depname) $(__qalib___depname) $(__xmldll___depname) $(__xmllib___depname) $(__xrcdll___depname) $(__xrclib___depname) $(__auidll___depname) $(__auilib___depname) $(__ribbondll___depname) $(__ribbonlib___depname) $(__propgriddll___depname) $(__propgridlib___depname) $(__richtextdll___depname) $(__richtextlib___depname) $(__stcdll___depname) $(__stclib___depname) $(__gldll___depname) $(__gllib___depname) build_cfg_file
 
 clean: 
        -if exist $(OBJS)\*.o del $(OBJS)\*.o
@@ -4434,6 +4499,9 @@ clean:
        -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui_gcc$(VENDORTAG).dll del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui_gcc$(VENDORTAG).dll
        -if exist $(LIBDIRNAME)\libwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui.a del $(LIBDIRNAME)\libwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui.a
        -if exist $(LIBDIRNAME)\libwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui.a del $(LIBDIRNAME)\libwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui.a
+       -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_gcc$(VENDORTAG).dll del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_gcc$(VENDORTAG).dll
+       -if exist $(LIBDIRNAME)\libwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.a del $(LIBDIRNAME)\libwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.a
+       -if exist $(LIBDIRNAME)\libwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.a del $(LIBDIRNAME)\libwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.a
        -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid_gcc$(VENDORTAG).dll del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid_gcc$(VENDORTAG).dll
        -if exist $(LIBDIRNAME)\libwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid.a del $(LIBDIRNAME)\libwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid.a
        -if exist $(LIBDIRNAME)\libwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid.a del $(LIBDIRNAME)\libwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid.a
@@ -4765,6 +4833,32 @@ wxaui: $(____wxaui_namedll_DEP) $(____wxaui_namelib_DEP)
 endif
 endif
 
+ifeq ($(MONOLITHIC),0)
+ifeq ($(SHARED),1)
+ifeq ($(USE_RIBBON),1)
+$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_gcc$(VENDORTAG).dll: $(RIBBONDLL_OBJECTS) $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla) $(LIBDIRNAME)\libwxexpat$(WXDEBUGFLAG).a $(LIBDIRNAME)\libwxzlib$(WXDEBUGFLAG).a $(LIBDIRNAME)\libwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).a $(OBJS)\ribbondll_version_rc.o $(__advdll___depname) $(__coredll___depname) $(__basedll___depname)
+       $(CXX) $(LINK_DLL_FLAGS) -fPIC -o $@ $(RIBBONDLL_OBJECTS)  $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME) -Wl,--out-implib=$(LIBDIRNAME)\libwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.a $(LDFLAGS)  $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  -lwxzlib$(WXDEBUGFLAG) -lwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lwininet $(LIBDIRNAME)\libwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv.a $(LIBDIRNAME)\libwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.a $(LIBDIRNAME)\libwxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).a
+endif
+endif
+endif
+
+ifeq ($(MONOLITHIC),0)
+ifeq ($(SHARED),0)
+ifeq ($(USE_RIBBON),1)
+$(LIBDIRNAME)\libwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.a: $(RIBBONLIB_OBJECTS)
+       if exist $@ del $@
+       ar rcu $@ $(RIBBONLIB_OBJECTS)
+       ranlib $@
+endif
+endif
+endif
+
+ifeq ($(MONOLITHIC),0)
+ifeq ($(USE_RIBBON),1)
+wxribbon: $(____wxribbon_namedll_DEP) $(____wxribbon_namelib_DEP)
+endif
+endif
+
 ifeq ($(MONOLITHIC),0)
 ifeq ($(SHARED),1)
 ifeq ($(USE_PROPGRID),1)
@@ -7902,7 +7996,7 @@ $(OBJS)\monodll_animateg.o: ../../src/generic/animateg.cpp
 endif
 
 $(OBJS)\monodll_version_rc.o: ../../src/msw/version.rc
-       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --define wxUSE_BASE=1 --define WXMAKINGDLL --include-dir ../../src/stc/scintilla/include --include-dir ../../src/stc/scintilla/src --define __WX__ --define SCI_LEXER --define LINK_LEXERS
+       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --define wxUSE_BASE=1 --define WXMAKINGDLL --include-dir ../../src/stc/scintilla/include --include-dir ../../src/stc/scintilla/src --define __WX__ --define SCI_LEXER --define LINK_LEXERS
 
 $(OBJS)\monolib_dummy.o: ../../src/common/dummy.cpp
        $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
@@ -10254,7 +10348,7 @@ $(OBJS)\basedll_dummy.o: ../../src/common/dummy.cpp
        $(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
 
 $(OBJS)\basedll_version_rc.o: ../../src/msw/version.rc
-       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wxbase$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --define wxUSE_GUI=0 --define WXMAKINGDLL_BASE --define wxUSE_BASE=1
+       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wxbase$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --define wxUSE_GUI=0 --define WXMAKINGDLL_BASE --define wxUSE_BASE=1
 
 $(OBJS)\basedll_appbase.o: ../../src/common/appbase.cpp
        $(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
@@ -10887,7 +10981,7 @@ $(OBJS)\netdll_dummy.o: ../../src/common/dummy.cpp
        $(CXX) -c -o $@ $(NETDLL_CXXFLAGS) $(CPPDEPS) $<
 
 $(OBJS)\netdll_version_rc.o: ../../src/msw/version.rc
-       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wxbase$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_net_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --define wxUSE_GUI=0 --define WXUSINGDLL --define WXMAKINGDLL_NET
+       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wxbase$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_net_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --define wxUSE_GUI=0 --define WXUSINGDLL --define WXMAKINGDLL_NET
 
 $(OBJS)\netdll_fs_inet.o: ../../src/common/fs_inet.cpp
        $(CXX) -c -o $@ $(NETDLL_CXXFLAGS) $(CPPDEPS) $<
@@ -10968,7 +11062,7 @@ $(OBJS)\coredll_dummy.o: ../../src/common/dummy.cpp
        $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
 
 $(OBJS)\coredll_version_rc.o: ../../src/msw/version.rc
-       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --define WXUSINGDLL --define WXMAKINGDLL_CORE --define wxUSE_BASE=0
+       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --define WXUSINGDLL --define WXMAKINGDLL_CORE --define wxUSE_BASE=0
 
 $(OBJS)\coredll_event.o: ../../src/common/event.cpp
        $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
@@ -13957,7 +14051,7 @@ $(OBJS)\advdll_dummy.o: ../../src/common/dummy.cpp
        $(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $<
 
 $(OBJS)\advdll_version_rc.o: ../../src/msw/version.rc
-       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --define WXUSINGDLL --define WXMAKINGDLL_ADV
+       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --define WXUSINGDLL --define WXMAKINGDLL_ADV
 
 $(OBJS)\advdll_bmpcbox.o: ../../src/msw/bmpcbox.cpp
        $(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $<
@@ -14182,7 +14276,7 @@ $(OBJS)\mediadll_dummy.o: ../../src/common/dummy.cpp
        $(CXX) -c -o $@ $(MEDIADLL_CXXFLAGS) $(CPPDEPS) $<
 
 $(OBJS)\mediadll_version_rc.o: ../../src/msw/version.rc
-       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_media_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --define WXUSINGDLL --define WXMAKINGDLL_MEDIA
+       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_media_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --define WXUSINGDLL --define WXMAKINGDLL_MEDIA
 
 $(OBJS)\mediadll_mediactrlcmn.o: ../../src/common/mediactrlcmn.cpp
        $(CXX) -c -o $@ $(MEDIADLL_CXXFLAGS) $(CPPDEPS) $<
@@ -14215,7 +14309,7 @@ $(OBJS)\htmldll_dummy.o: ../../src/common/dummy.cpp
        $(CXX) -c -o $@ $(HTMLDLL_CXXFLAGS) $(CPPDEPS) $<
 
 $(OBJS)\htmldll_version_rc.o: ../../src/msw/version.rc
-       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_html_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --define WXUSINGDLL --define WXMAKINGDLL_HTML
+       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_html_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --define WXUSINGDLL --define WXMAKINGDLL_HTML
 
 $(OBJS)\htmldll_helpbest.o: ../../src/msw/helpbest.cpp
        $(CXX) -c -o $@ $(HTMLDLL_CXXFLAGS) $(CPPDEPS) $<
@@ -14368,7 +14462,7 @@ $(OBJS)\qadll_dummy.o: ../../src/common/dummy.cpp
        $(CXX) -c -o $@ $(QADLL_CXXFLAGS) $(CPPDEPS) $<
 
 $(OBJS)\qadll_version_rc.o: ../../src/msw/version.rc
-       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_qa_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --define WXUSINGDLL --define WXMAKINGDLL_QA
+       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_qa_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --define WXUSINGDLL --define WXMAKINGDLL_QA
 
 $(OBJS)\qadll_debugrpt.o: ../../src/common/debugrpt.cpp
        $(CXX) -c -o $@ $(QADLL_CXXFLAGS) $(CPPDEPS) $<
@@ -14389,7 +14483,7 @@ $(OBJS)\xmldll_dummy.o: ../../src/common/dummy.cpp
        $(CXX) -c -o $@ $(XMLDLL_CXXFLAGS) $(CPPDEPS) $<
 
 $(OBJS)\xmldll_version_rc.o: ../../src/msw/version.rc
-       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wxbase$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --define wxUSE_GUI=0 --define WXUSINGDLL --define WXMAKINGDLL_XML
+       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wxbase$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --define wxUSE_GUI=0 --define WXUSINGDLL --define WXMAKINGDLL_XML
 
 $(OBJS)\xmldll_xml.o: ../../src/xml/xml.cpp
        $(CXX) -c -o $@ $(XMLDLL_CXXFLAGS) $(CPPDEPS) $<
@@ -14410,7 +14504,7 @@ $(OBJS)\xrcdll_dummy.o: ../../src/common/dummy.cpp
        $(CXX) -c -o $@ $(XRCDLL_CXXFLAGS) $(CPPDEPS) $<
 
 $(OBJS)\xrcdll_version_rc.o: ../../src/msw/version.rc
-       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xrc_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --define WXUSINGDLL --define WXMAKINGDLL_XRC
+       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xrc_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --define WXUSINGDLL --define WXMAKINGDLL_XRC
 
 $(OBJS)\xrcdll_xh_animatctrl.o: ../../src/xrc/xh_animatctrl.cpp
        $(CXX) -c -o $@ $(XRCDLL_CXXFLAGS) $(CPPDEPS) $<
@@ -14785,7 +14879,7 @@ $(OBJS)\auidll_dummy.o: ../../src/common/dummy.cpp
        $(CXX) -c -o $@ $(AUIDLL_CXXFLAGS) $(CPPDEPS) $<
 
 $(OBJS)\auidll_version_rc.o: ../../src/msw/version.rc
-       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --define WXUSINGDLL --define WXMAKINGDLL_AUI
+       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --define WXUSINGDLL --define WXMAKINGDLL_AUI
 
 $(OBJS)\auidll_framemanager.o: ../../src/aui/framemanager.cpp
        $(CXX) -c -o $@ $(AUIDLL_CXXFLAGS) $(CPPDEPS) $<
@@ -14826,11 +14920,80 @@ $(OBJS)\auilib_auibar.o: ../../src/aui/auibar.cpp
 $(OBJS)\auilib_tabmdi.o: ../../src/aui/tabmdi.cpp
        $(CXX) -c -o $@ $(AUILIB_CXXFLAGS) $(CPPDEPS) $<
 
+$(OBJS)\ribbondll_dummy.o: ../../src/common/dummy.cpp
+       $(CXX) -c -o $@ $(RIBBONDLL_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\ribbondll_version_rc.o: ../../src/msw/version.rc
+       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --define WXUSINGDLL --define WXMAKINGDLL_RIBBON
+
+$(OBJS)\ribbondll_art_internal.o: ../../src/ribbon/art_internal.cpp
+       $(CXX) -c -o $@ $(RIBBONDLL_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\ribbondll_art_msw.o: ../../src/ribbon/art_msw.cpp
+       $(CXX) -c -o $@ $(RIBBONDLL_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\ribbondll_art_aui.o: ../../src/ribbon/art_aui.cpp
+       $(CXX) -c -o $@ $(RIBBONDLL_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\ribbondll_bar.o: ../../src/ribbon/bar.cpp
+       $(CXX) -c -o $@ $(RIBBONDLL_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\ribbondll_buttonbar.o: ../../src/ribbon/buttonbar.cpp
+       $(CXX) -c -o $@ $(RIBBONDLL_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\ribbondll_control.o: ../../src/ribbon/control.cpp
+       $(CXX) -c -o $@ $(RIBBONDLL_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\ribbondll_gallery.o: ../../src/ribbon/gallery.cpp
+       $(CXX) -c -o $@ $(RIBBONDLL_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\ribbondll_page.o: ../../src/ribbon/page.cpp
+       $(CXX) -c -o $@ $(RIBBONDLL_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\ribbondll_panel.o: ../../src/ribbon/panel.cpp
+       $(CXX) -c -o $@ $(RIBBONDLL_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\ribbondll_toolbar.o: ../../src/ribbon/toolbar.cpp
+       $(CXX) -c -o $@ $(RIBBONDLL_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\ribbonlib_dummy.o: ../../src/common/dummy.cpp
+       $(CXX) -c -o $@ $(RIBBONLIB_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\ribbonlib_art_internal.o: ../../src/ribbon/art_internal.cpp
+       $(CXX) -c -o $@ $(RIBBONLIB_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\ribbonlib_art_msw.o: ../../src/ribbon/art_msw.cpp
+       $(CXX) -c -o $@ $(RIBBONLIB_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\ribbonlib_art_aui.o: ../../src/ribbon/art_aui.cpp
+       $(CXX) -c -o $@ $(RIBBONLIB_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\ribbonlib_bar.o: ../../src/ribbon/bar.cpp
+       $(CXX) -c -o $@ $(RIBBONLIB_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\ribbonlib_buttonbar.o: ../../src/ribbon/buttonbar.cpp
+       $(CXX) -c -o $@ $(RIBBONLIB_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\ribbonlib_control.o: ../../src/ribbon/control.cpp
+       $(CXX) -c -o $@ $(RIBBONLIB_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\ribbonlib_gallery.o: ../../src/ribbon/gallery.cpp
+       $(CXX) -c -o $@ $(RIBBONLIB_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\ribbonlib_page.o: ../../src/ribbon/page.cpp
+       $(CXX) -c -o $@ $(RIBBONLIB_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\ribbonlib_panel.o: ../../src/ribbon/panel.cpp
+       $(CXX) -c -o $@ $(RIBBONLIB_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\ribbonlib_toolbar.o: ../../src/ribbon/toolbar.cpp
+       $(CXX) -c -o $@ $(RIBBONLIB_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\propgriddll_dummy.o: ../../src/common/dummy.cpp
        $(CXX) -c -o $@ $(PROPGRIDDLL_CXXFLAGS) $(CPPDEPS) $<
 
 $(OBJS)\propgriddll_version_rc.o: ../../src/msw/version.rc
-       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --define WXUSINGDLL --define WXMAKINGDLL_PROPGRID
+       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --define WXUSINGDLL --define WXMAKINGDLL_PROPGRID
 
 $(OBJS)\propgriddll_advprops.o: ../../src/propgrid/advprops.cpp
        $(CXX) -c -o $@ $(PROPGRIDDLL_CXXFLAGS) $(CPPDEPS) $<
@@ -14887,7 +15050,7 @@ $(OBJS)\richtextdll_dummy.o: ../../src/common/dummy.cpp
        $(CXX) -c -o $@ $(RICHTEXTDLL_CXXFLAGS) $(CPPDEPS) $<
 
 $(OBJS)\richtextdll_version_rc.o: ../../src/msw/version.rc
-       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_richtext_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --define WXUSINGDLL --define WXMAKINGDLL_RICHTEXT
+       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_richtext_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --define WXUSINGDLL --define WXMAKINGDLL_RICHTEXT
 
 $(OBJS)\richtextdll_richtextctrl.o: ../../src/richtext/richtextctrl.cpp
        $(CXX) -c -o $@ $(RICHTEXTDLL_CXXFLAGS) $(CPPDEPS) $<
@@ -14950,7 +15113,7 @@ $(OBJS)\stcdll_dummy.o: ../../src/common/dummy.cpp
        $(CXX) -c -o $@ $(STCDLL_CXXFLAGS) $(CPPDEPS) $<
 
 $(OBJS)\stcdll_version_rc.o: ../../src/msw/version.rc
-       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --include-dir ../../src/stc/scintilla/include --include-dir ../../src/stc/scintilla/src --define __WX__ --define SCI_LEXER --define LINK_LEXERS --define WXUSINGDLL --define WXMAKINGDLL_STC
+       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --include-dir ../../src/stc/scintilla/include --include-dir ../../src/stc/scintilla/src --define __WX__ --define SCI_LEXER --define LINK_LEXERS --define WXUSINGDLL --define WXMAKINGDLL_STC
 
 $(OBJS)\stcdll_stc.o: ../../src/stc/stc.cpp
        $(CXX) -c -o $@ $(STCDLL_CXXFLAGS) $(CPPDEPS) $<
@@ -14977,7 +15140,7 @@ $(OBJS)\gldll_dummy.o: ../../src/common/dummy.cpp
        $(CXX) -c -o $@ $(GLDLL_CXXFLAGS) $(CPPDEPS) $<
 
 $(OBJS)\gldll_version_rc.o: ../../src/msw/version.rc
-       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --define WXUSINGDLL --define WXMAKINGDLL_GL
+       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl_gcc$(VENDORTAG)  --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --define WXUSINGDLL --define WXMAKINGDLL_GL
 
 $(OBJS)\gldll_glcmn.o: ../../src/common/glcmn.cpp
        $(CXX) -c -o $@ $(GLDLL_CXXFLAGS) $(CPPDEPS) $<
@@ -14995,7 +15158,7 @@ $(OBJS)\gllib_glcanvas.o: ../../src/msw/glcanvas.cpp
        $(CXX) -c -o $@ $(GLLIB_CXXFLAGS) $(CPPDEPS) $<
 
 .PHONY: all clean setup_h wxbase wxnet wxcore wxadv wxmedia wxhtml wxqa wxxml wxxrc \
-       wxaui wxpropgrid wxrichtext wxstc wxgl samples build_cfg_file
+       wxaui wxribbon wxpropgrid wxrichtext wxstc wxgl samples build_cfg_file
 
 
 SHELL := $(COMSPEC)
index e1da0e2a0c57f4decb8bde1def8778861242b465..b8233ccfd1303fbd9067615da8270893703661f3 100644 (file)
@@ -19,8 +19,9 @@ MAKEARGS = CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \
        DEBUG_FLAG="$(DEBUG_FLAG)" DEBUG_RUNTIME_LIBS="$(DEBUG_RUNTIME_LIBS)" \
        MONOLITHIC="$(MONOLITHIC)" USE_GUI="$(USE_GUI)" USE_HTML="$(USE_HTML)" \
        USE_MEDIA="$(USE_MEDIA)" USE_XRC="$(USE_XRC)" USE_AUI="$(USE_AUI)" \
-       USE_PROPGRID="$(USE_PROPGRID)" USE_RICHTEXT="$(USE_RICHTEXT)" \
-       USE_STC="$(USE_STC)" USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" \
+       USE_RIBBON="$(USE_RIBBON)" USE_PROPGRID="$(USE_PROPGRID)" \
+       USE_RICHTEXT="$(USE_RICHTEXT)" USE_STC="$(USE_STC)" \
+       USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" \
        USE_EXCEPTIONS="$(USE_EXCEPTIONS)" USE_RTTI="$(USE_RTTI)" \
        USE_THREADS="$(USE_THREADS)" USE_GDIPLUS="$(USE_GDIPLUS)" \
        OFFICIAL_BUILD="$(OFFICIAL_BUILD)" VENDOR="$(VENDOR)" \
@@ -1312,7 +1313,54 @@ AUILIB_OBJECTS =  \
        $(OBJS)\auilib_auibook.obj \
        $(OBJS)\auilib_auibar.obj \
        $(OBJS)\auilib_tabmdi.obj
-PROPGRIDDLL_CXXFLAGS = /M$(__RUNTIME_LIBS_397)$(__DEBUGRUNTIME) /DWIN32 \
+RIBBONDLL_CXXFLAGS = /M$(__RUNTIME_LIBS_397)$(__DEBUGRUNTIME) /DWIN32 \
+       $(__DEBUGINFO) \
+       /Fd$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_vc$(VENDORTAG).pdb \
+       $(____DEBUGRUNTIME) $(__OPTIMIZEFLAG) $(__NO_VC_CRTDBG_p) /D__WXMSW__ \
+       $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) \
+       $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p) \
+       $(__MSLU_DEFINE_p) $(__GFXCTX_DEFINE_p) /I$(SETUPHDIR) /I..\..\include /W4 \
+       /DWXBUILDING /I..\..\src\tiff\libtiff /I..\..\src\jpeg /I..\..\src\png \
+       /I..\..\src\zlib /I..\..\src\regex /I..\..\src\expat\lib /DWXUSINGDLL \
+       /DWXMAKINGDLL_RIBBON $(__RTTIFLAG) $(__EXCEPTIONSFLAG) /Yu"wx/wxprec.h" \
+       /Fp"$(OBJS)\wxprec_ribbondll.pch" $(CPPFLAGS) $(CXXFLAGS)
+RIBBONDLL_OBJECTS =  \
+       $(OBJS)\ribbondll_dummy.obj \
+       $(OBJS)\ribbondll_version.res \
+       $(OBJS)\ribbondll_art_internal.obj \
+       $(OBJS)\ribbondll_art_msw.obj \
+       $(OBJS)\ribbondll_art_aui.obj \
+       $(OBJS)\ribbondll_bar.obj \
+       $(OBJS)\ribbondll_buttonbar.obj \
+       $(OBJS)\ribbondll_control.obj \
+       $(OBJS)\ribbondll_gallery.obj \
+       $(OBJS)\ribbondll_page.obj \
+       $(OBJS)\ribbondll_panel.obj \
+       $(OBJS)\ribbondll_toolbar.obj
+RIBBONLIB_CXXFLAGS = /M$(__RUNTIME_LIBS_410)$(__DEBUGRUNTIME) /DWIN32 \
+       $(__DEBUGINFO) \
+       /Fd$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.pdb \
+       $(____DEBUGRUNTIME) $(__OPTIMIZEFLAG) $(__NO_VC_CRTDBG_p) /D__WXMSW__ \
+       $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) \
+       $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p) \
+       $(__MSLU_DEFINE_p) $(__GFXCTX_DEFINE_p) /I$(SETUPHDIR) /I..\..\include /W4 \
+       /DWXBUILDING /I..\..\src\tiff\libtiff /I..\..\src\jpeg /I..\..\src\png \
+       /I..\..\src\zlib /I..\..\src\regex /I..\..\src\expat\lib $(__RTTIFLAG) \
+       $(__EXCEPTIONSFLAG) /Yu"wx/wxprec.h" /Fp"$(OBJS)\wxprec_ribbonlib.pch" \
+       $(CPPFLAGS) $(CXXFLAGS)
+RIBBONLIB_OBJECTS =  \
+       $(OBJS)\ribbonlib_dummy.obj \
+       $(OBJS)\ribbonlib_art_internal.obj \
+       $(OBJS)\ribbonlib_art_msw.obj \
+       $(OBJS)\ribbonlib_art_aui.obj \
+       $(OBJS)\ribbonlib_bar.obj \
+       $(OBJS)\ribbonlib_buttonbar.obj \
+       $(OBJS)\ribbonlib_control.obj \
+       $(OBJS)\ribbonlib_gallery.obj \
+       $(OBJS)\ribbonlib_page.obj \
+       $(OBJS)\ribbonlib_panel.obj \
+       $(OBJS)\ribbonlib_toolbar.obj
+PROPGRIDDLL_CXXFLAGS = /M$(__RUNTIME_LIBS_424)$(__DEBUGRUNTIME) /DWIN32 \
        $(__DEBUGINFO) \
        /Fd$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid_vc$(VENDORTAG).pdb \
        $(____DEBUGRUNTIME) $(__OPTIMIZEFLAG) $(__NO_VC_CRTDBG_p) /D__WXMSW__ \
@@ -1334,7 +1382,7 @@ PROPGRIDDLL_OBJECTS =  \
        $(OBJS)\propgriddll_propgridiface.obj \
        $(OBJS)\propgriddll_propgridpagestate.obj \
        $(OBJS)\propgriddll_props.obj
-PROPGRIDLIB_CXXFLAGS = /M$(__RUNTIME_LIBS_410)$(__DEBUGRUNTIME) /DWIN32 \
+PROPGRIDLIB_CXXFLAGS = /M$(__RUNTIME_LIBS_437)$(__DEBUGRUNTIME) /DWIN32 \
        $(__DEBUGINFO) \
        /Fd$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid.pdb \
        $(____DEBUGRUNTIME) $(__OPTIMIZEFLAG) $(__NO_VC_CRTDBG_p) /D__WXMSW__ \
@@ -1355,7 +1403,7 @@ PROPGRIDLIB_OBJECTS =  \
        $(OBJS)\propgridlib_propgridiface.obj \
        $(OBJS)\propgridlib_propgridpagestate.obj \
        $(OBJS)\propgridlib_props.obj
-RICHTEXTDLL_CXXFLAGS = /M$(__RUNTIME_LIBS_424)$(__DEBUGRUNTIME) /DWIN32 \
+RICHTEXTDLL_CXXFLAGS = /M$(__RUNTIME_LIBS_451)$(__DEBUGRUNTIME) /DWIN32 \
        $(__DEBUGINFO) \
        /Fd$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_richtext_vc$(VENDORTAG).pdb \
        $(____DEBUGRUNTIME) $(__OPTIMIZEFLAG) $(__NO_VC_CRTDBG_p) /D__WXMSW__ \
@@ -1378,7 +1426,7 @@ RICHTEXTDLL_OBJECTS =  \
        $(OBJS)\richtextdll_richtextsymboldlg.obj \
        $(OBJS)\richtextdll_richtextstyledlg.obj \
        $(OBJS)\richtextdll_richtextprint.obj
-RICHTEXTLIB_CXXFLAGS = /M$(__RUNTIME_LIBS_437)$(__DEBUGRUNTIME) /DWIN32 \
+RICHTEXTLIB_CXXFLAGS = /M$(__RUNTIME_LIBS_464)$(__DEBUGRUNTIME) /DWIN32 \
        $(__DEBUGINFO) \
        /Fd$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_richtext.pdb \
        $(____DEBUGRUNTIME) $(__OPTIMIZEFLAG) $(__NO_VC_CRTDBG_p) /D__WXMSW__ \
@@ -1400,7 +1448,7 @@ RICHTEXTLIB_OBJECTS =  \
        $(OBJS)\richtextlib_richtextsymboldlg.obj \
        $(OBJS)\richtextlib_richtextstyledlg.obj \
        $(OBJS)\richtextlib_richtextprint.obj
-STCDLL_CXXFLAGS = /M$(__RUNTIME_LIBS_451)$(__DEBUGRUNTIME) /DWIN32 \
+STCDLL_CXXFLAGS = /M$(__RUNTIME_LIBS_478)$(__DEBUGRUNTIME) /DWIN32 \
        $(__DEBUGINFO) \
        /Fd$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc_vc$(VENDORTAG).pdb \
        $(____DEBUGRUNTIME) $(__OPTIMIZEFLAG) $(__NO_VC_CRTDBG_p) /D__WXMSW__ \
@@ -1419,7 +1467,7 @@ STCDLL_OBJECTS =  \
        $(OBJS)\stcdll_stc.obj \
        $(OBJS)\stcdll_PlatWX.obj \
        $(OBJS)\stcdll_ScintillaWX.obj
-STCLIB_CXXFLAGS = /M$(__RUNTIME_LIBS_464)$(__DEBUGRUNTIME) /DWIN32 \
+STCLIB_CXXFLAGS = /M$(__RUNTIME_LIBS_491)$(__DEBUGRUNTIME) /DWIN32 \
        $(__DEBUGINFO) \
        /Fd$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc.pdb \
        $(____DEBUGRUNTIME) $(__OPTIMIZEFLAG) $(__NO_VC_CRTDBG_p) /D__WXMSW__ \
@@ -1436,7 +1484,7 @@ STCLIB_OBJECTS =  \
        $(OBJS)\stclib_stc.obj \
        $(OBJS)\stclib_PlatWX.obj \
        $(OBJS)\stclib_ScintillaWX.obj
-GLDLL_CXXFLAGS = /M$(__RUNTIME_LIBS_478)$(__DEBUGRUNTIME) /DWIN32 \
+GLDLL_CXXFLAGS = /M$(__RUNTIME_LIBS_505)$(__DEBUGRUNTIME) /DWIN32 \
        $(__DEBUGINFO) \
        /Fd$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl_vc$(VENDORTAG).pdb \
        $(____DEBUGRUNTIME) $(__OPTIMIZEFLAG) $(__NO_VC_CRTDBG_p) /D__WXMSW__ \
@@ -1452,7 +1500,7 @@ GLDLL_OBJECTS =  \
        $(OBJS)\gldll_version.res \
        $(OBJS)\gldll_glcmn.obj \
        $(OBJS)\gldll_glcanvas.obj
-GLLIB_CXXFLAGS = /M$(__RUNTIME_LIBS_491)$(__DEBUGRUNTIME) /DWIN32 \
+GLLIB_CXXFLAGS = /M$(__RUNTIME_LIBS_518)$(__DEBUGRUNTIME) /DWIN32 \
        $(__DEBUGINFO) \
        /Fd$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl.pdb \
        $(____DEBUGRUNTIME) $(__OPTIMIZEFLAG) $(__NO_VC_CRTDBG_p) /D__WXMSW__ \
@@ -4340,25 +4388,51 @@ ____wxaui_namedll_DEP = $(__auidll___depname)
 !if "$(SHARED)" == "0"
 ____wxaui_namelib_DEP = $(__auilib___depname)
 !endif
+!if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "1" && "$(USE_RIBBON)" == "1"
+__ribbondll___depname = \
+       $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_vc$(VENDORTAG).dll
+!endif
+!if "$(RUNTIME_LIBS)" == "dynamic"
+__RUNTIME_LIBS_397 = D
+!endif
+!if "$(RUNTIME_LIBS)" == "static"
+__RUNTIME_LIBS_397 = $(__THREADSFLAG)
+!endif
+!if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "0" && "$(USE_RIBBON)" == "1"
+__ribbonlib___depname = \
+       $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.lib
+!endif
+!if "$(RUNTIME_LIBS)" == "dynamic"
+__RUNTIME_LIBS_410 = D
+!endif
+!if "$(RUNTIME_LIBS)" == "static"
+__RUNTIME_LIBS_410 = $(__THREADSFLAG)
+!endif
+!if "$(SHARED)" == "1"
+____wxribbon_namedll_DEP = $(__ribbondll___depname)
+!endif
+!if "$(SHARED)" == "0"
+____wxribbon_namelib_DEP = $(__ribbonlib___depname)
+!endif
 !if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "1" && "$(USE_PROPGRID)" == "1"
 __propgriddll___depname = \
        $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid_vc$(VENDORTAG).dll
 !endif
 !if "$(RUNTIME_LIBS)" == "dynamic"
-__RUNTIME_LIBS_397 = D
+__RUNTIME_LIBS_424 = D
 !endif
 !if "$(RUNTIME_LIBS)" == "static"
-__RUNTIME_LIBS_397 = $(__THREADSFLAG)
+__RUNTIME_LIBS_424 = $(__THREADSFLAG)
 !endif
 !if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "0" && "$(USE_PROPGRID)" == "1"
 __propgridlib___depname = \
        $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid.lib
 !endif
 !if "$(RUNTIME_LIBS)" == "dynamic"
-__RUNTIME_LIBS_410 = D
+__RUNTIME_LIBS_437 = D
 !endif
 !if "$(RUNTIME_LIBS)" == "static"
-__RUNTIME_LIBS_410 = $(__THREADSFLAG)
+__RUNTIME_LIBS_437 = $(__THREADSFLAG)
 !endif
 !if "$(SHARED)" == "1"
 ____wxpropgrid_namedll_DEP = $(__propgriddll___depname)
@@ -4371,20 +4445,20 @@ __richtextdll___depname = \
        $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_richtext_vc$(VENDORTAG).dll
 !endif
 !if "$(RUNTIME_LIBS)" == "dynamic"
-__RUNTIME_LIBS_424 = D
+__RUNTIME_LIBS_451 = D
 !endif
 !if "$(RUNTIME_LIBS)" == "static"
-__RUNTIME_LIBS_424 = $(__THREADSFLAG)
+__RUNTIME_LIBS_451 = $(__THREADSFLAG)
 !endif
 !if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "0" && "$(USE_RICHTEXT)" == "1"
 __richtextlib___depname = \
        $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_richtext.lib
 !endif
 !if "$(RUNTIME_LIBS)" == "dynamic"
-__RUNTIME_LIBS_437 = D
+__RUNTIME_LIBS_464 = D
 !endif
 !if "$(RUNTIME_LIBS)" == "static"
-__RUNTIME_LIBS_437 = $(__THREADSFLAG)
+__RUNTIME_LIBS_464 = $(__THREADSFLAG)
 !endif
 !if "$(SHARED)" == "1"
 ____wxrichtext_namedll_DEP = $(__richtextdll___depname)
@@ -4397,20 +4471,20 @@ __stcdll___depname = \
        $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc_vc$(VENDORTAG).dll
 !endif
 !if "$(RUNTIME_LIBS)" == "dynamic"
-__RUNTIME_LIBS_451 = D
+__RUNTIME_LIBS_478 = D
 !endif
 !if "$(RUNTIME_LIBS)" == "static"
-__RUNTIME_LIBS_451 = $(__THREADSFLAG)
+__RUNTIME_LIBS_478 = $(__THREADSFLAG)
 !endif
 !if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "0" && "$(USE_STC)" == "1"
 __stclib___depname = \
        $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc.lib
 !endif
 !if "$(RUNTIME_LIBS)" == "dynamic"
-__RUNTIME_LIBS_464 = D
+__RUNTIME_LIBS_491 = D
 !endif
 !if "$(RUNTIME_LIBS)" == "static"
-__RUNTIME_LIBS_464 = $(__THREADSFLAG)
+__RUNTIME_LIBS_491 = $(__THREADSFLAG)
 !endif
 !if "$(SHARED)" == "1"
 ____wxstc_namedll_DEP = $(__stcdll___depname)
@@ -4423,10 +4497,10 @@ __gldll___depname = \
        $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl_vc$(VENDORTAG).dll
 !endif
 !if "$(RUNTIME_LIBS)" == "dynamic"
-__RUNTIME_LIBS_478 = D
+__RUNTIME_LIBS_505 = D
 !endif
 !if "$(RUNTIME_LIBS)" == "static"
-__RUNTIME_LIBS_478 = $(__THREADSFLAG)
+__RUNTIME_LIBS_505 = $(__THREADSFLAG)
 !endif
 !if "$(MONOLITHIC)" == "0"
 __WXLIBGLDEP_CORE_p = \
@@ -4445,10 +4519,10 @@ __gllib___depname = \
        $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl.lib
 !endif
 !if "$(RUNTIME_LIBS)" == "dynamic"
-__RUNTIME_LIBS_491 = D
+__RUNTIME_LIBS_518 = D
 !endif
 !if "$(RUNTIME_LIBS)" == "static"
-__RUNTIME_LIBS_491 = $(__THREADSFLAG)
+__RUNTIME_LIBS_518 = $(__THREADSFLAG)
 !endif
 !if "$(SHARED)" == "1"
 ____wxgl_namedll_DEP = $(__gldll___depname)
@@ -4491,37 +4565,37 @@ ____DEBUGRUNTIME_4 =
 ____DEBUGRUNTIME_4 = /d _DEBUG
 !endif
 !if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "0"
-__NO_VC_CRTDBG_p_64 = /d __NO_VC_CRTDBG__
+__NO_VC_CRTDBG_p_68 = /d __NO_VC_CRTDBG__
 !endif
 !if "$(BUILD)" == "release" && "$(DEBUG_FLAG)" == "1"
-__NO_VC_CRTDBG_p_64 = /d __NO_VC_CRTDBG__
+__NO_VC_CRTDBG_p_68 = /d __NO_VC_CRTDBG__
 !endif
 !if "$(WXUNIV)" == "1"
-__WXUNIV_DEFINE_p_58 = /d __WXUNIVERSAL__
+__WXUNIV_DEFINE_p_62 = /d __WXUNIVERSAL__
 !endif
 !if "$(DEBUG_FLAG)" == "0"
 __DEBUG_DEFINE_p_57 = /d wxDEBUG_LEVEL=0
 !endif
 !if "$(USE_EXCEPTIONS)" == "0"
-__EXCEPTIONS_DEFINE_p_57 = /d wxNO_EXCEPTIONS
+__EXCEPTIONS_DEFINE_p_61 = /d wxNO_EXCEPTIONS
 !endif
 !if "$(USE_RTTI)" == "0"
-__RTTI_DEFINE_p_57 = /d wxNO_RTTI
+__RTTI_DEFINE_p_61 = /d wxNO_RTTI
 !endif
 !if "$(USE_THREADS)" == "0"
-__THREAD_DEFINE_p_57 = /d wxNO_THREADS
+__THREAD_DEFINE_p_61 = /d wxNO_THREADS
 !endif
 !if "$(UNICODE)" == "0"
-__UNICODE_DEFINE_p_58 = /d wxUSE_UNICODE=0
+__UNICODE_DEFINE_p_62 = /d wxUSE_UNICODE=0
 !endif
 !if "$(UNICODE)" == "1"
-__UNICODE_DEFINE_p_58 = /d _UNICODE
+__UNICODE_DEFINE_p_62 = /d _UNICODE
 !endif
 !if "$(MSLU)" == "1"
-__MSLU_DEFINE_p_57 = /d wxUSE_UNICODE_MSLU=1
+__MSLU_DEFINE_p_61 = /d wxUSE_UNICODE_MSLU=1
 !endif
 !if "$(USE_GDIPLUS)" == "1"
-__GFXCTX_DEFINE_p_57 = /d wxUSE_GRAPHICS_CONTEXT=1
+__GFXCTX_DEFINE_p_61 = /d wxUSE_GRAPHICS_CONTEXT=1
 !endif
 !if "$(USE_GUI)" == "1"
 __LIB_TIFF_p = wxtiff$(WXDEBUGFLAG).lib
@@ -4645,7 +4719,7 @@ $(OBJS):
 
 ### Targets: ###
 
-all: setup_h $(LIBDIRNAME)\wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(__wxpng___depname) $(__wxjpeg___depname) $(__wxtiff___depname) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(__wxscintilla) $(__monodll___depname) $(__monolib___depname) $(__basedll___depname) $(__baselib___depname) $(__netdll___depname) $(__netlib___depname) $(__coredll___depname) $(__corelib___depname) $(__advdll___depname) $(__advlib___depname) $(__mediadll___depname) $(__medialib___depname) $(__htmldll___depname) $(__htmllib___depname) $(__qadll___depname) $(__qalib___depname) $(__xmldll___depname) $(__xmllib___depname) $(__xrcdll___depname) $(__xrclib___depname) $(__auidll___depname) $(__auilib___depname) $(__propgriddll___depname) $(__propgridlib___depname) $(__richtextdll___depname) $(__richtextlib___depname) $(__stcdll___depname) $(__stclib___depname) $(__gldll___depname) $(__gllib___depname) build_cfg_file
+all: setup_h $(LIBDIRNAME)\wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(__wxpng___depname) $(__wxjpeg___depname) $(__wxtiff___depname) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(__wxscintilla) $(__monodll___depname) $(__monolib___depname) $(__basedll___depname) $(__baselib___depname) $(__netdll___depname) $(__netlib___depname) $(__coredll___depname) $(__corelib___depname) $(__advdll___depname) $(__advlib___depname) $(__mediadll___depname) $(__medialib___depname) $(__htmldll___depname) $(__htmllib___depname) $(__qadll___depname) $(__qalib___depname) $(__xmldll___depname) $(__xmllib___depname) $(__xrcdll___depname) $(__xrclib___depname) $(__auidll___depname) $(__auilib___depname) $(__ribbondll___depname) $(__ribbonlib___depname) $(__propgriddll___depname) $(__propgridlib___depname) $(__richtextdll___depname) $(__richtextlib___depname) $(__stcdll___depname) $(__stclib___depname) $(__gldll___depname) $(__gllib___depname) build_cfg_file
 
 clean: 
        -if exist $(OBJS)\*.obj del $(OBJS)\*.obj
@@ -4713,6 +4787,11 @@ clean:
        -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui_vc$(VENDORTAG).pdb del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui_vc$(VENDORTAG).pdb
        -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui.lib del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui.lib
        -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui.lib del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui.lib
+       -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_vc$(VENDORTAG).dll del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_vc$(VENDORTAG).dll
+       -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_vc$(VENDORTAG).ilk del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_vc$(VENDORTAG).ilk
+       -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_vc$(VENDORTAG).pdb del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_vc$(VENDORTAG).pdb
+       -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.lib del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.lib
+       -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.lib del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.lib
        -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid_vc$(VENDORTAG).dll del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid_vc$(VENDORTAG).dll
        -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid_vc$(VENDORTAG).ilk del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid_vc$(VENDORTAG).ilk
        -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid_vc$(VENDORTAG).pdb del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid_vc$(VENDORTAG).pdb
@@ -4994,6 +5073,25 @@ $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXD
 wxaui: $(____wxaui_namedll_DEP) $(____wxaui_namelib_DEP)
 !endif
 
+!if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "1" && "$(USE_RIBBON)" == "1"
+$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_vc$(VENDORTAG).dll: $(OBJS)\ribbondll_dummy.obj  $(RIBBONDLL_OBJECTS) $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib $(OBJS)\ribbondll_version.res $(__advdll___depname) $(__coredll___depname) $(__basedll___depname)
+       link /DLL /NOLOGO /OUT:$@  $(__DEBUGINFO_4) /pdb:"$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_vc$(VENDORTAG).pdb"  $(LINK_TARGET_CPU) /LIBPATH:$(LIBDIRNAME) $(LDFLAGS) @<<
+       $(RIBBONDLL_OBJECTS)  $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib /IMPLIB:$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.lib
+<<
+!endif
+
+!if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "0" && "$(USE_RIBBON)" == "1"
+$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.lib: $(OBJS)\ribbonlib_dummy.obj  $(RIBBONLIB_OBJECTS)
+       if exist $@ del $@
+       link /LIB /NOLOGO /OUT:$@ @<<
+       $(RIBBONLIB_OBJECTS)
+<<
+!endif
+
+!if "$(MONOLITHIC)" == "0" && "$(USE_RIBBON)" == "1"
+wxribbon: $(____wxribbon_namedll_DEP) $(____wxribbon_namelib_DEP)
+!endif
+
 !if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "1" && "$(USE_PROPGRID)" == "1"
 $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid_vc$(VENDORTAG).dll: $(OBJS)\propgriddll_dummy.obj  $(PROPGRIDDLL_OBJECTS) $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib $(OBJS)\propgriddll_version.res $(__advdll___depname) $(__coredll___depname) $(__basedll___depname)
        link /DLL /NOLOGO /OUT:$@  $(__DEBUGINFO_4) /pdb:"$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid_vc$(VENDORTAG).pdb"  $(LINK_TARGET_CPU) /LIBPATH:$(LIBDIRNAME) $(LDFLAGS) @<<
@@ -7993,7 +8091,7 @@ $(OBJS)\monodll_animateg.obj: ..\..\src\generic\animateg.cpp
 !endif
 
 $(OBJS)\monodll_version.res: ..\..\src\msw\version.rc
-       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_64)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d wxUSE_BASE=1 /d WXMAKINGDLL /i ..\..\src\stc\scintilla\include /i ..\..\src\stc\scintilla\src /d __WX__ /d SCI_LEXER /d LINK_LEXERS ..\..\src\msw\version.rc
+       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_68)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d wxUSE_BASE=1 /d WXMAKINGDLL /i ..\..\src\stc\scintilla\include /i ..\..\src\stc\scintilla\src /d __WX__ /d SCI_LEXER /d LINK_LEXERS ..\..\src\msw\version.rc
 
 $(OBJS)\monolib_dummy.obj: ..\..\src\common\dummy.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp
@@ -10233,7 +10331,7 @@ $(OBJS)\basedll_dummy.obj: ..\..\src\common\dummy.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp
 
 $(OBJS)\basedll_version.res: ..\..\src\msw\version.rc
-       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_64)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wxbase$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d wxUSE_GUI=0 /d WXMAKINGDLL_BASE /d wxUSE_BASE=1 ..\..\src\msw\version.rc
+       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_68)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wxbase$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d wxUSE_GUI=0 /d WXMAKINGDLL_BASE /d wxUSE_BASE=1 ..\..\src\msw\version.rc
 
 $(OBJS)\basedll_appbase.obj: ..\..\src\common\appbase.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) ..\..\src\common\appbase.cpp
@@ -10866,7 +10964,7 @@ $(OBJS)\netdll_dummy.obj: ..\..\src\common\dummy.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(NETDLL_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp
 
 $(OBJS)\netdll_version.res: ..\..\src\msw\version.rc
-       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_64)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wxbase$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_net_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d wxUSE_GUI=0 /d WXUSINGDLL /d WXMAKINGDLL_NET ..\..\src\msw\version.rc
+       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_68)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wxbase$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_net_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d wxUSE_GUI=0 /d WXUSINGDLL /d WXMAKINGDLL_NET ..\..\src\msw\version.rc
 
 $(OBJS)\netdll_fs_inet.obj: ..\..\src\common\fs_inet.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(NETDLL_CXXFLAGS) ..\..\src\common\fs_inet.cpp
@@ -10947,7 +11045,7 @@ $(OBJS)\coredll_dummy.obj: ..\..\src\common\dummy.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp
 
 $(OBJS)\coredll_version.res: ..\..\src\msw\version.rc
-       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_64)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d WXUSINGDLL /d WXMAKINGDLL_CORE /d wxUSE_BASE=0 ..\..\src\msw\version.rc
+       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_68)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d WXUSINGDLL /d WXMAKINGDLL_CORE /d wxUSE_BASE=0 ..\..\src\msw\version.rc
 
 $(OBJS)\coredll_event.obj: ..\..\src\common\event.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\common\event.cpp
@@ -13712,7 +13810,7 @@ $(OBJS)\advdll_dummy.obj: ..\..\src\common\dummy.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp
 
 $(OBJS)\advdll_version.res: ..\..\src\msw\version.rc
-       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_64)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d WXUSINGDLL /d WXMAKINGDLL_ADV ..\..\src\msw\version.rc
+       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_68)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d WXUSINGDLL /d WXMAKINGDLL_ADV ..\..\src\msw\version.rc
 
 $(OBJS)\advdll_bmpcbox.obj: ..\..\src\msw\bmpcbox.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) ..\..\src\msw\bmpcbox.cpp
@@ -13937,7 +14035,7 @@ $(OBJS)\mediadll_dummy.obj: ..\..\src\common\dummy.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(MEDIADLL_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp
 
 $(OBJS)\mediadll_version.res: ..\..\src\msw\version.rc
-       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_64)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_media_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d WXUSINGDLL /d WXMAKINGDLL_MEDIA ..\..\src\msw\version.rc
+       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_68)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_media_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d WXUSINGDLL /d WXMAKINGDLL_MEDIA ..\..\src\msw\version.rc
 
 $(OBJS)\mediadll_mediactrlcmn.obj: ..\..\src\common\mediactrlcmn.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(MEDIADLL_CXXFLAGS) ..\..\src\common\mediactrlcmn.cpp
@@ -13970,7 +14068,7 @@ $(OBJS)\htmldll_dummy.obj: ..\..\src\common\dummy.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(HTMLDLL_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp
 
 $(OBJS)\htmldll_version.res: ..\..\src\msw\version.rc
-       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_64)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_html_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d WXUSINGDLL /d WXMAKINGDLL_HTML ..\..\src\msw\version.rc
+       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_68)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_html_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d WXUSINGDLL /d WXMAKINGDLL_HTML ..\..\src\msw\version.rc
 
 $(OBJS)\htmldll_helpbest.obj: ..\..\src\msw\helpbest.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(HTMLDLL_CXXFLAGS) ..\..\src\msw\helpbest.cpp
@@ -14123,7 +14221,7 @@ $(OBJS)\qadll_dummy.obj: ..\..\src\common\dummy.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(QADLL_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp
 
 $(OBJS)\qadll_version.res: ..\..\src\msw\version.rc
-       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_64)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_qa_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d WXUSINGDLL /d WXMAKINGDLL_QA ..\..\src\msw\version.rc
+       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_68)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_qa_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d WXUSINGDLL /d WXMAKINGDLL_QA ..\..\src\msw\version.rc
 
 $(OBJS)\qadll_debugrpt.obj: ..\..\src\common\debugrpt.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(QADLL_CXXFLAGS) ..\..\src\common\debugrpt.cpp
@@ -14144,7 +14242,7 @@ $(OBJS)\xmldll_dummy.obj: ..\..\src\common\dummy.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(XMLDLL_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp
 
 $(OBJS)\xmldll_version.res: ..\..\src\msw\version.rc
-       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_64)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wxbase$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d wxUSE_GUI=0 /d WXUSINGDLL /d WXMAKINGDLL_XML ..\..\src\msw\version.rc
+       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_68)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wxbase$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d wxUSE_GUI=0 /d WXUSINGDLL /d WXMAKINGDLL_XML ..\..\src\msw\version.rc
 
 $(OBJS)\xmldll_xml.obj: ..\..\src\xml\xml.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(XMLDLL_CXXFLAGS) ..\..\src\xml\xml.cpp
@@ -14165,7 +14263,7 @@ $(OBJS)\xrcdll_dummy.obj: ..\..\src\common\dummy.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(XRCDLL_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp
 
 $(OBJS)\xrcdll_version.res: ..\..\src\msw\version.rc
-       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_64)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xrc_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d WXUSINGDLL /d WXMAKINGDLL_XRC ..\..\src\msw\version.rc
+       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_68)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xrc_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d WXUSINGDLL /d WXMAKINGDLL_XRC ..\..\src\msw\version.rc
 
 $(OBJS)\xrcdll_xh_animatctrl.obj: ..\..\src\xrc\xh_animatctrl.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_animatctrl.cpp
@@ -14540,7 +14638,7 @@ $(OBJS)\auidll_dummy.obj: ..\..\src\common\dummy.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(AUIDLL_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp
 
 $(OBJS)\auidll_version.res: ..\..\src\msw\version.rc
-       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_64)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d WXUSINGDLL /d WXMAKINGDLL_AUI ..\..\src\msw\version.rc
+       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_68)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d WXUSINGDLL /d WXMAKINGDLL_AUI ..\..\src\msw\version.rc
 
 $(OBJS)\auidll_framemanager.obj: ..\..\src\aui\framemanager.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(AUIDLL_CXXFLAGS) ..\..\src\aui\framemanager.cpp
@@ -14581,11 +14679,80 @@ $(OBJS)\auilib_auibar.obj: ..\..\src\aui\auibar.cpp
 $(OBJS)\auilib_tabmdi.obj: ..\..\src\aui\tabmdi.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(AUILIB_CXXFLAGS) ..\..\src\aui\tabmdi.cpp
 
+$(OBJS)\ribbondll_dummy.obj: ..\..\src\common\dummy.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(RIBBONDLL_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp
+
+$(OBJS)\ribbondll_version.res: ..\..\src\msw\version.rc
+       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_68)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d WXUSINGDLL /d WXMAKINGDLL_RIBBON ..\..\src\msw\version.rc
+
+$(OBJS)\ribbondll_art_internal.obj: ..\..\src\ribbon\art_internal.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(RIBBONDLL_CXXFLAGS) ..\..\src\ribbon\art_internal.cpp
+
+$(OBJS)\ribbondll_art_msw.obj: ..\..\src\ribbon\art_msw.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(RIBBONDLL_CXXFLAGS) ..\..\src\ribbon\art_msw.cpp
+
+$(OBJS)\ribbondll_art_aui.obj: ..\..\src\ribbon\art_aui.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(RIBBONDLL_CXXFLAGS) ..\..\src\ribbon\art_aui.cpp
+
+$(OBJS)\ribbondll_bar.obj: ..\..\src\ribbon\bar.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(RIBBONDLL_CXXFLAGS) ..\..\src\ribbon\bar.cpp
+
+$(OBJS)\ribbondll_buttonbar.obj: ..\..\src\ribbon\buttonbar.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(RIBBONDLL_CXXFLAGS) ..\..\src\ribbon\buttonbar.cpp
+
+$(OBJS)\ribbondll_control.obj: ..\..\src\ribbon\control.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(RIBBONDLL_CXXFLAGS) ..\..\src\ribbon\control.cpp
+
+$(OBJS)\ribbondll_gallery.obj: ..\..\src\ribbon\gallery.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(RIBBONDLL_CXXFLAGS) ..\..\src\ribbon\gallery.cpp
+
+$(OBJS)\ribbondll_page.obj: ..\..\src\ribbon\page.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(RIBBONDLL_CXXFLAGS) ..\..\src\ribbon\page.cpp
+
+$(OBJS)\ribbondll_panel.obj: ..\..\src\ribbon\panel.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(RIBBONDLL_CXXFLAGS) ..\..\src\ribbon\panel.cpp
+
+$(OBJS)\ribbondll_toolbar.obj: ..\..\src\ribbon\toolbar.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(RIBBONDLL_CXXFLAGS) ..\..\src\ribbon\toolbar.cpp
+
+$(OBJS)\ribbonlib_dummy.obj: ..\..\src\common\dummy.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(RIBBONLIB_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp
+
+$(OBJS)\ribbonlib_art_internal.obj: ..\..\src\ribbon\art_internal.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(RIBBONLIB_CXXFLAGS) ..\..\src\ribbon\art_internal.cpp
+
+$(OBJS)\ribbonlib_art_msw.obj: ..\..\src\ribbon\art_msw.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(RIBBONLIB_CXXFLAGS) ..\..\src\ribbon\art_msw.cpp
+
+$(OBJS)\ribbonlib_art_aui.obj: ..\..\src\ribbon\art_aui.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(RIBBONLIB_CXXFLAGS) ..\..\src\ribbon\art_aui.cpp
+
+$(OBJS)\ribbonlib_bar.obj: ..\..\src\ribbon\bar.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(RIBBONLIB_CXXFLAGS) ..\..\src\ribbon\bar.cpp
+
+$(OBJS)\ribbonlib_buttonbar.obj: ..\..\src\ribbon\buttonbar.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(RIBBONLIB_CXXFLAGS) ..\..\src\ribbon\buttonbar.cpp
+
+$(OBJS)\ribbonlib_control.obj: ..\..\src\ribbon\control.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(RIBBONLIB_CXXFLAGS) ..\..\src\ribbon\control.cpp
+
+$(OBJS)\ribbonlib_gallery.obj: ..\..\src\ribbon\gallery.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(RIBBONLIB_CXXFLAGS) ..\..\src\ribbon\gallery.cpp
+
+$(OBJS)\ribbonlib_page.obj: ..\..\src\ribbon\page.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(RIBBONLIB_CXXFLAGS) ..\..\src\ribbon\page.cpp
+
+$(OBJS)\ribbonlib_panel.obj: ..\..\src\ribbon\panel.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(RIBBONLIB_CXXFLAGS) ..\..\src\ribbon\panel.cpp
+
+$(OBJS)\ribbonlib_toolbar.obj: ..\..\src\ribbon\toolbar.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(RIBBONLIB_CXXFLAGS) ..\..\src\ribbon\toolbar.cpp
+
 $(OBJS)\propgriddll_dummy.obj: ..\..\src\common\dummy.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(PROPGRIDDLL_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp
 
 $(OBJS)\propgriddll_version.res: ..\..\src\msw\version.rc
-       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_64)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d WXUSINGDLL /d WXMAKINGDLL_PROPGRID ..\..\src\msw\version.rc
+       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_68)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d WXUSINGDLL /d WXMAKINGDLL_PROPGRID ..\..\src\msw\version.rc
 
 $(OBJS)\propgriddll_advprops.obj: ..\..\src\propgrid\advprops.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(PROPGRIDDLL_CXXFLAGS) ..\..\src\propgrid\advprops.cpp
@@ -14642,7 +14809,7 @@ $(OBJS)\richtextdll_dummy.obj: ..\..\src\common\dummy.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(RICHTEXTDLL_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp
 
 $(OBJS)\richtextdll_version.res: ..\..\src\msw\version.rc
-       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_64)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_richtext_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d WXUSINGDLL /d WXMAKINGDLL_RICHTEXT ..\..\src\msw\version.rc
+       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_68)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_richtext_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d WXUSINGDLL /d WXMAKINGDLL_RICHTEXT ..\..\src\msw\version.rc
 
 $(OBJS)\richtextdll_richtextctrl.obj: ..\..\src\richtext\richtextctrl.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(RICHTEXTDLL_CXXFLAGS) ..\..\src\richtext\richtextctrl.cpp
@@ -14705,7 +14872,7 @@ $(OBJS)\stcdll_dummy.obj: ..\..\src\common\dummy.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(STCDLL_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp
 
 $(OBJS)\stcdll_version.res: ..\..\src\msw\version.rc
-       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_64)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /i ..\..\src\stc\scintilla\include /i ..\..\src\stc\scintilla\src /d __WX__ /d SCI_LEXER /d LINK_LEXERS /d WXUSINGDLL /d WXMAKINGDLL_STC ..\..\src\msw\version.rc
+       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_68)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_stc_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /i ..\..\src\stc\scintilla\include /i ..\..\src\stc\scintilla\src /d __WX__ /d SCI_LEXER /d LINK_LEXERS /d WXUSINGDLL /d WXMAKINGDLL_STC ..\..\src\msw\version.rc
 
 $(OBJS)\stcdll_stc.obj: ..\..\src\stc\stc.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(STCDLL_CXXFLAGS) ..\..\src\stc\stc.cpp
@@ -14732,7 +14899,7 @@ $(OBJS)\gldll_dummy.obj: ..\..\src\common\dummy.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(GLDLL_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp
 
 $(OBJS)\gldll_version.res: ..\..\src\msw\version.rc
-       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_64)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_58) $(__DEBUG_DEFINE_p_57) $(__EXCEPTIONS_DEFINE_p_57) $(__RTTI_DEFINE_p_57) $(__THREAD_DEFINE_p_57) $(__UNICODE_DEFINE_p_58) $(__MSLU_DEFINE_p_57) $(__GFXCTX_DEFINE_p_57) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d WXUSINGDLL /d WXMAKINGDLL_GL ..\..\src\msw\version.rc
+       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_68)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl_vc$(VENDORTAG)  /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d WXUSINGDLL /d WXMAKINGDLL_GL ..\..\src\msw\version.rc
 
 $(OBJS)\gldll_glcmn.obj: ..\..\src\common\glcmn.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(GLDLL_CXXFLAGS) ..\..\src\common\glcmn.cpp
index 197f2174890283f15bf70697cc76b59afd69165b..1ba623384472087b2e20479a7803f127147f9c48 100644 (file)
@@ -2863,6 +2863,32 @@ ____wxaui_namelib_DEP =
 !ifeq SHARED 0
 ____wxaui_namelib_DEP = $(__auilib___depname)
 !endif
+__ribbondll___depname =
+!ifeq MONOLITHIC 0
+!ifeq SHARED 1
+!ifeq USE_RIBBON 1
+__ribbondll___depname = &
+       $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_wat$(VENDORTAG).dll
+!endif
+!endif
+!endif
+__ribbonlib___depname =
+!ifeq MONOLITHIC 0
+!ifeq SHARED 0
+!ifeq USE_RIBBON 1
+__ribbonlib___depname = &
+       $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.lib
+!endif
+!endif
+!endif
+____wxribbon_namedll_DEP =
+!ifeq SHARED 1
+____wxribbon_namedll_DEP = $(__ribbondll___depname)
+!endif
+____wxribbon_namelib_DEP =
+!ifeq SHARED 0
+____wxribbon_namelib_DEP = $(__ribbonlib___depname)
+!endif
 __propgriddll___depname =
 !ifeq MONOLITHIC 0
 !ifeq SHARED 1
@@ -3139,8 +3165,9 @@ MAKEARGS = CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" &
        DEBUG_INFO="$(DEBUG_INFO)" DEBUG_FLAG="$(DEBUG_FLAG)" &
        MONOLITHIC="$(MONOLITHIC)" USE_GUI="$(USE_GUI)" USE_HTML="$(USE_HTML)" &
        USE_MEDIA="$(USE_MEDIA)" USE_XRC="$(USE_XRC)" USE_AUI="$(USE_AUI)" &
-       USE_PROPGRID="$(USE_PROPGRID)" USE_RICHTEXT="$(USE_RICHTEXT)" &
-       USE_STC="$(USE_STC)" USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" &
+       USE_RIBBON="$(USE_RIBBON)" USE_PROPGRID="$(USE_PROPGRID)" &
+       USE_RICHTEXT="$(USE_RICHTEXT)" USE_STC="$(USE_STC)" &
+       USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" &
        USE_EXCEPTIONS="$(USE_EXCEPTIONS)" USE_RTTI="$(USE_RTTI)" &
        USE_THREADS="$(USE_THREADS)" USE_GDIPLUS="$(USE_GDIPLUS)" &
        OFFICIAL_BUILD="$(OFFICIAL_BUILD)" VENDOR="$(VENDOR)" &
@@ -4346,6 +4373,47 @@ AUILIB_OBJECTS =  &
        $(OBJS)\auilib_auibook.obj &
        $(OBJS)\auilib_auibar.obj &
        $(OBJS)\auilib_tabmdi.obj
+RIBBONDLL_CXXFLAGS = -bd $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) &
+       $(__RUNTIME_LIBS) -d__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) &
+       $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) &
+       $(__UNICODE_DEFINE_p) $(__GFXCTX_DEFINE_p) -i=$(SETUPHDIR) -i=..\..\include &
+       -wx -wcd=549 -wcd=656 -wcd=657 -wcd=667 -dWXBUILDING -i=..\..\src\tiff\libtiff &
+       -i=..\..\src\jpeg -i=..\..\src\png -i=..\..\src\zlib -i=..\..\src\regex &
+       -i=..\..\src\expat\lib -dWXUSINGDLL -dWXMAKINGDLL_RIBBON &
+       /fh=$(OBJS)\wxprec_ribbondll.pch $(__RTTIFLAG) $(__EXCEPTIONSFLAG) &
+       $(CPPFLAGS) $(CXXFLAGS)
+RIBBONDLL_OBJECTS =  &
+       $(OBJS)\ribbondll_dummy.obj &
+       $(OBJS)\ribbondll_art_internal.obj &
+       $(OBJS)\ribbondll_art_msw.obj &
+       $(OBJS)\ribbondll_art_aui.obj &
+       $(OBJS)\ribbondll_bar.obj &
+       $(OBJS)\ribbondll_buttonbar.obj &
+       $(OBJS)\ribbondll_control.obj &
+       $(OBJS)\ribbondll_gallery.obj &
+       $(OBJS)\ribbondll_page.obj &
+       $(OBJS)\ribbondll_panel.obj &
+       $(OBJS)\ribbondll_toolbar.obj
+RIBBONLIB_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) &
+       $(__RUNTIME_LIBS) -d__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) &
+       $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) &
+       $(__UNICODE_DEFINE_p) $(__GFXCTX_DEFINE_p) -i=$(SETUPHDIR) -i=..\..\include &
+       -wx -wcd=549 -wcd=656 -wcd=657 -wcd=667 -dWXBUILDING -i=..\..\src\tiff\libtiff &
+       -i=..\..\src\jpeg -i=..\..\src\png -i=..\..\src\zlib -i=..\..\src\regex &
+       -i=..\..\src\expat\lib /fh=$(OBJS)\wxprec_ribbonlib.pch $(__RTTIFLAG) &
+       $(__EXCEPTIONSFLAG) $(CPPFLAGS) $(CXXFLAGS)
+RIBBONLIB_OBJECTS =  &
+       $(OBJS)\ribbonlib_dummy.obj &
+       $(OBJS)\ribbonlib_art_internal.obj &
+       $(OBJS)\ribbonlib_art_msw.obj &
+       $(OBJS)\ribbonlib_art_aui.obj &
+       $(OBJS)\ribbonlib_bar.obj &
+       $(OBJS)\ribbonlib_buttonbar.obj &
+       $(OBJS)\ribbonlib_control.obj &
+       $(OBJS)\ribbonlib_gallery.obj &
+       $(OBJS)\ribbonlib_page.obj &
+       $(OBJS)\ribbonlib_panel.obj &
+       $(OBJS)\ribbonlib_toolbar.obj
 PROPGRIDDLL_CXXFLAGS = -bd $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) &
        $(__RUNTIME_LIBS) -d__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) &
        $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) &
@@ -4486,7 +4554,7 @@ $(OBJS) :
 
 ### Targets: ###
 
-all : .SYMBOLIC setup_h $(LIBDIRNAME)\wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(__wxpng___depname) $(__wxjpeg___depname) $(__wxtiff___depname) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(__wxscintilla) $(__monodll___depname) $(__monolib___depname) $(__basedll___depname) $(__baselib___depname) $(__netdll___depname) $(__netlib___depname) $(__coredll___depname) $(__corelib___depname) $(__advdll___depname) $(__advlib___depname) $(__mediadll___depname) $(__medialib___depname) $(__htmldll___depname) $(__htmllib___depname) $(__qadll___depname) $(__qalib___depname) $(__xmldll___depname) $(__xmllib___depname) $(__xrcdll___depname) $(__xrclib___depname) $(__auidll___depname) $(__auilib___depname) $(__propgriddll___depname) $(__propgridlib___depname) $(__richtextdll___depname) $(__richtextlib___depname) $(__stcdll___depname) $(__stclib___depname) $(__gldll___depname) $(__gllib___depname) build_cfg_file
+all : .SYMBOLIC setup_h $(LIBDIRNAME)\wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(__wxpng___depname) $(__wxjpeg___depname) $(__wxtiff___depname) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(__wxscintilla) $(__monodll___depname) $(__monolib___depname) $(__basedll___depname) $(__baselib___depname) $(__netdll___depname) $(__netlib___depname) $(__coredll___depname) $(__corelib___depname) $(__advdll___depname) $(__advlib___depname) $(__mediadll___depname) $(__medialib___depname) $(__htmldll___depname) $(__htmllib___depname) $(__qadll___depname) $(__qalib___depname) $(__xmldll___depname) $(__xmllib___depname) $(__xrcdll___depname) $(__xrclib___depname) $(__auidll___depname) $(__auilib___depname) $(__ribbondll___depname) $(__ribbonlib___depname) $(__propgriddll___depname) $(__propgridlib___depname) $(__richtextdll___depname) $(__richtextlib___depname) $(__stcdll___depname) $(__stclib___depname) $(__gldll___depname) $(__gllib___depname) build_cfg_file
 
 clean : .SYMBOLIC 
        -if exist $(OBJS)\*.obj del $(OBJS)\*.obj
@@ -4534,6 +4602,9 @@ clean : .SYMBOLIC
        -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui_wat$(VENDORTAG).dll del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui_wat$(VENDORTAG).dll
        -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui.lib del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui.lib
        -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui.lib del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui.lib
+       -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_wat$(VENDORTAG).dll del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_wat$(VENDORTAG).dll
+       -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.lib del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.lib
+       -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.lib del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.lib
        -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid_wat$(VENDORTAG).dll del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid_wat$(VENDORTAG).dll
        -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid.lib del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid.lib
        -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid.lib del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid.lib
@@ -4977,6 +5048,42 @@ wxaui : .SYMBOLIC $(____wxaui_namedll_DEP) $(____wxaui_namelib_DEP)
 !endif
 !endif
 
+!ifeq MONOLITHIC 0
+!ifeq SHARED 1
+!ifeq USE_RIBBON 1
+$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_wat$(VENDORTAG).dll :  $(RIBBONDLL_OBJECTS) $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib $(OBJS)\ribbondll_version.res $(__advdll___depname) $(__coredll___depname) $(__basedll___depname)
+       @%create $(OBJS)\ribbondll.lbc
+       @%append $(OBJS)\ribbondll.lbc option quiet
+       @%append $(OBJS)\ribbondll.lbc name $^@
+       @%append $(OBJS)\ribbondll.lbc option caseexact
+       @%append $(OBJS)\ribbondll.lbc  $(__DEBUGINFO_3)  libpath $(LIBDIRNAME) $(LDFLAGS)
+       @for %i in ($(RIBBONDLL_OBJECTS)) do @%append $(OBJS)\ribbondll.lbc file %i
+       @for %i in ( $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE)  $(__GDIPLUS_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib) do @%append $(OBJS)\ribbondll.lbc library %i
+       @%append $(OBJS)\ribbondll.lbc option resource=$(OBJS)\ribbondll_version.res
+       @%append $(OBJS)\ribbondll.lbc system nt_dll
+       wlink @$(OBJS)\ribbondll.lbc
+       wlib -q -n -b $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.lib +$^@
+!endif
+!endif
+!endif
+
+!ifeq MONOLITHIC 0
+!ifeq SHARED 0
+!ifeq USE_RIBBON 1
+$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.lib :  $(RIBBONLIB_OBJECTS)
+       @%create $(OBJS)\ribbonlib.lbc
+       @for %i in ($(RIBBONLIB_OBJECTS)) do @%append $(OBJS)\ribbonlib.lbc +%i
+       wlib -q -p4096 -n -b $^@ @$(OBJS)\ribbonlib.lbc
+!endif
+!endif
+!endif
+
+!ifeq MONOLITHIC 0
+!ifeq USE_RIBBON 1
+wxribbon : .SYMBOLIC $(____wxribbon_namedll_DEP) $(____wxribbon_namelib_DEP)
+!endif
+!endif
+
 !ifeq MONOLITHIC 0
 !ifeq SHARED 1
 !ifeq USE_PROPGRID 1
@@ -15080,6 +15187,75 @@ $(OBJS)\auilib_auibar.obj :  .AUTODEPEND ..\..\src\aui\auibar.cpp
 $(OBJS)\auilib_tabmdi.obj :  .AUTODEPEND ..\..\src\aui\tabmdi.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(AUILIB_CXXFLAGS) $<
 
+$(OBJS)\ribbondll_dummy.obj :  .AUTODEPEND ..\..\src\common\dummy.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(RIBBONDLL_CXXFLAGS) $<
+
+$(OBJS)\ribbondll_version.res :  .AUTODEPEND ..\..\src\msw\version.rc
+       wrc -q -ad -bt=nt -r -fo=$^@    -d__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p)  $(__GFXCTX_DEFINE_p) -i=$(SETUPHDIR) -i=..\..\include -dWXBUILDING -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon_wat$(VENDORTAG)  -i=..\..\src\tiff\libtiff -i=..\..\src\jpeg -i=..\..\src\png -i=..\..\src\zlib -i=..\..\src\regex -i=..\..\src\expat\lib -dWXUSINGDLL -dWXMAKINGDLL_RIBBON $<
+
+$(OBJS)\ribbondll_art_internal.obj :  .AUTODEPEND ..\..\src\ribbon\art_internal.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(RIBBONDLL_CXXFLAGS) $<
+
+$(OBJS)\ribbondll_art_msw.obj :  .AUTODEPEND ..\..\src\ribbon\art_msw.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(RIBBONDLL_CXXFLAGS) $<
+
+$(OBJS)\ribbondll_art_aui.obj :  .AUTODEPEND ..\..\src\ribbon\art_aui.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(RIBBONDLL_CXXFLAGS) $<
+
+$(OBJS)\ribbondll_bar.obj :  .AUTODEPEND ..\..\src\ribbon\bar.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(RIBBONDLL_CXXFLAGS) $<
+
+$(OBJS)\ribbondll_buttonbar.obj :  .AUTODEPEND ..\..\src\ribbon\buttonbar.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(RIBBONDLL_CXXFLAGS) $<
+
+$(OBJS)\ribbondll_control.obj :  .AUTODEPEND ..\..\src\ribbon\control.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(RIBBONDLL_CXXFLAGS) $<
+
+$(OBJS)\ribbondll_gallery.obj :  .AUTODEPEND ..\..\src\ribbon\gallery.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(RIBBONDLL_CXXFLAGS) $<
+
+$(OBJS)\ribbondll_page.obj :  .AUTODEPEND ..\..\src\ribbon\page.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(RIBBONDLL_CXXFLAGS) $<
+
+$(OBJS)\ribbondll_panel.obj :  .AUTODEPEND ..\..\src\ribbon\panel.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(RIBBONDLL_CXXFLAGS) $<
+
+$(OBJS)\ribbondll_toolbar.obj :  .AUTODEPEND ..\..\src\ribbon\toolbar.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(RIBBONDLL_CXXFLAGS) $<
+
+$(OBJS)\ribbonlib_dummy.obj :  .AUTODEPEND ..\..\src\common\dummy.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(RIBBONLIB_CXXFLAGS) $<
+
+$(OBJS)\ribbonlib_art_internal.obj :  .AUTODEPEND ..\..\src\ribbon\art_internal.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(RIBBONLIB_CXXFLAGS) $<
+
+$(OBJS)\ribbonlib_art_msw.obj :  .AUTODEPEND ..\..\src\ribbon\art_msw.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(RIBBONLIB_CXXFLAGS) $<
+
+$(OBJS)\ribbonlib_art_aui.obj :  .AUTODEPEND ..\..\src\ribbon\art_aui.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(RIBBONLIB_CXXFLAGS) $<
+
+$(OBJS)\ribbonlib_bar.obj :  .AUTODEPEND ..\..\src\ribbon\bar.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(RIBBONLIB_CXXFLAGS) $<
+
+$(OBJS)\ribbonlib_buttonbar.obj :  .AUTODEPEND ..\..\src\ribbon\buttonbar.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(RIBBONLIB_CXXFLAGS) $<
+
+$(OBJS)\ribbonlib_control.obj :  .AUTODEPEND ..\..\src\ribbon\control.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(RIBBONLIB_CXXFLAGS) $<
+
+$(OBJS)\ribbonlib_gallery.obj :  .AUTODEPEND ..\..\src\ribbon\gallery.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(RIBBONLIB_CXXFLAGS) $<
+
+$(OBJS)\ribbonlib_page.obj :  .AUTODEPEND ..\..\src\ribbon\page.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(RIBBONLIB_CXXFLAGS) $<
+
+$(OBJS)\ribbonlib_panel.obj :  .AUTODEPEND ..\..\src\ribbon\panel.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(RIBBONLIB_CXXFLAGS) $<
+
+$(OBJS)\ribbonlib_toolbar.obj :  .AUTODEPEND ..\..\src\ribbon\toolbar.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(RIBBONLIB_CXXFLAGS) $<
+
 $(OBJS)\propgriddll_dummy.obj :  .AUTODEPEND ..\..\src\common\dummy.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(PROPGRIDDLL_CXXFLAGS) $<
 
index 9f841d28ec71c4deeade32e317da09770f594ff8..a524c40994eb7f9c035d5d86ef7020edcf26fee9 100644 (file)
@@ -206,6 +206,18 @@ Package=<4>
 \r
 ###############################################################################\r
 \r
+Project: "ribbon"=wx_ribbon.dsp - Package Owner=<4>\r
+\r
+Package=<5>\r
+{{{\r
+}}}\r
+\r
+Package=<4>\r
+{{{\r
+}}}\r
+\r
+###############################################################################\r
+\r
 Project: "propgrid"=wx_propgrid.dsp - Package Owner=<4>\r
 \r
 Package=<5>\r
diff --git a/build/msw/wx_ribbon.dsp b/build/msw/wx_ribbon.dsp
new file mode 100644 (file)
index 0000000..820dd6a
--- /dev/null
@@ -0,0 +1,614 @@
+# Microsoft Developer Studio Project File - Name="wx_ribbon" - Package Owner=<4>\r
+# Microsoft Developer Studio Generated Build File, Format Version 6.00\r
+# ** DO NOT EDIT **\r
+\r
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102\r
+# TARGTYPE "Win32 (x86) Static Library" 0x0104\r
+\r
+CFG=ribbon - Win32 Debug\r
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,\r
+!MESSAGE use the Export Makefile command and run\r
+!MESSAGE \r
+!MESSAGE NMAKE /f "wx_ribbon.mak".\r
+!MESSAGE \r
+!MESSAGE You can specify a configuration when running NMAKE\r
+!MESSAGE by defining the macro CFG on the command line. For example:\r
+!MESSAGE \r
+!MESSAGE NMAKE /f "wx_ribbon.mak" CFG="ribbon - Win32 Debug"\r
+!MESSAGE \r
+!MESSAGE Possible choices for configuration are:\r
+!MESSAGE \r
+!MESSAGE "ribbon - Win32 DLL Universal Release" (based on "Win32 (x86) Dynamic-Link Library")\r
+!MESSAGE "ribbon - Win32 DLL Universal Debug" (based on "Win32 (x86) Dynamic-Link Library")\r
+!MESSAGE "ribbon - Win32 DLL Release" (based on "Win32 (x86) Dynamic-Link Library")\r
+!MESSAGE "ribbon - Win32 DLL Debug" (based on "Win32 (x86) Dynamic-Link Library")\r
+!MESSAGE "ribbon - Win32 Universal Release" (based on "Win32 (x86) Static Library")\r
+!MESSAGE "ribbon - Win32 Universal Debug" (based on "Win32 (x86) Static Library")\r
+!MESSAGE "ribbon - Win32 Release" (based on "Win32 (x86) Static Library")\r
+!MESSAGE "ribbon - Win32 Debug" (based on "Win32 (x86) Static Library")\r
+!MESSAGE \r
+\r
+# Begin Project\r
+# PROP AllowPerConfigDependencies 0\r
+# PROP Scc_ProjName ""\r
+# PROP Scc_LocalPath ""\r
+CPP=cl.exe\r
+RSC=rc.exe\r
+\r
+!IF  "$(CFG)" == "ribbon - Win32 DLL Universal Release"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 1\r
+# PROP BASE Output_Dir "..\..\lib\vc_dll"\r
+# PROP BASE Intermediate_Dir "vc_mswunivudll\ribbon"\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 1\r
+# PROP Output_Dir "..\..\lib\vc_dll"\r
+# PROP Intermediate_Dir "vc_mswunivudll\ribbon"\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /FD /MD /O2 /GR /EHsc /I "..\..\lib\vc_dll\mswunivu" /I "..\..\include" /W4 /Yu"wx/wxprec.h" /Fp"vc_mswunivudll\wxprec_ribbondll.pch" /Zi /Fd..\..\lib\vc_dll\wxmswuniv290u_ribbon_vc_custom.pdb /I "..\..\src\tiff\libtiff" /I "..\..\src\jpeg" /I "..\..\src\png" /I "..\..\src\zlib" /I "..\..\src\regex" /I "..\..\src\expat\lib" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "WXBUILDING" /D "WXUSINGDLL" /D "WXMAKINGDLL_RIBBON" /c\r
+# ADD CPP /nologo /FD /MD /O2 /GR /EHsc /I "..\..\lib\vc_dll\mswunivu" /I "..\..\include" /W4 /Yu"wx/wxprec.h" /Fp"vc_mswunivudll\wxprec_ribbondll.pch" /Zi /Fd..\..\lib\vc_dll\wxmswuniv290u_ribbon_vc_custom.pdb /I "..\..\src\tiff\libtiff" /I "..\..\src\jpeg" /I "..\..\src\png" /I "..\..\src\zlib" /I "..\..\src\regex" /I "..\..\src\expat\lib" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "WXBUILDING" /D "WXUSINGDLL" /D "WXMAKINGDLL_RIBBON" /c\r
+# ADD BASE MTL /nologo /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "WXBUILDING" /D "WXUSINGDLL" /D "WXMAKINGDLL_RIBBON" /mktyplib203 /win32\r
+# ADD MTL /nologo /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "WXBUILDING" /D "WXUSINGDLL" /D "WXMAKINGDLL_RIBBON" /mktyplib203 /win32\r
+# ADD BASE RSC /l 0x409 /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "_UNICODE" /i "..\..\lib\vc_dll\mswunivu" /i "..\..\include" /d "WXBUILDING" /d WXDLLNAME=wxmswuniv290u_ribbon_vc_custom /i "..\..\src\tiff\libtiff" /i "..\..\src\jpeg" /i "..\..\src\png" /i "..\..\src\zlib" /i "..\..\src\regex" /i "..\..\src\expat\lib" /d "WXUSINGDLL" /d WXMAKINGDLL_RIBBON\r
+# ADD RSC /l 0x409 /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "_UNICODE" /i "..\..\lib\vc_dll\mswunivu" /i "..\..\include" /d "WXBUILDING" /d WXDLLNAME=wxmswuniv290u_ribbon_vc_custom /i "..\..\src\tiff\libtiff" /i "..\..\src\jpeg" /i "..\..\src\png" /i "..\..\src\zlib" /i "..\..\src\regex" /i "..\..\src\expat\lib" /d "WXUSINGDLL" /d WXMAKINGDLL_RIBBON\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LINK32=link.exe\r
+# ADD BASE LINK32 wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib ..\..\lib\vc_dll\wxmswuniv29u_adv.lib ..\..\lib\vc_dll\wxmswuniv29u_core.lib ..\..\lib\vc_dll\wxbase29u.lib /nologo /dll /machine:i386 /out:"..\..\lib\vc_dll\wxmswuniv290u_ribbon_vc_custom.dll" /libpath:"..\..\lib\vc_dll" /implib:"..\..\lib\vc_dll\wxmswuniv29u_ribbon.lib" /debug /pdb:"..\..\lib\vc_dll\wxmswuniv290u_ribbon_vc_custom.pdb"\r
+# ADD LINK32 wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib ..\..\lib\vc_dll\wxmswuniv29u_adv.lib ..\..\lib\vc_dll\wxmswuniv29u_core.lib ..\..\lib\vc_dll\wxbase29u.lib /nologo /dll /machine:i386 /out:"..\..\lib\vc_dll\wxmswuniv290u_ribbon_vc_custom.dll" /libpath:"..\..\lib\vc_dll" /implib:"..\..\lib\vc_dll\wxmswuniv29u_ribbon.lib" /debug /pdb:"..\..\lib\vc_dll\wxmswuniv290u_ribbon_vc_custom.pdb"\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 DLL Universal Debug"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 1\r
+# PROP BASE Output_Dir "..\..\lib\vc_dll"\r
+# PROP BASE Intermediate_Dir "vc_mswunivuddll\ribbon"\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 1\r
+# PROP Output_Dir "..\..\lib\vc_dll"\r
+# PROP Intermediate_Dir "vc_mswunivuddll\ribbon"\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /FD /MDd /Od /Gm /GR /EHsc /I "..\..\lib\vc_dll\mswunivud" /I "..\..\include" /W4 /Yu"wx/wxprec.h" /Fp"vc_mswunivuddll\wxprec_ribbondll.pch" /Zi /Fd..\..\lib\vc_dll\wxmswuniv290ud_ribbon_vc_custom.pdb /I "..\..\src\tiff\libtiff" /I "..\..\src\jpeg" /I "..\..\src\png" /I "..\..\src\zlib" /I "..\..\src\regex" /I "..\..\src\expat\lib" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXBUILDING" /D "WXUSINGDLL" /D "WXMAKINGDLL_RIBBON" /c\r
+# ADD CPP /nologo /FD /MDd /Od /Gm /GR /EHsc /I "..\..\lib\vc_dll\mswunivud" /I "..\..\include" /W4 /Yu"wx/wxprec.h" /Fp"vc_mswunivuddll\wxprec_ribbondll.pch" /Zi /Fd..\..\lib\vc_dll\wxmswuniv290ud_ribbon_vc_custom.pdb /I "..\..\src\tiff\libtiff" /I "..\..\src\jpeg" /I "..\..\src\png" /I "..\..\src\zlib" /I "..\..\src\regex" /I "..\..\src\expat\lib" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXBUILDING" /D "WXUSINGDLL" /D "WXMAKINGDLL_RIBBON" /c\r
+# ADD BASE MTL /nologo /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXBUILDING" /D "WXUSINGDLL" /D "WXMAKINGDLL_RIBBON" /mktyplib203 /win32\r
+# ADD MTL /nologo /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXBUILDING" /D "WXUSINGDLL" /D "WXMAKINGDLL_RIBBON" /mktyplib203 /win32\r
+# ADD BASE RSC /l 0x409 /d "_DEBUG" /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "__WXDEBUG__" /d "_UNICODE" /i "..\..\lib\vc_dll\mswunivud" /i "..\..\include" /d "WXBUILDING" /d WXDLLNAME=wxmswuniv290ud_ribbon_vc_custom /i "..\..\src\tiff\libtiff" /i "..\..\src\jpeg" /i "..\..\src\png" /i "..\..\src\zlib" /i "..\..\src\regex" /i "..\..\src\expat\lib" /d "WXUSINGDLL" /d WXMAKINGDLL_RIBBON\r
+# ADD RSC /l 0x409 /d "_DEBUG" /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "__WXDEBUG__" /d "_UNICODE" /i "..\..\lib\vc_dll\mswunivud" /i "..\..\include" /d "WXBUILDING" /d WXDLLNAME=wxmswuniv290ud_ribbon_vc_custom /i "..\..\src\tiff\libtiff" /i "..\..\src\jpeg" /i "..\..\src\png" /i "..\..\src\zlib" /i "..\..\src\regex" /i "..\..\src\expat\lib" /d "WXUSINGDLL" /d WXMAKINGDLL_RIBBON\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LINK32=link.exe\r
+# ADD BASE LINK32 wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib ..\..\lib\vc_dll\wxmswuniv29ud_adv.lib ..\..\lib\vc_dll\wxmswuniv29ud_core.lib ..\..\lib\vc_dll\wxbase29ud.lib /nologo /dll /machine:i386 /out:"..\..\lib\vc_dll\wxmswuniv290ud_ribbon_vc_custom.dll" /libpath:"..\..\lib\vc_dll" /implib:"..\..\lib\vc_dll\wxmswuniv29ud_ribbon.lib" /debug /pdb:"..\..\lib\vc_dll\wxmswuniv290ud_ribbon_vc_custom.pdb"\r
+# ADD LINK32 wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib ..\..\lib\vc_dll\wxmswuniv29ud_adv.lib ..\..\lib\vc_dll\wxmswuniv29ud_core.lib ..\..\lib\vc_dll\wxbase29ud.lib /nologo /dll /machine:i386 /out:"..\..\lib\vc_dll\wxmswuniv290ud_ribbon_vc_custom.dll" /libpath:"..\..\lib\vc_dll" /implib:"..\..\lib\vc_dll\wxmswuniv29ud_ribbon.lib" /debug /pdb:"..\..\lib\vc_dll\wxmswuniv290ud_ribbon_vc_custom.pdb"\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 DLL Release"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 1\r
+# PROP BASE Output_Dir "..\..\lib\vc_dll"\r
+# PROP BASE Intermediate_Dir "vc_mswudll\ribbon"\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 1\r
+# PROP Output_Dir "..\..\lib\vc_dll"\r
+# PROP Intermediate_Dir "vc_mswudll\ribbon"\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /FD /MD /O2 /GR /EHsc /I "..\..\lib\vc_dll\mswu" /I "..\..\include" /W4 /Yu"wx/wxprec.h" /Fp"vc_mswudll\wxprec_ribbondll.pch" /Zi /Fd..\..\lib\vc_dll\wxmsw290u_ribbon_vc_custom.pdb /I "..\..\src\tiff\libtiff" /I "..\..\src\jpeg" /I "..\..\src\png" /I "..\..\src\zlib" /I "..\..\src\regex" /I "..\..\src\expat\lib" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "_UNICODE" /D "WXBUILDING" /D "WXUSINGDLL" /D "WXMAKINGDLL_RIBBON" /c\r
+# ADD CPP /nologo /FD /MD /O2 /GR /EHsc /I "..\..\lib\vc_dll\mswu" /I "..\..\include" /W4 /Yu"wx/wxprec.h" /Fp"vc_mswudll\wxprec_ribbondll.pch" /Zi /Fd..\..\lib\vc_dll\wxmsw290u_ribbon_vc_custom.pdb /I "..\..\src\tiff\libtiff" /I "..\..\src\jpeg" /I "..\..\src\png" /I "..\..\src\zlib" /I "..\..\src\regex" /I "..\..\src\expat\lib" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "_UNICODE" /D "WXBUILDING" /D "WXUSINGDLL" /D "WXMAKINGDLL_RIBBON" /c\r
+# ADD BASE MTL /nologo /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "_UNICODE" /D "WXBUILDING" /D "WXUSINGDLL" /D "WXMAKINGDLL_RIBBON" /mktyplib203 /win32\r
+# ADD MTL /nologo /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "__WXMSW__" /D "_UNICODE" /D "WXBUILDING" /D "WXUSINGDLL" /D "WXMAKINGDLL_RIBBON" /mktyplib203 /win32\r
+# ADD BASE RSC /l 0x409 /d "__WXMSW__" /d "_UNICODE" /i "..\..\lib\vc_dll\mswu" /i "..\..\include" /d "WXBUILDING" /d WXDLLNAME=wxmsw290u_ribbon_vc_custom /i "..\..\src\tiff\libtiff" /i "..\..\src\jpeg" /i "..\..\src\png" /i "..\..\src\zlib" /i "..\..\src\regex" /i "..\..\src\expat\lib" /d "WXUSINGDLL" /d WXMAKINGDLL_RIBBON\r
+# ADD RSC /l 0x409 /d "__WXMSW__" /d "_UNICODE" /i "..\..\lib\vc_dll\mswu" /i "..\..\include" /d "WXBUILDING" /d WXDLLNAME=wxmsw290u_ribbon_vc_custom /i "..\..\src\tiff\libtiff" /i "..\..\src\jpeg" /i "..\..\src\png" /i "..\..\src\zlib" /i "..\..\src\regex" /i "..\..\src\expat\lib" /d "WXUSINGDLL" /d WXMAKINGDLL_RIBBON\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LINK32=link.exe\r
+# ADD BASE LINK32 wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib ..\..\lib\vc_dll\wxmsw29u_adv.lib ..\..\lib\vc_dll\wxmsw29u_core.lib ..\..\lib\vc_dll\wxbase29u.lib /nologo /dll /machine:i386 /out:"..\..\lib\vc_dll\wxmsw290u_ribbon_vc_custom.dll" /libpath:"..\..\lib\vc_dll" /implib:"..\..\lib\vc_dll\wxmsw29u_ribbon.lib" /debug /pdb:"..\..\lib\vc_dll\wxmsw290u_ribbon_vc_custom.pdb"\r
+# ADD LINK32 wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib ..\..\lib\vc_dll\wxmsw29u_adv.lib ..\..\lib\vc_dll\wxmsw29u_core.lib ..\..\lib\vc_dll\wxbase29u.lib /nologo /dll /machine:i386 /out:"..\..\lib\vc_dll\wxmsw290u_ribbon_vc_custom.dll" /libpath:"..\..\lib\vc_dll" /implib:"..\..\lib\vc_dll\wxmsw29u_ribbon.lib" /debug /pdb:"..\..\lib\vc_dll\wxmsw290u_ribbon_vc_custom.pdb"\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 DLL Debug"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 1\r
+# PROP BASE Output_Dir "..\..\lib\vc_dll"\r
+# PROP BASE Intermediate_Dir "vc_mswuddll\ribbon"\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 1\r
+# PROP Output_Dir "..\..\lib\vc_dll"\r
+# PROP Intermediate_Dir "vc_mswuddll\ribbon"\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /FD /MDd /Od /Gm /GR /EHsc /I "..\..\lib\vc_dll\mswud" /I "..\..\include" /W4 /Yu"wx/wxprec.h" /Fp"vc_mswuddll\wxprec_ribbondll.pch" /Zi /Fd..\..\lib\vc_dll\wxmsw290ud_ribbon_vc_custom.pdb /I "..\..\src\tiff\libtiff" /I "..\..\src\jpeg" /I "..\..\src\png" /I "..\..\src\zlib" /I "..\..\src\regex" /I "..\..\src\expat\lib" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXBUILDING" /D "WXUSINGDLL" /D "WXMAKINGDLL_RIBBON" /c\r
+# ADD CPP /nologo /FD /MDd /Od /Gm /GR /EHsc /I "..\..\lib\vc_dll\mswud" /I "..\..\include" /W4 /Yu"wx/wxprec.h" /Fp"vc_mswuddll\wxprec_ribbondll.pch" /Zi /Fd..\..\lib\vc_dll\wxmsw290ud_ribbon_vc_custom.pdb /I "..\..\src\tiff\libtiff" /I "..\..\src\jpeg" /I "..\..\src\png" /I "..\..\src\zlib" /I "..\..\src\regex" /I "..\..\src\expat\lib" /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXBUILDING" /D "WXUSINGDLL" /D "WXMAKINGDLL_RIBBON" /c\r
+# ADD BASE MTL /nologo /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXBUILDING" /D "WXUSINGDLL" /D "WXMAKINGDLL_RIBBON" /mktyplib203 /win32\r
+# ADD MTL /nologo /D "WIN32" /D "_USRDLL" /D "DLL_EXPORTS" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXBUILDING" /D "WXUSINGDLL" /D "WXMAKINGDLL_RIBBON" /mktyplib203 /win32\r
+# ADD BASE RSC /l 0x409 /d "_DEBUG" /d "__WXMSW__" /d "__WXDEBUG__" /d "_UNICODE" /i "..\..\lib\vc_dll\mswud" /i "..\..\include" /d "WXBUILDING" /d WXDLLNAME=wxmsw290ud_ribbon_vc_custom /i "..\..\src\tiff\libtiff" /i "..\..\src\jpeg" /i "..\..\src\png" /i "..\..\src\zlib" /i "..\..\src\regex" /i "..\..\src\expat\lib" /d "WXUSINGDLL" /d WXMAKINGDLL_RIBBON\r
+# ADD RSC /l 0x409 /d "_DEBUG" /d "__WXMSW__" /d "__WXDEBUG__" /d "_UNICODE" /i "..\..\lib\vc_dll\mswud" /i "..\..\include" /d "WXBUILDING" /d WXDLLNAME=wxmsw290ud_ribbon_vc_custom /i "..\..\src\tiff\libtiff" /i "..\..\src\jpeg" /i "..\..\src\png" /i "..\..\src\zlib" /i "..\..\src\regex" /i "..\..\src\expat\lib" /d "WXUSINGDLL" /d WXMAKINGDLL_RIBBON\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LINK32=link.exe\r
+# ADD BASE LINK32 wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib ..\..\lib\vc_dll\wxmsw29ud_adv.lib ..\..\lib\vc_dll\wxmsw29ud_core.lib ..\..\lib\vc_dll\wxbase29ud.lib /nologo /dll /machine:i386 /out:"..\..\lib\vc_dll\wxmsw290ud_ribbon_vc_custom.dll" /libpath:"..\..\lib\vc_dll" /implib:"..\..\lib\vc_dll\wxmsw29ud_ribbon.lib" /debug /pdb:"..\..\lib\vc_dll\wxmsw290ud_ribbon_vc_custom.pdb"\r
+# ADD LINK32 wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib ..\..\lib\vc_dll\wxmsw29ud_adv.lib ..\..\lib\vc_dll\wxmsw29ud_core.lib ..\..\lib\vc_dll\wxbase29ud.lib /nologo /dll /machine:i386 /out:"..\..\lib\vc_dll\wxmsw290ud_ribbon_vc_custom.dll" /libpath:"..\..\lib\vc_dll" /implib:"..\..\lib\vc_dll\wxmsw29ud_ribbon.lib" /debug /pdb:"..\..\lib\vc_dll\wxmsw290ud_ribbon_vc_custom.pdb"\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 Universal Release"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 1\r
+# PROP BASE Output_Dir "..\..\lib\vc_lib"\r
+# PROP BASE Intermediate_Dir "vc_mswunivu\ribbon"\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 1\r
+# PROP Output_Dir "..\..\lib\vc_lib"\r
+# PROP Intermediate_Dir "vc_mswunivu\ribbon"\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /FD /MD /O2 /GR /EHsc /I "..\..\lib\vc_lib\mswunivu" /I "..\..\include" /W4 /Zi /Fd..\..\lib\vc_lib\wxmswuniv29u_ribbon.pdb /Yu"wx/wxprec.h" /Fp"vc_mswunivu\wxprec_ribbonlib.pch" /I "..\..\src\tiff\libtiff" /I "..\..\src\jpeg" /I "..\..\src\png" /I "..\..\src\zlib" /I "..\..\src\regex" /I "..\..\src\expat\lib" /D "WIN32" /D "_LIB" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "WXBUILDING" /c\r
+# ADD CPP /nologo /FD /MD /O2 /GR /EHsc /I "..\..\lib\vc_lib\mswunivu" /I "..\..\include" /W4 /Zi /Fd..\..\lib\vc_lib\wxmswuniv29u_ribbon.pdb /Yu"wx/wxprec.h" /Fp"vc_mswunivu\wxprec_ribbonlib.pch" /I "..\..\src\tiff\libtiff" /I "..\..\src\jpeg" /I "..\..\src\png" /I "..\..\src\zlib" /I "..\..\src\regex" /I "..\..\src\expat\lib" /D "WIN32" /D "_LIB" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "WXBUILDING" /c\r
+# ADD BASE RSC /l 0x409\r
+# ADD RSC /l 0x409\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LIB32=link.exe -lib\r
+# ADD BASE LIB32 /nologo /out:"..\..\lib\vc_lib\wxmswuniv29u_ribbon.lib"\r
+# ADD LIB32 /nologo /out:"..\..\lib\vc_lib\wxmswuniv29u_ribbon.lib"\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 Universal Debug"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 1\r
+# PROP BASE Output_Dir "..\..\lib\vc_lib"\r
+# PROP BASE Intermediate_Dir "vc_mswunivud\ribbon"\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 1\r
+# PROP Output_Dir "..\..\lib\vc_lib"\r
+# PROP Intermediate_Dir "vc_mswunivud\ribbon"\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /FD /MDd /Od /Gm /GR /EHsc /I "..\..\lib\vc_lib\mswunivud" /I "..\..\include" /W4 /Zi /Fd..\..\lib\vc_lib\wxmswuniv29ud_ribbon.pdb /Yu"wx/wxprec.h" /Fp"vc_mswunivud\wxprec_ribbonlib.pch" /I "..\..\src\tiff\libtiff" /I "..\..\src\jpeg" /I "..\..\src\png" /I "..\..\src\zlib" /I "..\..\src\regex" /I "..\..\src\expat\lib" /D "WIN32" /D "_LIB" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXBUILDING" /c\r
+# ADD CPP /nologo /FD /MDd /Od /Gm /GR /EHsc /I "..\..\lib\vc_lib\mswunivud" /I "..\..\include" /W4 /Zi /Fd..\..\lib\vc_lib\wxmswuniv29ud_ribbon.pdb /Yu"wx/wxprec.h" /Fp"vc_mswunivud\wxprec_ribbonlib.pch" /I "..\..\src\tiff\libtiff" /I "..\..\src\jpeg" /I "..\..\src\png" /I "..\..\src\zlib" /I "..\..\src\regex" /I "..\..\src\expat\lib" /D "WIN32" /D "_LIB" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXBUILDING" /c\r
+# ADD BASE RSC /l 0x409\r
+# ADD RSC /l 0x409\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LIB32=link.exe -lib\r
+# ADD BASE LIB32 /nologo /out:"..\..\lib\vc_lib\wxmswuniv29ud_ribbon.lib"\r
+# ADD LIB32 /nologo /out:"..\..\lib\vc_lib\wxmswuniv29ud_ribbon.lib"\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 Release"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 1\r
+# PROP BASE Output_Dir "..\..\lib\vc_lib"\r
+# PROP BASE Intermediate_Dir "vc_mswu\ribbon"\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 1\r
+# PROP Output_Dir "..\..\lib\vc_lib"\r
+# PROP Intermediate_Dir "vc_mswu\ribbon"\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /FD /MD /O2 /GR /EHsc /I "..\..\lib\vc_lib\mswu" /I "..\..\include" /W4 /Zi /Fd..\..\lib\vc_lib\wxmsw29u_ribbon.pdb /Yu"wx/wxprec.h" /Fp"vc_mswu\wxprec_ribbonlib.pch" /I "..\..\src\tiff\libtiff" /I "..\..\src\jpeg" /I "..\..\src\png" /I "..\..\src\zlib" /I "..\..\src\regex" /I "..\..\src\expat\lib" /D "WIN32" /D "_LIB" /D "__WXMSW__" /D "_UNICODE" /D "WXBUILDING" /c\r
+# ADD CPP /nologo /FD /MD /O2 /GR /EHsc /I "..\..\lib\vc_lib\mswu" /I "..\..\include" /W4 /Zi /Fd..\..\lib\vc_lib\wxmsw29u_ribbon.pdb /Yu"wx/wxprec.h" /Fp"vc_mswu\wxprec_ribbonlib.pch" /I "..\..\src\tiff\libtiff" /I "..\..\src\jpeg" /I "..\..\src\png" /I "..\..\src\zlib" /I "..\..\src\regex" /I "..\..\src\expat\lib" /D "WIN32" /D "_LIB" /D "__WXMSW__" /D "_UNICODE" /D "WXBUILDING" /c\r
+# ADD BASE RSC /l 0x409\r
+# ADD RSC /l 0x409\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LIB32=link.exe -lib\r
+# ADD BASE LIB32 /nologo /out:"..\..\lib\vc_lib\wxmsw29u_ribbon.lib"\r
+# ADD LIB32 /nologo /out:"..\..\lib\vc_lib\wxmsw29u_ribbon.lib"\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 Debug"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 1\r
+# PROP BASE Output_Dir "..\..\lib\vc_lib"\r
+# PROP BASE Intermediate_Dir "vc_mswud\ribbon"\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 1\r
+# PROP Output_Dir "..\..\lib\vc_lib"\r
+# PROP Intermediate_Dir "vc_mswud\ribbon"\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /FD /MDd /Od /Gm /GR /EHsc /I "..\..\lib\vc_lib\mswud" /I "..\..\include" /W4 /Zi /Fd..\..\lib\vc_lib\wxmsw29ud_ribbon.pdb /Yu"wx/wxprec.h" /Fp"vc_mswud\wxprec_ribbonlib.pch" /I "..\..\src\tiff\libtiff" /I "..\..\src\jpeg" /I "..\..\src\png" /I "..\..\src\zlib" /I "..\..\src\regex" /I "..\..\src\expat\lib" /D "WIN32" /D "_LIB" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXBUILDING" /c\r
+# ADD CPP /nologo /FD /MDd /Od /Gm /GR /EHsc /I "..\..\lib\vc_lib\mswud" /I "..\..\include" /W4 /Zi /Fd..\..\lib\vc_lib\wxmsw29ud_ribbon.pdb /Yu"wx/wxprec.h" /Fp"vc_mswud\wxprec_ribbonlib.pch" /I "..\..\src\tiff\libtiff" /I "..\..\src\jpeg" /I "..\..\src\png" /I "..\..\src\zlib" /I "..\..\src\regex" /I "..\..\src\expat\lib" /D "WIN32" /D "_LIB" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXBUILDING" /c\r
+# ADD BASE RSC /l 0x409\r
+# ADD RSC /l 0x409\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LIB32=link.exe -lib\r
+# ADD BASE LIB32 /nologo /out:"..\..\lib\vc_lib\wxmsw29ud_ribbon.lib"\r
+# ADD LIB32 /nologo /out:"..\..\lib\vc_lib\wxmsw29ud_ribbon.lib"\r
+\r
+!ENDIF\r
+\r
+# Begin Target\r
+\r
+# Name "ribbon - Win32 DLL Universal Release"\r
+# Name "ribbon - Win32 DLL Universal Debug"\r
+# Name "ribbon - Win32 DLL Release"\r
+# Name "ribbon - Win32 DLL Debug"\r
+# Name "ribbon - Win32 Universal Release"\r
+# Name "ribbon - Win32 Universal Debug"\r
+# Name "ribbon - Win32 Release"\r
+# Name "ribbon - Win32 Debug"\r
+# Begin Group "Common Sources"\r
+\r
+# PROP Default_Filter ""\r
+# Begin Source File\r
+\r
+SOURCE=..\..\src\common\dummy.cpp\r
+# ADD BASE CPP /Yc"wx/wxprec.h"\r
+# ADD CPP /Yc"wx/wxprec.h"\r
+# End Source File\r
+# End Group\r
+# Begin Group "MSW Sources"\r
+\r
+# PROP Default_Filter ""\r
+# Begin Source File\r
+\r
+SOURCE=..\..\src\msw\version.rc\r
+\r
+!IF  "$(CFG)" == "ribbon - Win32 DLL Universal Release"\r
+\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 DLL Universal Debug"\r
+\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 DLL Release"\r
+\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 DLL Debug"\r
+\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 Universal Release"\r
+\r
+# PROP Exclude_From_Build 1\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 Universal Debug"\r
+\r
+# PROP Exclude_From_Build 1\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 Release"\r
+\r
+# PROP Exclude_From_Build 1\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 Debug"\r
+\r
+# PROP Exclude_From_Build 1\r
+\r
+!ENDIF\r
+\r
+# End Source File\r
+# End Group\r
+# Begin Group "Setup Headers"\r
+\r
+# PROP Default_Filter ""\r
+# Begin Source File\r
+\r
+SOURCE=..\..\include\wx\univ\setup.h\r
+\r
+!IF  "$(CFG)" == "ribbon - Win32 DLL Universal Release"\r
+\r
+# Begin Custom Build - Creating ..\..\lib\vc_dll\mswunivu\wx\setup.h\r
+InputPath=..\..\include\wx\univ\setup.h\r
+\r
+"..\..\lib\vc_dll\mswunivu\wx\setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"\r
+       copy "$(InputPath)" ..\..\lib\vc_dll\mswunivu\wx\setup.h\r
+\r
+# End Custom Build\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 DLL Universal Debug"\r
+\r
+# Begin Custom Build - Creating ..\..\lib\vc_dll\mswunivud\wx\setup.h\r
+InputPath=..\..\include\wx\univ\setup.h\r
+\r
+"..\..\lib\vc_dll\mswunivud\wx\setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"\r
+       copy "$(InputPath)" ..\..\lib\vc_dll\mswunivud\wx\setup.h\r
+\r
+# End Custom Build\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 DLL Release"\r
+\r
+# Begin Custom Build - \r
+\r
+# End Custom Build\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 DLL Debug"\r
+\r
+# Begin Custom Build - \r
+\r
+# End Custom Build\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 Universal Release"\r
+\r
+# Begin Custom Build - Creating ..\..\lib\vc_lib\mswunivu\wx\setup.h\r
+InputPath=..\..\include\wx\univ\setup.h\r
+\r
+"..\..\lib\vc_lib\mswunivu\wx\setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"\r
+       copy "$(InputPath)" ..\..\lib\vc_lib\mswunivu\wx\setup.h\r
+\r
+# End Custom Build\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 Universal Debug"\r
+\r
+# Begin Custom Build - Creating ..\..\lib\vc_lib\mswunivud\wx\setup.h\r
+InputPath=..\..\include\wx\univ\setup.h\r
+\r
+"..\..\lib\vc_lib\mswunivud\wx\setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"\r
+       copy "$(InputPath)" ..\..\lib\vc_lib\mswunivud\wx\setup.h\r
+\r
+# End Custom Build\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 Release"\r
+\r
+# Begin Custom Build - \r
+\r
+# End Custom Build\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 Debug"\r
+\r
+# Begin Custom Build - \r
+\r
+# End Custom Build\r
+\r
+!ENDIF\r
+\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\..\include\wx\msw\setup.h\r
+\r
+!IF  "$(CFG)" == "ribbon - Win32 DLL Universal Release"\r
+\r
+# Begin Custom Build - \r
+\r
+# End Custom Build\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 DLL Universal Debug"\r
+\r
+# Begin Custom Build - \r
+\r
+# End Custom Build\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 DLL Release"\r
+\r
+# Begin Custom Build - Creating ..\..\lib\vc_dll\mswu\wx\setup.h\r
+InputPath=..\..\include\wx\msw\setup.h\r
+\r
+"..\..\lib\vc_dll\mswu\wx\setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"\r
+       copy "$(InputPath)" ..\..\lib\vc_dll\mswu\wx\setup.h\r
+\r
+# End Custom Build\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 DLL Debug"\r
+\r
+# Begin Custom Build - Creating ..\..\lib\vc_dll\mswud\wx\setup.h\r
+InputPath=..\..\include\wx\msw\setup.h\r
+\r
+"..\..\lib\vc_dll\mswud\wx\setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"\r
+       copy "$(InputPath)" ..\..\lib\vc_dll\mswud\wx\setup.h\r
+\r
+# End Custom Build\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 Universal Release"\r
+\r
+# Begin Custom Build - \r
+\r
+# End Custom Build\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 Universal Debug"\r
+\r
+# Begin Custom Build - \r
+\r
+# End Custom Build\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 Release"\r
+\r
+# Begin Custom Build - Creating ..\..\lib\vc_lib\mswu\wx\setup.h\r
+InputPath=..\..\include\wx\msw\setup.h\r
+\r
+"..\..\lib\vc_lib\mswu\wx\setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"\r
+       copy "$(InputPath)" ..\..\lib\vc_lib\mswu\wx\setup.h\r
+\r
+# End Custom Build\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 Debug"\r
+\r
+# Begin Custom Build - Creating ..\..\lib\vc_lib\mswud\wx\setup.h\r
+InputPath=..\..\include\wx\msw\setup.h\r
+\r
+"..\..\lib\vc_lib\mswud\wx\setup.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"\r
+       copy "$(InputPath)" ..\..\lib\vc_lib\mswud\wx\setup.h\r
+\r
+# End Custom Build\r
+\r
+!ENDIF\r
+\r
+# End Source File\r
+# End Group\r
+# Begin Group "MSW Headers"\r
+\r
+# PROP Default_Filter ""\r
+# Begin Source File\r
+\r
+SOURCE=..\..\include\wx\msw\genrcdefs.h\r
+\r
+!IF  "$(CFG)" == "ribbon - Win32 DLL Universal Release"\r
+\r
+# Begin Custom Build - Creating ..\..\lib\vc_dll\mswunivu\wx\msw\rcdefs.h\r
+InputPath=..\..\include\wx\msw\genrcdefs.h\r
+\r
+"..\..\lib\vc_dll\mswunivu\wx\msw\rcdefs.h" : "$(SOURCE)" "..\..\lib\vc_dll\mswunivu\wx\msw"\r
+       cl /EP /nologo "$(InputPath)" > "..\..\lib\vc_dll\mswunivu\wx\msw\rcdefs.h"\r
+\r
+# End Custom Build\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 DLL Universal Debug"\r
+\r
+# Begin Custom Build - Creating ..\..\lib\vc_dll\mswunivud\wx\msw\rcdefs.h\r
+InputPath=..\..\include\wx\msw\genrcdefs.h\r
+\r
+"..\..\lib\vc_dll\mswunivud\wx\msw\rcdefs.h" : "$(SOURCE)" "..\..\lib\vc_dll\mswunivud\wx\msw"\r
+       cl /EP /nologo "$(InputPath)" > "..\..\lib\vc_dll\mswunivud\wx\msw\rcdefs.h"\r
+\r
+# End Custom Build\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 DLL Release"\r
+\r
+# Begin Custom Build - Creating ..\..\lib\vc_dll\mswu\wx\msw\rcdefs.h\r
+InputPath=..\..\include\wx\msw\genrcdefs.h\r
+\r
+"..\..\lib\vc_dll\mswu\wx\msw\rcdefs.h" : "$(SOURCE)" "..\..\lib\vc_dll\mswu\wx\msw"\r
+       cl /EP /nologo "$(InputPath)" > "..\..\lib\vc_dll\mswu\wx\msw\rcdefs.h"\r
+\r
+# End Custom Build\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 DLL Debug"\r
+\r
+# Begin Custom Build - Creating ..\..\lib\vc_dll\mswud\wx\msw\rcdefs.h\r
+InputPath=..\..\include\wx\msw\genrcdefs.h\r
+\r
+"..\..\lib\vc_dll\mswud\wx\msw\rcdefs.h" : "$(SOURCE)" "..\..\lib\vc_dll\mswud\wx\msw"\r
+       cl /EP /nologo "$(InputPath)" > "..\..\lib\vc_dll\mswud\wx\msw\rcdefs.h"\r
+\r
+# End Custom Build\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 Universal Release"\r
+\r
+# Begin Custom Build - Creating ..\..\lib\vc_lib\mswunivu\wx\msw\rcdefs.h\r
+InputPath=..\..\include\wx\msw\genrcdefs.h\r
+\r
+"..\..\lib\vc_lib\mswunivu\wx\msw\rcdefs.h" : "$(SOURCE)" "..\..\lib\vc_lib\mswunivu\wx\msw"\r
+       cl /EP /nologo "$(InputPath)" > "..\..\lib\vc_lib\mswunivu\wx\msw\rcdefs.h"\r
+\r
+# End Custom Build\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 Universal Debug"\r
+\r
+# Begin Custom Build - Creating ..\..\lib\vc_lib\mswunivud\wx\msw\rcdefs.h\r
+InputPath=..\..\include\wx\msw\genrcdefs.h\r
+\r
+"..\..\lib\vc_lib\mswunivud\wx\msw\rcdefs.h" : "$(SOURCE)" "..\..\lib\vc_lib\mswunivud\wx\msw"\r
+       cl /EP /nologo "$(InputPath)" > "..\..\lib\vc_lib\mswunivud\wx\msw\rcdefs.h"\r
+\r
+# End Custom Build\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 Release"\r
+\r
+# Begin Custom Build - Creating ..\..\lib\vc_lib\mswu\wx\msw\rcdefs.h\r
+InputPath=..\..\include\wx\msw\genrcdefs.h\r
+\r
+"..\..\lib\vc_lib\mswu\wx\msw\rcdefs.h" : "$(SOURCE)" "..\..\lib\vc_lib\mswu\wx\msw"\r
+       cl /EP /nologo "$(InputPath)" > "..\..\lib\vc_lib\mswu\wx\msw\rcdefs.h"\r
+\r
+# End Custom Build\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 Debug"\r
+\r
+# Begin Custom Build - Creating ..\..\lib\vc_lib\mswud\wx\msw\rcdefs.h\r
+InputPath=..\..\include\wx\msw\genrcdefs.h\r
+\r
+"..\..\lib\vc_lib\mswud\wx\msw\rcdefs.h" : "$(SOURCE)" "..\..\lib\vc_lib\mswud\wx\msw"\r
+       cl /EP /nologo "$(InputPath)" > "..\..\lib\vc_lib\mswud\wx\msw\rcdefs.h"\r
+\r
+# End Custom Build\r
+\r
+!ENDIF\r
+\r
+# End Source File\r
+# End Group\r
+# Begin Group "Common Headers"\r
+\r
+# PROP Default_Filter ""\r
+# Begin Source File\r
+\r
+SOURCE=..\..\include\wx\ribbon\art.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\..\include\wx\ribbon\art_internal.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\..\include\wx\ribbon\bar.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\..\include\wx\ribbon\buttonbar.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\..\include\wx\ribbon\control.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\..\include\wx\ribbon\gallery.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\..\include\wx\ribbon\page.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\..\include\wx\ribbon\panel.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\..\include\wx\ribbon\toolbar.h\r
+# End Source File\r
+# End Group\r
+# Begin Group "Source Files"\r
+\r
+# PROP Default_Filter ""\r
+# Begin Source File\r
+\r
+SOURCE=..\..\src\ribbon\art_aui.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\..\src\ribbon\art_internal.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\..\src\ribbon\art_msw.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\..\src\ribbon\bar.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\..\src\ribbon\buttonbar.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\..\src\ribbon\control.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\..\src\ribbon\gallery.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\..\src\ribbon\page.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\..\src\ribbon\panel.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\..\src\ribbon\toolbar.cpp\r
+# End Source File\r
+# End Group\r
+# End Target\r
+# End Project\r
+\r
index 75c41e3ff90d505faf04a897c272e3f07c33266d..b0cdeaa3301412830ef901a71bb19b8467dde645 100644 (file)
@@ -33,6 +33,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xrc", "wx_vc7_xrc.vcproj",
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aui", "wx_vc7_aui.vcproj", "{0937D36F-9EAC-5D3D-B990-44B3F99BFC34}"\r
 EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ribbon", "wx_vc7_ribbon.vcproj", "{7973B6EB-688A-5E14-8175-A32A51A3DFC8}"\r
+EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "propgrid", "wx_vc7_propgrid.vcproj", "{F7A944F0-250D-57CD-8F71-BC38B2513B28}"\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "richtext", "wx_vc7_richtext.vcproj", "{52F16F53-E13D-55CA-AD64-ACB0274B0704}"\r
@@ -342,6 +344,22 @@ Global
                {F7A944F0-250D-57CD-8F71-BC38B2513B28}.DLL Release|Win32.Build.0 = DLL Release|Win32\r
                {F7A944F0-250D-57CD-8F71-BC38B2513B28}.DLL Universal Debug|Win32.ActiveCfg = DLL Universal Debug|Win32\r
                {F7A944F0-250D-57CD-8F71-BC38B2513B28}.DLL Universal Debug|Win32.Build.0 = DLL Universal Debug|Win32\r
+               {7973B6EB-688A-5E14-8175-A32A51A3DFC8}.DLL Universal Release|Win32.ActiveCfg = DLL Universal Release|Win32\r
+               {7973B6EB-688A-5E14-8175-A32A51A3DFC8}.DLL Universal Release|Win32.Build.0 = DLL Universal Release|Win32\r
+               {7973B6EB-688A-5E14-8175-A32A51A3DFC8}.DLL Universal Debug|Win32.ActiveCfg = DLL Universal Debug|Win32\r
+               {7973B6EB-688A-5E14-8175-A32A51A3DFC8}.DLL Universal Debug|Win32.Build.0 = DLL Universal Debug|Win32\r
+               {7973B6EB-688A-5E14-8175-A32A51A3DFC8}.DLL Release|Win32.ActiveCfg = DLL Release|Win32\r
+               {7973B6EB-688A-5E14-8175-A32A51A3DFC8}.DLL Release|Win32.Build.0 = DLL Release|Win32\r
+               {7973B6EB-688A-5E14-8175-A32A51A3DFC8}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32\r
+               {7973B6EB-688A-5E14-8175-A32A51A3DFC8}.DLL Debug|Win32.Build.0 = DLL Debug|Win32\r
+               {7973B6EB-688A-5E14-8175-A32A51A3DFC8}.Universal Release|Win32.ActiveCfg = Universal Release|Win32\r
+               {7973B6EB-688A-5E14-8175-A32A51A3DFC8}.Universal Release|Win32.Build.0 = Universal Release|Win32\r
+               {7973B6EB-688A-5E14-8175-A32A51A3DFC8}.Universal Debug|Win32.ActiveCfg = Universal Debug|Win32\r
+               {7973B6EB-688A-5E14-8175-A32A51A3DFC8}.Universal Debug|Win32.Build.0 = Universal Debug|Win32\r
+               {7973B6EB-688A-5E14-8175-A32A51A3DFC8}.Release|Win32.ActiveCfg = Release|Win32\r
+               {7973B6EB-688A-5E14-8175-A32A51A3DFC8}.Release|Win32.Build.0 = Release|Win32\r
+               {7973B6EB-688A-5E14-8175-A32A51A3DFC8}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {7973B6EB-688A-5E14-8175-A32A51A3DFC8}.Debug|Win32.Build.0 = Debug|Win32\r
                {F7A944F0-250D-57CD-8F71-BC38B2513B28}.DLL Universal Release|Win32.ActiveCfg = DLL Universal Release|Win32\r
                {F7A944F0-250D-57CD-8F71-BC38B2513B28}.DLL Universal Release|Win32.Build.0 = DLL Universal Release|Win32\r
                {52F16F53-E13D-55CA-AD64-ACB0274B0704}.Debug|Win32.ActiveCfg = Debug|Win32\r
diff --git a/build/msw/wx_vc7_ribbon.vcproj b/build/msw/wx_vc7_ribbon.vcproj
new file mode 100644 (file)
index 0000000..35d9fb3
--- /dev/null
@@ -0,0 +1,838 @@
+<?xml version="1.0" encoding="Windows-1252"?>\r
+<!--\r
+\r
+  This makefile was generated by\r
+  Bakefile 0.2.5 (http://www.bakefile.org)\r
+  Do not modify, all changes will be overwritten!\r
+\r
+-->\r
+<VisualStudioProject\r
+       ProjectType="Visual C++"\r
+       Version="7.10"\r
+       Name="ribbon"\r
+       ProjectGUID="{7973B6EB-688A-5E14-8175-A32A51A3DFC8}">\r
+       <Platforms>\r
+               <Platform\r
+                       Name="Win32"/>\r
+       </Platforms>\r
+       <Configurations>\r
+               <Configuration\r
+                       Name="DLL Universal Release|Win32"\r
+                       OutputDirectory="..\..\lib\vc_dll"\r
+                       IntermediateDirectory="vc_mswunivudll\ribbon"\r
+                       ConfigurationType="2"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="FALSE"\r
+                       CharacterSet="1">\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="2"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_dll\mswunivu;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                               PreprocessorDefinitions="_USRDLL;DLL_EXPORTS;__WXMSW__;__WXUNIVERSAL__;_UNICODE;WXBUILDING;WXUSINGDLL;WXMAKINGDLL_RIBBON"\r
+                               ExceptionHandling="TRUE"\r
+                               RuntimeLibrary="2"\r
+                               RuntimeTypeInfo="TRUE"\r
+                               UsePrecompiledHeader="3"\r
+                               PrecompiledHeaderThrough="wx/wxprec.h"\r
+                               PrecompiledHeaderFile="vc_mswunivudll\wxprec_ribbondll.pch"\r
+                               AssemblerListingLocation="vc_mswunivudll\ribbon\"\r
+                               ObjectFile="vc_mswunivudll\ribbon\"\r
+                               ProgramDataBaseFileName="..\..\lib\vc_dll\wxmswuniv290u_ribbon_vc_custom.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="TRUE"\r
+                               Detect64BitPortabilityProblems="TRUE"\r
+                               DebugInformationFormat="3"/>\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"/>\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxtiff.lib wxjpeg.lib wxpng.lib  wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib ..\..\lib\vc_dll\wxmswuniv29u_adv.lib ..\..\lib\vc_dll\wxmswuniv29u_core.lib ..\..\lib\vc_dll\wxbase29u.lib"\r
+                               OutputFile="..\..\lib\vc_dll\wxmswuniv290u_ribbon_vc_custom.dll"\r
+                               LinkIncremental="2"\r
+                               ImportLibrary="..\..\lib\vc_dll\wxmswuniv29u_ribbon.lib"\r
+                               SuppressStartupBanner="TRUE"\r
+                               AdditionalLibraryDirectories="..\..\lib\vc_dll"\r
+                               GenerateDebugInformation="TRUE"\r
+                               ProgramDatabaseFile="..\..\lib\vc_dll\wxmswuniv290u_ribbon_vc_custom.pdb"\r
+                               TargetMachine="1"/>\r
+                       <Tool\r
+                               Name="VCMIDLTool"/>\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"/>\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="__WXMSW__;__WXUNIVERSAL__;_UNICODE;WXBUILDING;WXDLLNAME=wxmswuniv290u_ribbon_vc_custom;WXUSINGDLL;WXMAKINGDLL_RIBBON"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_dll\mswunivu;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"/>\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"/>\r
+                       <Tool\r
+                               Name="VCManagedWrapperGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCAuxiliaryManagedWrapperGeneratorTool"/>\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="DLL Universal Debug|Win32"\r
+                       OutputDirectory="..\..\lib\vc_dll"\r
+                       IntermediateDirectory="vc_mswunivuddll\ribbon"\r
+                       ConfigurationType="2"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="FALSE"\r
+                       CharacterSet="1">\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="0"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_dll\mswunivud;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                               PreprocessorDefinitions="_USRDLL;DLL_EXPORTS;_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;WXBUILDING;WXUSINGDLL;WXMAKINGDLL_RIBBON"\r
+                               MinimalRebuild="TRUE"\r
+                               ExceptionHandling="TRUE"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="3"\r
+                               BufferSecurityCheck="TRUE"\r
+                               RuntimeTypeInfo="TRUE"\r
+                               UsePrecompiledHeader="3"\r
+                               PrecompiledHeaderThrough="wx/wxprec.h"\r
+                               PrecompiledHeaderFile="vc_mswunivuddll\wxprec_ribbondll.pch"\r
+                               AssemblerListingLocation="vc_mswunivuddll\ribbon\"\r
+                               ObjectFile="vc_mswunivuddll\ribbon\"\r
+                               ProgramDataBaseFileName="..\..\lib\vc_dll\wxmswuniv290ud_ribbon_vc_custom.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="TRUE"\r
+                               Detect64BitPortabilityProblems="TRUE"\r
+                               DebugInformationFormat="3"/>\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"/>\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxtiffd.lib wxjpegd.lib wxpngd.lib  wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib ..\..\lib\vc_dll\wxmswuniv29ud_adv.lib ..\..\lib\vc_dll\wxmswuniv29ud_core.lib ..\..\lib\vc_dll\wxbase29ud.lib"\r
+                               OutputFile="..\..\lib\vc_dll\wxmswuniv290ud_ribbon_vc_custom.dll"\r
+                               LinkIncremental="2"\r
+                               ImportLibrary="..\..\lib\vc_dll\wxmswuniv29ud_ribbon.lib"\r
+                               SuppressStartupBanner="TRUE"\r
+                               AdditionalLibraryDirectories="..\..\lib\vc_dll"\r
+                               GenerateDebugInformation="TRUE"\r
+                               ProgramDatabaseFile="..\..\lib\vc_dll\wxmswuniv290ud_ribbon_vc_custom.pdb"\r
+                               TargetMachine="1"/>\r
+                       <Tool\r
+                               Name="VCMIDLTool"/>\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"/>\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;WXBUILDING;WXDLLNAME=wxmswuniv290ud_ribbon_vc_custom;WXUSINGDLL;WXMAKINGDLL_RIBBON"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_dll\mswunivud;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"/>\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"/>\r
+                       <Tool\r
+                               Name="VCManagedWrapperGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCAuxiliaryManagedWrapperGeneratorTool"/>\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="DLL Release|Win32"\r
+                       OutputDirectory="..\..\lib\vc_dll"\r
+                       IntermediateDirectory="vc_mswudll\ribbon"\r
+                       ConfigurationType="2"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="FALSE"\r
+                       CharacterSet="1">\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="2"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_dll\mswu;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                               PreprocessorDefinitions="_USRDLL;DLL_EXPORTS;__WXMSW__;_UNICODE;WXBUILDING;WXUSINGDLL;WXMAKINGDLL_RIBBON"\r
+                               ExceptionHandling="TRUE"\r
+                               RuntimeLibrary="2"\r
+                               RuntimeTypeInfo="TRUE"\r
+                               UsePrecompiledHeader="3"\r
+                               PrecompiledHeaderThrough="wx/wxprec.h"\r
+                               PrecompiledHeaderFile="vc_mswudll\wxprec_ribbondll.pch"\r
+                               AssemblerListingLocation="vc_mswudll\ribbon\"\r
+                               ObjectFile="vc_mswudll\ribbon\"\r
+                               ProgramDataBaseFileName="..\..\lib\vc_dll\wxmsw290u_ribbon_vc_custom.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="TRUE"\r
+                               Detect64BitPortabilityProblems="TRUE"\r
+                               DebugInformationFormat="3"/>\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"/>\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxtiff.lib wxjpeg.lib wxpng.lib  wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib ..\..\lib\vc_dll\wxmsw29u_adv.lib ..\..\lib\vc_dll\wxmsw29u_core.lib ..\..\lib\vc_dll\wxbase29u.lib"\r
+                               OutputFile="..\..\lib\vc_dll\wxmsw290u_ribbon_vc_custom.dll"\r
+                               LinkIncremental="2"\r
+                               ImportLibrary="..\..\lib\vc_dll\wxmsw29u_ribbon.lib"\r
+                               SuppressStartupBanner="TRUE"\r
+                               AdditionalLibraryDirectories="..\..\lib\vc_dll"\r
+                               GenerateDebugInformation="TRUE"\r
+                               ProgramDatabaseFile="..\..\lib\vc_dll\wxmsw290u_ribbon_vc_custom.pdb"\r
+                               TargetMachine="1"/>\r
+                       <Tool\r
+                               Name="VCMIDLTool"/>\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"/>\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="__WXMSW__;_UNICODE;WXBUILDING;WXDLLNAME=wxmsw290u_ribbon_vc_custom;WXUSINGDLL;WXMAKINGDLL_RIBBON"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_dll\mswu;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"/>\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"/>\r
+                       <Tool\r
+                               Name="VCManagedWrapperGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCAuxiliaryManagedWrapperGeneratorTool"/>\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="DLL Debug|Win32"\r
+                       OutputDirectory="..\..\lib\vc_dll"\r
+                       IntermediateDirectory="vc_mswuddll\ribbon"\r
+                       ConfigurationType="2"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="FALSE"\r
+                       CharacterSet="1">\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="0"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_dll\mswud;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                               PreprocessorDefinitions="_USRDLL;DLL_EXPORTS;_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;WXBUILDING;WXUSINGDLL;WXMAKINGDLL_RIBBON"\r
+                               MinimalRebuild="TRUE"\r
+                               ExceptionHandling="TRUE"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="3"\r
+                               BufferSecurityCheck="TRUE"\r
+                               RuntimeTypeInfo="TRUE"\r
+                               UsePrecompiledHeader="3"\r
+                               PrecompiledHeaderThrough="wx/wxprec.h"\r
+                               PrecompiledHeaderFile="vc_mswuddll\wxprec_ribbondll.pch"\r
+                               AssemblerListingLocation="vc_mswuddll\ribbon\"\r
+                               ObjectFile="vc_mswuddll\ribbon\"\r
+                               ProgramDataBaseFileName="..\..\lib\vc_dll\wxmsw290ud_ribbon_vc_custom.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="TRUE"\r
+                               Detect64BitPortabilityProblems="TRUE"\r
+                               DebugInformationFormat="3"/>\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"/>\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxtiffd.lib wxjpegd.lib wxpngd.lib  wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib ..\..\lib\vc_dll\wxmsw29ud_adv.lib ..\..\lib\vc_dll\wxmsw29ud_core.lib ..\..\lib\vc_dll\wxbase29ud.lib"\r
+                               OutputFile="..\..\lib\vc_dll\wxmsw290ud_ribbon_vc_custom.dll"\r
+                               LinkIncremental="2"\r
+                               ImportLibrary="..\..\lib\vc_dll\wxmsw29ud_ribbon.lib"\r
+                               SuppressStartupBanner="TRUE"\r
+                               AdditionalLibraryDirectories="..\..\lib\vc_dll"\r
+                               GenerateDebugInformation="TRUE"\r
+                               ProgramDatabaseFile="..\..\lib\vc_dll\wxmsw290ud_ribbon_vc_custom.pdb"\r
+                               TargetMachine="1"/>\r
+                       <Tool\r
+                               Name="VCMIDLTool"/>\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"/>\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;WXBUILDING;WXDLLNAME=wxmsw290ud_ribbon_vc_custom;WXUSINGDLL;WXMAKINGDLL_RIBBON"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_dll\mswud;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"/>\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"/>\r
+                       <Tool\r
+                               Name="VCManagedWrapperGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCAuxiliaryManagedWrapperGeneratorTool"/>\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Universal Release|Win32"\r
+                       OutputDirectory="..\..\lib\vc_lib"\r
+                       IntermediateDirectory="vc_mswunivu\ribbon"\r
+                       ConfigurationType="4"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="FALSE"\r
+                       CharacterSet="1">\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="2"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_lib\mswunivu;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                               PreprocessorDefinitions="_LIB;__WXMSW__;__WXUNIVERSAL__;_UNICODE;WXBUILDING"\r
+                               ExceptionHandling="TRUE"\r
+                               RuntimeLibrary="2"\r
+                               RuntimeTypeInfo="TRUE"\r
+                               UsePrecompiledHeader="3"\r
+                               PrecompiledHeaderThrough="wx/wxprec.h"\r
+                               PrecompiledHeaderFile="vc_mswunivu\wxprec_ribbonlib.pch"\r
+                               AssemblerListingLocation="vc_mswunivu\ribbon\"\r
+                               ObjectFile="vc_mswunivu\ribbon\"\r
+                               ProgramDataBaseFileName="..\..\lib\vc_lib\wxmswuniv29u_ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="TRUE"\r
+                               Detect64BitPortabilityProblems="TRUE"\r
+                               DebugInformationFormat="3"/>\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"/>\r
+                       <Tool\r
+                               Name="VCLibrarianTool"\r
+                               OutputFile="..\..\lib\vc_lib\wxmswuniv29u_ribbon.lib"\r
+                               SuppressStartupBanner="TRUE"/>\r
+                       <Tool\r
+                               Name="VCMIDLTool"/>\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"/>\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="__WXMSW__;__WXUNIVERSAL__;_UNICODE;WXBUILDING"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_lib\mswunivu;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"/>\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"/>\r
+                       <Tool\r
+                               Name="VCManagedWrapperGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCAuxiliaryManagedWrapperGeneratorTool"/>\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Universal Debug|Win32"\r
+                       OutputDirectory="..\..\lib\vc_lib"\r
+                       IntermediateDirectory="vc_mswunivud\ribbon"\r
+                       ConfigurationType="4"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="FALSE"\r
+                       CharacterSet="1">\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="0"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_lib\mswunivud;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                               PreprocessorDefinitions="_LIB;_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;WXBUILDING"\r
+                               MinimalRebuild="TRUE"\r
+                               ExceptionHandling="TRUE"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="3"\r
+                               BufferSecurityCheck="TRUE"\r
+                               RuntimeTypeInfo="TRUE"\r
+                               UsePrecompiledHeader="3"\r
+                               PrecompiledHeaderThrough="wx/wxprec.h"\r
+                               PrecompiledHeaderFile="vc_mswunivud\wxprec_ribbonlib.pch"\r
+                               AssemblerListingLocation="vc_mswunivud\ribbon\"\r
+                               ObjectFile="vc_mswunivud\ribbon\"\r
+                               ProgramDataBaseFileName="..\..\lib\vc_lib\wxmswuniv29ud_ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="TRUE"\r
+                               Detect64BitPortabilityProblems="TRUE"\r
+                               DebugInformationFormat="3"/>\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"/>\r
+                       <Tool\r
+                               Name="VCLibrarianTool"\r
+                               OutputFile="..\..\lib\vc_lib\wxmswuniv29ud_ribbon.lib"\r
+                               SuppressStartupBanner="TRUE"/>\r
+                       <Tool\r
+                               Name="VCMIDLTool"/>\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"/>\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;WXBUILDING"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_lib\mswunivud;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"/>\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"/>\r
+                       <Tool\r
+                               Name="VCManagedWrapperGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCAuxiliaryManagedWrapperGeneratorTool"/>\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Release|Win32"\r
+                       OutputDirectory="..\..\lib\vc_lib"\r
+                       IntermediateDirectory="vc_mswu\ribbon"\r
+                       ConfigurationType="4"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="FALSE"\r
+                       CharacterSet="1">\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="2"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_lib\mswu;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                               PreprocessorDefinitions="_LIB;__WXMSW__;_UNICODE;WXBUILDING"\r
+                               ExceptionHandling="TRUE"\r
+                               RuntimeLibrary="2"\r
+                               RuntimeTypeInfo="TRUE"\r
+                               UsePrecompiledHeader="3"\r
+                               PrecompiledHeaderThrough="wx/wxprec.h"\r
+                               PrecompiledHeaderFile="vc_mswu\wxprec_ribbonlib.pch"\r
+                               AssemblerListingLocation="vc_mswu\ribbon\"\r
+                               ObjectFile="vc_mswu\ribbon\"\r
+                               ProgramDataBaseFileName="..\..\lib\vc_lib\wxmsw29u_ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="TRUE"\r
+                               Detect64BitPortabilityProblems="TRUE"\r
+                               DebugInformationFormat="3"/>\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"/>\r
+                       <Tool\r
+                               Name="VCLibrarianTool"\r
+                               OutputFile="..\..\lib\vc_lib\wxmsw29u_ribbon.lib"\r
+                               SuppressStartupBanner="TRUE"/>\r
+                       <Tool\r
+                               Name="VCMIDLTool"/>\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"/>\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="__WXMSW__;_UNICODE;WXBUILDING"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_lib\mswu;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"/>\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"/>\r
+                       <Tool\r
+                               Name="VCManagedWrapperGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCAuxiliaryManagedWrapperGeneratorTool"/>\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Debug|Win32"\r
+                       OutputDirectory="..\..\lib\vc_lib"\r
+                       IntermediateDirectory="vc_mswud\ribbon"\r
+                       ConfigurationType="4"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="FALSE"\r
+                       CharacterSet="1">\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="0"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_lib\mswud;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                               PreprocessorDefinitions="_LIB;_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;WXBUILDING"\r
+                               MinimalRebuild="TRUE"\r
+                               ExceptionHandling="TRUE"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="3"\r
+                               BufferSecurityCheck="TRUE"\r
+                               RuntimeTypeInfo="TRUE"\r
+                               UsePrecompiledHeader="3"\r
+                               PrecompiledHeaderThrough="wx/wxprec.h"\r
+                               PrecompiledHeaderFile="vc_mswud\wxprec_ribbonlib.pch"\r
+                               AssemblerListingLocation="vc_mswud\ribbon\"\r
+                               ObjectFile="vc_mswud\ribbon\"\r
+                               ProgramDataBaseFileName="..\..\lib\vc_lib\wxmsw29ud_ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="TRUE"\r
+                               Detect64BitPortabilityProblems="TRUE"\r
+                               DebugInformationFormat="3"/>\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"/>\r
+                       <Tool\r
+                               Name="VCLibrarianTool"\r
+                               OutputFile="..\..\lib\vc_lib\wxmsw29ud_ribbon.lib"\r
+                               SuppressStartupBanner="TRUE"/>\r
+                       <Tool\r
+                               Name="VCMIDLTool"/>\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"/>\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;WXBUILDING"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_lib\mswud;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"/>\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"/>\r
+                       <Tool\r
+                               Name="VCManagedWrapperGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCAuxiliaryManagedWrapperGeneratorTool"/>\r
+               </Configuration>\r
+       </Configurations>\r
+       <References>\r
+               \r
+       </References>\r
+       <Files>\r
+               <Filter\r
+                       Name="Common Sources"\r
+                       UniqueIdentifier="{A6A5C30D-BDB6-5050-906D-10A96065136C}">\r
+                       <File\r
+                               RelativePath="..\..\src\common\dummy.cpp">\r
+                               <FileConfiguration\r
+                                       Name="DLL Universal Release|Win32">\r
+                                       <Tool\r
+                                               Name="VCCLCompilerTool"\r
+                                               UsePrecompiledHeader="1"/>\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="DLL Universal Debug|Win32">\r
+                                       <Tool\r
+                                               Name="VCCLCompilerTool"\r
+                                               UsePrecompiledHeader="1"/>\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="DLL Release|Win32">\r
+                                       <Tool\r
+                                               Name="VCCLCompilerTool"\r
+                                               UsePrecompiledHeader="1"/>\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="DLL Debug|Win32">\r
+                                       <Tool\r
+                                               Name="VCCLCompilerTool"\r
+                                               UsePrecompiledHeader="1"/>\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Universal Release|Win32">\r
+                                       <Tool\r
+                                               Name="VCCLCompilerTool"\r
+                                               UsePrecompiledHeader="1"/>\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Universal Debug|Win32">\r
+                                       <Tool\r
+                                               Name="VCCLCompilerTool"\r
+                                               UsePrecompiledHeader="1"/>\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Release|Win32">\r
+                                       <Tool\r
+                                               Name="VCCLCompilerTool"\r
+                                               UsePrecompiledHeader="1"/>\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Debug|Win32">\r
+                                       <Tool\r
+                                               Name="VCCLCompilerTool"\r
+                                               UsePrecompiledHeader="1"/>\r
+                               </FileConfiguration>\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="MSW Sources"\r
+                       UniqueIdentifier="{D030D8C2-53EE-5B96-8F89-D78157B06140}">\r
+                       <File\r
+                               RelativePath="..\..\src\msw\version.rc">\r
+                               <FileConfiguration\r
+                                       Name="Universal Release|Win32"\r
+                                       ExcludedFromBuild="TRUE"/>\r
+                               <FileConfiguration\r
+                                       Name="Universal Debug|Win32"\r
+                                       ExcludedFromBuild="TRUE"/>\r
+                               <FileConfiguration\r
+                                       Name="Release|Win32"\r
+                                       ExcludedFromBuild="TRUE"/>\r
+                               <FileConfiguration\r
+                                       Name="Debug|Win32"\r
+                                       ExcludedFromBuild="TRUE"/>\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="Setup Headers"\r
+                       UniqueIdentifier="{63537534-1833-5C1F-8DBD-359A84F294C8}">\r
+                       <File\r
+                               RelativePath="..\..\include\wx\univ\setup.h">\r
+                               <FileConfiguration\r
+                                       Name="DLL Universal Release|Win32">\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_dll\mswunivu\wx\setup.h"\r
+                                               CommandLine="copy &quot;$(InputPath)&quot; ..\..\lib\vc_dll\mswunivu\wx\setup.h"\r
+                                               Outputs="..\..\lib\vc_dll\mswunivu\wx\setup.h"\r
+                                               AdditionalDependencies="&quot;$(INTDIR)&quot; &quot;$(OUTDIR)&quot;"/>\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="DLL Universal Debug|Win32">\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_dll\mswunivud\wx\setup.h"\r
+                                               CommandLine="copy &quot;$(InputPath)&quot; ..\..\lib\vc_dll\mswunivud\wx\setup.h"\r
+                                               Outputs="..\..\lib\vc_dll\mswunivud\wx\setup.h"\r
+                                               AdditionalDependencies="&quot;$(INTDIR)&quot; &quot;$(OUTDIR)&quot;"/>\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="DLL Release|Win32"/>\r
+                               <FileConfiguration\r
+                                       Name="DLL Debug|Win32"/>\r
+                               <FileConfiguration\r
+                                       Name="Universal Release|Win32">\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_lib\mswunivu\wx\setup.h"\r
+                                               CommandLine="copy &quot;$(InputPath)&quot; ..\..\lib\vc_lib\mswunivu\wx\setup.h"\r
+                                               Outputs="..\..\lib\vc_lib\mswunivu\wx\setup.h"\r
+                                               AdditionalDependencies="&quot;$(INTDIR)&quot; &quot;$(OUTDIR)&quot;"/>\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Universal Debug|Win32">\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_lib\mswunivud\wx\setup.h"\r
+                                               CommandLine="copy &quot;$(InputPath)&quot; ..\..\lib\vc_lib\mswunivud\wx\setup.h"\r
+                                               Outputs="..\..\lib\vc_lib\mswunivud\wx\setup.h"\r
+                                               AdditionalDependencies="&quot;$(INTDIR)&quot; &quot;$(OUTDIR)&quot;"/>\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Release|Win32"/>\r
+                               <FileConfiguration\r
+                                       Name="Debug|Win32"/>\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\include\wx\msw\setup.h">\r
+                               <FileConfiguration\r
+                                       Name="DLL Universal Release|Win32"/>\r
+                               <FileConfiguration\r
+                                       Name="DLL Universal Debug|Win32"/>\r
+                               <FileConfiguration\r
+                                       Name="DLL Release|Win32">\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_dll\mswu\wx\setup.h"\r
+                                               CommandLine="copy &quot;$(InputPath)&quot; ..\..\lib\vc_dll\mswu\wx\setup.h"\r
+                                               Outputs="..\..\lib\vc_dll\mswu\wx\setup.h"\r
+                                               AdditionalDependencies="&quot;$(INTDIR)&quot; &quot;$(OUTDIR)&quot;"/>\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="DLL Debug|Win32">\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_dll\mswud\wx\setup.h"\r
+                                               CommandLine="copy &quot;$(InputPath)&quot; ..\..\lib\vc_dll\mswud\wx\setup.h"\r
+                                               Outputs="..\..\lib\vc_dll\mswud\wx\setup.h"\r
+                                               AdditionalDependencies="&quot;$(INTDIR)&quot; &quot;$(OUTDIR)&quot;"/>\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Universal Release|Win32"/>\r
+                               <FileConfiguration\r
+                                       Name="Universal Debug|Win32"/>\r
+                               <FileConfiguration\r
+                                       Name="Release|Win32">\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_lib\mswu\wx\setup.h"\r
+                                               CommandLine="copy &quot;$(InputPath)&quot; ..\..\lib\vc_lib\mswu\wx\setup.h"\r
+                                               Outputs="..\..\lib\vc_lib\mswu\wx\setup.h"\r
+                                               AdditionalDependencies="&quot;$(INTDIR)&quot; &quot;$(OUTDIR)&quot;"/>\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Debug|Win32">\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_lib\mswud\wx\setup.h"\r
+                                               CommandLine="copy &quot;$(InputPath)&quot; ..\..\lib\vc_lib\mswud\wx\setup.h"\r
+                                               Outputs="..\..\lib\vc_lib\mswud\wx\setup.h"\r
+                                               AdditionalDependencies="&quot;$(INTDIR)&quot; &quot;$(OUTDIR)&quot;"/>\r
+                               </FileConfiguration>\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="MSW Headers"\r
+                       UniqueIdentifier="{5AFFF20E-29F9-512B-B80A-7DC45976CDAC}">\r
+                       <File\r
+                               RelativePath="..\..\include\wx\msw\genrcdefs.h">\r
+                               <FileConfiguration\r
+                                       Name="DLL Universal Release|Win32">\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_dll\mswunivu\wx\msw\rcdefs.h"\r
+                                               CommandLine="cl /EP /nologo &quot;$(InputPath)&quot; &gt; &quot;..\..\lib\vc_dll\mswunivu\wx\msw\rcdefs.h&quot;"\r
+                                               Outputs="..\..\lib\vc_dll\mswunivu\wx\msw\rcdefs.h"\r
+                                               AdditionalDependencies="&quot;..\..\lib\vc_dll\mswunivu\wx\msw&quot;"/>\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="DLL Universal Debug|Win32">\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_dll\mswunivud\wx\msw\rcdefs.h"\r
+                                               CommandLine="cl /EP /nologo &quot;$(InputPath)&quot; &gt; &quot;..\..\lib\vc_dll\mswunivud\wx\msw\rcdefs.h&quot;"\r
+                                               Outputs="..\..\lib\vc_dll\mswunivud\wx\msw\rcdefs.h"\r
+                                               AdditionalDependencies="&quot;..\..\lib\vc_dll\mswunivud\wx\msw&quot;"/>\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="DLL Release|Win32">\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_dll\mswu\wx\msw\rcdefs.h"\r
+                                               CommandLine="cl /EP /nologo &quot;$(InputPath)&quot; &gt; &quot;..\..\lib\vc_dll\mswu\wx\msw\rcdefs.h&quot;"\r
+                                               Outputs="..\..\lib\vc_dll\mswu\wx\msw\rcdefs.h"\r
+                                               AdditionalDependencies="&quot;..\..\lib\vc_dll\mswu\wx\msw&quot;"/>\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="DLL Debug|Win32">\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_dll\mswud\wx\msw\rcdefs.h"\r
+                                               CommandLine="cl /EP /nologo &quot;$(InputPath)&quot; &gt; &quot;..\..\lib\vc_dll\mswud\wx\msw\rcdefs.h&quot;"\r
+                                               Outputs="..\..\lib\vc_dll\mswud\wx\msw\rcdefs.h"\r
+                                               AdditionalDependencies="&quot;..\..\lib\vc_dll\mswud\wx\msw&quot;"/>\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Universal Release|Win32">\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_lib\mswunivu\wx\msw\rcdefs.h"\r
+                                               CommandLine="cl /EP /nologo &quot;$(InputPath)&quot; &gt; &quot;..\..\lib\vc_lib\mswunivu\wx\msw\rcdefs.h&quot;"\r
+                                               Outputs="..\..\lib\vc_lib\mswunivu\wx\msw\rcdefs.h"\r
+                                               AdditionalDependencies="&quot;..\..\lib\vc_lib\mswunivu\wx\msw&quot;"/>\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Universal Debug|Win32">\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_lib\mswunivud\wx\msw\rcdefs.h"\r
+                                               CommandLine="cl /EP /nologo &quot;$(InputPath)&quot; &gt; &quot;..\..\lib\vc_lib\mswunivud\wx\msw\rcdefs.h&quot;"\r
+                                               Outputs="..\..\lib\vc_lib\mswunivud\wx\msw\rcdefs.h"\r
+                                               AdditionalDependencies="&quot;..\..\lib\vc_lib\mswunivud\wx\msw&quot;"/>\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Release|Win32">\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_lib\mswu\wx\msw\rcdefs.h"\r
+                                               CommandLine="cl /EP /nologo &quot;$(InputPath)&quot; &gt; &quot;..\..\lib\vc_lib\mswu\wx\msw\rcdefs.h&quot;"\r
+                                               Outputs="..\..\lib\vc_lib\mswu\wx\msw\rcdefs.h"\r
+                                               AdditionalDependencies="&quot;..\..\lib\vc_lib\mswu\wx\msw&quot;"/>\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Debug|Win32">\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_lib\mswud\wx\msw\rcdefs.h"\r
+                                               CommandLine="cl /EP /nologo &quot;$(InputPath)&quot; &gt; &quot;..\..\lib\vc_lib\mswud\wx\msw\rcdefs.h&quot;"\r
+                                               Outputs="..\..\lib\vc_lib\mswud\wx\msw\rcdefs.h"\r
+                                               AdditionalDependencies="&quot;..\..\lib\vc_lib\mswud\wx\msw&quot;"/>\r
+                               </FileConfiguration>\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="Common Headers"\r
+                       UniqueIdentifier="{8C07E926-65B0-5F00-B0D6-7F40DA69BB25}">\r
+                       <File\r
+                               RelativePath="..\..\include\wx\ribbon\art.h">\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\include\wx\ribbon\art_internal.h">\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\include\wx\ribbon\bar.h">\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\include\wx\ribbon\buttonbar.h">\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\include\wx\ribbon\control.h">\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\include\wx\ribbon\gallery.h">\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\include\wx\ribbon\page.h">\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\include\wx\ribbon\panel.h">\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\include\wx\ribbon\toolbar.h">\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="Source Files"\r
+                       Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"\r
+                       UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">\r
+                       <File\r
+                               RelativePath="..\..\src\ribbon\art_aui.cpp">\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\src\ribbon\art_internal.cpp">\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\src\ribbon\art_msw.cpp">\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\src\ribbon\bar.cpp">\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\src\ribbon\buttonbar.cpp">\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\src\ribbon\control.cpp">\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\src\ribbon\gallery.cpp">\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\src\ribbon\page.cpp">\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\src\ribbon\panel.cpp">\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\src\ribbon\toolbar.cpp">\r
+                       </File>\r
+               </Filter>\r
+       </Files>\r
+       <Globals>\r
+               \r
+       </Globals>\r
+</VisualStudioProject>\r
+\r
index c93bec41092f42344a3f03c11484ccd34a3f00e6..1be08934340418f32b00bf0d2812a3308840c4a8 100644 (file)
@@ -34,6 +34,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xrc", "wx_vc8_xrc.vcproj",
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aui", "wx_vc8_aui.vcproj", "{B361C000-79E7-5B8A-8F5F-BC0168C7002E}"\r
 EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ribbon", "wx_vc8_ribbon.vcproj", "{F751C47E-8534-571F-8E4A-F0E6AC978D63}"\r
+EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "propgrid", "wx_vc8_propgrid.vcproj", "{93781718-26B6-5541-84C5-78C6A8226AEC}"\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "richtext", "wx_vc8_richtext.vcproj", "{4928FA3B-C258-5E39-AE05-E4BD709955B3}"\r
@@ -343,6 +345,22 @@ Global
                {93781718-26B6-5541-84C5-78C6A8226AEC}.DLL Release|Win32.Build.0 = DLL Release|Win32\r
                {93781718-26B6-5541-84C5-78C6A8226AEC}.DLL Universal Debug|Win32.ActiveCfg = DLL Universal Debug|Win32\r
                {93781718-26B6-5541-84C5-78C6A8226AEC}.DLL Universal Debug|Win32.Build.0 = DLL Universal Debug|Win32\r
+               {F751C47E-8534-571F-8E4A-F0E6AC978D63}.DLL Universal Release|Win32.ActiveCfg = DLL Universal Release|Win32\r
+               {F751C47E-8534-571F-8E4A-F0E6AC978D63}.DLL Universal Release|Win32.Build.0 = DLL Universal Release|Win32\r
+               {F751C47E-8534-571F-8E4A-F0E6AC978D63}.DLL Universal Debug|Win32.ActiveCfg = DLL Universal Debug|Win32\r
+               {F751C47E-8534-571F-8E4A-F0E6AC978D63}.DLL Universal Debug|Win32.Build.0 = DLL Universal Debug|Win32\r
+               {F751C47E-8534-571F-8E4A-F0E6AC978D63}.DLL Release|Win32.ActiveCfg = DLL Release|Win32\r
+               {F751C47E-8534-571F-8E4A-F0E6AC978D63}.DLL Release|Win32.Build.0 = DLL Release|Win32\r
+               {F751C47E-8534-571F-8E4A-F0E6AC978D63}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32\r
+               {F751C47E-8534-571F-8E4A-F0E6AC978D63}.DLL Debug|Win32.Build.0 = DLL Debug|Win32\r
+               {F751C47E-8534-571F-8E4A-F0E6AC978D63}.Universal Release|Win32.ActiveCfg = Universal Release|Win32\r
+               {F751C47E-8534-571F-8E4A-F0E6AC978D63}.Universal Release|Win32.Build.0 = Universal Release|Win32\r
+               {F751C47E-8534-571F-8E4A-F0E6AC978D63}.Universal Debug|Win32.ActiveCfg = Universal Debug|Win32\r
+               {F751C47E-8534-571F-8E4A-F0E6AC978D63}.Universal Debug|Win32.Build.0 = Universal Debug|Win32\r
+               {F751C47E-8534-571F-8E4A-F0E6AC978D63}.Release|Win32.ActiveCfg = Release|Win32\r
+               {F751C47E-8534-571F-8E4A-F0E6AC978D63}.Release|Win32.Build.0 = Release|Win32\r
+               {F751C47E-8534-571F-8E4A-F0E6AC978D63}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {F751C47E-8534-571F-8E4A-F0E6AC978D63}.Debug|Win32.Build.0 = Debug|Win32\r
                {93781718-26B6-5541-84C5-78C6A8226AEC}.DLL Universal Release|Win32.ActiveCfg = DLL Universal Release|Win32\r
                {93781718-26B6-5541-84C5-78C6A8226AEC}.DLL Universal Release|Win32.Build.0 = DLL Universal Release|Win32\r
                {4928FA3B-C258-5E39-AE05-E4BD709955B3}.Debug|Win32.ActiveCfg = Debug|Win32\r
diff --git a/build/msw/wx_vc8_ribbon.vcproj b/build/msw/wx_vc8_ribbon.vcproj
new file mode 100644 (file)
index 0000000..0dd8bf1
--- /dev/null
@@ -0,0 +1,1137 @@
+<?xml version="1.0" encoding="Windows-1252"?>\r
+<!--\r
+\r
+  This makefile was generated by\r
+  Bakefile 0.2.5 (http://www.bakefile.org)\r
+  Do not modify, all changes will be overwritten!\r
+\r
+-->\r
+<VisualStudioProject\r
+       ProjectType="Visual C++"\r
+       Version="8.00"\r
+       Name="ribbon"\r
+       ProjectGUID="{F751C47E-8534-571F-8E4A-F0E6AC978D63}"\r
+       >\r
+       <Platforms>\r
+               <Platform\r
+                       Name="Win32"\r
+               />\r
+       </Platforms>\r
+       <ToolFiles>\r
+               \r
+       </ToolFiles>\r
+       <Configurations>\r
+               <Configuration\r
+                       Name="DLL Universal Release|Win32"\r
+                       OutputDirectory="..\..\lib\vc_dll"\r
+                       IntermediateDirectory="vc_mswunivudll\ribbon"\r
+                       ConfigurationType="2"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="2"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_dll\mswunivu;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                               PreprocessorDefinitions="_USRDLL;DLL_EXPORTS;__WXMSW__;__WXUNIVERSAL__;_UNICODE;WXBUILDING;WXUSINGDLL;WXMAKINGDLL_RIBBON"\r
+                               ExceptionHandling="1"\r
+                               RuntimeLibrary="2"\r
+                               RuntimeTypeInfo="true"\r
+                               UsePrecompiledHeader="2"\r
+                               PrecompiledHeaderThrough="wx/wxprec.h"\r
+                               PrecompiledHeaderFile="vc_mswunivudll\wxprec_ribbondll.pch"\r
+                               AssemblerListingLocation="vc_mswunivudll\ribbon\"\r
+                               ObjectFile="vc_mswunivudll\ribbon\"\r
+                               ProgramDataBaseFileName="..\..\lib\vc_dll\wxmswuniv290u_ribbon_vc_custom.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               Detect64BitPortabilityProblems="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="__WXMSW__;__WXUNIVERSAL__;_UNICODE;WXBUILDING;WXDLLNAME=wxmswuniv290u_ribbon_vc_custom;WXUSINGDLL;WXMAKINGDLL_RIBBON"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_dll\mswunivu;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxtiff.lib wxjpeg.lib wxpng.lib  wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib ..\..\lib\vc_dll\wxmswuniv29u_adv.lib ..\..\lib\vc_dll\wxmswuniv29u_core.lib ..\..\lib\vc_dll\wxbase29u.lib"\r
+                               OutputFile="..\..\lib\vc_dll\wxmswuniv290u_ribbon_vc_custom.dll"\r
+                               LinkIncremental="2"\r
+                               ImportLibrary="..\..\lib\vc_dll\wxmswuniv29u_ribbon.lib"\r
+                               SuppressStartupBanner="true"\r
+                               AdditionalLibraryDirectories="..\..\lib\vc_dll"\r
+                               GenerateManifest="true"\r
+                               GenerateDebugInformation="true"\r
+                               ProgramDatabaseFile="..\..\lib\vc_dll\wxmswuniv290u_ribbon_vc_custom.pdb"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="..\..\lib\vc_dll\wx_vc8_ribbon.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="DLL Universal Debug|Win32"\r
+                       OutputDirectory="..\..\lib\vc_dll"\r
+                       IntermediateDirectory="vc_mswunivuddll\ribbon"\r
+                       ConfigurationType="2"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="0"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_dll\mswunivud;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                               PreprocessorDefinitions="_USRDLL;DLL_EXPORTS;_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;WXBUILDING;WXUSINGDLL;WXMAKINGDLL_RIBBON"\r
+                               MinimalRebuild="true"\r
+                               ExceptionHandling="1"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="3"\r
+                               BufferSecurityCheck="true"\r
+                               RuntimeTypeInfo="true"\r
+                               UsePrecompiledHeader="2"\r
+                               PrecompiledHeaderThrough="wx/wxprec.h"\r
+                               PrecompiledHeaderFile="vc_mswunivuddll\wxprec_ribbondll.pch"\r
+                               AssemblerListingLocation="vc_mswunivuddll\ribbon\"\r
+                               ObjectFile="vc_mswunivuddll\ribbon\"\r
+                               ProgramDataBaseFileName="..\..\lib\vc_dll\wxmswuniv290ud_ribbon_vc_custom.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               Detect64BitPortabilityProblems="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;WXBUILDING;WXDLLNAME=wxmswuniv290ud_ribbon_vc_custom;WXUSINGDLL;WXMAKINGDLL_RIBBON"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_dll\mswunivud;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxtiffd.lib wxjpegd.lib wxpngd.lib  wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib ..\..\lib\vc_dll\wxmswuniv29ud_adv.lib ..\..\lib\vc_dll\wxmswuniv29ud_core.lib ..\..\lib\vc_dll\wxbase29ud.lib"\r
+                               OutputFile="..\..\lib\vc_dll\wxmswuniv290ud_ribbon_vc_custom.dll"\r
+                               LinkIncremental="2"\r
+                               ImportLibrary="..\..\lib\vc_dll\wxmswuniv29ud_ribbon.lib"\r
+                               SuppressStartupBanner="true"\r
+                               AdditionalLibraryDirectories="..\..\lib\vc_dll"\r
+                               GenerateManifest="true"\r
+                               GenerateDebugInformation="true"\r
+                               ProgramDatabaseFile="..\..\lib\vc_dll\wxmswuniv290ud_ribbon_vc_custom.pdb"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="..\..\lib\vc_dll\wx_vc8_ribbon.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="DLL Release|Win32"\r
+                       OutputDirectory="..\..\lib\vc_dll"\r
+                       IntermediateDirectory="vc_mswudll\ribbon"\r
+                       ConfigurationType="2"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="2"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_dll\mswu;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                               PreprocessorDefinitions="_USRDLL;DLL_EXPORTS;__WXMSW__;_UNICODE;WXBUILDING;WXUSINGDLL;WXMAKINGDLL_RIBBON"\r
+                               ExceptionHandling="1"\r
+                               RuntimeLibrary="2"\r
+                               RuntimeTypeInfo="true"\r
+                               UsePrecompiledHeader="2"\r
+                               PrecompiledHeaderThrough="wx/wxprec.h"\r
+                               PrecompiledHeaderFile="vc_mswudll\wxprec_ribbondll.pch"\r
+                               AssemblerListingLocation="vc_mswudll\ribbon\"\r
+                               ObjectFile="vc_mswudll\ribbon\"\r
+                               ProgramDataBaseFileName="..\..\lib\vc_dll\wxmsw290u_ribbon_vc_custom.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               Detect64BitPortabilityProblems="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="__WXMSW__;_UNICODE;WXBUILDING;WXDLLNAME=wxmsw290u_ribbon_vc_custom;WXUSINGDLL;WXMAKINGDLL_RIBBON"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_dll\mswu;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxtiff.lib wxjpeg.lib wxpng.lib  wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib ..\..\lib\vc_dll\wxmsw29u_adv.lib ..\..\lib\vc_dll\wxmsw29u_core.lib ..\..\lib\vc_dll\wxbase29u.lib"\r
+                               OutputFile="..\..\lib\vc_dll\wxmsw290u_ribbon_vc_custom.dll"\r
+                               LinkIncremental="2"\r
+                               ImportLibrary="..\..\lib\vc_dll\wxmsw29u_ribbon.lib"\r
+                               SuppressStartupBanner="true"\r
+                               AdditionalLibraryDirectories="..\..\lib\vc_dll"\r
+                               GenerateManifest="true"\r
+                               GenerateDebugInformation="true"\r
+                               ProgramDatabaseFile="..\..\lib\vc_dll\wxmsw290u_ribbon_vc_custom.pdb"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="..\..\lib\vc_dll\wx_vc8_ribbon.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="DLL Debug|Win32"\r
+                       OutputDirectory="..\..\lib\vc_dll"\r
+                       IntermediateDirectory="vc_mswuddll\ribbon"\r
+                       ConfigurationType="2"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="0"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_dll\mswud;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                               PreprocessorDefinitions="_USRDLL;DLL_EXPORTS;_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;WXBUILDING;WXUSINGDLL;WXMAKINGDLL_RIBBON"\r
+                               MinimalRebuild="true"\r
+                               ExceptionHandling="1"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="3"\r
+                               BufferSecurityCheck="true"\r
+                               RuntimeTypeInfo="true"\r
+                               UsePrecompiledHeader="2"\r
+                               PrecompiledHeaderThrough="wx/wxprec.h"\r
+                               PrecompiledHeaderFile="vc_mswuddll\wxprec_ribbondll.pch"\r
+                               AssemblerListingLocation="vc_mswuddll\ribbon\"\r
+                               ObjectFile="vc_mswuddll\ribbon\"\r
+                               ProgramDataBaseFileName="..\..\lib\vc_dll\wxmsw290ud_ribbon_vc_custom.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               Detect64BitPortabilityProblems="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;WXBUILDING;WXDLLNAME=wxmsw290ud_ribbon_vc_custom;WXUSINGDLL;WXMAKINGDLL_RIBBON"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_dll\mswud;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxtiffd.lib wxjpegd.lib wxpngd.lib  wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib ..\..\lib\vc_dll\wxmsw29ud_adv.lib ..\..\lib\vc_dll\wxmsw29ud_core.lib ..\..\lib\vc_dll\wxbase29ud.lib"\r
+                               OutputFile="..\..\lib\vc_dll\wxmsw290ud_ribbon_vc_custom.dll"\r
+                               LinkIncremental="2"\r
+                               ImportLibrary="..\..\lib\vc_dll\wxmsw29ud_ribbon.lib"\r
+                               SuppressStartupBanner="true"\r
+                               AdditionalLibraryDirectories="..\..\lib\vc_dll"\r
+                               GenerateManifest="true"\r
+                               GenerateDebugInformation="true"\r
+                               ProgramDatabaseFile="..\..\lib\vc_dll\wxmsw290ud_ribbon_vc_custom.pdb"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="..\..\lib\vc_dll\wx_vc8_ribbon.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Universal Release|Win32"\r
+                       OutputDirectory="..\..\lib\vc_lib"\r
+                       IntermediateDirectory="vc_mswunivu\ribbon"\r
+                       ConfigurationType="4"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="2"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_lib\mswunivu;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                               PreprocessorDefinitions="_LIB;__WXMSW__;__WXUNIVERSAL__;_UNICODE;WXBUILDING"\r
+                               ExceptionHandling="1"\r
+                               RuntimeLibrary="2"\r
+                               RuntimeTypeInfo="true"\r
+                               UsePrecompiledHeader="2"\r
+                               PrecompiledHeaderThrough="wx/wxprec.h"\r
+                               PrecompiledHeaderFile="vc_mswunivu\wxprec_ribbonlib.pch"\r
+                               AssemblerListingLocation="vc_mswunivu\ribbon\"\r
+                               ObjectFile="vc_mswunivu\ribbon\"\r
+                               ProgramDataBaseFileName="..\..\lib\vc_lib\wxmswuniv29u_ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               Detect64BitPortabilityProblems="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="__WXMSW__;__WXUNIVERSAL__;_UNICODE;WXBUILDING"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_lib\mswunivu;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLibrarianTool"\r
+                               OutputFile="..\..\lib\vc_lib\wxmswuniv29u_ribbon.lib"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="..\..\lib\vc_lib\wx_vc8_ribbon.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Universal Debug|Win32"\r
+                       OutputDirectory="..\..\lib\vc_lib"\r
+                       IntermediateDirectory="vc_mswunivud\ribbon"\r
+                       ConfigurationType="4"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="0"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_lib\mswunivud;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                               PreprocessorDefinitions="_LIB;_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;WXBUILDING"\r
+                               MinimalRebuild="true"\r
+                               ExceptionHandling="1"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="3"\r
+                               BufferSecurityCheck="true"\r
+                               RuntimeTypeInfo="true"\r
+                               UsePrecompiledHeader="2"\r
+                               PrecompiledHeaderThrough="wx/wxprec.h"\r
+                               PrecompiledHeaderFile="vc_mswunivud\wxprec_ribbonlib.pch"\r
+                               AssemblerListingLocation="vc_mswunivud\ribbon\"\r
+                               ObjectFile="vc_mswunivud\ribbon\"\r
+                               ProgramDataBaseFileName="..\..\lib\vc_lib\wxmswuniv29ud_ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               Detect64BitPortabilityProblems="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;WXBUILDING"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_lib\mswunivud;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLibrarianTool"\r
+                               OutputFile="..\..\lib\vc_lib\wxmswuniv29ud_ribbon.lib"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="..\..\lib\vc_lib\wx_vc8_ribbon.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Release|Win32"\r
+                       OutputDirectory="..\..\lib\vc_lib"\r
+                       IntermediateDirectory="vc_mswu\ribbon"\r
+                       ConfigurationType="4"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="2"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_lib\mswu;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                               PreprocessorDefinitions="_LIB;__WXMSW__;_UNICODE;WXBUILDING"\r
+                               ExceptionHandling="1"\r
+                               RuntimeLibrary="2"\r
+                               RuntimeTypeInfo="true"\r
+                               UsePrecompiledHeader="2"\r
+                               PrecompiledHeaderThrough="wx/wxprec.h"\r
+                               PrecompiledHeaderFile="vc_mswu\wxprec_ribbonlib.pch"\r
+                               AssemblerListingLocation="vc_mswu\ribbon\"\r
+                               ObjectFile="vc_mswu\ribbon\"\r
+                               ProgramDataBaseFileName="..\..\lib\vc_lib\wxmsw29u_ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               Detect64BitPortabilityProblems="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="__WXMSW__;_UNICODE;WXBUILDING"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_lib\mswu;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLibrarianTool"\r
+                               OutputFile="..\..\lib\vc_lib\wxmsw29u_ribbon.lib"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="..\..\lib\vc_lib\wx_vc8_ribbon.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Debug|Win32"\r
+                       OutputDirectory="..\..\lib\vc_lib"\r
+                       IntermediateDirectory="vc_mswud\ribbon"\r
+                       ConfigurationType="4"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="0"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_lib\mswud;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                               PreprocessorDefinitions="_LIB;_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;WXBUILDING"\r
+                               MinimalRebuild="true"\r
+                               ExceptionHandling="1"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="3"\r
+                               BufferSecurityCheck="true"\r
+                               RuntimeTypeInfo="true"\r
+                               UsePrecompiledHeader="2"\r
+                               PrecompiledHeaderThrough="wx/wxprec.h"\r
+                               PrecompiledHeaderFile="vc_mswud\wxprec_ribbonlib.pch"\r
+                               AssemblerListingLocation="vc_mswud\ribbon\"\r
+                               ObjectFile="vc_mswud\ribbon\"\r
+                               ProgramDataBaseFileName="..\..\lib\vc_lib\wxmsw29ud_ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               Detect64BitPortabilityProblems="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;WXBUILDING"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_lib\mswud;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLibrarianTool"\r
+                               OutputFile="..\..\lib\vc_lib\wxmsw29ud_ribbon.lib"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="..\..\lib\vc_lib\wx_vc8_ribbon.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+       </Configurations>\r
+       <References>\r
+               \r
+       </References>\r
+       <Files>\r
+               <Filter\r
+                       Name="Common Sources"\r
+                       UniqueIdentifier="{A6A5C30D-BDB6-5050-906D-10A96065136C}"\r
+                       >\r
+                       <File\r
+                               RelativePath="..\..\src\common\dummy.cpp"\r
+                               >\r
+                               <FileConfiguration\r
+                                       Name="DLL Universal Release|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCLCompilerTool"\r
+                                               UsePrecompiledHeader="1"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="DLL Universal Debug|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCLCompilerTool"\r
+                                               UsePrecompiledHeader="1"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="DLL Release|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCLCompilerTool"\r
+                                               UsePrecompiledHeader="1"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="DLL Debug|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCLCompilerTool"\r
+                                               UsePrecompiledHeader="1"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Universal Release|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCLCompilerTool"\r
+                                               UsePrecompiledHeader="1"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Universal Debug|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCLCompilerTool"\r
+                                               UsePrecompiledHeader="1"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Release|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCLCompilerTool"\r
+                                               UsePrecompiledHeader="1"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Debug|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCLCompilerTool"\r
+                                               UsePrecompiledHeader="1"\r
+                                       />\r
+                               </FileConfiguration>\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="MSW Sources"\r
+                       UniqueIdentifier="{D030D8C2-53EE-5B96-8F89-D78157B06140}"\r
+                       >\r
+                       <File\r
+                               RelativePath="..\..\src\msw\version.rc"\r
+                               >\r
+                               <FileConfiguration\r
+                                       Name="Universal Release|Win32"\r
+                                       ExcludedFromBuild="true"\r
+                               />\r
+                               <FileConfiguration\r
+                                       Name="Universal Debug|Win32"\r
+                                       ExcludedFromBuild="true"\r
+                               />\r
+                               <FileConfiguration\r
+                                       Name="Release|Win32"\r
+                                       ExcludedFromBuild="true"\r
+                               />\r
+                               <FileConfiguration\r
+                                       Name="Debug|Win32"\r
+                                       ExcludedFromBuild="true"\r
+                               />\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="Setup Headers"\r
+                       UniqueIdentifier="{63537534-1833-5C1F-8DBD-359A84F294C8}"\r
+                       >\r
+                       <File\r
+                               RelativePath="..\..\include\wx\univ\setup.h"\r
+                               >\r
+                               <FileConfiguration\r
+                                       Name="DLL Universal Release|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_dll\mswunivu\wx\setup.h"\r
+                                               CommandLine="copy &quot;$(InputPath)&quot; ..\..\lib\vc_dll\mswunivu\wx\setup.h"\r
+                                               Outputs="..\..\lib\vc_dll\mswunivu\wx\setup.h"\r
+                                               AdditionalDependencies="&quot;$(INTDIR)&quot; &quot;$(OUTDIR)&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="DLL Universal Debug|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_dll\mswunivud\wx\setup.h"\r
+                                               CommandLine="copy &quot;$(InputPath)&quot; ..\..\lib\vc_dll\mswunivud\wx\setup.h"\r
+                                               Outputs="..\..\lib\vc_dll\mswunivud\wx\setup.h"\r
+                                               AdditionalDependencies="&quot;$(INTDIR)&quot; &quot;$(OUTDIR)&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="DLL Release|Win32"\r
+                               />\r
+                               <FileConfiguration\r
+                                       Name="DLL Debug|Win32"\r
+                               />\r
+                               <FileConfiguration\r
+                                       Name="Universal Release|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_lib\mswunivu\wx\setup.h"\r
+                                               CommandLine="copy &quot;$(InputPath)&quot; ..\..\lib\vc_lib\mswunivu\wx\setup.h"\r
+                                               Outputs="..\..\lib\vc_lib\mswunivu\wx\setup.h"\r
+                                               AdditionalDependencies="&quot;$(INTDIR)&quot; &quot;$(OUTDIR)&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Universal Debug|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_lib\mswunivud\wx\setup.h"\r
+                                               CommandLine="copy &quot;$(InputPath)&quot; ..\..\lib\vc_lib\mswunivud\wx\setup.h"\r
+                                               Outputs="..\..\lib\vc_lib\mswunivud\wx\setup.h"\r
+                                               AdditionalDependencies="&quot;$(INTDIR)&quot; &quot;$(OUTDIR)&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Release|Win32"\r
+                               />\r
+                               <FileConfiguration\r
+                                       Name="Debug|Win32"\r
+                               />\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\include\wx\msw\setup.h"\r
+                               >\r
+                               <FileConfiguration\r
+                                       Name="DLL Universal Release|Win32"\r
+                               />\r
+                               <FileConfiguration\r
+                                       Name="DLL Universal Debug|Win32"\r
+                               />\r
+                               <FileConfiguration\r
+                                       Name="DLL Release|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_dll\mswu\wx\setup.h"\r
+                                               CommandLine="copy &quot;$(InputPath)&quot; ..\..\lib\vc_dll\mswu\wx\setup.h"\r
+                                               Outputs="..\..\lib\vc_dll\mswu\wx\setup.h"\r
+                                               AdditionalDependencies="&quot;$(INTDIR)&quot; &quot;$(OUTDIR)&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="DLL Debug|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_dll\mswud\wx\setup.h"\r
+                                               CommandLine="copy &quot;$(InputPath)&quot; ..\..\lib\vc_dll\mswud\wx\setup.h"\r
+                                               Outputs="..\..\lib\vc_dll\mswud\wx\setup.h"\r
+                                               AdditionalDependencies="&quot;$(INTDIR)&quot; &quot;$(OUTDIR)&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Universal Release|Win32"\r
+                               />\r
+                               <FileConfiguration\r
+                                       Name="Universal Debug|Win32"\r
+                               />\r
+                               <FileConfiguration\r
+                                       Name="Release|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_lib\mswu\wx\setup.h"\r
+                                               CommandLine="copy &quot;$(InputPath)&quot; ..\..\lib\vc_lib\mswu\wx\setup.h"\r
+                                               Outputs="..\..\lib\vc_lib\mswu\wx\setup.h"\r
+                                               AdditionalDependencies="&quot;$(INTDIR)&quot; &quot;$(OUTDIR)&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Debug|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_lib\mswud\wx\setup.h"\r
+                                               CommandLine="copy &quot;$(InputPath)&quot; ..\..\lib\vc_lib\mswud\wx\setup.h"\r
+                                               Outputs="..\..\lib\vc_lib\mswud\wx\setup.h"\r
+                                               AdditionalDependencies="&quot;$(INTDIR)&quot; &quot;$(OUTDIR)&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="MSW Headers"\r
+                       UniqueIdentifier="{5AFFF20E-29F9-512B-B80A-7DC45976CDAC}"\r
+                       >\r
+                       <File\r
+                               RelativePath="..\..\include\wx\msw\genrcdefs.h"\r
+                               >\r
+                               <FileConfiguration\r
+                                       Name="DLL Universal Release|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_dll\mswunivu\wx\msw\rcdefs.h"\r
+                                               CommandLine="cl /EP /nologo &quot;$(InputPath)&quot; &gt; &quot;..\..\lib\vc_dll\mswunivu\wx\msw\rcdefs.h&quot;"\r
+                                               Outputs="..\..\lib\vc_dll\mswunivu\wx\msw\rcdefs.h"\r
+                                               AdditionalDependencies="&quot;..\..\lib\vc_dll\mswunivu\wx\msw&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="DLL Universal Debug|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_dll\mswunivud\wx\msw\rcdefs.h"\r
+                                               CommandLine="cl /EP /nologo &quot;$(InputPath)&quot; &gt; &quot;..\..\lib\vc_dll\mswunivud\wx\msw\rcdefs.h&quot;"\r
+                                               Outputs="..\..\lib\vc_dll\mswunivud\wx\msw\rcdefs.h"\r
+                                               AdditionalDependencies="&quot;..\..\lib\vc_dll\mswunivud\wx\msw&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="DLL Release|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_dll\mswu\wx\msw\rcdefs.h"\r
+                                               CommandLine="cl /EP /nologo &quot;$(InputPath)&quot; &gt; &quot;..\..\lib\vc_dll\mswu\wx\msw\rcdefs.h&quot;"\r
+                                               Outputs="..\..\lib\vc_dll\mswu\wx\msw\rcdefs.h"\r
+                                               AdditionalDependencies="&quot;..\..\lib\vc_dll\mswu\wx\msw&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="DLL Debug|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_dll\mswud\wx\msw\rcdefs.h"\r
+                                               CommandLine="cl /EP /nologo &quot;$(InputPath)&quot; &gt; &quot;..\..\lib\vc_dll\mswud\wx\msw\rcdefs.h&quot;"\r
+                                               Outputs="..\..\lib\vc_dll\mswud\wx\msw\rcdefs.h"\r
+                                               AdditionalDependencies="&quot;..\..\lib\vc_dll\mswud\wx\msw&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Universal Release|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_lib\mswunivu\wx\msw\rcdefs.h"\r
+                                               CommandLine="cl /EP /nologo &quot;$(InputPath)&quot; &gt; &quot;..\..\lib\vc_lib\mswunivu\wx\msw\rcdefs.h&quot;"\r
+                                               Outputs="..\..\lib\vc_lib\mswunivu\wx\msw\rcdefs.h"\r
+                                               AdditionalDependencies="&quot;..\..\lib\vc_lib\mswunivu\wx\msw&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Universal Debug|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_lib\mswunivud\wx\msw\rcdefs.h"\r
+                                               CommandLine="cl /EP /nologo &quot;$(InputPath)&quot; &gt; &quot;..\..\lib\vc_lib\mswunivud\wx\msw\rcdefs.h&quot;"\r
+                                               Outputs="..\..\lib\vc_lib\mswunivud\wx\msw\rcdefs.h"\r
+                                               AdditionalDependencies="&quot;..\..\lib\vc_lib\mswunivud\wx\msw&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Release|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_lib\mswu\wx\msw\rcdefs.h"\r
+                                               CommandLine="cl /EP /nologo &quot;$(InputPath)&quot; &gt; &quot;..\..\lib\vc_lib\mswu\wx\msw\rcdefs.h&quot;"\r
+                                               Outputs="..\..\lib\vc_lib\mswu\wx\msw\rcdefs.h"\r
+                                               AdditionalDependencies="&quot;..\..\lib\vc_lib\mswu\wx\msw&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Debug|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_lib\mswud\wx\msw\rcdefs.h"\r
+                                               CommandLine="cl /EP /nologo &quot;$(InputPath)&quot; &gt; &quot;..\..\lib\vc_lib\mswud\wx\msw\rcdefs.h&quot;"\r
+                                               Outputs="..\..\lib\vc_lib\mswud\wx\msw\rcdefs.h"\r
+                                               AdditionalDependencies="&quot;..\..\lib\vc_lib\mswud\wx\msw&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="Common Headers"\r
+                       UniqueIdentifier="{8C07E926-65B0-5F00-B0D6-7F40DA69BB25}"\r
+                       >\r
+                       <File\r
+                               RelativePath="..\..\include\wx\ribbon\art.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\include\wx\ribbon\art_internal.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\include\wx\ribbon\bar.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\include\wx\ribbon\buttonbar.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\include\wx\ribbon\control.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\include\wx\ribbon\gallery.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\include\wx\ribbon\page.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\include\wx\ribbon\panel.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\include\wx\ribbon\toolbar.h"\r
+                               >\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="Source Files"\r
+                       Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"\r
+                       UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"\r
+                       >\r
+                       <File\r
+                               RelativePath="..\..\src\ribbon\art_aui.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\src\ribbon\art_internal.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\src\ribbon\art_msw.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\src\ribbon\bar.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\src\ribbon\buttonbar.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\src\ribbon\control.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\src\ribbon\gallery.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\src\ribbon\page.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\src\ribbon\panel.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\src\ribbon\toolbar.cpp"\r
+                               >\r
+                       </File>\r
+               </Filter>\r
+       </Files>\r
+       <Globals>\r
+               \r
+       </Globals>\r
+</VisualStudioProject>\r
+\r
index 86fc0de07df31e33ad52a268da706c7b09b9d50e..357899e87000877bbbaadb19db40928f6d05da7f 100644 (file)
@@ -34,6 +34,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xrc", "wx_vc9_xrc.vcproj",
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aui", "wx_vc9_aui.vcproj", "{A16D3832-0F42-57CE-8F48-50E06649ADE8}"\r
 EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ribbon", "wx_vc9_ribbon.vcproj", "{87B42A9C-3F5C-53D7-9017-2B1CAE39457D}"\r
+EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "propgrid", "wx_vc9_propgrid.vcproj", "{97FDAB45-9C58-5BC5-A2F4-EE42739EBC63}"\r
 EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "richtext", "wx_vc9_richtext.vcproj", "{7FB0902D-8579-5DCE-B883-DAF66A885005}"\r
@@ -343,6 +345,22 @@ Global
                {97FDAB45-9C58-5BC5-A2F4-EE42739EBC63}.DLL Release|Win32.Build.0 = DLL Release|Win32\r
                {97FDAB45-9C58-5BC5-A2F4-EE42739EBC63}.DLL Universal Debug|Win32.ActiveCfg = DLL Universal Debug|Win32\r
                {97FDAB45-9C58-5BC5-A2F4-EE42739EBC63}.DLL Universal Debug|Win32.Build.0 = DLL Universal Debug|Win32\r
+               {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.DLL Universal Release|Win32.ActiveCfg = DLL Universal Release|Win32\r
+               {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.DLL Universal Release|Win32.Build.0 = DLL Universal Release|Win32\r
+               {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.DLL Universal Debug|Win32.ActiveCfg = DLL Universal Debug|Win32\r
+               {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.DLL Universal Debug|Win32.Build.0 = DLL Universal Debug|Win32\r
+               {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.DLL Release|Win32.ActiveCfg = DLL Release|Win32\r
+               {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.DLL Release|Win32.Build.0 = DLL Release|Win32\r
+               {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32\r
+               {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.DLL Debug|Win32.Build.0 = DLL Debug|Win32\r
+               {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.Universal Release|Win32.ActiveCfg = Universal Release|Win32\r
+               {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.Universal Release|Win32.Build.0 = Universal Release|Win32\r
+               {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.Universal Debug|Win32.ActiveCfg = Universal Debug|Win32\r
+               {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.Universal Debug|Win32.Build.0 = Universal Debug|Win32\r
+               {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.Release|Win32.ActiveCfg = Release|Win32\r
+               {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.Release|Win32.Build.0 = Release|Win32\r
+               {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {87B42A9C-3F5C-53D7-9017-2B1CAE39457D}.Debug|Win32.Build.0 = Debug|Win32\r
                {97FDAB45-9C58-5BC5-A2F4-EE42739EBC63}.DLL Universal Release|Win32.ActiveCfg = DLL Universal Release|Win32\r
                {97FDAB45-9C58-5BC5-A2F4-EE42739EBC63}.DLL Universal Release|Win32.Build.0 = DLL Universal Release|Win32\r
                {7FB0902D-8579-5DCE-B883-DAF66A885005}.Debug|Win32.ActiveCfg = Debug|Win32\r
diff --git a/build/msw/wx_vc9_ribbon.vcproj b/build/msw/wx_vc9_ribbon.vcproj
new file mode 100644 (file)
index 0000000..71b73ae
--- /dev/null
@@ -0,0 +1,1133 @@
+<?xml version="1.0" encoding="Windows-1252"?>\r
+<!--\r
+\r
+  This makefile was generated by\r
+  Bakefile 0.2.5 (http://www.bakefile.org)\r
+  Do not modify, all changes will be overwritten!\r
+\r
+-->\r
+<VisualStudioProject\r
+       ProjectType="Visual C++"\r
+       Version="9.00"\r
+       Name="ribbon"\r
+       ProjectGUID="{87B42A9C-3F5C-53D7-9017-2B1CAE39457D}"\r
+       >\r
+       <Platforms>\r
+               <Platform\r
+                       Name="Win32"\r
+               />\r
+       </Platforms>\r
+       <ToolFiles>\r
+               \r
+       </ToolFiles>\r
+       <Configurations>\r
+               <Configuration\r
+                       Name="DLL Universal Release|Win32"\r
+                       OutputDirectory="..\..\lib\vc_dll"\r
+                       IntermediateDirectory="vc_mswunivudll\ribbon"\r
+                       ConfigurationType="2"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               AdditionalOptions="/MP"\r
+                               Optimization="2"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_dll\mswunivu;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                               PreprocessorDefinitions="_USRDLL;DLL_EXPORTS;__WXMSW__;__WXUNIVERSAL__;_UNICODE;WXBUILDING;WXUSINGDLL;WXMAKINGDLL_RIBBON"\r
+                               ExceptionHandling="1"\r
+                               RuntimeLibrary="2"\r
+                               RuntimeTypeInfo="true"\r
+                               UsePrecompiledHeader="2"\r
+                               PrecompiledHeaderThrough="wx/wxprec.h"\r
+                               PrecompiledHeaderFile="vc_mswunivudll\wxprec_ribbondll.pch"\r
+                               AssemblerListingLocation="vc_mswunivudll\ribbon\"\r
+                               ObjectFile="vc_mswunivudll\ribbon\"\r
+                               ProgramDataBaseFileName="..\..\lib\vc_dll\wxmswuniv290u_ribbon_vc_custom.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="__WXMSW__;__WXUNIVERSAL__;_UNICODE;WXBUILDING;WXDLLNAME=wxmswuniv290u_ribbon_vc_custom;WXUSINGDLL;WXMAKINGDLL_RIBBON"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_dll\mswunivu;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxtiff.lib wxjpeg.lib wxpng.lib  wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib ..\..\lib\vc_dll\wxmswuniv29u_adv.lib ..\..\lib\vc_dll\wxmswuniv29u_core.lib ..\..\lib\vc_dll\wxbase29u.lib"\r
+                               OutputFile="..\..\lib\vc_dll\wxmswuniv290u_ribbon_vc_custom.dll"\r
+                               LinkIncremental="2"\r
+                               ImportLibrary="..\..\lib\vc_dll\wxmswuniv29u_ribbon.lib"\r
+                               SuppressStartupBanner="true"\r
+                               AdditionalLibraryDirectories="..\..\lib\vc_dll"\r
+                               GenerateManifest="true"\r
+                               GenerateDebugInformation="true"\r
+                               ProgramDatabaseFile="..\..\lib\vc_dll\wxmswuniv290u_ribbon_vc_custom.pdb"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="..\..\lib\vc_dll\wx_vc9_ribbon.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="DLL Universal Debug|Win32"\r
+                       OutputDirectory="..\..\lib\vc_dll"\r
+                       IntermediateDirectory="vc_mswunivuddll\ribbon"\r
+                       ConfigurationType="2"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               AdditionalOptions="/MP"\r
+                               Optimization="0"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_dll\mswunivud;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                               PreprocessorDefinitions="_USRDLL;DLL_EXPORTS;_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;WXBUILDING;WXUSINGDLL;WXMAKINGDLL_RIBBON"\r
+                               ExceptionHandling="1"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="3"\r
+                               BufferSecurityCheck="true"\r
+                               RuntimeTypeInfo="true"\r
+                               UsePrecompiledHeader="2"\r
+                               PrecompiledHeaderThrough="wx/wxprec.h"\r
+                               PrecompiledHeaderFile="vc_mswunivuddll\wxprec_ribbondll.pch"\r
+                               AssemblerListingLocation="vc_mswunivuddll\ribbon\"\r
+                               ObjectFile="vc_mswunivuddll\ribbon\"\r
+                               ProgramDataBaseFileName="..\..\lib\vc_dll\wxmswuniv290ud_ribbon_vc_custom.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;WXBUILDING;WXDLLNAME=wxmswuniv290ud_ribbon_vc_custom;WXUSINGDLL;WXMAKINGDLL_RIBBON"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_dll\mswunivud;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxtiffd.lib wxjpegd.lib wxpngd.lib  wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib ..\..\lib\vc_dll\wxmswuniv29ud_adv.lib ..\..\lib\vc_dll\wxmswuniv29ud_core.lib ..\..\lib\vc_dll\wxbase29ud.lib"\r
+                               OutputFile="..\..\lib\vc_dll\wxmswuniv290ud_ribbon_vc_custom.dll"\r
+                               LinkIncremental="2"\r
+                               ImportLibrary="..\..\lib\vc_dll\wxmswuniv29ud_ribbon.lib"\r
+                               SuppressStartupBanner="true"\r
+                               AdditionalLibraryDirectories="..\..\lib\vc_dll"\r
+                               GenerateManifest="true"\r
+                               GenerateDebugInformation="true"\r
+                               ProgramDatabaseFile="..\..\lib\vc_dll\wxmswuniv290ud_ribbon_vc_custom.pdb"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="..\..\lib\vc_dll\wx_vc9_ribbon.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="DLL Release|Win32"\r
+                       OutputDirectory="..\..\lib\vc_dll"\r
+                       IntermediateDirectory="vc_mswudll\ribbon"\r
+                       ConfigurationType="2"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               AdditionalOptions="/MP"\r
+                               Optimization="2"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_dll\mswu;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                               PreprocessorDefinitions="_USRDLL;DLL_EXPORTS;__WXMSW__;_UNICODE;WXBUILDING;WXUSINGDLL;WXMAKINGDLL_RIBBON"\r
+                               ExceptionHandling="1"\r
+                               RuntimeLibrary="2"\r
+                               RuntimeTypeInfo="true"\r
+                               UsePrecompiledHeader="2"\r
+                               PrecompiledHeaderThrough="wx/wxprec.h"\r
+                               PrecompiledHeaderFile="vc_mswudll\wxprec_ribbondll.pch"\r
+                               AssemblerListingLocation="vc_mswudll\ribbon\"\r
+                               ObjectFile="vc_mswudll\ribbon\"\r
+                               ProgramDataBaseFileName="..\..\lib\vc_dll\wxmsw290u_ribbon_vc_custom.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="__WXMSW__;_UNICODE;WXBUILDING;WXDLLNAME=wxmsw290u_ribbon_vc_custom;WXUSINGDLL;WXMAKINGDLL_RIBBON"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_dll\mswu;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxtiff.lib wxjpeg.lib wxpng.lib  wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib ..\..\lib\vc_dll\wxmsw29u_adv.lib ..\..\lib\vc_dll\wxmsw29u_core.lib ..\..\lib\vc_dll\wxbase29u.lib"\r
+                               OutputFile="..\..\lib\vc_dll\wxmsw290u_ribbon_vc_custom.dll"\r
+                               LinkIncremental="2"\r
+                               ImportLibrary="..\..\lib\vc_dll\wxmsw29u_ribbon.lib"\r
+                               SuppressStartupBanner="true"\r
+                               AdditionalLibraryDirectories="..\..\lib\vc_dll"\r
+                               GenerateManifest="true"\r
+                               GenerateDebugInformation="true"\r
+                               ProgramDatabaseFile="..\..\lib\vc_dll\wxmsw290u_ribbon_vc_custom.pdb"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="..\..\lib\vc_dll\wx_vc9_ribbon.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="DLL Debug|Win32"\r
+                       OutputDirectory="..\..\lib\vc_dll"\r
+                       IntermediateDirectory="vc_mswuddll\ribbon"\r
+                       ConfigurationType="2"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               AdditionalOptions="/MP"\r
+                               Optimization="0"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_dll\mswud;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                               PreprocessorDefinitions="_USRDLL;DLL_EXPORTS;_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;WXBUILDING;WXUSINGDLL;WXMAKINGDLL_RIBBON"\r
+                               ExceptionHandling="1"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="3"\r
+                               BufferSecurityCheck="true"\r
+                               RuntimeTypeInfo="true"\r
+                               UsePrecompiledHeader="2"\r
+                               PrecompiledHeaderThrough="wx/wxprec.h"\r
+                               PrecompiledHeaderFile="vc_mswuddll\wxprec_ribbondll.pch"\r
+                               AssemblerListingLocation="vc_mswuddll\ribbon\"\r
+                               ObjectFile="vc_mswuddll\ribbon\"\r
+                               ProgramDataBaseFileName="..\..\lib\vc_dll\wxmsw290ud_ribbon_vc_custom.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;WXBUILDING;WXDLLNAME=wxmsw290ud_ribbon_vc_custom;WXUSINGDLL;WXMAKINGDLL_RIBBON"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_dll\mswud;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxtiffd.lib wxjpegd.lib wxpngd.lib  wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib ..\..\lib\vc_dll\wxmsw29ud_adv.lib ..\..\lib\vc_dll\wxmsw29ud_core.lib ..\..\lib\vc_dll\wxbase29ud.lib"\r
+                               OutputFile="..\..\lib\vc_dll\wxmsw290ud_ribbon_vc_custom.dll"\r
+                               LinkIncremental="2"\r
+                               ImportLibrary="..\..\lib\vc_dll\wxmsw29ud_ribbon.lib"\r
+                               SuppressStartupBanner="true"\r
+                               AdditionalLibraryDirectories="..\..\lib\vc_dll"\r
+                               GenerateManifest="true"\r
+                               GenerateDebugInformation="true"\r
+                               ProgramDatabaseFile="..\..\lib\vc_dll\wxmsw290ud_ribbon_vc_custom.pdb"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="..\..\lib\vc_dll\wx_vc9_ribbon.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Universal Release|Win32"\r
+                       OutputDirectory="..\..\lib\vc_lib"\r
+                       IntermediateDirectory="vc_mswunivu\ribbon"\r
+                       ConfigurationType="4"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               AdditionalOptions="/MP"\r
+                               Optimization="2"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_lib\mswunivu;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                               PreprocessorDefinitions="_LIB;__WXMSW__;__WXUNIVERSAL__;_UNICODE;WXBUILDING"\r
+                               ExceptionHandling="1"\r
+                               RuntimeLibrary="2"\r
+                               RuntimeTypeInfo="true"\r
+                               UsePrecompiledHeader="2"\r
+                               PrecompiledHeaderThrough="wx/wxprec.h"\r
+                               PrecompiledHeaderFile="vc_mswunivu\wxprec_ribbonlib.pch"\r
+                               AssemblerListingLocation="vc_mswunivu\ribbon\"\r
+                               ObjectFile="vc_mswunivu\ribbon\"\r
+                               ProgramDataBaseFileName="..\..\lib\vc_lib\wxmswuniv29u_ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="__WXMSW__;__WXUNIVERSAL__;_UNICODE;WXBUILDING"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_lib\mswunivu;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLibrarianTool"\r
+                               OutputFile="..\..\lib\vc_lib\wxmswuniv29u_ribbon.lib"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="..\..\lib\vc_lib\wx_vc9_ribbon.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Universal Debug|Win32"\r
+                       OutputDirectory="..\..\lib\vc_lib"\r
+                       IntermediateDirectory="vc_mswunivud\ribbon"\r
+                       ConfigurationType="4"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               AdditionalOptions="/MP"\r
+                               Optimization="0"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_lib\mswunivud;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                               PreprocessorDefinitions="_LIB;_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;WXBUILDING"\r
+                               ExceptionHandling="1"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="3"\r
+                               BufferSecurityCheck="true"\r
+                               RuntimeTypeInfo="true"\r
+                               UsePrecompiledHeader="2"\r
+                               PrecompiledHeaderThrough="wx/wxprec.h"\r
+                               PrecompiledHeaderFile="vc_mswunivud\wxprec_ribbonlib.pch"\r
+                               AssemblerListingLocation="vc_mswunivud\ribbon\"\r
+                               ObjectFile="vc_mswunivud\ribbon\"\r
+                               ProgramDataBaseFileName="..\..\lib\vc_lib\wxmswuniv29ud_ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;WXBUILDING"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_lib\mswunivud;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLibrarianTool"\r
+                               OutputFile="..\..\lib\vc_lib\wxmswuniv29ud_ribbon.lib"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="..\..\lib\vc_lib\wx_vc9_ribbon.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Release|Win32"\r
+                       OutputDirectory="..\..\lib\vc_lib"\r
+                       IntermediateDirectory="vc_mswu\ribbon"\r
+                       ConfigurationType="4"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               AdditionalOptions="/MP"\r
+                               Optimization="2"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_lib\mswu;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                               PreprocessorDefinitions="_LIB;__WXMSW__;_UNICODE;WXBUILDING"\r
+                               ExceptionHandling="1"\r
+                               RuntimeLibrary="2"\r
+                               RuntimeTypeInfo="true"\r
+                               UsePrecompiledHeader="2"\r
+                               PrecompiledHeaderThrough="wx/wxprec.h"\r
+                               PrecompiledHeaderFile="vc_mswu\wxprec_ribbonlib.pch"\r
+                               AssemblerListingLocation="vc_mswu\ribbon\"\r
+                               ObjectFile="vc_mswu\ribbon\"\r
+                               ProgramDataBaseFileName="..\..\lib\vc_lib\wxmsw29u_ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="__WXMSW__;_UNICODE;WXBUILDING"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_lib\mswu;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLibrarianTool"\r
+                               OutputFile="..\..\lib\vc_lib\wxmsw29u_ribbon.lib"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="..\..\lib\vc_lib\wx_vc9_ribbon.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Debug|Win32"\r
+                       OutputDirectory="..\..\lib\vc_lib"\r
+                       IntermediateDirectory="vc_mswud\ribbon"\r
+                       ConfigurationType="4"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               AdditionalOptions="/MP"\r
+                               Optimization="0"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_lib\mswud;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                               PreprocessorDefinitions="_LIB;_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;WXBUILDING"\r
+                               ExceptionHandling="1"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="3"\r
+                               BufferSecurityCheck="true"\r
+                               RuntimeTypeInfo="true"\r
+                               UsePrecompiledHeader="2"\r
+                               PrecompiledHeaderThrough="wx/wxprec.h"\r
+                               PrecompiledHeaderFile="vc_mswud\wxprec_ribbonlib.pch"\r
+                               AssemblerListingLocation="vc_mswud\ribbon\"\r
+                               ObjectFile="vc_mswud\ribbon\"\r
+                               ProgramDataBaseFileName="..\..\lib\vc_lib\wxmsw29ud_ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;WXBUILDING"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories="..\..\lib\vc_lib\mswud;..\..\include;..\..\src\tiff\libtiff;..\..\src\jpeg;..\..\src\png;..\..\src\zlib;..\..\src\regex;..\..\src\expat\lib"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLibrarianTool"\r
+                               OutputFile="..\..\lib\vc_lib\wxmsw29ud_ribbon.lib"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="..\..\lib\vc_lib\wx_vc9_ribbon.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+       </Configurations>\r
+       <References>\r
+               \r
+       </References>\r
+       <Files>\r
+               <Filter\r
+                       Name="Common Sources"\r
+                       UniqueIdentifier="{A6A5C30D-BDB6-5050-906D-10A96065136C}"\r
+                       >\r
+                       <File\r
+                               RelativePath="..\..\src\common\dummy.cpp"\r
+                               >\r
+                               <FileConfiguration\r
+                                       Name="DLL Universal Release|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCLCompilerTool"\r
+                                               UsePrecompiledHeader="1"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="DLL Universal Debug|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCLCompilerTool"\r
+                                               UsePrecompiledHeader="1"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="DLL Release|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCLCompilerTool"\r
+                                               UsePrecompiledHeader="1"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="DLL Debug|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCLCompilerTool"\r
+                                               UsePrecompiledHeader="1"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Universal Release|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCLCompilerTool"\r
+                                               UsePrecompiledHeader="1"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Universal Debug|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCLCompilerTool"\r
+                                               UsePrecompiledHeader="1"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Release|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCLCompilerTool"\r
+                                               UsePrecompiledHeader="1"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Debug|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCLCompilerTool"\r
+                                               UsePrecompiledHeader="1"\r
+                                       />\r
+                               </FileConfiguration>\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="MSW Sources"\r
+                       UniqueIdentifier="{D030D8C2-53EE-5B96-8F89-D78157B06140}"\r
+                       >\r
+                       <File\r
+                               RelativePath="..\..\src\msw\version.rc"\r
+                               >\r
+                               <FileConfiguration\r
+                                       Name="Universal Release|Win32"\r
+                                       ExcludedFromBuild="true"\r
+                               />\r
+                               <FileConfiguration\r
+                                       Name="Universal Debug|Win32"\r
+                                       ExcludedFromBuild="true"\r
+                               />\r
+                               <FileConfiguration\r
+                                       Name="Release|Win32"\r
+                                       ExcludedFromBuild="true"\r
+                               />\r
+                               <FileConfiguration\r
+                                       Name="Debug|Win32"\r
+                                       ExcludedFromBuild="true"\r
+                               />\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="Setup Headers"\r
+                       UniqueIdentifier="{63537534-1833-5C1F-8DBD-359A84F294C8}"\r
+                       >\r
+                       <File\r
+                               RelativePath="..\..\include\wx\univ\setup.h"\r
+                               >\r
+                               <FileConfiguration\r
+                                       Name="DLL Universal Release|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_dll\mswunivu\wx\setup.h"\r
+                                               CommandLine="copy &quot;$(InputPath)&quot; ..\..\lib\vc_dll\mswunivu\wx\setup.h"\r
+                                               Outputs="..\..\lib\vc_dll\mswunivu\wx\setup.h"\r
+                                               AdditionalDependencies="&quot;$(INTDIR)&quot; &quot;$(OUTDIR)&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="DLL Universal Debug|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_dll\mswunivud\wx\setup.h"\r
+                                               CommandLine="copy &quot;$(InputPath)&quot; ..\..\lib\vc_dll\mswunivud\wx\setup.h"\r
+                                               Outputs="..\..\lib\vc_dll\mswunivud\wx\setup.h"\r
+                                               AdditionalDependencies="&quot;$(INTDIR)&quot; &quot;$(OUTDIR)&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="DLL Release|Win32"\r
+                               />\r
+                               <FileConfiguration\r
+                                       Name="DLL Debug|Win32"\r
+                               />\r
+                               <FileConfiguration\r
+                                       Name="Universal Release|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_lib\mswunivu\wx\setup.h"\r
+                                               CommandLine="copy &quot;$(InputPath)&quot; ..\..\lib\vc_lib\mswunivu\wx\setup.h"\r
+                                               Outputs="..\..\lib\vc_lib\mswunivu\wx\setup.h"\r
+                                               AdditionalDependencies="&quot;$(INTDIR)&quot; &quot;$(OUTDIR)&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Universal Debug|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_lib\mswunivud\wx\setup.h"\r
+                                               CommandLine="copy &quot;$(InputPath)&quot; ..\..\lib\vc_lib\mswunivud\wx\setup.h"\r
+                                               Outputs="..\..\lib\vc_lib\mswunivud\wx\setup.h"\r
+                                               AdditionalDependencies="&quot;$(INTDIR)&quot; &quot;$(OUTDIR)&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Release|Win32"\r
+                               />\r
+                               <FileConfiguration\r
+                                       Name="Debug|Win32"\r
+                               />\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\include\wx\msw\setup.h"\r
+                               >\r
+                               <FileConfiguration\r
+                                       Name="DLL Universal Release|Win32"\r
+                               />\r
+                               <FileConfiguration\r
+                                       Name="DLL Universal Debug|Win32"\r
+                               />\r
+                               <FileConfiguration\r
+                                       Name="DLL Release|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_dll\mswu\wx\setup.h"\r
+                                               CommandLine="copy &quot;$(InputPath)&quot; ..\..\lib\vc_dll\mswu\wx\setup.h"\r
+                                               Outputs="..\..\lib\vc_dll\mswu\wx\setup.h"\r
+                                               AdditionalDependencies="&quot;$(INTDIR)&quot; &quot;$(OUTDIR)&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="DLL Debug|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_dll\mswud\wx\setup.h"\r
+                                               CommandLine="copy &quot;$(InputPath)&quot; ..\..\lib\vc_dll\mswud\wx\setup.h"\r
+                                               Outputs="..\..\lib\vc_dll\mswud\wx\setup.h"\r
+                                               AdditionalDependencies="&quot;$(INTDIR)&quot; &quot;$(OUTDIR)&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Universal Release|Win32"\r
+                               />\r
+                               <FileConfiguration\r
+                                       Name="Universal Debug|Win32"\r
+                               />\r
+                               <FileConfiguration\r
+                                       Name="Release|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_lib\mswu\wx\setup.h"\r
+                                               CommandLine="copy &quot;$(InputPath)&quot; ..\..\lib\vc_lib\mswu\wx\setup.h"\r
+                                               Outputs="..\..\lib\vc_lib\mswu\wx\setup.h"\r
+                                               AdditionalDependencies="&quot;$(INTDIR)&quot; &quot;$(OUTDIR)&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Debug|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_lib\mswud\wx\setup.h"\r
+                                               CommandLine="copy &quot;$(InputPath)&quot; ..\..\lib\vc_lib\mswud\wx\setup.h"\r
+                                               Outputs="..\..\lib\vc_lib\mswud\wx\setup.h"\r
+                                               AdditionalDependencies="&quot;$(INTDIR)&quot; &quot;$(OUTDIR)&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="MSW Headers"\r
+                       UniqueIdentifier="{5AFFF20E-29F9-512B-B80A-7DC45976CDAC}"\r
+                       >\r
+                       <File\r
+                               RelativePath="..\..\include\wx\msw\genrcdefs.h"\r
+                               >\r
+                               <FileConfiguration\r
+                                       Name="DLL Universal Release|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_dll\mswunivu\wx\msw\rcdefs.h"\r
+                                               CommandLine="cl /EP /nologo &quot;$(InputPath)&quot; &gt; &quot;..\..\lib\vc_dll\mswunivu\wx\msw\rcdefs.h&quot;"\r
+                                               Outputs="..\..\lib\vc_dll\mswunivu\wx\msw\rcdefs.h"\r
+                                               AdditionalDependencies="&quot;..\..\lib\vc_dll\mswunivu\wx\msw&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="DLL Universal Debug|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_dll\mswunivud\wx\msw\rcdefs.h"\r
+                                               CommandLine="cl /EP /nologo &quot;$(InputPath)&quot; &gt; &quot;..\..\lib\vc_dll\mswunivud\wx\msw\rcdefs.h&quot;"\r
+                                               Outputs="..\..\lib\vc_dll\mswunivud\wx\msw\rcdefs.h"\r
+                                               AdditionalDependencies="&quot;..\..\lib\vc_dll\mswunivud\wx\msw&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="DLL Release|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_dll\mswu\wx\msw\rcdefs.h"\r
+                                               CommandLine="cl /EP /nologo &quot;$(InputPath)&quot; &gt; &quot;..\..\lib\vc_dll\mswu\wx\msw\rcdefs.h&quot;"\r
+                                               Outputs="..\..\lib\vc_dll\mswu\wx\msw\rcdefs.h"\r
+                                               AdditionalDependencies="&quot;..\..\lib\vc_dll\mswu\wx\msw&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="DLL Debug|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_dll\mswud\wx\msw\rcdefs.h"\r
+                                               CommandLine="cl /EP /nologo &quot;$(InputPath)&quot; &gt; &quot;..\..\lib\vc_dll\mswud\wx\msw\rcdefs.h&quot;"\r
+                                               Outputs="..\..\lib\vc_dll\mswud\wx\msw\rcdefs.h"\r
+                                               AdditionalDependencies="&quot;..\..\lib\vc_dll\mswud\wx\msw&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Universal Release|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_lib\mswunivu\wx\msw\rcdefs.h"\r
+                                               CommandLine="cl /EP /nologo &quot;$(InputPath)&quot; &gt; &quot;..\..\lib\vc_lib\mswunivu\wx\msw\rcdefs.h&quot;"\r
+                                               Outputs="..\..\lib\vc_lib\mswunivu\wx\msw\rcdefs.h"\r
+                                               AdditionalDependencies="&quot;..\..\lib\vc_lib\mswunivu\wx\msw&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Universal Debug|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_lib\mswunivud\wx\msw\rcdefs.h"\r
+                                               CommandLine="cl /EP /nologo &quot;$(InputPath)&quot; &gt; &quot;..\..\lib\vc_lib\mswunivud\wx\msw\rcdefs.h&quot;"\r
+                                               Outputs="..\..\lib\vc_lib\mswunivud\wx\msw\rcdefs.h"\r
+                                               AdditionalDependencies="&quot;..\..\lib\vc_lib\mswunivud\wx\msw&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Release|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_lib\mswu\wx\msw\rcdefs.h"\r
+                                               CommandLine="cl /EP /nologo &quot;$(InputPath)&quot; &gt; &quot;..\..\lib\vc_lib\mswu\wx\msw\rcdefs.h&quot;"\r
+                                               Outputs="..\..\lib\vc_lib\mswu\wx\msw\rcdefs.h"\r
+                                               AdditionalDependencies="&quot;..\..\lib\vc_lib\mswu\wx\msw&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                               <FileConfiguration\r
+                                       Name="Debug|Win32"\r
+                                       >\r
+                                       <Tool\r
+                                               Name="VCCustomBuildTool"\r
+                                               Description="Creating ..\..\lib\vc_lib\mswud\wx\msw\rcdefs.h"\r
+                                               CommandLine="cl /EP /nologo &quot;$(InputPath)&quot; &gt; &quot;..\..\lib\vc_lib\mswud\wx\msw\rcdefs.h&quot;"\r
+                                               Outputs="..\..\lib\vc_lib\mswud\wx\msw\rcdefs.h"\r
+                                               AdditionalDependencies="&quot;..\..\lib\vc_lib\mswud\wx\msw&quot;"\r
+                                       />\r
+                               </FileConfiguration>\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="Common Headers"\r
+                       UniqueIdentifier="{8C07E926-65B0-5F00-B0D6-7F40DA69BB25}"\r
+                       >\r
+                       <File\r
+                               RelativePath="..\..\include\wx\ribbon\art.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\include\wx\ribbon\art_internal.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\include\wx\ribbon\bar.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\include\wx\ribbon\buttonbar.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\include\wx\ribbon\control.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\include\wx\ribbon\gallery.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\include\wx\ribbon\page.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\include\wx\ribbon\panel.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\include\wx\ribbon\toolbar.h"\r
+                               >\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="Source Files"\r
+                       Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"\r
+                       UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"\r
+                       >\r
+                       <File\r
+                               RelativePath="..\..\src\ribbon\art_aui.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\src\ribbon\art_internal.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\src\ribbon\art_msw.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\src\ribbon\bar.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\src\ribbon\buttonbar.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\src\ribbon\control.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\src\ribbon\gallery.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\src\ribbon\page.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\src\ribbon\panel.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\..\src\ribbon\toolbar.cpp"\r
+                               >\r
+                       </File>\r
+               </Filter>\r
+       </Files>\r
+       <Globals>\r
+               \r
+       </Globals>\r
+</VisualStudioProject>\r
+\r
index f00cd43de8dffd1929f810f2a6fb3638b6166306..f5e9343db14da4f54f8d00878bdabc19912244f1 100644 (file)
@@ -792,6 +792,7 @@ WX_ARG_FEATURE(htmlhelp,    [  --enable-htmlhelp       use wxHTML-based help], w
 WX_ARG_FEATURE(xrc,         [  --enable-xrc            use XRC resources sub-library], wxUSE_XRC)
 WX_ARG_FEATURE(aui,         [  --enable-aui            use AUI docking library], wxUSE_AUI)
 WX_ARG_FEATURE(propgrid,    [  --enable-propgrid       use wxPropertyGrid library], wxUSE_PROPGRID)
+WX_ARG_FEATURE(ribbon,      [  --enable-ribbon         use wxRibbon library], wxUSE_RIBBON)
 WX_ARG_FEATURE(stc,         [  --enable-stc            use wxStyledTextCtrl library], wxUSE_STC)
 WX_ARG_FEATURE(constraints, [  --enable-constraints    use layout-constraints system], wxUSE_CONSTRAINTS)
 WX_ARG_FEATURE(loggui,      [  --enable-loggui         use standard GUI logger], wxUSE_LOGGUI)
@@ -6971,6 +6972,13 @@ if test "$wxUSE_PROPGRID" = "yes"; then
    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS propgrid"
 fi
 
+USE_RIBBON=0
+if test "$wxUSE_RIBBON" = "yes"; then
+   AC_DEFINE(wxUSE_RIBBON)
+   USE_RIBBON=1
+   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS ribbon"
+fi
+
 USE_STC=0
 if test "$wxUSE_STC" = "yes"; then
    AC_DEFINE(wxUSE_STC)
@@ -7361,6 +7369,9 @@ if test "$wxUSE_GUI" = "yes"; then
     if test "$wxUSE_PROPGRID" = "yes" ; then
         BUILT_WX_LIBS="propgrid $BUILT_WX_LIBS"
     fi
+    if test "$wxUSE_RIBBON" = "yes" ; then
+        BUILT_WX_LIBS="ribbon $BUILT_WX_LIBS"
+    fi
     if test "$wxUSE_RICHTEXT" = "yes" ; then
         BUILT_WX_LIBS="richtext $BUILT_WX_LIBS"
     fi
index 51b87dbcc297ccb6a25bae83a4e09cc143030611..46e60292cc284fbf0f88dbf2d6a2d2c40b928d2d 100644 (file)
@@ -28,9 +28,9 @@ MAKEARGS = -DCC="$(CC)" -DCXX="$(CXX)" -DCFLAGS="$(CFLAGS)" \
        -DDEBUG_INFO="$(DEBUG_INFO)" -DDEBUG_FLAG="$(DEBUG_FLAG)" \
        -DMONOLITHIC="$(MONOLITHIC)" -DUSE_GUI="$(USE_GUI)" \
        -DUSE_HTML="$(USE_HTML)" -DUSE_MEDIA="$(USE_MEDIA)" -DUSE_XRC="$(USE_XRC)" \
-       -DUSE_AUI="$(USE_AUI)" -DUSE_PROPGRID="$(USE_PROPGRID)" \
-       -DUSE_RICHTEXT="$(USE_RICHTEXT)" -DUSE_STC="$(USE_STC)" \
-       -DUSE_OPENGL="$(USE_OPENGL)" -DUSE_QA="$(USE_QA)" \
+       -DUSE_AUI="$(USE_AUI)" -DUSE_RIBBON="$(USE_RIBBON)" \
+       -DUSE_PROPGRID="$(USE_PROPGRID)" -DUSE_RICHTEXT="$(USE_RICHTEXT)" \
+       -DUSE_STC="$(USE_STC)" -DUSE_OPENGL="$(USE_OPENGL)" -DUSE_QA="$(USE_QA)" \
        -DUSE_EXCEPTIONS="$(USE_EXCEPTIONS)" -DUSE_RTTI="$(USE_RTTI)" \
        -DUSE_THREADS="$(USE_THREADS)" -DUSE_GDIPLUS="$(USE_GDIPLUS)" \
        -DOFFICIAL_BUILD="$(OFFICIAL_BUILD)" -DVENDOR="$(VENDOR)" \
index 92eb5c9763b8c2a6924467b624f8b7e806783ca4..6ff7570206d969e57772a49094a72ebedcc58a83 100644 (file)
@@ -20,8 +20,9 @@ MAKEARGS = LINK_DLL_FLAGS="$(LINK_DLL_FLAGS)" \
        DEBUG_INFO="$(DEBUG_INFO)" DEBUG_FLAG="$(DEBUG_FLAG)" \
        MONOLITHIC="$(MONOLITHIC)" USE_GUI="$(USE_GUI)" USE_HTML="$(USE_HTML)" \
        USE_MEDIA="$(USE_MEDIA)" USE_XRC="$(USE_XRC)" USE_AUI="$(USE_AUI)" \
-       USE_PROPGRID="$(USE_PROPGRID)" USE_RICHTEXT="$(USE_RICHTEXT)" \
-       USE_STC="$(USE_STC)" USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" \
+       USE_RIBBON="$(USE_RIBBON)" USE_PROPGRID="$(USE_PROPGRID)" \
+       USE_RICHTEXT="$(USE_RICHTEXT)" USE_STC="$(USE_STC)" \
+       USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" \
        USE_EXCEPTIONS="$(USE_EXCEPTIONS)" USE_RTTI="$(USE_RTTI)" \
        USE_THREADS="$(USE_THREADS)" USE_GDIPLUS="$(USE_GDIPLUS)" \
        OFFICIAL_BUILD="$(OFFICIAL_BUILD)" VENDOR="$(VENDOR)" \
index e3905fe65c4d4ad8b73d9a6c163c66ea5a05543f..dee57a42afb539186dc724d3f6d2161f355519c6 100644 (file)
@@ -19,8 +19,9 @@ MAKEARGS = CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \
        DEBUG_FLAG="$(DEBUG_FLAG)" DEBUG_RUNTIME_LIBS="$(DEBUG_RUNTIME_LIBS)" \
        MONOLITHIC="$(MONOLITHIC)" USE_GUI="$(USE_GUI)" USE_HTML="$(USE_HTML)" \
        USE_MEDIA="$(USE_MEDIA)" USE_XRC="$(USE_XRC)" USE_AUI="$(USE_AUI)" \
-       USE_PROPGRID="$(USE_PROPGRID)" USE_RICHTEXT="$(USE_RICHTEXT)" \
-       USE_STC="$(USE_STC)" USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" \
+       USE_RIBBON="$(USE_RIBBON)" USE_PROPGRID="$(USE_PROPGRID)" \
+       USE_RICHTEXT="$(USE_RICHTEXT)" USE_STC="$(USE_STC)" \
+       USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" \
        USE_EXCEPTIONS="$(USE_EXCEPTIONS)" USE_RTTI="$(USE_RTTI)" \
        USE_THREADS="$(USE_THREADS)" USE_GDIPLUS="$(USE_GDIPLUS)" \
        OFFICIAL_BUILD="$(OFFICIAL_BUILD)" VENDOR="$(VENDOR)" \
index 8467e5fc44584d721ddb0709c9dc5f9115512c0e..0442b353d994dcc2a272e4847451dfe5b079c7b8 100644 (file)
@@ -40,8 +40,9 @@ MAKEARGS = CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" &
        DEBUG_INFO="$(DEBUG_INFO)" DEBUG_FLAG="$(DEBUG_FLAG)" &
        MONOLITHIC="$(MONOLITHIC)" USE_GUI="$(USE_GUI)" USE_HTML="$(USE_HTML)" &
        USE_MEDIA="$(USE_MEDIA)" USE_XRC="$(USE_XRC)" USE_AUI="$(USE_AUI)" &
-       USE_PROPGRID="$(USE_PROPGRID)" USE_RICHTEXT="$(USE_RICHTEXT)" &
-       USE_STC="$(USE_STC)" USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" &
+       USE_RIBBON="$(USE_RIBBON)" USE_PROPGRID="$(USE_PROPGRID)" &
+       USE_RICHTEXT="$(USE_RICHTEXT)" USE_STC="$(USE_STC)" &
+       USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" &
        USE_EXCEPTIONS="$(USE_EXCEPTIONS)" USE_RTTI="$(USE_RTTI)" &
        USE_THREADS="$(USE_THREADS)" USE_GDIPLUS="$(USE_GDIPLUS)" &
        OFFICIAL_BUILD="$(OFFICIAL_BUILD)" VENDOR="$(VENDOR)" &
diff --git a/docs/doxygen/groups/class_ribbon.h b/docs/doxygen/groups/class_ribbon.h
new file mode 100644 (file)
index 0000000..16e23b9
--- /dev/null
@@ -0,0 +1,21 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        class_ribbon.h
+// Purpose:     Ribbon classes group docs
+// Author:      wxWidgets team
+// RCS-ID:      $Id$
+// Licence:     wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+
+/**
+
+@defgroup group_class_ribbon Ribbon User Interface
+@ingroup group_class
+
+The wxRibbon library is a set of classes for writing a ribbon user interface.
+At the most generic level, this is a combination of a tab control with a
+toolbar. At a more functional level, it is similar to the user interface
+present in recent versions of Micrsoft Office.
+
+Related Overviews: @ref overview_ribbon
+
+*/
index eb61bbe28923d0c92bd4ee8fe3f5ce0a54d00ba5..237e95a6ee2bacf0d6da702d0684f7dc36b5951f 100644 (file)
@@ -35,6 +35,7 @@ digraph Dependancies
     wxMedia    [fillcolor = green, URL = "\ref page_libs_wxmedia"];
     wxPropertyGrid [fillcolor = green, URL = "\ref page_libs_wxpropgrid"];
     wxQA       [fillcolor = green, URL = "\ref page_libs_wxqa"];
+    wxRibbon   [fillcolor = green, URL = "\ref page_libs_wxribbon"];
     wxRichText [fillcolor = green, URL = "\ref page_libs_wxrichtext"];
     wxSTC      [fillcolor = green, URL = "\ref page_libs_wxstc"];
     wxXRC      [fillcolor = green, URL = "\ref page_libs_wxxrc"];
@@ -50,6 +51,7 @@ digraph Dependancies
     wxMedia -> wxCore;
     wxPropertyGrid -> wxAdvanced;
     wxQA -> wxCore; wxQA -> wxXML;
+    wxRibbon -> wxCore;
     wxRichText -> wxAdvanced; wxRichText -> wxHTML; wxRichText -> wxXML;
     wxSTC -> wxCore;
     wxXRC -> wxAdvanced; wxXRC -> wxHTML; wxXRC -> wxXML;
@@ -108,6 +110,13 @@ This contains the wxPropertyGrid control.
 Requires @ref page_libs_wxadv, @ref page_libs_wxcore, @ref page_libs_wxbase.
 
 
+@section page_libs_wxribbon wxRibbon
+
+This contains the Ribbon User Interface components library.
+
+Requires @ref page_libs_wxcore, @ref page_libs_wxbase.
+
+
 @section page_libs_wxrichtext wxRichText
 
 This contains generic rich text control functionality.
index 3f400f52d8413a9669bbea107c0779d12d1da1a4..13231ed6fd33e746cbc070f566291e03e3204bc2 100644 (file)
@@ -86,6 +86,7 @@
 #    define WXMAKINGDLL_XML
 #    define WXMAKINGDLL_XRC
 #    define WXMAKINGDLL_AUI
+#    define WXMAKINGDLL_RIBBON
 #    define WXMAKINGDLL_PROPGRID
 #    define WXMAKINGDLL_RICHTEXT
 #    define WXMAKINGDLL_MEDIA
 #    define WXDLLIMPEXP_AUI
 #endif
 
+#ifdef WXMAKINGDLL_RIBBON
+#    define WXDLLIMPEXP_RIBBON WXEXPORT
+#elif defined(WXUSINGDLL)
+#    define WXDLLIMPEXP_RIBBON WXIMPORT
+#else /* not making nor using DLL */
+#    define WXDLLIMPEXP_RIBBON
+#endif
+
 #ifdef WXMAKINGDLL_PROPGRID
 #    define WXDLLIMPEXP_PROPGRID WXEXPORT
 #    define WXDLLIMPEXP_DATA_PROPGRID(type) WXEXPORT type
index a48e8efde6d6a46f967e81db43c60e6b378330c4..60f67f7312350b5bf11a1b3b96b48cae0a5887e6 100644 (file)
 // Recommended setting: 1
 #define wxUSE_AUI       1
 
+// Use wxWidget's Ribbon classes for interfaces
+//
+// Default is 1
+//
+// Recommended setting: 1
+#define wxUSE_RIBBON    1
+
 // Use wxPropertyGrid.
 //
 // Default is 1
index c227fa695f9aa1b9952d8bb39f80d6ebbc55fe11..48ccfd6c5260ca956d6160ef1b2a074821c46de5 100644 (file)
 // Recommended setting: 1
 #define wxUSE_AUI       1
 
+// Use wxWidget's Ribbon classes for interfaces
+//
+// Default is 1
+//
+// Recommended setting: 1
+#define wxUSE_RIBBON    1
+
 // Use wxPropertyGrid.
 //
 // Default is 1
index 99414b4b2c7c410c1c0e9aefef9062afb4367d78..1783604b04a7ed19e2b672b340285b0e916ef8aa 100644 (file)
 // Recommended setting: 1
 #define wxUSE_AUI       1
 
+// Use wxWidget's Ribbon classes for interfaces
+//
+// Default is 1
+//
+// Recommended setting: 1
+#define wxUSE_RIBBON    1
+
 // Use wxPropertyGrid.
 //
 // Default is 1
index 50b44e419e3836774b19174d1102f6f04526b3d7..18ca37e61c3eb83bae09cffe01733a8d643c27f8 100644 (file)
 // Recommended setting: 1
 #define wxUSE_AUI       1
 
+// Use wxWidget's Ribbon classes for interfaces
+//
+// Default is 1
+//
+// Recommended setting: 1
+#define wxUSE_RIBBON    1
+
 // Use wxPropertyGrid.
 //
 // Default is 1
diff --git a/include/wx/ribbon/art.h b/include/wx/ribbon/art.h
new file mode 100644 (file)
index 0000000..f0cc159
--- /dev/null
@@ -0,0 +1,867 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        wx/ribbon/art.h
+// Purpose:     Art providers for ribbon-bar-style interface
+// Author:      Peter Cawley
+// Modified by:
+// Created:     2009-05-25
+// RCS-ID:      $Id$
+// Copyright:   (C) Peter Cawley
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_RIBBON_ART_H_
+#define _WX_RIBBON_ART_H_
+
+#include "wx/defs.h"
+
+#if wxUSE_RIBBON
+
+#include <wx/brush.h>
+#include <wx/pen.h>
+
+enum wxRibbonArtSetting
+{
+    wxRIBBON_ART_TAB_SEPARATION_SIZE,
+    wxRIBBON_ART_PAGE_BORDER_LEFT_SIZE,
+    wxRIBBON_ART_PAGE_BORDER_TOP_SIZE,
+    wxRIBBON_ART_PAGE_BORDER_RIGHT_SIZE,
+    wxRIBBON_ART_PAGE_BORDER_BOTTOM_SIZE,
+    wxRIBBON_ART_PANEL_X_SEPARATION_SIZE,
+    wxRIBBON_ART_PANEL_Y_SEPARATION_SIZE,
+    wxRIBBON_ART_TOOL_GROUP_SEPARATION_SIZE,
+    wxRIBBON_ART_GALLERY_BITMAP_PADDING_LEFT_SIZE,
+    wxRIBBON_ART_GALLERY_BITMAP_PADDING_RIGHT_SIZE,
+    wxRIBBON_ART_GALLERY_BITMAP_PADDING_TOP_SIZE,
+    wxRIBBON_ART_GALLERY_BITMAP_PADDING_BOTTOM_SIZE,
+    wxRIBBON_ART_PANEL_LABEL_FONT,
+    wxRIBBON_ART_BUTTON_BAR_LABEL_FONT,
+    wxRIBBON_ART_TAB_LABEL_FONT,
+    wxRIBBON_ART_BUTTON_BAR_LABEL_COLOUR,
+    wxRIBBON_ART_BUTTON_BAR_HOVER_BORDER_COLOUR,
+    wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_TOP_COLOUR,
+    wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_TOP_GRADIENT_COLOUR,
+    wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_COLOUR,
+    wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_BUTTON_BAR_ACTIVE_BORDER_COLOUR,
+    wxRIBBON_ART_BUTTON_BAR_ACTIVE_BACKGROUND_TOP_COLOUR,
+    wxRIBBON_ART_BUTTON_BAR_ACTIVE_BACKGROUND_TOP_GRADIENT_COLOUR,
+    wxRIBBON_ART_BUTTON_BAR_ACTIVE_BACKGROUND_COLOUR,
+    wxRIBBON_ART_BUTTON_BAR_ACTIVE_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_GALLERY_BORDER_COLOUR,
+    wxRIBBON_ART_GALLERY_HOVER_BACKGROUND_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_BACKGROUND_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_BACKGROUND_TOP_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_FACE_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_HOVER_BACKGROUND_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_HOVER_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_HOVER_BACKGROUND_TOP_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_HOVER_FACE_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_BACKGROUND_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_BACKGROUND_TOP_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_FACE_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_DISABLED_BACKGROUND_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_DISABLED_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_DISABLED_BACKGROUND_TOP_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_DISABLED_FACE_COLOUR,
+    wxRIBBON_ART_GALLERY_ITEM_BORDER_COLOUR,
+    wxRIBBON_ART_TAB_LABEL_COLOUR,
+    wxRIBBON_ART_TAB_SEPARATOR_COLOUR,
+    wxRIBBON_ART_TAB_SEPARATOR_GRADIENT_COLOUR,
+    wxRIBBON_ART_TAB_CTRL_BACKGROUND_COLOUR,
+    wxRIBBON_ART_TAB_CTRL_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_TAB_HOVER_BACKGROUND_TOP_COLOUR,
+    wxRIBBON_ART_TAB_HOVER_BACKGROUND_TOP_GRADIENT_COLOUR,
+    wxRIBBON_ART_TAB_HOVER_BACKGROUND_COLOUR,
+    wxRIBBON_ART_TAB_HOVER_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_TAB_ACTIVE_BACKGROUND_TOP_COLOUR,
+    wxRIBBON_ART_TAB_ACTIVE_BACKGROUND_TOP_GRADIENT_COLOUR,
+    wxRIBBON_ART_TAB_ACTIVE_BACKGROUND_COLOUR,
+    wxRIBBON_ART_TAB_ACTIVE_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_TAB_BORDER_COLOUR,
+    wxRIBBON_ART_PANEL_BORDER_COLOUR,
+    wxRIBBON_ART_PANEL_BORDER_GRADIENT_COLOUR,
+    wxRIBBON_ART_PANEL_MINIMISED_BORDER_COLOUR,
+    wxRIBBON_ART_PANEL_MINIMISED_BORDER_GRADIENT_COLOUR,
+    wxRIBBON_ART_PANEL_LABEL_BACKGROUND_COLOUR,
+    wxRIBBON_ART_PANEL_LABEL_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_PANEL_LABEL_COLOUR,
+    wxRIBBON_ART_PANEL_HOVER_LABEL_BACKGROUND_COLOUR,
+    wxRIBBON_ART_PANEL_HOVER_LABEL_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_PANEL_HOVER_LABEL_COLOUR,
+    wxRIBBON_ART_PANEL_MINIMISED_LABEL_COLOUR,
+    wxRIBBON_ART_PANEL_ACTIVE_BACKGROUND_TOP_COLOUR,
+    wxRIBBON_ART_PANEL_ACTIVE_BACKGROUND_TOP_GRADIENT_COLOUR,
+    wxRIBBON_ART_PANEL_ACTIVE_BACKGROUND_COLOUR,
+    wxRIBBON_ART_PANEL_ACTIVE_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_PAGE_BORDER_COLOUR,
+    wxRIBBON_ART_PAGE_BACKGROUND_TOP_COLOUR,
+    wxRIBBON_ART_PAGE_BACKGROUND_TOP_GRADIENT_COLOUR,
+    wxRIBBON_ART_PAGE_BACKGROUND_COLOUR,
+    wxRIBBON_ART_PAGE_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_PAGE_HOVER_BACKGROUND_TOP_COLOUR,
+    wxRIBBON_ART_PAGE_HOVER_BACKGROUND_TOP_GRADIENT_COLOUR,
+    wxRIBBON_ART_PAGE_HOVER_BACKGROUND_COLOUR,
+    wxRIBBON_ART_PAGE_HOVER_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_TOOLBAR_BORDER_COLOUR,
+    wxRIBBON_ART_TOOLBAR_HOVER_BORDER_COLOUR,
+    wxRIBBON_ART_TOOLBAR_FACE_COLOUR,
+    wxRIBBON_ART_TOOL_BACKGROUND_TOP_COLOUR,
+    wxRIBBON_ART_TOOL_BACKGROUND_TOP_GRADIENT_COLOUR,
+    wxRIBBON_ART_TOOL_BACKGROUND_COLOUR,
+    wxRIBBON_ART_TOOL_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_TOOL_HOVER_BACKGROUND_TOP_COLOUR,
+    wxRIBBON_ART_TOOL_HOVER_BACKGROUND_TOP_GRADIENT_COLOUR,
+    wxRIBBON_ART_TOOL_HOVER_BACKGROUND_COLOUR,
+    wxRIBBON_ART_TOOL_HOVER_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_TOOL_ACTIVE_BACKGROUND_TOP_COLOUR,
+    wxRIBBON_ART_TOOL_ACTIVE_BACKGROUND_TOP_GRADIENT_COLOUR,
+    wxRIBBON_ART_TOOL_ACTIVE_BACKGROUND_COLOUR,
+    wxRIBBON_ART_TOOL_ACTIVE_BACKGROUND_GRADIENT_COLOUR,
+};
+
+enum wxRibbonScrollButtonStyle
+{
+    wxRIBBON_SCROLL_BTN_LEFT = 0,
+    wxRIBBON_SCROLL_BTN_RIGHT = 1,
+    wxRIBBON_SCROLL_BTN_UP = 2,
+    wxRIBBON_SCROLL_BTN_DOWN = 3,
+
+    wxRIBBON_SCROLL_BTN_DIRECTION_MASK = 3,
+
+    wxRIBBON_SCROLL_BTN_NORMAL = 0,
+    wxRIBBON_SCROLL_BTN_HOVERED = 4,
+    wxRIBBON_SCROLL_BTN_ACTIVE = 8,
+
+    wxRIBBON_SCROLL_BTN_STATE_MASK = 12,
+
+    wxRIBBON_SCROLL_BTN_FOR_OTHER = 0,
+    wxRIBBON_SCROLL_BTN_FOR_TABS = 16,
+    wxRIBBON_SCROLL_BTN_FOR_PAGE = 32,
+
+    wxRIBBON_SCROLL_BTN_FOR_MASK = 48,
+};
+
+enum wxRibbonButtonKind
+{
+    wxRIBBON_BUTTON_NORMAL    = 1 << 0,
+    wxRIBBON_BUTTON_DROPDOWN  = 1 << 1,
+    wxRIBBON_BUTTON_HYBRID    = wxRIBBON_BUTTON_NORMAL | wxRIBBON_BUTTON_DROPDOWN,
+};
+
+enum wxRibbonButtonBarButtonState
+{
+    wxRIBBON_BUTTONBAR_BUTTON_SMALL     = 0 << 0,
+    wxRIBBON_BUTTONBAR_BUTTON_MEDIUM    = 1 << 0,
+    wxRIBBON_BUTTONBAR_BUTTON_LARGE     = 2 << 0,
+    wxRIBBON_BUTTONBAR_BUTTON_SIZE_MASK = 3 << 0,
+
+    wxRIBBON_BUTTONBAR_BUTTON_NORMAL_HOVERED    = 1 << 3,
+    wxRIBBON_BUTTONBAR_BUTTON_DROPDOWN_HOVERED  = 1 << 4,
+    wxRIBBON_BUTTONBAR_BUTTON_HOVER_MASK        = wxRIBBON_BUTTONBAR_BUTTON_NORMAL_HOVERED | wxRIBBON_BUTTONBAR_BUTTON_DROPDOWN_HOVERED,
+    wxRIBBON_BUTTONBAR_BUTTON_NORMAL_ACTIVE     = 1 << 5,
+    wxRIBBON_BUTTONBAR_BUTTON_DROPDOWN_ACTIVE   = 1 << 6,
+    wxRIBBON_BUTTONBAR_BUTTON_ACTIVE_MASK       = wxRIBBON_BUTTONBAR_BUTTON_NORMAL_ACTIVE | wxRIBBON_BUTTONBAR_BUTTON_DROPDOWN_ACTIVE,
+    wxRIBBON_BUTTONBAR_BUTTON_DISABLED          = 1 << 7,
+    wxRIBBON_BUTTONBAR_BUTTON_STATE_MASK        = 0xF8,
+};
+
+enum wxRibbonGalleryButtonState
+{
+    wxRIBBON_GALLERY_BUTTON_NORMAL,
+    wxRIBBON_GALLERY_BUTTON_HOVERED,
+    wxRIBBON_GALLERY_BUTTON_ACTIVE,
+    wxRIBBON_GALLERY_BUTTON_DISABLED,
+};
+
+class wxRibbonPage;
+class wxRibbonPanel;
+class wxRibbonGallery;
+class wxRibbonGalleryItem;
+class wxRibbonPageTabInfo;
+class wxRibbonPageTabInfoArray;
+
+class WXDLLIMPEXP_RIBBON wxRibbonArtProvider
+{
+public:
+    wxRibbonArtProvider();
+    virtual ~wxRibbonArtProvider();
+
+    virtual wxRibbonArtProvider* Clone() const = 0;
+    virtual void SetFlags(long flags) = 0;
+    virtual long GetFlags() const = 0;
+
+    virtual int GetMetric(int id)  const = 0;
+    virtual void SetMetric(int id, int new_val) = 0;
+    virtual void SetFont(int id, const wxFont& font) = 0;
+    virtual wxFont GetFont(int id)  const = 0;
+    virtual wxColour GetColour(int id)  const = 0;
+    virtual void SetColour(int id, const wxColor& colour) = 0;
+    wxColour GetColor(int id) const { return GetColour(id); }
+    void SetColor(int id, const wxColour& color) { SetColour(id, color); }
+    virtual void GetColourScheme(wxColour* primary,
+                        wxColour* secondary,
+                        wxColour* tertiary) const = 0;
+    virtual void SetColourScheme(const wxColour& primary,
+                        const wxColour& secondary,
+                        const wxColour& tertiary) = 0;
+
+    virtual void DrawTabCtrlBackground(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect) = 0;
+
+    virtual void DrawTab(wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRibbonPageTabInfo& tab) = 0;
+
+    virtual void DrawTabSeparator(wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect,
+                        double visibility) = 0;
+
+    virtual void DrawPageBackground(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect) = 0;
+
+    virtual void DrawScrollButton(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect,
+                        long style) = 0;
+
+    virtual void DrawPanelBackground(
+                        wxDC& dc,
+                        wxRibbonPanel* wnd,
+                        const wxRect& rect) = 0;
+
+    virtual void DrawGalleryBackground(
+                        wxDC& dc,
+                        wxRibbonGallery* wnd,
+                        const wxRect& rect) = 0;
+
+    virtual void DrawGalleryItemBackground(
+                        wxDC& dc,
+                        wxRibbonGallery* wnd,
+                        const wxRect& rect,
+                        wxRibbonGalleryItem* item) = 0;
+
+    virtual void DrawMinimisedPanel(
+                        wxDC& dc,
+                        wxRibbonPanel* wnd,
+                        const wxRect& rect,
+                        wxBitmap& bitmap) = 0;
+
+    virtual void DrawButtonBarBackground(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect) = 0;
+
+    virtual void DrawButtonBarButton(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect,
+                        wxRibbonButtonKind kind,
+                        long state,
+                        const wxString& label,
+                        const wxBitmap& bitmap_large,
+                        const wxBitmap& bitmap_small) = 0;
+
+    virtual void DrawToolBarBackground(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect) = 0;
+
+    virtual void DrawToolGroupBackground(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect) = 0;
+
+    virtual void DrawTool(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect,
+                        const wxBitmap& bitmap,
+                        wxRibbonButtonKind kind,
+                        long state) = 0;
+
+    virtual void GetBarTabWidth(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxString& label,
+                        const wxBitmap& bitmap,
+                        int* ideal,
+                        int* small_begin_need_separator,
+                        int* small_must_have_separator,
+                        int* minimum) = 0;
+
+    virtual int GetTabCtrlHeight(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRibbonPageTabInfoArray& pages) = 0;
+
+    virtual wxSize GetScrollButtonMinimumSize(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        long style) = 0;
+
+    virtual wxSize GetPanelSize(
+                        wxDC& dc,
+                        const wxRibbonPanel* wnd,
+                        wxSize client_size,
+                        wxPoint* client_offset) = 0;
+
+    virtual wxSize GetPanelClientSize(
+                        wxDC& dc,
+                        const wxRibbonPanel* wnd,
+                        wxSize size,
+                        wxPoint* client_offset) = 0;
+
+    virtual wxSize GetGallerySize(
+                        wxDC& dc,
+                        const wxRibbonGallery* wnd,
+                        wxSize client_size) = 0;
+
+    virtual wxSize GetGalleryClientSize(
+                        wxDC& dc,
+                        const wxRibbonGallery* wnd,
+                        wxSize size,
+                        wxPoint* client_offset,
+                        wxRect* scroll_up_button,
+                        wxRect* scroll_down_button,
+                        wxRect* extension_button) = 0;
+
+    virtual wxRect GetPageBackgroundRedrawArea(
+                        wxDC& dc,
+                        const wxRibbonPage* wnd,
+                        wxSize page_old_size,
+                        wxSize page_new_size) = 0;
+
+    virtual bool GetButtonBarButtonSize(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        wxRibbonButtonKind kind,
+                        wxRibbonButtonBarButtonState size,
+                        const wxString& label,
+                        wxSize bitmap_size_large,
+                        wxSize bitmap_size_small,
+                        wxSize* button_size,
+                        wxRect* normal_region,
+                        wxRect* dropdown_region) = 0;
+
+    virtual wxSize GetMinimisedPanelMinimumSize(
+                        wxDC& dc,
+                        const wxRibbonPanel* wnd,
+                        wxSize* desired_bitmap_size,
+                        wxDirection* expanded_panel_direction) = 0;
+
+    virtual wxSize GetToolSize(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        wxSize bitmap_size,
+                        wxRibbonButtonKind kind,
+                        bool is_first,
+                        bool is_last,
+                        wxRect* dropdown_region) = 0;
+};
+
+class WXDLLIMPEXP_RIBBON wxRibbonMSWArtProvider : public wxRibbonArtProvider
+{
+public:
+    wxRibbonMSWArtProvider(bool set_colour_scheme = true);
+    virtual ~wxRibbonMSWArtProvider();
+
+    wxRibbonArtProvider* Clone() const;
+    void SetFlags(long flags);
+    long GetFlags() const;
+
+    int GetMetric(int id) const;
+    void SetMetric(int id, int new_val);
+    void SetFont(int id, const wxFont& font);
+    wxFont GetFont(int id) const;
+    wxColour GetColour(int id) const;
+    void SetColour(int id, const wxColor& colour);
+    void GetColourScheme(wxColour* primary,
+                         wxColour* secondary,
+                         wxColour* tertiary) const;
+    void SetColourScheme(const wxColour& primary,
+                         const wxColour& secondary,
+                         const wxColour& tertiary);
+
+    int GetTabCtrlHeight(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRibbonPageTabInfoArray& pages);
+
+    void DrawTabCtrlBackground(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect);
+
+    void DrawTab(wxDC& dc,
+                 wxWindow* wnd,
+                 const wxRibbonPageTabInfo& tab);
+
+    void DrawTabSeparator(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect,
+                        double visibility);
+
+    void DrawPageBackground(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect);
+
+    void DrawScrollButton(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect,
+                        long style);
+
+    void DrawPanelBackground(
+                        wxDC& dc,
+                        wxRibbonPanel* wnd,
+                        const wxRect& rect);
+
+    void DrawGalleryBackground(
+                        wxDC& dc,
+                        wxRibbonGallery* wnd,
+                        const wxRect& rect);
+
+    void DrawGalleryItemBackground(
+                        wxDC& dc,
+                        wxRibbonGallery* wnd,
+                        const wxRect& rect,
+                        wxRibbonGalleryItem* item);
+
+    void DrawMinimisedPanel(
+                        wxDC& dc,
+                        wxRibbonPanel* wnd,
+                        const wxRect& rect,
+                        wxBitmap& bitmap);
+
+    void DrawButtonBarBackground(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect);
+
+    void DrawButtonBarButton(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect,
+                        wxRibbonButtonKind kind,
+                        long state,
+                        const wxString& label,
+                        const wxBitmap& bitmap_large,
+                        const wxBitmap& bitmap_small);
+
+    void DrawToolBarBackground(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect);
+
+    void DrawToolGroupBackground(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect);
+
+    void DrawTool(
+                wxDC& dc,
+                wxWindow* wnd,
+                const wxRect& rect,
+                const wxBitmap& bitmap,
+                wxRibbonButtonKind kind,
+                long state);
+
+    void GetBarTabWidth(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxString& label,
+                        const wxBitmap& bitmap,
+                        int* ideal,
+                        int* small_begin_need_separator,
+                        int* small_must_have_separator,
+                        int* minimum);
+
+    wxSize GetScrollButtonMinimumSize(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        long style);
+
+    wxSize GetPanelSize(
+                        wxDC& dc,
+                        const wxRibbonPanel* wnd,
+                        wxSize client_size,
+                        wxPoint* client_offset);
+
+    wxSize GetPanelClientSize(
+                        wxDC& dc,
+                        const wxRibbonPanel* wnd,
+                        wxSize size,
+                        wxPoint* client_offset);
+
+    wxSize GetGallerySize(
+                        wxDC& dc,
+                        const wxRibbonGallery* wnd,
+                        wxSize client_size);
+
+    wxSize GetGalleryClientSize(
+                        wxDC& dc,
+                        const wxRibbonGallery* wnd,
+                        wxSize size,
+                        wxPoint* client_offset,
+                        wxRect* scroll_up_button,
+                        wxRect* scroll_down_button,
+                        wxRect* extension_button);
+
+    wxRect GetPageBackgroundRedrawArea(
+                        wxDC& dc,
+                        const wxRibbonPage* wnd,
+                        wxSize page_old_size,
+                        wxSize page_new_size);
+
+    bool GetButtonBarButtonSize(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        wxRibbonButtonKind kind,
+                        wxRibbonButtonBarButtonState size,
+                        const wxString& label,
+                        wxSize bitmap_size_large,
+                        wxSize bitmap_size_small,
+                        wxSize* button_size,
+                        wxRect* normal_region,
+                        wxRect* dropdown_region);
+
+    wxSize GetMinimisedPanelMinimumSize(
+                        wxDC& dc,
+                        const wxRibbonPanel* wnd,
+                        wxSize* desired_bitmap_size,
+                        wxDirection* expanded_panel_direction);
+
+    wxSize GetToolSize(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        wxSize bitmap_size,
+                        wxRibbonButtonKind kind,
+                        bool is_first,
+                        bool is_last,
+                        wxRect* dropdown_region);
+
+protected:
+    void ReallyDrawTabSeparator(wxWindow* wnd, const wxRect& rect, double visibility);
+    void DrawPartialPageBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect,
+        bool allow_hovered = true);
+    void DrawPartialPageBackground(wxDC& dc, wxWindow* wnd, const wxRect& rect,
+         wxRibbonPage* page, wxPoint offset, bool hovered = false);
+    void DrawPanelBorder(wxDC& dc, const wxRect& rect, wxPen& primary_colour,
+        wxPen& secondary_colour);
+    void RemovePanelPadding(wxRect* rect);
+    void DrawDropdownArrow(wxDC& dc, int x, int y, const wxColour& colour);
+    void DrawGalleryBackgroundCommon(wxDC& dc, wxRibbonGallery* wnd,
+                        const wxRect& rect);
+    virtual void DrawGalleryButton(wxDC& dc, wxRect rect,
+        wxRibbonGalleryButtonState state, wxBitmap* bitmaps);
+    void DrawButtonBarButtonForeground(
+                        wxDC& dc,
+                        const wxRect& rect,
+                        wxRibbonButtonKind kind,
+                        long state,
+                        const wxString& label,
+                        const wxBitmap& bitmap_large,
+                        const wxBitmap& bitmap_small);
+    void DrawMinimisedPanelCommon(
+                        wxDC& dc,
+                        wxRibbonPanel* wnd,
+                        const wxRect& rect,
+                        wxRect* preview_rect);
+    void CloneTo(wxRibbonMSWArtProvider* copy) const;
+
+    wxBitmap m_cached_tab_separator;
+    wxBitmap m_gallery_up_bitmap[4];
+    wxBitmap m_gallery_down_bitmap[4];
+    wxBitmap m_gallery_extension_bitmap[4];
+    wxBitmap m_toolbar_drop_bitmap;
+
+    wxColour m_primary_scheme_colour;
+    wxColour m_secondary_scheme_colour;
+    wxColour m_tertiary_scheme_colour;
+
+    wxColour m_button_bar_label_colour;
+    wxColour m_tab_label_colour;
+    wxColour m_tab_separator_colour;
+    wxColour m_tab_separator_gradient_colour;
+    wxColour m_tab_active_background_colour;
+    wxColour m_tab_active_background_gradient_colour;
+    wxColour m_tab_hover_background_colour;
+    wxColour m_tab_hover_background_gradient_colour;
+    wxColour m_tab_hover_background_top_colour;
+    wxColour m_tab_hover_background_top_gradient_colour;
+    wxColour m_panel_label_colour;
+    wxColour m_panel_minimised_label_colour;
+    wxColour m_panel_hover_label_colour;
+    wxColour m_panel_active_background_colour;
+    wxColour m_panel_active_background_gradient_colour;
+    wxColour m_panel_active_background_top_colour;
+    wxColour m_panel_active_background_top_gradient_colour;
+    wxColour m_page_background_colour;
+    wxColour m_page_background_gradient_colour;
+    wxColour m_page_background_top_colour;
+    wxColour m_page_background_top_gradient_colour;
+    wxColour m_page_hover_background_colour;
+    wxColour m_page_hover_background_gradient_colour;
+    wxColour m_page_hover_background_top_colour;
+    wxColour m_page_hover_background_top_gradient_colour;
+    wxColour m_button_bar_hover_background_colour;
+    wxColour m_button_bar_hover_background_gradient_colour;
+    wxColour m_button_bar_hover_background_top_colour;
+    wxColour m_button_bar_hover_background_top_gradient_colour;
+    wxColour m_button_bar_active_background_colour;
+    wxColour m_button_bar_active_background_gradient_colour;
+    wxColour m_button_bar_active_background_top_colour;
+    wxColour m_button_bar_active_background_top_gradient_colour;
+    wxColour m_gallery_button_background_colour;
+    wxColour m_gallery_button_background_gradient_colour;    
+    wxColour m_gallery_button_hover_background_colour;
+    wxColour m_gallery_button_hover_background_gradient_colour;
+    wxColour m_gallery_button_active_background_colour;
+    wxColour m_gallery_button_active_background_gradient_colour;
+    wxColour m_gallery_button_disabled_background_colour;
+    wxColour m_gallery_button_disabled_background_gradient_colour;
+    wxColour m_gallery_button_face_colour;
+    wxColour m_gallery_button_hover_face_colour;
+    wxColour m_gallery_button_active_face_colour;
+    wxColour m_gallery_button_disabled_face_colour;
+
+    wxColour m_tool_face_colour;
+    wxColour m_tool_background_top_colour;
+    wxColour m_tool_background_top_gradient_colour;
+    wxColour m_tool_background_colour;
+    wxColour m_tool_background_gradient_colour;
+    wxColour m_tool_hover_background_top_colour;
+    wxColour m_tool_hover_background_top_gradient_colour;
+    wxColour m_tool_hover_background_colour;
+    wxColour m_tool_hover_background_gradient_colour;
+    wxColour m_tool_active_background_top_colour;
+    wxColour m_tool_active_background_top_gradient_colour;
+    wxColour m_tool_active_background_colour;
+    wxColour m_tool_active_background_gradient_colour;
+
+    wxBrush m_tab_ctrl_background_brush;
+    wxBrush m_panel_label_background_brush;
+    wxBrush m_panel_hover_label_background_brush;
+    wxBrush m_gallery_hover_background_brush;
+    wxBrush m_gallery_button_background_top_brush;
+    wxBrush m_gallery_button_hover_background_top_brush;
+    wxBrush m_gallery_button_active_background_top_brush;
+    wxBrush m_gallery_button_disabled_background_top_brush;
+
+    wxFont m_tab_label_font;
+    wxFont m_panel_label_font;
+    wxFont m_button_bar_label_font;
+
+    wxPen m_page_border_pen;
+    wxPen m_panel_border_pen;
+    wxPen m_panel_border_gradient_pen;
+    wxPen m_panel_minimised_border_pen;
+    wxPen m_panel_minimised_border_gradient_pen;
+    wxPen m_tab_border_pen;
+    wxPen m_button_bar_hover_border_pen;
+    wxPen m_button_bar_active_border_pen;
+    wxPen m_gallery_border_pen;
+    wxPen m_gallery_item_border_pen;
+    wxPen m_toolbar_border_pen;
+
+    double m_cached_tab_separator_visibility;
+    long m_flags;
+
+    int m_tab_separation_size;
+    int m_page_border_left;
+    int m_page_border_top;
+    int m_page_border_right;
+    int m_page_border_bottom;
+    int m_panel_x_separation_size;
+    int m_panel_y_separation_size;
+    int m_tool_group_separation_size;
+    int m_gallery_bitmap_padding_left_size;
+    int m_gallery_bitmap_padding_right_size;
+    int m_gallery_bitmap_padding_top_size;
+    int m_gallery_bitmap_padding_bottom_size;
+};
+
+class WXDLLIMPEXP_RIBBON wxRibbonAUIArtProvider : public wxRibbonMSWArtProvider
+{
+public:
+    wxRibbonAUIArtProvider();
+    virtual ~wxRibbonAUIArtProvider();
+
+    wxRibbonArtProvider* Clone() const;
+
+    wxColour GetColour(int id) const;
+    void SetColour(int id, const wxColor& colour);
+    void SetColourScheme(const wxColour& primary,
+                         const wxColour& secondary,
+                         const wxColour& tertiary);
+    void SetFont(int id, const wxFont& font);
+
+    wxSize GetScrollButtonMinimumSize(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        long style);
+
+    void DrawScrollButton(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect,
+                        long style);
+
+    wxSize GetPanelSize(
+                        wxDC& dc,
+                        const wxRibbonPanel* wnd,
+                        wxSize client_size,
+                        wxPoint* client_offset);
+
+    wxSize GetPanelClientSize(
+                        wxDC& dc,
+                        const wxRibbonPanel* wnd,
+                        wxSize size,
+                        wxPoint* client_offset);
+
+    void DrawTabCtrlBackground(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect);
+
+    int GetTabCtrlHeight(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRibbonPageTabInfoArray& pages);
+
+    void GetBarTabWidth(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxString& label,
+                        const wxBitmap& bitmap,
+                        int* ideal,
+                        int* small_begin_need_separator,
+                        int* small_must_have_separator,
+                        int* minimum);
+
+    void DrawTab(wxDC& dc,
+                 wxWindow* wnd,
+                 const wxRibbonPageTabInfo& tab);
+
+    void DrawTabSeparator(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect,
+                        double visibility);
+
+    void DrawPageBackground(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect);
+
+    void DrawPanelBackground(
+                        wxDC& dc,
+                        wxRibbonPanel* wnd,
+                        const wxRect& rect);
+
+    void DrawMinimisedPanel(
+                        wxDC& dc,
+                        wxRibbonPanel* wnd,
+                        const wxRect& rect,
+                        wxBitmap& bitmap);
+
+    void DrawGalleryBackground(
+                        wxDC& dc,
+                        wxRibbonGallery* wnd,
+                        const wxRect& rect);
+
+    void DrawGalleryItemBackground(
+                        wxDC& dc,
+                        wxRibbonGallery* wnd,
+                        const wxRect& rect,
+                        wxRibbonGalleryItem* item);
+
+    void DrawButtonBarBackground(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect);
+
+    void DrawButtonBarButton(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect,
+                        wxRibbonButtonKind kind,
+                        long state,
+                        const wxString& label,
+                        const wxBitmap& bitmap_large,
+                        const wxBitmap& bitmap_small);
+
+    void DrawToolBarBackground(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect);
+
+    void DrawToolGroupBackground(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect);
+
+    void DrawTool(
+                wxDC& dc,
+                wxWindow* wnd,
+                const wxRect& rect,
+                const wxBitmap& bitmap,
+                wxRibbonButtonKind kind,
+                long state);
+
+protected:
+    void DrawPartialPanelBackground(wxDC& dc, wxWindow* wnd,
+        const wxRect& rect);
+    void DrawGalleryButton(wxDC& dc, wxRect rect,
+        wxRibbonGalleryButtonState state, wxBitmap* bitmaps);
+
+    wxColour m_tab_ctrl_background_colour;
+    wxColour m_tab_ctrl_background_gradient_colour;
+    wxColour m_panel_label_background_colour;
+    wxColour m_panel_label_background_gradient_colour;
+    wxColour m_panel_hover_label_background_colour;
+    wxColour m_panel_hover_label_background_gradient_colour;
+
+    wxBrush m_background_brush;
+    wxBrush m_tab_active_top_background_brush;
+    wxBrush m_tab_hover_background_brush;
+    wxBrush m_button_bar_hover_background_brush;
+    wxBrush m_button_bar_active_background_brush;
+    wxBrush m_gallery_button_active_background_brush;
+    wxBrush m_gallery_button_hover_background_brush;
+    wxBrush m_gallery_button_disabled_background_brush;
+    wxBrush m_tool_hover_background_brush;
+    wxBrush m_tool_active_background_brush;
+
+    wxPen m_toolbar_hover_borden_pen;
+
+    wxFont m_tab_active_label_font;
+};
+
+#if defined(__WXMSW__)
+typedef wxRibbonMSWArtProvider wxRibbonDefaultArtProvider;
+#elif defined(__WXOSX_CARBON__) || \
+      defined(__WXOSX_COCOA__) || \
+      defined(__WXOSX_IPHONE__) || \
+      defined(__WXCOCOA__)
+// TODO: Once implemented, change typedef to OSX
+// typedef wxRibbonOSXArtProvider wxRibbonDefaultArtProvider;
+typedef wxRibbonAUIArtProvider wxRibbonDefaultArtProvider;
+#else
+// TODO: Once implemented, change typedef to AUI
+typedef wxRibbonAUIArtProvider wxRibbonDefaultArtProvider;
+#endif
+
+#endif // wxUSE_RIBBON
+
+#endif // _WX_RIBBON_ART_H_
diff --git a/include/wx/ribbon/art_internal.h b/include/wx/ribbon/art_internal.h
new file mode 100644 (file)
index 0000000..d23d9e3
--- /dev/null
@@ -0,0 +1,82 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        wx/ribbon/art_internal.h
+// Purpose:     Helper functions & classes used by ribbon art providers
+// Author:      Peter Cawley
+// Modified by:
+// Created:     2009-08-04
+// RCS-ID:      $Id$
+// Copyright:   (C) Peter Cawley
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_RIBBON_ART_INTERNAL_H_
+#define _WX_RIBBON_ART_INTERNAL_H_
+
+#include "wx/defs.h"
+
+#if wxUSE_RIBBON
+
+WXDLLIMPEXP_RIBBON wxColour wxRibbonInterpolateColour(
+                                const wxColour& start_colour,
+                                const wxColour& end_colour,
+                                int position,
+                                int start_position,
+                                int end_position);
+
+WXDLLIMPEXP_RIBBON bool wxRibbonCanLabelBreakAtPosition(
+                                const wxString& label,
+                                size_t pos);
+
+WXDLLIMPEXP_RIBBON void wxRibbonDrawParallelGradientLines(
+                                wxDC& dc,
+                                int nlines,
+                                const wxPoint* line_origins,
+                                int stepx,
+                                int stepy,
+                                int numsteps,
+                                int offset_x,
+                                int offset_y,
+                                const wxColour& start_colour,
+                                const wxColour& end_colour);
+
+WXDLLIMPEXP_RIBBON wxBitmap wxRibbonLoadPixmap(
+                                const char* const* bits,
+                                wxColour fore);
+
+/*
+   HSL colour class, using interface as discussed in wx-dev. Provided mainly
+   for art providers to perform colour scheme calculations in the HSL colour
+   space. If such a class makes it into base / core, then this class should be
+   removed and users switched over to the one in base / core.
+
+   0.0 <= Hue < 360.0
+   0.0 <= Saturation <= 1.0
+   0.0 <= Luminance <= 1.0
+*/
+class WXDLLIMPEXP_RIBBON wxRibbonHSLColour
+{
+public:
+   wxRibbonHSLColour()
+       : hue(0.0), saturation(0.0), luminance(0.0) {}
+   wxRibbonHSLColour(float H, float S, float L)
+       : hue(H), saturation(S), luminance(L) { }
+   wxRibbonHSLColour(const wxColour& C);
+
+   wxColour    ToRGB() const;
+
+   wxRibbonHSLColour& MakeDarker(float delta);
+   wxRibbonHSLColour Darker(float delta) const;
+   wxRibbonHSLColour Lighter(float delta) const;
+   wxRibbonHSLColour Saturated(float delta) const;
+   wxRibbonHSLColour Desaturated(float delta) const;
+   wxRibbonHSLColour ShiftHue(float delta) const;
+
+   float       hue, saturation, luminance;
+};
+
+WXDLLIMPEXP_RIBBON wxRibbonHSLColour wxRibbonShiftLuminance(
+                                wxRibbonHSLColour colour, float amount);
+
+#endif // wxUSE_RIBBON
+
+#endif // _WX_RIBBON_ART_INTERNAL_H_
diff --git a/include/wx/ribbon/bar.h b/include/wx/ribbon/bar.h
new file mode 100644 (file)
index 0000000..39752c7
--- /dev/null
@@ -0,0 +1,224 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        wx/ribbon/bar.h
+// Purpose:     Top-level component of the ribbon-bar-style interface
+// Author:      Peter Cawley
+// Modified by:
+// Created:     2009-05-23
+// RCS-ID:      $Id$
+// Copyright:   (C) Peter Cawley
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_RIBBON_BAR_H_
+#define _WX_RIBBON_BAR_H_
+
+#include "wx/defs.h"
+
+#if wxUSE_RIBBON
+
+#include "wx/ribbon/control.h"
+#include "wx/ribbon/page.h"
+
+enum wxRibbonBarOption
+{
+    wxRIBBON_BAR_SHOW_PAGE_LABELS    = 1 << 0,
+    wxRIBBON_BAR_SHOW_PAGE_ICONS    = 1 << 1,
+    wxRIBBON_BAR_FLOW_HORIZONTAL    = 0,
+    wxRIBBON_BAR_FLOW_VERTICAL        = 1 << 2,
+    wxRIBBON_BAR_SHOW_PANEL_EXT_BUTTONS = 1 << 3,
+    wxRIBBON_BAR_SHOW_PANEL_MINIMISE_BUTTONS = 1 << 4,
+    wxRIBBON_BAR_ALWAYS_SHOW_TABS = 1 << 5,
+
+    wxRIBBON_BAR_DEFAULT_STYLE =  wxRIBBON_BAR_FLOW_HORIZONTAL
+                                | wxRIBBON_BAR_SHOW_PAGE_LABELS
+                                | wxRIBBON_BAR_SHOW_PANEL_EXT_BUTTONS,
+
+    wxRIBBON_BAR_FOLDBAR_STYLE =  wxRIBBON_BAR_FLOW_VERTICAL
+                                | wxRIBBON_BAR_SHOW_PAGE_ICONS
+                                | wxRIBBON_BAR_SHOW_PANEL_EXT_BUTTONS
+                                | wxRIBBON_BAR_SHOW_PANEL_MINIMISE_BUTTONS,
+};
+
+class WXDLLIMPEXP_RIBBON wxRibbonBarEvent : public wxNotifyEvent
+{
+public:
+    wxRibbonBarEvent(wxEventType command_type = wxEVT_NULL,
+                       int win_id = 0,
+                       wxRibbonPage* page = NULL)
+        : wxNotifyEvent(command_type, win_id)
+        , m_page(page)
+    {
+    }
+#ifndef SWIG
+    wxRibbonBarEvent(const wxRibbonBarEvent& c) : wxNotifyEvent(c)
+    {
+        m_page = c.m_page;
+    }
+#endif
+    wxEvent *Clone() const { return new wxRibbonBarEvent(*this); }
+
+    wxRibbonPage* GetPage() {return m_page;}
+    void SetPage(wxRibbonPage* page) {m_page = page;}
+
+protected:
+    wxRibbonPage* m_page;
+
+#ifndef SWIG
+private:
+    DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxRibbonBarEvent)
+#endif
+};
+
+class WXDLLIMPEXP_RIBBON wxRibbonPageTabInfo
+{
+public:
+    wxRect rect;
+    wxRibbonPage *page;
+    int ideal_width;
+    int small_begin_need_separator_width;
+    int small_must_have_separator_width;
+    int minimum_width;
+    bool active;
+    bool hovered;
+};
+
+#ifndef SWIG
+WX_DECLARE_USER_EXPORTED_OBJARRAY(wxRibbonPageTabInfo, wxRibbonPageTabInfoArray, WXDLLIMPEXP_RIBBON);
+#endif
+
+class WXDLLIMPEXP_RIBBON wxRibbonBar : public wxRibbonControl
+{
+public:
+    wxRibbonBar();
+
+    wxRibbonBar(wxWindow* parent,
+                  wxWindowID id = wxID_ANY,
+                  const wxPoint& pos = wxDefaultPosition,
+                  const wxSize& size = wxDefaultSize,
+                  long style = wxRIBBON_BAR_DEFAULT_STYLE);
+
+    virtual ~wxRibbonBar();
+
+    bool Create(wxWindow* parent,
+                wxWindowID id = wxID_ANY,
+                const wxPoint& pos = wxDefaultPosition,
+                const wxSize& size = wxDefaultSize,
+                long style = wxRIBBON_BAR_DEFAULT_STYLE);
+
+    void SetTabCtrlMargins(int left, int right);
+
+    void SetArtProvider(wxRibbonArtProvider* art);
+
+    bool SetActivePage(size_t page);
+    bool SetActivePage(wxRibbonPage* page);
+    int GetActivePage() const;
+    wxRibbonPage* GetPage(int n);
+    bool DismissExpandedPanel();
+
+    virtual wxSize DoGetBestSize() const;
+    virtual bool HasMultiplePages() const { return true; }
+
+    void SetWindowStyleFlag(long style);
+    long GetWindowStyleFlag() const;
+    virtual bool Realize();
+
+protected:
+    friend class wxRibbonPage;
+
+    wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
+    wxRibbonPageTabInfo* HitTestTabs(wxPoint position, int* index = NULL);
+
+    void CommonInit(long style);
+    void AddPage(wxRibbonPage *page);
+    void RecalculateTabSizes();
+    void RecalculateMinSize();
+    void ScrollTabBar(int npixels);
+    void RefreshTabBar();
+    void RepositionPage(wxRibbonPage *page);
+
+    void OnPaint(wxPaintEvent& evt);
+    void OnEraseBackground(wxEraseEvent& evt);
+    void DoEraseBackground(wxDC& dc);
+    void OnSize(wxSizeEvent& evt);
+    void OnMouseLeftDown(wxMouseEvent& evt);
+    void OnMouseLeftUp(wxMouseEvent& evt);
+    void OnMouseMiddleDown(wxMouseEvent& evt);
+    void OnMouseMiddleUp(wxMouseEvent& evt);
+    void OnMouseRightDown(wxMouseEvent& evt);
+    void OnMouseRightUp(wxMouseEvent& evt);
+    void OnMouseMove(wxMouseEvent& evt);
+    void OnMouseLeave(wxMouseEvent& evt);
+    void DoMouseButtonCommon(wxMouseEvent& evt, wxEventType tab_event_type);
+
+    wxRibbonPageTabInfoArray m_pages;
+    wxRect m_tab_scroll_left_button_rect;
+    wxRect m_tab_scroll_right_button_rect;
+    long m_flags;
+    int m_tabs_total_width_ideal;
+    int m_tabs_total_width_minimum;
+    int m_tab_margin_left;
+    int m_tab_margin_right;
+    int m_tab_height;
+    int m_tab_scroll_amount;
+    int m_current_page;
+    int m_current_hovered_page;
+    int m_tab_scroll_left_button_state;
+    int m_tab_scroll_right_button_state;
+    bool m_tab_scroll_buttons_shown;
+
+#ifndef SWIG
+    DECLARE_CLASS(wxRibbonBar)
+    DECLARE_EVENT_TABLE()
+#endif
+};
+
+#ifndef SWIG
+
+wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_RIBBON, wxEVT_COMMAND_RIBBONBAR_PAGE_CHANGED, wxRibbonBarEvent);
+wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_RIBBON, wxEVT_COMMAND_RIBBONBAR_PAGE_CHANGING, wxRibbonBarEvent);
+wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_RIBBON, wxEVT_COMMAND_RIBBONBAR_TAB_MIDDLE_DOWN, wxRibbonBarEvent);
+wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_RIBBON, wxEVT_COMMAND_RIBBONBAR_TAB_MIDDLE_UP, wxRibbonBarEvent);
+wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_RIBBON, wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_DOWN, wxRibbonBarEvent);
+wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_RIBBON, wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_UP, wxRibbonBarEvent);
+
+typedef void (wxEvtHandler::*wxRibbonBarEventFunction)(wxRibbonBarEvent&);
+
+#define wxRibbonBarEventHandler(func) \
+    wxEVENT_HANDLER_CAST(wxRibbonBarEventFunction, func)
+
+#define EVT_RIBBONBAR_PAGE_CHANGED(winid, fn) \
+    wx__DECLARE_EVT1(wxEVT_COMMAND_RIBBONBAR_PAGE_CHANGED, winid, wxRibbonBarEventHandler(fn))
+#define EVT_RIBBONBAR_PAGE_CHANGING(winid, fn) \
+    wx__DECLARE_EVT1(wxEVT_COMMAND_RIBBONBAR_PAGE_CHANGING, winid, wxRibbonBarEventHandler(fn))
+#define EVT_RIBBONBAR_TAB_MIDDLE_DOWN(winid, fn) \
+    wx__DECLARE_EVT1(wxEVT_COMMAND_RIBBONBAR_TAB_MIDDLE_DOWN, winid, wxRibbonBarEventHandler(fn))
+#define EVT_RIBBONBAR_TAB_MIDDLE_UP(winid, fn) \
+    wx__DECLARE_EVT1(wxEVT_COMMAND_RIBBONBAR_TAB_MIDDLE_UP, winid, wxRibbonBarEventHandler(fn))
+#define EVT_RIBBONBAR_TAB_RIGHT_DOWN(winid, fn) \
+    wx__DECLARE_EVT1(wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_DOWN, winid, wxRibbonBarEventHandler(fn))
+#define EVT_RIBBONBAR_TAB_RIGHT_UP(winid, fn) \
+    wx__DECLARE_EVT1(wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_UP, winid, wxRibbonBarEventHandler(fn))
+#else
+
+// wxpython/swig event work
+%constant wxEventType wxEVT_COMMAND_RIBBONBAR_PAGE_CHANGED;
+%constant wxEventType wxEVT_COMMAND_RIBBONBAR_PAGE_CHANGING;
+%constant wxEventType wxEVT_COMMAND_RIBBONBAR_TAB_MIDDLE_DOWN;
+%constant wxEventType wxEVT_COMMAND_RIBBONBAR_TAB_MIDDLE_UP;
+%constant wxEventType wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_DOWN;
+%constant wxEventType wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_UP;
+
+%pythoncode {
+    EVT_RIBBONBAR_PAGE_CHANGED = wx.PyEventBinder( wxEVT_COMMAND_RIBBONBAR_PAGE_CHANGED, 1 )
+    EVT_RIBBONBAR_PAGE_CHANGING = wx.PyEventBinder( wxEVT_COMMAND_RIBBONBAR_PAGE_CHANGING, 1 )
+    EVT_RIBBONBAR_TAB_MIDDLE_DOWN = wx.PyEventBinder( wxEVT_COMMAND_RIBBONBAR_TAB_MIDDLE_DOWN, 1 )
+    EVT_RIBBONBAR_TAB_MIDDLE_UP = wx.PyEventBinder( wxEVT_COMMAND_RIBBONBAR_TAB_MIDDLE_UP, 1 )
+    EVT_RIBBONBAR_TAB_RIGHT_DOWN = wx.PyEventBinder( wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_DOWN, 1 )
+    EVT_RIBBONBAR_TAB_RIGHT_UP = wx.PyEventBinder( wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_UP, 1 )
+}
+#endif
+
+#endif // wxUSE_RIBBON
+
+#endif // _WX_RIBBON_BAR_H_
+
diff --git a/include/wx/ribbon/buttonbar.h b/include/wx/ribbon/buttonbar.h
new file mode 100644 (file)
index 0000000..b1642de
--- /dev/null
@@ -0,0 +1,194 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        wx/ribbon/buttonbar.h
+// Purpose:     Ribbon control similar to a tool bar
+// Author:      Peter Cawley
+// Modified by:
+// Created:     2009-07-01
+// RCS-ID:      $Id$
+// Copyright:   (C) Peter Cawley
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+#ifndef _WX_RIBBON_BUTTON_BAR_H_
+#define _WX_RIBBON_BUTTON_BAR_H_
+
+#include "wx/defs.h"
+
+#if wxUSE_RIBBON
+
+#include "wx/ribbon/art.h"
+#include "wx/ribbon/control.h"
+#include "wx/dynarray.h"
+
+class wxRibbonButtonBarButtonBase;
+class wxRibbonButtonBarLayout;
+class wxRibbonButtonBarButtonInstance;
+
+WX_DEFINE_USER_EXPORTED_ARRAY(wxRibbonButtonBarLayout*, wxArrayRibbonButtonBarLayout, class WXDLLIMPEXP_RIBBON);
+WX_DEFINE_USER_EXPORTED_ARRAY(wxRibbonButtonBarButtonBase*, wxArrayRibbonButtonBarButtonBase, class WXDLLIMPEXP_RIBBON);
+
+class WXDLLIMPEXP_RIBBON wxRibbonButtonBar : public wxRibbonControl
+{
+public:
+    wxRibbonButtonBar();
+
+    wxRibbonButtonBar(wxWindow* parent,
+                  wxWindowID id = wxID_ANY,
+                  const wxPoint& pos = wxDefaultPosition,
+                  const wxSize& size = wxDefaultSize,
+                  long style = 0);
+
+    virtual ~wxRibbonButtonBar();
+
+    bool Create(wxWindow* parent,
+                wxWindowID id = wxID_ANY,
+                const wxPoint& pos = wxDefaultPosition,
+                const wxSize& size = wxDefaultSize,
+                long style = 0);
+
+    virtual wxRibbonButtonBarButtonBase* AddButton(
+                int button_id,
+                const wxString& label,
+                const wxBitmap& bitmap,
+                const wxString& help_string,
+                wxRibbonButtonKind kind = wxRIBBON_BUTTON_NORMAL);
+    // NB: help_string cannot be optional as that would cause the signature
+    // to be identical to the full version of AddButton when 3 arguments are
+    // given.
+
+    virtual wxRibbonButtonBarButtonBase* AddDropdownButton(
+                int button_id,
+                const wxString& label,
+                const wxBitmap& bitmap,
+                const wxString& help_string = wxEmptyString);
+
+    virtual wxRibbonButtonBarButtonBase* AddHybridButton(
+                int button_id,
+                const wxString& label,
+                const wxBitmap& bitmap,
+                const wxString& help_string = wxEmptyString);
+    
+    virtual wxRibbonButtonBarButtonBase* AddButton(
+                int button_id,
+                const wxString& label,
+                const wxBitmap& bitmap,
+                const wxBitmap& bitmap_small = wxNullBitmap,
+                const wxBitmap& bitmap_disabled = wxNullBitmap,
+                const wxBitmap& bitmap_small_disabled = wxNullBitmap,
+                wxRibbonButtonKind kind = wxRIBBON_BUTTON_NORMAL,
+                const wxString& help_string = wxEmptyString,
+                wxObject* client_data = NULL);
+
+    virtual bool Realize();
+    virtual void ClearButtons();
+    virtual bool DeleteButton(int button_id);
+    virtual void EnableButton(int button_id, bool enable = true);
+
+    virtual void SetArtProvider(wxRibbonArtProvider* art);
+    virtual bool IsSizingContinuous() const;
+
+    virtual wxSize GetMinSize() const;
+    virtual wxSize DoGetBestSize() const;
+protected:
+    friend class wxRibbonButtonBarEvent;
+    wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
+
+    void OnEraseBackground(wxEraseEvent& evt);
+    void OnPaint(wxPaintEvent& evt);
+    void OnSize(wxSizeEvent& evt);
+    void OnMouseMove(wxMouseEvent& evt);
+    void OnMouseEnter(wxMouseEvent& evt);
+    void OnMouseLeave(wxMouseEvent& evt);
+    void OnMouseDown(wxMouseEvent& evt);
+    void OnMouseUp(wxMouseEvent& evt);
+
+    virtual wxSize DoGetNextSmallerSize(wxOrientation direction,
+                                      wxSize relative_to) const;
+    virtual wxSize DoGetNextLargerSize(wxOrientation direction,
+                                     wxSize relative_to) const;
+
+    void CommonInit(long style);
+    void MakeLayouts();
+    bool TryCollapseLayout(wxRibbonButtonBarLayout* original, size_t first_btn, size_t* last_button);
+    static wxBitmap MakeResizedBitmap(const wxBitmap& original, wxSize size);
+    static wxBitmap MakeDisabledBitmap(const wxBitmap& original);
+    void FetchButtonSizeInfo(wxRibbonButtonBarButtonBase* button,
+        wxRibbonButtonBarButtonState size, wxDC& dc);
+
+    wxArrayRibbonButtonBarLayout m_layouts;
+    wxArrayRibbonButtonBarButtonBase m_buttons;
+    wxRibbonButtonBarButtonInstance* m_hovered_button;
+    wxRibbonButtonBarButtonInstance* m_active_button;
+
+    wxPoint m_layout_offset;
+    wxSize m_bitmap_size_large;
+    wxSize m_bitmap_size_small;
+    int m_current_layout;
+    bool m_layouts_valid;
+    bool m_lock_active_state;
+
+#ifndef SWIG
+    DECLARE_CLASS(wxRibbonButtonBar)
+    DECLARE_EVENT_TABLE()
+#endif
+};
+
+class WXDLLIMPEXP_RIBBON wxRibbonButtonBarEvent : public wxCommandEvent
+{
+public:
+    wxRibbonButtonBarEvent(wxEventType command_type = wxEVT_NULL,
+                       int win_id = 0,
+                       wxRibbonButtonBar* bar = NULL)
+        : wxCommandEvent(command_type, win_id)
+        , m_bar(bar)
+    {
+    }
+#ifndef SWIG
+    wxRibbonButtonBarEvent(const wxRibbonButtonBarEvent& e) : wxCommandEvent(e)
+    {
+        m_bar = e.m_bar;
+    }
+#endif
+    wxEvent *Clone() const { return new wxRibbonButtonBarEvent(*this); }
+
+    wxRibbonButtonBar* GetBar() {return m_bar;}
+    void SetBar(wxRibbonButtonBar* bar) {m_bar = bar;}
+    bool PopupMenu(wxMenu* menu);
+
+protected:
+    wxRibbonButtonBar* m_bar;
+
+#ifndef SWIG
+private:
+    DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxRibbonButtonBarEvent)
+#endif
+};
+
+#ifndef SWIG
+
+wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_RIBBON, wxEVT_COMMAND_RIBBONBUTTON_CLICKED, wxRibbonButtonBarEvent);
+wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_RIBBON, wxEVT_COMMAND_RIBBONBUTTON_DROPDOWN_CLICKED, wxRibbonButtonBarEvent);
+
+typedef void (wxEvtHandler::*wxRibbonButtonBarEventFunction)(wxRibbonButtonBarEvent&);
+
+#define wxRibbonButtonBarEventHandler(func) \
+    wxEVENT_HANDLER_CAST(wxRibbonButtonBarEventFunction, func)
+
+#define EVT_RIBBONBUTTONBAR_CLICKED(winid, fn) \
+    wx__DECLARE_EVT1(wxEVT_COMMAND_RIBBONBUTTON_CLICKED, winid, wxRibbonButtonBarEventHandler(fn))
+#define EVT_RIBBONBUTTONBAR_DROPDOWN_CLICKED(winid, fn) \
+    wx__DECLARE_EVT1(wxEVT_COMMAND_RIBBONBUTTON_DROPDOWN_CLICKED, winid, wxRibbonButtonBarEventHandler(fn))
+#else
+
+// wxpython/swig event work
+%constant wxEventType wxEVT_COMMAND_RIBBONBUTTON_CLICKED;
+%constant wxEventType wxEVT_COMMAND_RIBBONBUTTON_DROPDOWN_CLICKED;
+
+%pythoncode {
+    EVT_RIBBONBUTTONBAR_CLICKED = wx.PyEventBinder( wxEVT_COMMAND_RIBBONBUTTON_CLICKED, 1 )
+    EVT_RIBBONBUTTONBAR_DROPDOWN_CLICKED = wx.PyEventBinder( wxEVT_COMMAND_RIBBONBUTTON_DROPDOWN_CLICKED, 1 )
+}
+#endif
+
+#endif // wxUSE_RIBBON
+
+#endif // _WX_RIBBON_BUTTON_BAR_H_
diff --git a/include/wx/ribbon/control.h b/include/wx/ribbon/control.h
new file mode 100644 (file)
index 0000000..e1066a6
--- /dev/null
@@ -0,0 +1,64 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        wx/ribbon/control.h
+// Purpose:     Extension of wxControl with common ribbon methods
+// Author:      Peter Cawley
+// Modified by:
+// Created:     2009-06-05
+// RCS-ID:      $Id$
+// Copyright:   (C) Peter Cawley
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_RIBBON_CONTROL_H_
+#define _WX_RIBBON_CONTROL_H_
+
+#include "wx/defs.h"
+
+#if wxUSE_RIBBON
+
+#include "wx/control.h"
+#include "wx/dynarray.h"
+
+class wxRibbonArtProvider;
+
+class WXDLLIMPEXP_RIBBON wxRibbonControl : public wxControl
+{
+public:
+    wxRibbonControl() { m_art = NULL; }
+
+    wxRibbonControl(wxWindow *parent, wxWindowID id,
+                    const wxPoint& pos = wxDefaultPosition,
+                    const wxSize& size = wxDefaultSize, long style = 0,
+                    const wxValidator& validator = wxDefaultValidator,
+                    const wxString& name = wxControlNameStr);
+
+    virtual void SetArtProvider(wxRibbonArtProvider* art);
+    wxRibbonArtProvider* GetArtProvider() const {return m_art;}
+
+    virtual bool IsSizingContinuous() const {return true;}
+    wxSize GetNextSmallerSize(wxOrientation direction, wxSize relative_to) const;
+    wxSize GetNextLargerSize(wxOrientation direction, wxSize relative_to) const;
+    wxSize GetNextSmallerSize(wxOrientation direction) const;
+    wxSize GetNextLargerSize(wxOrientation direction) const;
+
+    virtual bool Realize();
+    bool Realise() {return Realize();}
+
+protected:
+    wxRibbonArtProvider* m_art;
+
+    virtual wxSize DoGetNextSmallerSize(wxOrientation direction,
+                                        wxSize relative_to) const;
+    virtual wxSize DoGetNextLargerSize(wxOrientation direction,
+                                       wxSize relative_to) const;
+
+#ifndef SWIG
+    DECLARE_CLASS(wxRibbonControl)
+#endif
+};
+
+WX_DEFINE_USER_EXPORTED_ARRAY(wxRibbonControl*, wxArrayRibbonControl, class WXDLLIMPEXP_RIBBON);
+
+#endif // wxUSE_RIBBON
+
+#endif // _WX_RIBBON_CONTROL_H_
diff --git a/include/wx/ribbon/gallery.h b/include/wx/ribbon/gallery.h
new file mode 100644 (file)
index 0000000..18f7ad1
--- /dev/null
@@ -0,0 +1,186 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        wx/ribbon/gallery.h
+// Purpose:     Ribbon control which displays a gallery of items to choose from
+// Author:      Peter Cawley
+// Modified by:
+// Created:     2009-07-22
+// RCS-ID:      $Id$
+// Copyright:   (C) Peter Cawley
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+#ifndef _WX_RIBBON_GALLERY_H_
+#define _WX_RIBBON_GALLERY_H_
+
+#include "wx/defs.h"
+
+#if wxUSE_RIBBON
+
+#include "wx/ribbon/art.h"
+#include "wx/ribbon/control.h"
+
+class wxRibbonGalleryItem;
+
+WX_DEFINE_USER_EXPORTED_ARRAY(wxRibbonGalleryItem*, wxArrayRibbonGalleryItem, class WXDLLIMPEXP_RIBBON);
+
+class WXDLLIMPEXP_RIBBON wxRibbonGallery : public wxRibbonControl
+{
+public:
+    wxRibbonGallery();
+
+    wxRibbonGallery(wxWindow* parent,
+                  wxWindowID id = wxID_ANY,
+                  const wxPoint& pos = wxDefaultPosition,
+                  const wxSize& size = wxDefaultSize,
+                  long style = 0);
+
+    virtual ~wxRibbonGallery();
+
+    bool Create(wxWindow* parent,
+                wxWindowID id = wxID_ANY,
+                const wxPoint& pos = wxDefaultPosition,
+                const wxSize& size = wxDefaultSize,
+                long style = 0);
+
+    void Clear();
+
+    bool IsEmpty() const;
+    unsigned int GetCount() const;
+    wxRibbonGalleryItem* GetItem(unsigned int n);
+    wxRibbonGalleryItem* Append(const wxBitmap& bitmap, int id);
+    wxRibbonGalleryItem* Append(const wxBitmap& bitmap, int id, void* clientData);
+    wxRibbonGalleryItem* Append(const wxBitmap& bitmap, int id, wxClientData* clientData);
+
+    void SetItemClientObject(wxRibbonGalleryItem* item, wxClientData* data);
+    wxClientData* GetItemClientObject(const wxRibbonGalleryItem* item) const;
+    void SetItemClientData(wxRibbonGalleryItem* item, void* data);
+    void* GetItemClientData(const wxRibbonGalleryItem* item) const;
+
+    void SetSelection(wxRibbonGalleryItem* item);
+    wxRibbonGalleryItem* GetSelection() const;
+    wxRibbonGalleryItem* GetHoveredItem() const;
+    wxRibbonGalleryItem* GetActiveItem() const;
+    wxRibbonGalleryButtonState GetUpButtonState() const;
+    wxRibbonGalleryButtonState GetDownButtonState() const;
+    wxRibbonGalleryButtonState GetExtensionButtonState() const;
+
+    bool IsHovered() const;
+    virtual bool IsSizingContinuous() const;
+    virtual bool Realize();
+    virtual bool Layout();
+
+    virtual bool ScrollLines(int lines);
+    void EnsureVisible(const wxRibbonGalleryItem* item);
+
+protected:
+    wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
+    void CommonInit(long style);
+    void CalculateMinSize();
+    bool TestButtonHover(const wxRect& rect, wxPoint pos,
+        wxRibbonGalleryButtonState* state);
+
+    void OnEraseBackground(wxEraseEvent& evt);
+    void OnMouseEnter(wxMouseEvent& evt);
+    void OnMouseMove(wxMouseEvent& evt);
+    void OnMouseLeave(wxMouseEvent& evt);
+    void OnMouseDown(wxMouseEvent& evt);
+    void OnMouseUp(wxMouseEvent& evt);
+    void OnPaint(wxPaintEvent& evt);
+    void OnSize(wxSizeEvent& evt);
+
+    virtual wxSize DoGetBestSize() const;
+    virtual wxSize DoGetNextSmallerSize(wxOrientation direction,
+                                        wxSize relative_to) const;
+    virtual wxSize DoGetNextLargerSize(wxOrientation direction,
+                                       wxSize relative_to) const;
+
+    wxArrayRibbonGalleryItem m_items;
+    wxRibbonGalleryItem* m_selected_item;
+    wxRibbonGalleryItem* m_hovered_item;
+    wxRibbonGalleryItem* m_active_item;
+    wxSize m_bitmap_size;
+    wxSize m_bitmap_padded_size;
+    wxSize m_best_size;
+    wxRect m_client_rect;
+    wxRect m_scroll_up_button_rect;
+    wxRect m_scroll_down_button_rect;
+    wxRect m_extension_button_rect;
+    const wxRect* m_mouse_active_rect;
+    int m_item_separation_x;
+    int m_item_separation_y;
+    int m_scroll_amount;
+    int m_scroll_limit;
+    wxRibbonGalleryButtonState m_up_button_state;
+    wxRibbonGalleryButtonState m_down_button_state;
+    wxRibbonGalleryButtonState m_extension_button_state;
+    bool m_hovered;
+
+#ifndef SWIG
+    DECLARE_CLASS(wxRibbonGallery)
+    DECLARE_EVENT_TABLE()
+#endif
+};
+
+class WXDLLIMPEXP_RIBBON wxRibbonGalleryEvent : public wxCommandEvent
+{
+public:
+    wxRibbonGalleryEvent(wxEventType command_type = wxEVT_NULL,
+                       int win_id = 0,
+                       wxRibbonGallery* gallery = NULL,
+                       wxRibbonGalleryItem* item = NULL)
+        : wxCommandEvent(command_type, win_id)
+        , m_gallery(gallery), m_item(item)
+    {
+    }
+#ifndef SWIG
+    wxRibbonGalleryEvent(const wxRibbonGalleryEvent& e) : wxCommandEvent(e)
+    {
+        m_gallery = e.m_gallery;
+        m_item = e.m_item;
+    }
+#endif
+    wxEvent *Clone() const { return new wxRibbonGalleryEvent(*this); }
+
+    wxRibbonGallery* GetGallery() {return m_gallery;}
+    wxRibbonGalleryItem* GetGalleryItem() {return m_item;}
+    void SetGallery(wxRibbonGallery* gallery) {m_gallery = gallery;}
+    void SetGalleryItem(wxRibbonGalleryItem* item) {m_item = item;}
+
+protected:
+    wxRibbonGallery* m_gallery;
+    wxRibbonGalleryItem* m_item;
+
+#ifndef SWIG
+private:
+    DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxRibbonGalleryEvent)
+#endif
+};
+
+#ifndef SWIG
+
+wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_RIBBON, wxEVT_COMMAND_RIBBONGALLERY_HOVER_CHANGED, wxRibbonGalleryEvent);
+wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_RIBBON, wxEVT_COMMAND_RIBBONGALLERY_SELECTED, wxRibbonGalleryEvent);
+
+typedef void (wxEvtHandler::*wxRibbonGalleryEventFunction)(wxRibbonGalleryEvent&);
+
+#define wxRibbonGalleryEventHandler(func) \
+    wxEVENT_HANDLER_CAST(wxRibbonGalleryEventFunction, func)
+
+#define EVT_RIBBONGALLERY_HOVER_CHANGED(winid, fn) \
+    wx__DECLARE_EVT1(wxEVT_COMMAND_RIBBONGALLERY_HOVER_CHANGED, winid, wxRibbonGalleryEventHandler(fn))
+#define EVT_RIBBONGALLERY_SELECTED(winid, fn) \
+    wx__DECLARE_EVT1(wxEVT_COMMAND_RIBBONGALLERY_SELECTED, winid, wxRibbonGalleryEventHandler(fn))
+#else
+
+// wxpython/swig event work
+%constant wxEventType wxEVT_COMMAND_RIBBONGALLERY_HOVER_CHANGED;
+%constant wxEventType wxEVT_COMMAND_RIBBONGALLERY_SELECTED;
+
+%pythoncode {
+    EVT_RIBBONGALLERY_HOVER_CHANGED = wx.PyEventBinder( wxEVT_COMMAND_RIBBONGALLERY_HOVER_CHANGED, 1 )
+    EVT_RIBBONGALLERY_SELECTED = wx.PyEventBinder( wxEVT_COMMAND_RIBBONGALLERY_SELECTED, 1 )
+}
+#endif
+
+#endif // wxUSE_RIBBON
+
+#endif // _WX_RIBBON_GALLERY_H_
diff --git a/include/wx/ribbon/page.h b/include/wx/ribbon/page.h
new file mode 100644 (file)
index 0000000..80d8e6f
--- /dev/null
@@ -0,0 +1,99 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        wx/ribbon/page.h
+// Purpose:     Container for ribbon-bar-style interface panels
+// Author:      Peter Cawley
+// Modified by:
+// Created:     2009-05-25
+// RCS-ID:      $Id$
+// Copyright:   (C) Peter Cawley
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_RIBBON_PAGE_H_
+#define _WX_RIBBON_PAGE_H_
+
+#include "wx/defs.h"
+
+#if wxUSE_RIBBON
+
+#include "wx/ribbon/control.h"
+#include "wx/ribbon/panel.h"
+#include "wx/bitmap.h"
+
+class wxRibbonBar;
+class wxRibbonPageScrollButton;
+
+class WXDLLIMPEXP_RIBBON wxRibbonPage : public wxRibbonControl
+{
+public:
+    wxRibbonPage();
+
+    wxRibbonPage(wxRibbonBar* parent,
+                 wxWindowID id = wxID_ANY,
+                 const wxString& label = wxEmptyString,
+                 const wxBitmap& icon = wxNullBitmap,
+                 long style = 0);
+
+    virtual ~wxRibbonPage();
+
+    bool Create(wxRibbonBar* parent,
+                wxWindowID id = wxID_ANY,
+                const wxString& label = wxEmptyString,
+                const wxBitmap& icon = wxNullBitmap,
+                long style = 0);
+
+    void SetArtProvider(wxRibbonArtProvider* art);
+
+    wxBitmap& GetIcon() {return m_icon;}
+    virtual wxSize GetMinSize() const;
+    virtual wxSize DoGetBestSize() const;
+    void SetSizeWithScrollButtonAdjustment(int x, int y, int width, int height);
+    void AdjustRectToIncludeScrollButtons(wxRect* rect) const;
+
+    bool DismissExpandedPanel();
+
+    virtual bool Realize();
+    virtual bool Show(bool show = true);
+    virtual bool Layout();
+    virtual bool ScrollLines(int lines);
+    bool ScrollPixels(int pixels);
+
+    wxOrientation GetMajorAxis() const;
+
+    virtual void RemoveChild(wxWindowBase *child);
+
+protected:
+    virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
+
+    void DoSetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+    void OnEraseBackground(wxEraseEvent& evt);
+    void OnPaint(wxPaintEvent& evt);
+    void OnSize(wxSizeEvent& evt);
+
+    bool ExpandPanels(wxOrientation direction, int maximum_amount);
+    bool CollapsePanels(wxOrientation direction, int minimum_amount);
+    void ShowScrollButtons();
+    void HideScrollButtons();
+
+    void CommonInit(const wxString& label, const wxBitmap& icon);
+
+    wxArrayRibbonControl m_collapse_stack;
+    wxBitmap m_icon;
+    wxSize m_old_size;
+    // NB: Scroll button windows are siblings rather than children (to get correct clipping of children)
+    wxRibbonPageScrollButton* m_scroll_left_btn;
+    wxRibbonPageScrollButton* m_scroll_right_btn;
+    int m_scroll_amount;
+    int m_scroll_amount_limit;
+    int m_size_in_major_axis_for_children;
+    bool m_scroll_buttons_visible;
+
+#ifndef SWIG
+    DECLARE_CLASS(wxRibbonPage)
+    DECLARE_EVENT_TABLE()
+#endif
+};
+
+#endif // wxUSE_RIBBON
+
+#endif // _WX_RIBBON_PAGE_H_
diff --git a/include/wx/ribbon/panel.h b/include/wx/ribbon/panel.h
new file mode 100644 (file)
index 0000000..d36c82a
--- /dev/null
@@ -0,0 +1,128 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        wx/ribbon/panel.h
+// Purpose:     Ribbon-style container for a group of related tools / controls
+// Author:      Peter Cawley
+// Modified by:
+// Created:     2009-05-25
+// RCS-ID:      $Id$
+// Copyright:   (C) Peter Cawley
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+#ifndef _WX_RIBBON_PANEL_H_
+#define _WX_RIBBON_PANEL_H_
+
+#include "wx/defs.h"
+
+#if wxUSE_RIBBON
+
+#include "wx/bitmap.h"
+#include "wx/ribbon/control.h"
+
+enum wxRibbonPanelOption
+{
+    wxRIBBON_PANEL_NO_AUTO_MINIMISE    = 1 << 0,
+    wxRIBBON_PANEL_EXT_BUTTON        = 1 << 3,
+    wxRIBBON_PANEL_MINIMISE_BUTTON    = 1 << 4,
+    
+    wxRIBBON_PANEL_DEFAULT_STYLE = 0,
+};
+
+class WXDLLIMPEXP_RIBBON wxRibbonPanel : public wxRibbonControl
+{
+public:
+    wxRibbonPanel();
+
+    wxRibbonPanel(wxWindow* parent,
+                  wxWindowID id = wxID_ANY,
+                  const wxString& label = wxEmptyString,
+                  const wxBitmap& minimised_icon = wxNullBitmap,
+                  const wxPoint& pos = wxDefaultPosition,
+                  const wxSize& size = wxDefaultSize,
+                  long style = wxRIBBON_PANEL_DEFAULT_STYLE);
+
+    virtual ~wxRibbonPanel();
+
+    bool Create(wxWindow* parent,
+                wxWindowID id = wxID_ANY,
+                const wxString& label = wxEmptyString,
+                const wxBitmap& icon = wxNullBitmap,
+                const wxPoint& pos = wxDefaultPosition,
+                const wxSize& size = wxDefaultSize,
+                long style = wxRIBBON_PANEL_DEFAULT_STYLE);
+
+    wxBitmap& GetMinimisedIcon() {return m_minimised_icon;}
+    const wxBitmap& GetMinimisedIcon() const {return m_minimised_icon;}
+    bool IsMinimised() const;
+    bool IsMinimised(wxSize at_size) const;
+    bool IsHovered() const;
+    bool CanAutoMinimise() const;
+
+    bool ShowExpanded();
+    bool HideExpanded();
+
+    void SetArtProvider(wxRibbonArtProvider* art);
+
+    virtual bool Realize();
+    virtual bool Layout();
+    virtual wxSize GetMinSize() const;
+    virtual wxSize DoGetBestSize() const;
+
+    virtual bool IsSizingContinuous() const;
+
+    virtual void AddChild(wxWindowBase *child);
+    virtual void RemoveChild(wxWindowBase *child);
+
+    wxRibbonPanel* GetExpandedDummy();
+    wxRibbonPanel* GetExpandedPanel();
+
+protected:
+    wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
+    wxSize GetMinNotMinimisedSize() const;
+
+    virtual wxSize DoGetNextSmallerSize(wxOrientation direction,
+                                      wxSize relative_to) const;
+    virtual wxSize DoGetNextLargerSize(wxOrientation direction,
+                                     wxSize relative_to) const;
+
+    void DoSetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+    void OnSize(wxSizeEvent& evt);
+    void OnEraseBackground(wxEraseEvent& evt);
+    void OnPaint(wxPaintEvent& evt);
+    void OnMouseEnter(wxMouseEvent& evt);
+    void OnMouseEnterChild(wxMouseEvent& evt);
+    void OnMouseLeave(wxMouseEvent& evt);
+    void OnMouseLeaveChild(wxMouseEvent& evt);
+    void OnMouseClick(wxMouseEvent& evt);
+    void OnKillFocus(wxFocusEvent& evt);
+    void OnChildKillFocus(wxFocusEvent& evt);
+
+    void TestPositionForHover(const wxPoint& pos);
+    bool ShouldSendEventToDummy(wxEvent& evt);
+    virtual bool TryAfter(wxEvent& evt);
+
+    void CommonInit(const wxString& label, const wxBitmap& icon, long style);
+    static wxRect GetExpandedPosition(wxRect panel,
+                                      wxSize expanded_size,
+                                      wxDirection direction);
+
+    wxBitmap m_minimised_icon;
+    wxBitmap m_minimised_icon_resized;
+    wxSize m_smallest_unminimised_size;
+    wxSize m_minimised_size;
+    wxDirection m_preferred_expand_direction;
+    wxRibbonPanel* m_expanded_dummy;
+    wxRibbonPanel* m_expanded_panel;
+    wxWindow* m_child_with_focus;
+    long m_flags;
+    bool m_minimised;
+    bool m_hovered;
+
+#ifndef SWIG
+    DECLARE_CLASS(wxRibbonPanel)
+    DECLARE_EVENT_TABLE()
+#endif
+};
+
+#endif // wxUSE_RIBBON
+
+#endif // _WX_RIBBON_PANEL_H_
diff --git a/include/wx/ribbon/toolbar.h b/include/wx/ribbon/toolbar.h
new file mode 100644 (file)
index 0000000..ae11bc7
--- /dev/null
@@ -0,0 +1,189 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        wx/ribbon/toolbar.h
+// Purpose:     Ribbon-style tool bar
+// Author:      Peter Cawley
+// Modified by:
+// Created:     2009-07-06
+// RCS-ID:      $Id$
+// Copyright:   (C) Peter Cawley
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+#ifndef _WX_RIBBON_TOOLBAR_H_
+#define _WX_RIBBON_TOOLBAR_H_
+
+#include "wx/defs.h"
+
+#if wxUSE_RIBBON
+
+#include "wx/ribbon/control.h"
+#include "wx/ribbon/art.h"
+
+class wxRibbonToolBarToolBase;
+class wxRibbonToolBarToolGroup;
+WX_DEFINE_USER_EXPORTED_ARRAY(wxRibbonToolBarToolGroup*, wxArrayRibbonToolBarToolGroup, class WXDLLIMPEXP_RIBBON);
+
+enum wxRibbonToolBarToolState
+{
+    wxRIBBON_TOOLBAR_TOOL_FIRST             = 1 << 0,
+    wxRIBBON_TOOLBAR_TOOL_LAST              = 1 << 1,
+    wxRIBBON_TOOLBAR_TOOL_POSITION_MASK     = wxRIBBON_TOOLBAR_TOOL_FIRST | wxRIBBON_TOOLBAR_TOOL_LAST,
+
+    wxRIBBON_TOOLBAR_TOOL_NORMAL_HOVERED    = 1 << 3,
+    wxRIBBON_TOOLBAR_TOOL_DROPDOWN_HOVERED  = 1 << 4,
+    wxRIBBON_TOOLBAR_TOOL_HOVER_MASK        = wxRIBBON_TOOLBAR_TOOL_NORMAL_HOVERED | wxRIBBON_TOOLBAR_TOOL_DROPDOWN_HOVERED,
+    wxRIBBON_TOOLBAR_TOOL_NORMAL_ACTIVE     = 1 << 5,
+    wxRIBBON_TOOLBAR_TOOL_DROPDOWN_ACTIVE   = 1 << 6,
+    wxRIBBON_TOOLBAR_TOOL_ACTIVE_MASK       = wxRIBBON_TOOLBAR_TOOL_NORMAL_ACTIVE | wxRIBBON_TOOLBAR_TOOL_DROPDOWN_ACTIVE,
+    wxRIBBON_TOOLBAR_TOOL_DISABLED          = 1 << 7,
+    wxRIBBON_TOOLBAR_TOOL_STATE_MASK        = 0xF8,
+};
+
+
+class WXDLLIMPEXP_RIBBON wxRibbonToolBar : public wxRibbonControl
+{
+public:
+    wxRibbonToolBar();
+
+    wxRibbonToolBar(wxWindow* parent,
+                  wxWindowID id = wxID_ANY,
+                  const wxPoint& pos = wxDefaultPosition,
+                  const wxSize& size = wxDefaultSize,
+                  long style = 0);
+
+    virtual ~wxRibbonToolBar();
+
+    bool Create(wxWindow* parent,
+                wxWindowID id = wxID_ANY,
+                const wxPoint& pos = wxDefaultPosition,
+                const wxSize& size = wxDefaultSize,
+                long style = 0);
+
+    virtual wxRibbonToolBarToolBase* AddTool(
+                int tool_id,
+                const wxBitmap& bitmap,
+                const wxString& help_string,
+                wxRibbonButtonKind kind = wxRIBBON_BUTTON_NORMAL);
+
+    virtual wxRibbonToolBarToolBase* AddDropdownTool(
+                int tool_id,
+                const wxBitmap& bitmap,
+                const wxString& help_string = wxEmptyString);
+
+    virtual wxRibbonToolBarToolBase* AddHybridTool(
+                int tool_id,
+                const wxBitmap& bitmap,
+                const wxString& help_string = wxEmptyString);
+
+    virtual wxRibbonToolBarToolBase* AddTool(
+                int tool_id,
+                const wxBitmap& bitmap,
+                const wxBitmap& bitmap_disabled = wxNullBitmap,
+                const wxString& help_string = wxEmptyString,
+                wxRibbonButtonKind kind = wxRIBBON_BUTTON_NORMAL,
+                wxObject* client_data = NULL);
+
+    virtual wxRibbonToolBarToolBase* AddSeparator();
+
+    virtual bool Realize();
+    virtual void SetRows(int nMin, int nMax = -1);
+
+    virtual bool IsSizingContinuous() const;
+    virtual wxSize DoGetBestSize() const;
+
+protected:
+    friend class wxRibbonToolBarEvent;
+    wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
+
+    void OnEraseBackground(wxEraseEvent& evt);
+    void OnMouseDown(wxMouseEvent& evt);
+    void OnMouseEnter(wxMouseEvent& evt);
+    void OnMouseLeave(wxMouseEvent& evt);
+    void OnMouseMove(wxMouseEvent& evt);
+    void OnMouseUp(wxMouseEvent& evt);
+    void OnPaint(wxPaintEvent& evt);
+    void OnSize(wxSizeEvent& evt);
+
+    virtual wxSize DoGetNextSmallerSize(wxOrientation direction,
+                                      wxSize relative_to) const;
+    virtual wxSize DoGetNextLargerSize(wxOrientation direction,
+                                     wxSize relative_to) const;
+
+    void CommonInit(long style);
+    void AppendGroup();
+
+    static wxBitmap MakeDisabledBitmap(const wxBitmap& original);
+
+    wxArrayRibbonToolBarToolGroup m_groups;
+    wxRibbonToolBarToolBase* m_hover_tool;
+    wxRibbonToolBarToolBase* m_active_tool;
+    wxSize* m_sizes;
+    int m_nrows_min;
+    int m_nrows_max;
+
+#ifndef SWIG
+    DECLARE_CLASS(wxRibbonToolBar)
+    DECLARE_EVENT_TABLE()
+#endif
+};
+
+
+class WXDLLIMPEXP_RIBBON wxRibbonToolBarEvent : public wxCommandEvent
+{
+public:
+    wxRibbonToolBarEvent(wxEventType command_type = wxEVT_NULL,
+                       int win_id = 0,
+                       wxRibbonToolBar* bar = NULL)
+        : wxCommandEvent(command_type, win_id)
+        , m_bar(bar)
+    {
+    }
+#ifndef SWIG
+    wxRibbonToolBarEvent(const wxRibbonToolBarEvent& e) : wxCommandEvent(e)
+    {
+        m_bar = e.m_bar;
+    }
+#endif
+    wxEvent *Clone() const { return new wxRibbonToolBarEvent(*this); }
+
+    wxRibbonToolBar* GetBar() {return m_bar;}
+    void SetBar(wxRibbonToolBar* bar) {m_bar = bar;}
+    bool PopupMenu(wxMenu* menu);
+
+protected:
+    wxRibbonToolBar* m_bar;
+
+#ifndef SWIG
+private:
+    DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxRibbonToolBarEvent)
+#endif
+};
+
+#ifndef SWIG
+
+wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_RIBBON, wxEVT_COMMAND_RIBBONTOOL_CLICKED, wxRibbonToolBarEvent);
+wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_RIBBON, wxEVT_COMMAND_RIBBONTOOL_DROPDOWN_CLICKED, wxRibbonToolBarEvent);
+
+typedef void (wxEvtHandler::*wxRibbonToolBarEventFunction)(wxRibbonToolBarEvent&);
+
+#define wxRibbonToolBarEventHandler(func) \
+    wxEVENT_HANDLER_CAST(wxRibbonToolBarEventFunction, func)
+
+#define EVT_RIBBONTOOLBAR_CLICKED(winid, fn) \
+    wx__DECLARE_EVT1(wxEVT_COMMAND_RIBBONTOOL_CLICKED, winid, wxRibbonToolBarEventHandler(fn))
+#define EVT_RIBBONTOOLBAR_DROPDOWN_CLICKED(winid, fn) \
+    wx__DECLARE_EVT1(wxEVT_COMMAND_RIBBONTOOL_DROPDOWN_CLICKED, winid, wxRibbonToolBarEventHandler(fn))
+#else
+
+// wxpython/swig event work
+%constant wxEventType wxEVT_COMMAND_RIBBONTOOL_CLICKED;
+%constant wxEventType wxEVT_COMMAND_RIBBONTOOL_DROPDOWN_CLICKED;
+
+%pythoncode {
+    EVT_RIBBONTOOLBAR_CLICKED = wx.PyEventBinder( wxEVT_COMMAND_RIBBONTOOL_CLICKED, 1 )
+    EVT_RIBBONTOOLBAR_DROPDOWN_CLICKED = wx.PyEventBinder( wxEVT_COMMAND_RIBBONTOOL_DROPDOWN_CLICKED, 1 )
+}
+#endif
+
+#endif // wxUSE_RIBBON
+
+#endif // _WX_RIBBON_TOOLBAR_H_
index 38cbd740470a2c6ed9a58f224fcfbdd97acbe512..7a270163cb66afbf73e144a5dbf168e3740ca312 100644 (file)
 // Recommended setting: 1
 #define wxUSE_AUI       1
 
+// Use wxWidget's Ribbon classes for interfaces
+//
+// Default is 1
+//
+// Recommended setting: 1
+#define wxUSE_RIBBON    1
+
 // Use wxPropertyGrid.
 //
 // Default is 1
diff --git a/interface/wx/ribbon/art.h b/interface/wx/ribbon/art.h
new file mode 100644 (file)
index 0000000..bfaa5a1
--- /dev/null
@@ -0,0 +1,937 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        ribbon/art.h
+// Purpose:     interface of wxRibbonArtProvider
+// Author:      Peter Cawley
+// RCS-ID:      $Id$
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+/**
+    Identifiers for common settings on ribbon art providers which can be used
+    to tweak the appearance of the art provider.
+    
+    @see wxRibbonArtProvider::GetColour()
+    @see wxRibbonArtProvider::GetFont()
+    @see wxRibbonArtProvider::GetMetric()
+    @see wxRibbonArtProvider::SetColour()
+    @see wxRibbonArtProvider::SetFont()
+    @see wxRibbonArtProvider::SetMetric()
+*/
+enum wxRibbonArtSetting
+{
+    wxRIBBON_ART_TAB_SEPARATION_SIZE,
+    wxRIBBON_ART_PAGE_BORDER_LEFT_SIZE,
+    wxRIBBON_ART_PAGE_BORDER_TOP_SIZE,
+    wxRIBBON_ART_PAGE_BORDER_RIGHT_SIZE,
+    wxRIBBON_ART_PAGE_BORDER_BOTTOM_SIZE,
+    wxRIBBON_ART_PANEL_X_SEPARATION_SIZE,
+    wxRIBBON_ART_PANEL_Y_SEPARATION_SIZE,
+    wxRIBBON_ART_TOOL_GROUP_SEPARATION_SIZE,
+    wxRIBBON_ART_GALLERY_BITMAP_PADDING_LEFT_SIZE,
+    wxRIBBON_ART_GALLERY_BITMAP_PADDING_RIGHT_SIZE,
+    wxRIBBON_ART_GALLERY_BITMAP_PADDING_TOP_SIZE,
+    wxRIBBON_ART_GALLERY_BITMAP_PADDING_BOTTOM_SIZE,
+    wxRIBBON_ART_PANEL_LABEL_FONT,
+    wxRIBBON_ART_BUTTON_BAR_LABEL_FONT,
+    wxRIBBON_ART_TAB_LABEL_FONT,
+    wxRIBBON_ART_BUTTON_BAR_LABEL_COLOUR,
+    wxRIBBON_ART_BUTTON_BAR_HOVER_BORDER_COLOUR,
+    wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_TOP_COLOUR,
+    wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_TOP_GRADIENT_COLOUR,
+    wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_COLOUR,
+    wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_BUTTON_BAR_ACTIVE_BORDER_COLOUR,
+    wxRIBBON_ART_BUTTON_BAR_ACTIVE_BACKGROUND_TOP_COLOUR,
+    wxRIBBON_ART_BUTTON_BAR_ACTIVE_BACKGROUND_TOP_GRADIENT_COLOUR,
+    wxRIBBON_ART_BUTTON_BAR_ACTIVE_BACKGROUND_COLOUR,
+    wxRIBBON_ART_BUTTON_BAR_ACTIVE_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_GALLERY_BORDER_COLOUR,
+    wxRIBBON_ART_GALLERY_HOVER_BACKGROUND_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_BACKGROUND_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_BACKGROUND_TOP_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_FACE_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_HOVER_BACKGROUND_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_HOVER_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_HOVER_BACKGROUND_TOP_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_HOVER_FACE_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_BACKGROUND_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_BACKGROUND_TOP_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_FACE_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_DISABLED_BACKGROUND_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_DISABLED_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_DISABLED_BACKGROUND_TOP_COLOUR,
+    wxRIBBON_ART_GALLERY_BUTTON_DISABLED_FACE_COLOUR,
+    wxRIBBON_ART_GALLERY_ITEM_BORDER_COLOUR,
+    wxRIBBON_ART_TAB_LABEL_COLOUR,
+    wxRIBBON_ART_TAB_SEPARATOR_COLOUR,
+    wxRIBBON_ART_TAB_SEPARATOR_GRADIENT_COLOUR,
+    wxRIBBON_ART_TAB_CTRL_BACKGROUND_COLOUR,
+    wxRIBBON_ART_TAB_CTRL_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_TAB_HOVER_BACKGROUND_TOP_COLOUR,
+    wxRIBBON_ART_TAB_HOVER_BACKGROUND_TOP_GRADIENT_COLOUR,
+    wxRIBBON_ART_TAB_HOVER_BACKGROUND_COLOUR,
+    wxRIBBON_ART_TAB_HOVER_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_TAB_ACTIVE_BACKGROUND_TOP_COLOUR,
+    wxRIBBON_ART_TAB_ACTIVE_BACKGROUND_TOP_GRADIENT_COLOUR,
+    wxRIBBON_ART_TAB_ACTIVE_BACKGROUND_COLOUR,
+    wxRIBBON_ART_TAB_ACTIVE_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_TAB_BORDER_COLOUR,
+    wxRIBBON_ART_PANEL_BORDER_COLOUR,
+    wxRIBBON_ART_PANEL_BORDER_GRADIENT_COLOUR,
+    wxRIBBON_ART_PANEL_MINIMISED_BORDER_COLOUR,
+    wxRIBBON_ART_PANEL_MINIMISED_BORDER_GRADIENT_COLOUR,
+    wxRIBBON_ART_PANEL_LABEL_BACKGROUND_COLOUR,
+    wxRIBBON_ART_PANEL_LABEL_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_PANEL_LABEL_COLOUR,
+    wxRIBBON_ART_PANEL_HOVER_LABEL_BACKGROUND_COLOUR,
+    wxRIBBON_ART_PANEL_HOVER_LABEL_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_PANEL_HOVER_LABEL_COLOUR,
+    wxRIBBON_ART_PANEL_MINIMISED_LABEL_COLOUR,
+    wxRIBBON_ART_PANEL_ACTIVE_BACKGROUND_TOP_COLOUR,
+    wxRIBBON_ART_PANEL_ACTIVE_BACKGROUND_TOP_GRADIENT_COLOUR,
+    wxRIBBON_ART_PANEL_ACTIVE_BACKGROUND_COLOUR,
+    wxRIBBON_ART_PANEL_ACTIVE_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_PAGE_BORDER_COLOUR,
+    wxRIBBON_ART_PAGE_BACKGROUND_TOP_COLOUR,
+    wxRIBBON_ART_PAGE_BACKGROUND_TOP_GRADIENT_COLOUR,
+    wxRIBBON_ART_PAGE_BACKGROUND_COLOUR,
+    wxRIBBON_ART_PAGE_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_PAGE_HOVER_BACKGROUND_TOP_COLOUR,
+    wxRIBBON_ART_PAGE_HOVER_BACKGROUND_TOP_GRADIENT_COLOUR,
+    wxRIBBON_ART_PAGE_HOVER_BACKGROUND_COLOUR,
+    wxRIBBON_ART_PAGE_HOVER_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_TOOLBAR_BORDER_COLOUR,
+    wxRIBBON_ART_TOOLBAR_HOVER_BORDER_COLOUR,
+    wxRIBBON_ART_TOOLBAR_FACE_COLOUR,
+    wxRIBBON_ART_TOOL_BACKGROUND_TOP_COLOUR,
+    wxRIBBON_ART_TOOL_BACKGROUND_TOP_GRADIENT_COLOUR,
+    wxRIBBON_ART_TOOL_BACKGROUND_COLOUR,
+    wxRIBBON_ART_TOOL_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_TOOL_HOVER_BACKGROUND_TOP_COLOUR,
+    wxRIBBON_ART_TOOL_HOVER_BACKGROUND_TOP_GRADIENT_COLOUR,
+    wxRIBBON_ART_TOOL_HOVER_BACKGROUND_COLOUR,
+    wxRIBBON_ART_TOOL_HOVER_BACKGROUND_GRADIENT_COLOUR,
+    wxRIBBON_ART_TOOL_ACTIVE_BACKGROUND_TOP_COLOUR,
+    wxRIBBON_ART_TOOL_ACTIVE_BACKGROUND_TOP_GRADIENT_COLOUR,
+    wxRIBBON_ART_TOOL_ACTIVE_BACKGROUND_COLOUR,
+    wxRIBBON_ART_TOOL_ACTIVE_BACKGROUND_GRADIENT_COLOUR,
+};
+
+/**
+    Flags used to describe the direction, state, and/or purpose of a
+    ribbon-style scroll button.
+    
+    @see wxRibbonArtProvider::DrawScrollButton()
+    @see wxRibbonArtProvider::GetScrollButtonMinimumSize()
+*/
+enum wxRibbonScrollButtonStyle
+{
+    wxRIBBON_SCROLL_BTN_LEFT = 0, /**< Button will scroll to the left. */
+    wxRIBBON_SCROLL_BTN_RIGHT = 1, /**< Button will scroll to the right. */
+    wxRIBBON_SCROLL_BTN_UP = 2, /**< Button will scroll upward. */
+    wxRIBBON_SCROLL_BTN_DOWN = 3, /**< Button will scroll downward. */
+
+  /** A mask to extract direction from a combination of flags. */
+    wxRIBBON_SCROLL_BTN_DIRECTION_MASK = 3,
+
+    wxRIBBON_SCROLL_BTN_NORMAL = 0, /**< Button is not active or hovered. */
+    wxRIBBON_SCROLL_BTN_HOVERED = 4, /**< Button has a cursor hovering over it. */
+    wxRIBBON_SCROLL_BTN_ACTIVE = 8, /**< Button is being pressed. */
+
+  /** A mask to extract state from a combination of flags. */
+    wxRIBBON_SCROLL_BTN_STATE_MASK = 12,
+
+    wxRIBBON_SCROLL_BTN_FOR_OTHER = 0, /**< Button is not for scrolling tabs nor pages. */
+    wxRIBBON_SCROLL_BTN_FOR_TABS = 16, /**< Button is for scrolling tabs. */
+    wxRIBBON_SCROLL_BTN_FOR_PAGE = 32, /**< Button is for scrolling pages. */
+
+  /** A mask to extract purpose from a combination of flags. */
+    wxRIBBON_SCROLL_BTN_FOR_MASK = 48,
+};
+
+/**
+    Buttons on a ribbon button bar and tools on a ribbon tool bar can each be
+    one of three different kinds.
+*/
+enum wxRibbonButtonKind
+{
+    /**
+        Normal button or tool with a clickable area which causes some generic
+        action.
+    */
+    wxRIBBON_BUTTON_NORMAL    = 1 << 0,
+    
+    /**
+        Dropdown button or tool with a clickable area which typically causes a
+        dropdown menu.
+    */
+    wxRIBBON_BUTTON_DROPDOWN  = 1 << 1,
+    
+    /**
+        Button or tool with two clickable areas - one which causes a dropdown
+        menu, and one which causes a generic action.
+    */
+    wxRIBBON_BUTTON_HYBRID    = wxRIBBON_BUTTON_NORMAL | wxRIBBON_BUTTON_DROPDOWN,
+};
+
+/**
+    @class wxRibbonArtProvider
+
+    wxRibbonArtProvider is responsible for drawing all the components of the ribbon
+    interface. This allows a ribbon bar to have a pluggable look-and-feel, while
+    retaining the same underlying behaviour. As a single art provider is used for
+    all ribbon components, a ribbon bar usually has a consistent (though unique)
+    appearance.
+
+    By default, a wxRibbonBar uses an instance of this class called
+    wxRibbonDefaultArtProvider, which resolves to wxRibbonAUIArtProvider,
+    wxRibbonMSWArtProvider, or wxRibbonOSXArtProvider - whichever is most appropriate
+    to the current platform. These art providers are all slightly configurable with
+    regard to colours and fonts, but for larger modifications, you can derive from
+    one of these classes, or write a completely new art provider class.
+    Call wxRibbonBar::SetArtProvider to change the art provider being used.
+
+    @library{wxribbon}
+    @category{ribbon}
+
+    @see wxRibbonBar
+*/
+class wxRibbonArtProvider
+{
+public:
+    /**
+        Constructor.
+    */
+    wxRibbonArtProvider();
+    
+    /**
+        Destructor.
+    */
+    virtual ~wxRibbonArtProvider();
+
+    /**
+        Create a new art provider which is a clone of this one.
+    */
+    virtual wxRibbonArtProvider* Clone() const = 0;
+    
+    /**
+        Set the style flags.
+        
+        Normally called automatically by wxRibbonBar::SetArtProvider with the ribbon
+        bar's style flags, so that the art provider has the same flags as the bar which
+        it is serving.
+    */
+    virtual void SetFlags(long flags) = 0;
+    
+    /**
+        Get the previously set style flags.
+    */
+    virtual long GetFlags() const = 0;
+
+    /**
+        Get the value of a certain integer setting.
+        @a id can be one of the size values of @ref wxRibbonArtSetting.
+    */
+    virtual int GetMetric(int id) const = 0;
+    
+    /**
+        Set the value of a certain integer setting to the value @e new_val.
+        @a id can be one of the size values of @ref wxRibbonArtSetting.
+    */
+    virtual void SetMetric(int id, int new_val) = 0;
+    
+    /**
+        Set the value of a certain font setting to the value @e font.
+        @a id can be one of the font values of @ref wxRibbonArtSetting.
+    */
+    virtual void SetFont(int id, const wxFont& font) = 0;
+    
+    /**
+        Get the value of a certain font setting.
+        @a id can be one of the font values of @ref wxRibbonArtSetting.
+    */
+    virtual wxFont GetFont(int id) const = 0;
+    
+    /**
+        Get the value of a certain colour setting.
+        @a id can be one of the colour values of @ref wxRibbonArtSetting.
+    */
+    virtual wxColour GetColour(int id) const = 0;
+    
+    /**
+        Set the value of a certain colour setting to the value @e colour.
+        @a id can be one of the colour values of @ref wxRibbonArtSetting, though
+        not all colour settings will have an affect on every art provider.
+        
+        \see SetColourScheme()
+    */
+    virtual void SetColour(int id, const wxColor& colour) = 0;
+    
+    /**
+        \see wxRibbonArtProvider::GetColour()
+    */
+    wxColour GetColor(int id) const;
+    
+    /**
+        \see wxRibbonArtProvider::SetColour()
+    */
+    void SetColor(int id, const wxColour& color);
+    
+    /**
+        Get the current colour scheme.
+        
+        Returns three colours such that if SetColourScheme() were called with
+        them, the colour scheme would be restored to what it was when
+        SetColourScheme() was last called. In practice, this usually means that
+        the returned values are the three colours given in the last call to
+        SetColourScheme(), however if SetColourScheme() performs an idempotent
+        operation upon the colours it is given (like clamping a component of
+        the colour), then the returned values may not be the three colours
+        given in the last call to SetColourScheme().
+        If SetColourScheme() has not been called, then the returned values
+        should result in a colour scheme similar to, if not identical to, the
+        default colours of the art provider.
+        Note that if SetColour() is called, then GetColourScheme() does not try
+        and return a colour scheme similar to colours being used - it's return
+        values are dependant upon the last values given to SetColourScheme(),
+        as described above.
+        
+        \param[out] primary
+            Pointer to a location to store the primary colour, or NULL.
+        \param[out] secondary
+            Pointer to a location to store the secondary colour, or NULL.
+        \param[out] tertiary
+            Pointer to a location to store the tertiary colour, or NULL.
+    */
+    virtual void GetColourScheme(wxColour* primary,
+                        wxColour* secondary,
+                        wxColour* tertiary) const = 0;
+    
+    /**
+        Set all applicable colour settings from a few base colours.
+        
+        Uses any or all of the three given colours to create a colour scheme,
+        and then sets all colour settings which are relevant to the art
+        provider using that scheme.
+        Note that some art providers may not use the tertiary colour for
+        anything, and some may not use the secondary colour either.
+        
+        \see SetColour()
+        \see GetColourScheme()
+    */    
+    virtual void SetColourScheme(const wxColour& primary,
+                        const wxColour& secondary,
+                        const wxColour& tertiary) = 0;
+
+    /**
+        Draw the background of the tab region of a ribbon bar.
+        
+        @param dc
+            The device context to draw onto.
+        @param wnd
+            The window which is being drawn onto.
+        @param rect
+            The rectangle within which to draw.
+    */
+    virtual void DrawTabCtrlBackground(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect) = 0;
+
+    /**
+        Draw a single tab in the tab region of a ribbon bar.
+        
+        @param dc
+            The device context to draw onto.
+        @param wnd
+            The window which is being drawn onto (not the wxRibbonPage
+            associated with the tab being drawn).
+        @param tab
+            The rectangle within which to draw, and also the tab label, icon,
+            and state (active and/or hovered). The drawing rectangle will be
+            entirely within a rectangle on the same device context previously
+            painted with DrawTabCtrlBackground(). The rectangle's width will
+            be at least the minimum value returned by GetBarTabWidth(), and
+            height will be the value returned by GetTabCtrlHeight().
+    */
+    virtual void DrawTab(wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRibbonPageTabInfo& tab) = 0;
+
+    /**
+        Draw a separator between two tabs in a ribbon bar.
+        
+        @param dc
+            The device context to draw onto.
+        @param wnd
+            The window which is being drawn onto.
+        @param rect
+            The rectangle within which to draw, which will be entirely within a
+            rectangle on the same device context previously painted with
+            DrawTabCtrlBackground().
+        @param visibility
+            The opacity with which to draw the separator. Values are in the range
+            [0, 1], with 0 being totally transparent, and 1 being totally opaque.
+    */
+    virtual void DrawTabSeparator(wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect,
+                        double visibility) = 0;
+
+    /**
+        Draw the background of a ribbon page.
+        
+        @param dc
+            The device context to draw onto.
+        @param wnd
+            The window which is being drawn onto (which is commonly the wxRibbonPage
+            whose background is being drawn, but doesn't have to be).
+        @param rect
+            The rectangle within which to draw.
+        
+        @sa GetPageBackgroundRedrawArea
+    */
+    virtual void DrawPageBackground(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect) = 0;
+
+    /**
+        Draw a ribbon-style scroll button.
+        
+        @param dc
+            The device context to draw onto.
+        @param wnd
+            The window which is being drawn onto.
+        @param rect
+            The rectangle within which to draw. The size of this rectangle
+            will be at least the size returned by GetScrollButtonMinimumSize()
+            for a scroll button with the same style. For tab scroll buttons,
+            this rectangle will be entirely within a rectangle on the same
+            device context previously painted with DrawTabCtrlBackground(), but
+            this is not guaranteed for other types of button (for example,
+            page scroll buttons will not be painted on an area previously
+            painted with DrawPageBackground()).
+        @param style
+            A combination of flags from @ref wxRibbonScrollButtonStyle, including
+            a direction, a for flag, and one or more states.
+    */
+    virtual void DrawScrollButton(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect,
+                        long style) = 0;
+
+    /**
+        Draw the background and chrome for a ribbon panel. This should draw
+        the border, background, label, and any other items of a panel which
+        are outside the client area of a panel.
+        
+        Note that when a panel is minimised, this function is not called - only
+        DrawMinimisedPanel() is called, so a background should be explicitly
+        painted by that if required.
+        
+        @param dc
+            The device context to draw onto.
+        @param wnd
+            The window which is being drawn onto, which is always the panel
+            whose background and chrome is being drawn. The panel label and
+            other panel attributes can be obtained by querying this.
+        @param rect
+            The rectangle within which to draw.
+    */
+    virtual void DrawPanelBackground(
+                        wxDC& dc,
+                        wxRibbonPanel* wnd,
+                        const wxRect& rect) = 0;
+    
+    /**
+        Draw the background and chrome for a wxRibbonGallery control. This
+        should draw the border, brackground, scroll buttons, extension button,
+        and any other UI elements which are not attached to a specific gallery
+        item.
+        
+        @param dc
+            The device context to draw onto.
+        @param wnd
+            The window which is being drawn onto, which is always the gallery
+            whose background and chrome is being drawn. Attributes used during
+            drawing like the gallery hover state and individual button states
+            can be queried from this parameter by wxRibbonGallery::IsHovered(),
+            wxRibbonGallery::GetExtensionButtonState(),
+            wxRibbonGallery::GetUpButtonState(), and
+            wxRibbonGallery::GetDownButtonState().
+        @param rect
+            The rectangle within which to draw. This rectangle is the entire
+            area of the gallery control, not just the client rectangle.
+    */
+    virtual void DrawGalleryBackground(
+                        wxDC& dc,
+                        wxRibbonGallery* wnd,
+                        const wxRect& rect) = 0;
+
+    /**
+        Draw the background of a single item in a wxRibbonGallery control. This
+        is painted on top of a gallery background, and behind the items bitmap.
+        Unlike DrawButtonBarButton() and DrawTool(), it is not expected to draw
+        the item bitmap - that is done by the gallery control itself.
+        
+        @param dc
+            The device context to draw onto.
+        @param wnd
+            The window which is being drawn onto, which is always the gallery
+            which contains the item being drawn.
+        @param rect
+            The rectangle within which to draw. The size of this rectangle will
+            be the size of the item's bitmap, expanded by gallery item padding
+            values (wxRIBBON_ART_GALLERY_BITMAP_PADDING_LEFT_SIZE,
+            wxRIBBON_ART_GALLERY_BITMAP_PADDING_RIGHT_SIZE,
+            wxRIBBON_ART_GALLERY_BITMAP_PADDING_TOP_SIZE, and
+            wxRIBBON_ART_GALLERY_BITMAP_PADDING_BOTTOM_SIZE). The drawing
+            rectangle will be entirely within a rectangle on the same device
+            context previously painted with DrawGalleryBackground().
+        @param item
+            The item whose background is being painted. Typically the
+            background will vary if the item is hovered, active, or selected;
+            wxRibbonGallery::GetSelection(), wxRibbonGallery::GetActiveItem(),
+            and wxRibbonGallery::GetHoveredItem() can be called to test if the
+            given item is in one of these states.
+    */
+    virtual void DrawGalleryItemBackground(
+                        wxDC& dc,
+                        wxRibbonGallery* wnd,
+                        const wxRect& rect,
+                        wxRibbonGalleryItem* item) = 0;
+    
+    /**
+        Draw a minimised ribbon panel.
+        
+        @param dc
+            The device context to draw onto.
+        @param wnd
+            The window which is being drawn onto, which is always the panel
+            which is minimised. The panel label can be obtained from this
+            window. The minimised icon obtained from querying the window may
+            not be the size requested by GetMinimisedPanelMinimumSize() - the
+            @a bitmap argument contains the icon in the requested size.
+        @param rect
+            The rectangle within which to draw. The size of the rectangle will
+            be at least the size returned by GetMinimisedPanelMinimumSize().
+        @param bitmap
+            A copy of the panel's minimised bitmap rescaled to the size
+            returned by GetMinimisedPanelMinimumSize().
+    */
+    virtual void DrawMinimisedPanel(
+                        wxDC& dc,
+                        wxRibbonPanel* wnd,
+                        const wxRect& rect,
+                        wxBitmap& bitmap) = 0;
+    
+    /**
+        Draw the background for a wxRibbonButtonBar control.
+        
+        @param dc
+            The device context to draw onto.
+        @param wnd
+            The window which is being drawn onto (which will typically be the
+            button bar itself, though this is not guaranteed).
+        @param rect
+            The rectangle within which to draw.
+    */
+    virtual void DrawButtonBarBackground(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect) = 0;
+
+    /**
+        Draw a single button for a wxRibbonButtonBar control.
+        
+        @param dc
+            The device context to draw onto.
+        @param wnd
+            The window which is being drawn onto.
+        @param rect
+            The rectangle within which to draw. The size of this rectangle will
+            be a size previously returned by GetButtonBarButtonSize(), and the
+            rectangle will be entirely within a rectangle on the same device
+            context previously painted with DrawButtonBarBackground().
+        @param kind
+            The kind of button to draw (normal, dropdown or hybrid).
+        @param state
+            Combination of a size flag and state flags from the
+            wxRibbonButtonBarButtonState enumeration.
+        @param label
+            The label of the button.
+        @param bitmap_large
+            The large bitmap of the button (or the large disabled bitmap when
+            wxRIBBON_BUTTONBAR_BUTTON_DISABLED is set in @a state).
+        @param bitmap_small
+            The small bitmap of the button (or the small disabled bitmap when
+            wxRIBBON_BUTTONBAR_BUTTON_DISABLED is set in @a state).
+    */
+    virtual void DrawButtonBarButton(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect,
+                        wxRibbonButtonBarButtonKind kind,
+                        long state,
+                        const wxString& label,
+                        const wxBitmap& bitmap_large,
+                        const wxBitmap& bitmap_small) = 0;
+    
+    /**
+        Draw the background for a wxRibbonToolBar control.
+        
+        @param dc
+            The device context to draw onto.
+        @param wnd
+            The which is being drawn onto. In most cases this will be a
+            wxRibbonToolBar, but it doesn't have to be.
+        @param rect
+            The rectangle within which to draw. Some of this rectangle will
+            later be drawn over using DrawToolGroupBackground() and DrawTool(),
+            but not all of it will (unless there is only a single group of
+            tools).
+    */
+    virtual void DrawToolBarBackground(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect) = 0;
+
+    /**
+        Draw the background for a group of tools on a wxRibbonToolBar control.
+        
+        @param dc
+            The device context to draw onto.
+        @param wnd
+            The window which is being drawn onto. In most cases this will be a
+            wxRibbonToolBar, but it doesn't have to be.
+        @param rect
+            The rectangle within which to draw. This rectangle is a union of
+            the individual tools' rectangles. As there are no gaps between
+            tools, this rectangle will be painted over exactly once by calls to
+            DrawTool(). The group background could therefore be painted by
+            DrawTool(), though it can be conceptually easier and more efficient
+            to draw it all at once here. The rectangle will be entirely within
+            a rectangle on the same device context previously painted with
+            DrawToolBarBackground().
+    */
+    virtual void DrawToolGroupBackground(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect) = 0;
+
+    /**
+        Draw a single tool (for a wxRibbonToolBar control).
+        
+        @param dc
+            The device context to draw onto.
+        @param wnd
+            The window which is being drawn onto. In most cases this will be a
+            wxRibbonToolBar, but it doesn't have to be.
+        @param rect
+            The rectangle within which to draw. The size of this rectangle will
+            at least the size returned by GetToolSize(), and the height of it
+            will be equal for all tools within the same group. The rectangle
+            will be entirely within a rectangle on the same device context
+            previously painted with DrawToolGroupBackground().
+        @param bitmap
+            The bitmap to use as the tool's foreground. If the tool is a hybrid
+            or dropdown tool, then the foreground should also contain a
+            standard dropdown button.
+        @param kind
+            The kind of tool to draw (normal, dropdown, or hybrid).
+        @param state
+            A combination of wxRibbonToolBarToolState flags giving the state of
+            the tool and it's relative position within a tool group.
+    */
+    virtual void DrawTool(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect,
+                        const wxBitmap& bitmap,
+                        wxRibbonButtonKind kind,
+                        long state) = 0;
+
+    /**
+        Calculate the ideal and minimum width (in pixels) of a tab in a ribbon
+        bar.
+        
+        @param dc
+            A device context to use when one is required for size calculations.
+        @param wnd
+            The window onto which the tab will eventually be drawn.
+        @param label
+            The tab's label (or wxEmptyString if it has none).
+        @param bitmap
+            The tab's icon (or wxNullBitmap if it has none).
+        @param[out] ideal
+            The ideal width (in pixels) of the tab.
+        @param[out] small_begin_need_separator
+            A size less than the @a ideal size, at which a tab separator should
+            begin to be drawn (i.e. drawn, but still fairly transparent).
+        @param[out] small_must_have_separator
+            A size less than the @a small_begin_need_separator size, at which a
+            tab separator must be drawn (i.e. drawn at full opacity).
+        @param[out] minimum
+            A size less than the @a small_must_have_separator size, and greater
+            than or equal to zero, which is the minimum pixel width for the tab.
+    */
+    virtual void GetBarTabWidth(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxString& label,
+                        const wxBitmap& bitmap,
+                        int* ideal,
+                        int* small_begin_need_separator,
+                        int* small_must_have_separator,
+                        int* minimum) = 0;
+
+    /**
+        Calculate the height (in pixels) of the tab region of a ribbon bar.
+        Note that as the tab region can contain scroll buttons, the height
+        should be greater than or equal to the minimum height for a tab scroll
+        button.
+        
+        @param dc
+            A device context to use when one is required for size calculations.
+        @param wnd
+            The window onto which the tabs will eventually be drawn.
+        @param pages
+            The tabs which will acquire the returned height.
+    */
+    virtual int GetTabCtrlHeight(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRibbonPageTabInfoArray& pages) = 0;
+
+    /**
+        Calculate the minimum size (in pixels) of a scroll button.
+        
+        @param dc
+            A device context to use when one is required for size calculations.
+        @param wnd
+            The window onto which the scroll button will eventually be drawn.
+        @param style
+            A combination of flags from @ref wxRibbonScrollButtonStyle, including
+            a direction, and a for flag (state flags may be given too, but
+            should be ignored, as a button should retain a constant size,
+            regardless of its state).
+    */
+    virtual wxSize GetScrollButtonMinimumSize(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        long style) = 0;
+
+    /**
+        Calculate the size of a panel for a given client size. This should
+        increment the given size by enough to fit the panel label and other
+        chrome.
+        
+        @param dc
+            A device context to use if one is required for size calculations.
+        @param wnd
+            The ribbon panel in question.
+        @param client_size
+            The client size.
+        @param[out] client_offset
+            The offset where the client rectangle begins within the panel (may
+            be NULL).
+            
+        @sa GetPanelClientSize()
+    */
+    virtual wxSize GetPanelSize(
+                        wxDC& dc,
+                        const wxRibbonPanel* wnd,
+                        wxSize client_size,
+                        wxPoint* client_offset) = 0;
+    
+    /**
+        Calculate the client size of a panel for a given overall size. This
+        should act as the inverse to GetPanelSize(), and decrement the given
+        size by enough to fit the panel label and other chrome.
+        
+        @param dc
+            A device context to use if one is required for size calculations.
+        @param wnd
+            The ribbon panel in question.
+        @param size
+            The overall size to calculate client size for.
+        @param[out] client_offset
+            The offset where the returned client size begins within the given
+            @a size (may be NULL).
+        
+        @sa GetPanelSize()
+    */
+    virtual wxSize GetPanelClientSize(
+                        wxDC& dc,
+                        const wxRibbonPanel* wnd,
+                        wxSize size,
+                        wxPoint* client_offset) = 0;
+    
+    /**
+        Calculate the size of a wxRibbonGallery control for a given client
+        size. This should increment the given size by enough to fit the gallery
+        border, buttons, and any other chrome.
+        
+        @param dc
+            A device context to use if one is required for size calculations.
+        @param wnd
+            The gallery in question.
+        @param client_size
+            The client size.
+            
+        @sa GetGalleryClientSize()
+    */
+    virtual wxSize GetGallerySize(
+                        wxDC& dc,
+                        const wxRibbonGallery* wnd,
+                        wxSize client_size) = 0;
+
+    /**
+        Calculate the client size of a wxRibbonGallery control for a given
+        size. This should act as the inverse to GetGallerySize(), and decrement
+        the given size by enough to fir the gallery border, buttons, and other
+        chrome.
+        
+        @param dc
+            A device context to use if one is required for size calculations.
+        @param wnd
+            The gallery in question.
+        @param size
+            The overall size to calculate the client size for.
+        @param[out] client_offset
+            The position within the given size at which the returned client
+            size begins.
+        @param[out] scroll_up_button
+            The rectangle within the given size which the scroll up button
+            occupies.
+        @param[out] scroll_down_button
+            The rectangle within the given size which the scroll down button
+            occupies.
+        @param[out] extension_button
+            The rectangle within the given size which the extension button
+            occupies.
+    */
+    virtual wxSize GetGalleryClientSize(
+                        wxDC& dc,
+                        const wxRibbonGallery* wnd,
+                        wxSize size,
+                        wxPoint* client_offset,
+                        wxRect* scroll_up_button,
+                        wxRect* scroll_down_button,
+                        wxRect* extension_button) = 0;
+
+    /**
+        Calculate the portion of a page background which needs to be redrawn
+        when a page is resized. To optimise the drawing of page backgrounds, as
+        small an area as possible should be returned. Of couse, if the way in
+        which a background is drawn means that the entire background needs to
+        be repainted on resize, then the entire new size should be returned.
+        
+        @param dc
+            A device context to use when one is required for size calculations.
+        @param wnd
+            The page which is being resized.
+        @param page_old_size
+            The size of the page prior to the resize (which has already been
+            painted).
+        @param page_new_size
+            The size of the page after the resize.
+    */
+    virtual wxRect GetPageBackgroundRedrawArea(
+                        wxDC& dc,
+                        const wxRibbonPage* wnd,
+                        wxSize page_old_size,
+                        wxSize page_new_size) = 0;
+    
+    /**
+        Calculate the size of a button within a wxRibbonButtonBar.
+        
+        @param dc
+            A device context to use when one is required for size calculations.
+        @param wnd
+            The window onto which the button will eventually be drawn (which is
+            normally a wxRibbonButtonBar, though this is not guaranteed).
+        @param kind
+            The kind of button.
+        @param size
+            The size-class to calculate the size for. Buttons on a button bar
+            can have three distinct sizes: wxRIBBON_BUTTONBAR_BUTTON_SMALL,
+            wxRIBBON_BUTTONBAR_BUTTON_MEDIUM, and wxRIBBON_BUTTONBAR_BUTTON_LARGE.
+            If the requested size-class is not applicable, then @false should
+            be returned.
+        @param label
+            The label of the button.
+        @param bitmap_size_large
+            The size of all "large" bitmaps on the button bar.
+        @param bitmap_size_small
+            The size of all "small" bitmaps on the button bar.
+        @param[out] button_size
+            The size, in pixels, of the button.
+        @param[out] normal_region
+            The region of the button which constitutes the normal button.
+        @param[out] dropdown_region
+            The region of the button which constitutes the dropdown button.
+        
+        @return @true if a size exists for the button, @false otherwise.
+    */
+    virtual bool GetButtonBarButtonSize(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        wxRibbonButtonBarButtonKind kind,
+                        wxRibbonButtonBarButtonState size,
+                        const wxString& label,
+                        wxSize bitmap_size_large,
+                        wxSize bitmap_size_small,
+                        wxSize* button_size,
+                        wxRect* normal_region,
+                        wxRect* dropdown_region) = 0;
+    
+    /**
+        Calculate the size of a minimised ribbon panel.
+        
+        @param dc
+            A device context to use when one is required for size calculations.
+        @param wnd
+            The ribbon panel in question. Attributes like the panel label can
+            be queried from this.
+        @param[out] desired_bitmap_size
+            
+    */
+    virtual wxSize GetMinimisedPanelMinimumSize(
+                        wxDC& dc,
+                        const wxRibbonPanel* wnd,
+                        wxSize* desired_bitmap_size,
+                        wxDirection* expanded_panel_direction) = 0;
+    
+    /**
+        Calculate the size of a tool within a wxRibbonToolBar.
+        
+        @param dc
+            A device context to use when one is required for size calculations.
+        @param wnd
+            The window onto which the tool will eventually be drawn.
+        @param bitmap_size
+            The size of the tool's foreground bitmap.
+        @param kind
+            The kind of tool (normal, dropdown, or hybrid).
+        @param is_first
+            @true if the tool is the first within its group. @false otherwise.
+        @param is_last
+            @true if the tool is the last within its group. @false otherwise.
+        @param[out] dropdown_region
+            For dropdown and hybrid tools, the region within the returned
+            size which counts as the dropdown part.
+    */
+    virtual wxSize GetToolSize(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        wxSize bitmap_size,
+                        wxRibbonButtonKind kind,
+                        bool is_first,
+                        bool is_last,
+                        wxRect* dropdown_region) = 0;
+};
diff --git a/interface/wx/ribbon/bar.h b/interface/wx/ribbon/bar.h
new file mode 100644 (file)
index 0000000..ff039a6
--- /dev/null
@@ -0,0 +1,224 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        ribbon/bar.h
+// Purpose:     interface of wxRibbonBar
+// Author:      Peter Cawley
+// RCS-ID:      $Id$
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+/**
+    @class wxRibbonBarEvent
+
+    Event used to indicate various actions relating to a wxRibbonBar.
+
+    See wxRibbonBar for available event types.
+
+    @library{wxribbon}
+    @category{events,ribbon}
+
+    @see wxRibbonBar
+*/
+class wxRibbonBarEvent : public wxNotifyEvent
+{
+public:
+    /**
+        Constructor.
+    */
+      wxRibbonBarEvent(wxEventType command_type = wxEVT_NULL,
+                       int win_id = 0,
+                       wxRibbonPage* page = NULL);
+
+    /**
+        Returns the page being changed to, or being clicked on.
+    */
+    wxRibbonPage* GetPage();
+    
+    /**
+        Sets the page relating to this event.
+    */
+    void SetPage(wxRibbonPage* page);
+};
+
+/**
+    @class wxRibbonBar
+
+    Top-level control in a ribbon user interface. Serves as a tabbed container
+    for wxRibbonPage - a ribbon user interface typically has a ribbon bar,
+    which contains one or more wxRibbonPages, which in turn each contain one
+    or more wxRibbonPanels, which in turn contain controls.
+    
+    While a wxRibbonBar has tabs similar to a wxNotebook, it does not follow
+    the same API for adding pages. Containers like wxNotebook can contain any
+    type of window as a page, hence the normal procedure is to create the
+    sub-window and then call wxBookCtrlBase::AddPage(). As wxRibbonBar can only
+    have wxRibbonPage as children (and a wxRibbonPage can only have a
+    wxRibbonBar as parent), when a page is created, it is automatically added
+    to the bar - there is no AddPage equivalent to call.
+    
+    After all pages have been created, and all controls and panels placed on
+    those pages, Realize() must be called.
+    
+    @sa wxRibbonPage
+    @sa wxRibbonPanel
+    
+    @beginStyleTable
+    @style{wxRIBBON_BAR_DEFAULT_STYLE}
+        Defined as wxRIBBON_BAR_FLOW_HORIZONTAL |
+        wxRIBBON_BAR_SHOW_PAGE_LABELS | wxRIBBON_BAR_SHOW_PANEL_EXT_BUTTONS
+    @style{wxRIBBON_BAR_FOLDBAR_STYLE}
+        Defined as wxRIBBON_BAR_FLOW_VERTICAL | wxRIBBON_BAR_SHOW_PAGE_ICONS
+        | wxRIBBON_BAR_SHOW_PANEL_EXT_BUTTONS |
+        wxRIBBON_BAR_SHOW_PANEL_MINIMISE_BUTTONS
+    @style{wxRIBBON_BAR_SHOW_PAGE_LABELS}
+        Causes labels to be shown on the tabs in the ribbon bar.
+    @style{wxRIBBON_BAR_SHOW_PAGE_ICONS}
+        Causes icons to be shown on the tabs in the ribbon bar.
+    @style{wxRIBBON_BAR_FLOW_HORIZONTAL}
+        Causes panels within pages to stack horizontally.
+    @style{wxRIBBON_BAR_FLOW_VERTICAL}
+        Causes panels within pages to stack vertically.
+    @style{wxRIBBON_BAR_SHOW_PANEL_EXT_BUTTONS}
+        Causes extension buttons to be shown on panels (where the panel has
+        such a button).
+    @style{wxRIBBON_BAR_SHOW_PANEL_MINIMISE_BUTTONS}
+        Causes minimise buttons to be shown on panels (where the panel has
+        such a button).
+    @endStyleTable
+
+
+    @beginEventEmissionTable{wxRibbonBarEvent}
+    @event{EVT_RIBBONBAR_PAGE_CHANGED(id, func)}
+        Triggered after the transition from one page being active to a different
+        page being active.
+    @event{EVT_RIBBONBAR_PAGE_CHANGING(id, func)}
+        Triggered prior to the transition from one page being active to a
+        different page being active, and can veto the change.
+    @event{EVT_RIBBONBAR_TAB_MIDDLE_DOWN(id, func)}
+        Triggered when the middle mouse button is pressed on a tab.
+    @event{EVT_RIBBONBAR_TAB_MIDDLE_UP(id, func)}
+        Triggered when the middle mouse button is released on a tab.
+    @event{EVT_RIBBONBAR_TAB_RIGHT_DOWN(id, func)}
+        Triggered when the right mouse button is pressed on a tab.
+    @event{EVT_RIBBONBAR_TAB_RIGHT_UP(id, func)}
+        Triggered when the right mouse button is released on a tab.
+    @endEventTable
+
+    @library{wxribbon}
+    @category{ribbon}
+*/
+class wxRibbonBar : public wxRibbonControl
+{
+public:
+    /**
+        Default constructor.
+        With this constructor, Create() should be called in order to create
+        the ribbon bar.
+    */
+    wxRibbonBar();
+
+    /**
+        Construct a ribbon bar with the given parameters.
+    */
+    wxRibbonBar(wxWindow* parent,
+                wxWindowID id = wxID_ANY,
+                const wxPoint& pos = wxDefaultPosition,
+                const wxSize& size = wxDefaultSize,
+                long style = wxRIBBON_BAR_DEFAULT_STYLE);
+    
+    /**
+        Create a ribbon bar in two-step ribbon bar construction.
+        Should only be called when the default constructor is used, and
+        arguments have the same meaning as in the full constructor.
+    */
+    bool Create(wxWindow* parent,
+                wxWindowID id = wxID_ANY,
+                const wxPoint& pos = wxDefaultPosition,
+                const wxSize& size = wxDefaultSize,
+                long style = wxRIBBON_BAR_DEFAULT_STYLE);
+
+    /**
+        Destructor.
+    */
+    virtual ~wxRibbonBar();
+
+    /**
+        Set the margin widths (in pixels) on the left and right sides of the
+        tab bar region of the ribbon bar. These margins will be painted with
+        the tab background, but tabs and scroll buttons will never be painted
+        in the margins.
+        
+        The left margin could be used for rendering something equivalent to the
+        "Office Button", though this is not currently implemented. The right
+        margin could be used for rendering a help button, and/or MDI buttons,
+        but again, this is not currently implemented.
+    */
+    void SetTabCtrlMargins(int left, int right);
+
+    /**
+        Set the art provider to be used be the ribbon bar. Also sets the art
+        provider on all current wxRibbonPage children, and any wxRibbonPage
+        children added in the future.
+        
+        Note that unlike most other ribbon controls, the ribbon bar creates a
+        default art provider when initialised, so an explicit call to
+        SetArtProvider() is not required if the default art provider is
+        sufficient. Alos unlike other ribbon controls, the ribbon bar takes
+        ownership of the given pointer, and will delete it when the art
+        provider is changed or the bar is destroyed. If this behaviour is not
+        desired, then clone the art provider before setting it.
+    */
+    void SetArtProvider(wxRibbonArtProvider* art);
+
+    /**
+        Set the active page by index, without triggering any events.
+        
+        @param page
+            The zero-based index of the page to activate.
+        @return @true if the specified page is now active, @false if it could
+            not be activated (for example because the page index is invalid).
+    */
+    bool SetActivePage(size_t page);
+    
+    /**
+        Set the active page, without triggering any events.
+        
+        @param page
+            The page to activate.
+        @return @true if the specified page is now active, @false if it could
+            not be activated (for example because the given page is not a child
+            of the ribbon bar).
+    */
+    bool SetActivePage(wxRibbonPage* page);
+    
+    /**
+        Get the index of the active page.
+        
+        In the rare case of no page being active, -1 is returned.
+    */
+    int GetActivePage() const;
+    
+    /**
+        Get a page by index.
+        
+        NULL will be returned if the given index is out of range.
+    */
+    wxRibbonPage* GetPage(int n);
+    
+    /**
+        Dismiss the expanded panel of the currently active page.
+        
+        Calls and returns the value fromwxRibbonPage::DismissExpandedPanel()
+        for the currently active page, or @false if there is no active page.
+    */
+    bool DismissExpandedPanel();
+    
+    /**
+        Perform initial layout and size calculations of the bar and its
+        children. This must be called after all of the bar's children have been
+        created (and their children created, etc.) - if it is not, then windows
+        may not be laid out or sized correctly.
+        
+        Also calls wxRibbonPage::Realize() on each child page.
+    */
+    virtual bool Realize();
+};
diff --git a/interface/wx/ribbon/buttonbar.h b/interface/wx/ribbon/buttonbar.h
new file mode 100644 (file)
index 0000000..2b5ed45
--- /dev/null
@@ -0,0 +1,306 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        ribbon/buttonbar.h
+// Purpose:     interface of wxRibbonButtonBar
+// Author:      Peter Cawley
+// RCS-ID:      $Id$
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+/**
+    Flags for button bar button size and state.
+    
+    Buttons on a ribbon button bar can each come in three sizes: small, medium,
+    and large. In some places this is called the size class, and the term size
+    used for the pixel width and height associated with a particular size
+    class.
+    
+    A button can also be in zero or more hovered or active states, or in the
+    disabled state.
+*/
+enum wxRibbonButtonBarButtonState
+{
+    /**
+        Button is small (the interpretation of small is dependant upon the art
+        provider, but it will be smaller than medium).
+    */
+    wxRIBBON_BUTTONBAR_BUTTON_SMALL     = 0 << 0,
+    
+    /**
+        Button is medium sized (the interpretation of medium is dependant upon
+        the art provider, but it will be between small and large).
+    */
+    wxRIBBON_BUTTONBAR_BUTTON_MEDIUM    = 1 << 0,
+    
+    /**
+        Button is large (the interpretation of large is dependant upon the art
+        provider, but it will be larger than medium).
+    */
+    wxRIBBON_BUTTONBAR_BUTTON_LARGE     = 2 << 0,
+    
+    /**
+        A mask to extract button size from a combination of flags.
+    */
+    wxRIBBON_BUTTONBAR_BUTTON_SIZE_MASK = 3 << 0,
+
+    /**
+        The normal (non-dropdown) region of the button is being hovered over by
+        the mouse cursor. Only applicable to normal and hybrid buttons.
+    */
+    wxRIBBON_BUTTONBAR_BUTTON_NORMAL_HOVERED    = 1 << 3,
+    
+    /**
+        The dropdown region of the button is being hovered over by the mouse
+        cursor. Only applicable to dropdown and hybrid buttons.
+    */
+    wxRIBBON_BUTTONBAR_BUTTON_DROPDOWN_HOVERED  = 1 << 4,
+    
+    /**
+        A mask to extract button hover state from a combination of flags.
+    */
+    wxRIBBON_BUTTONBAR_BUTTON_HOVER_MASK        = wxRIBBON_BUTTONBAR_BUTTON_NORMAL_HOVERED | wxRIBBON_BUTTONBAR_BUTTON_DROPDOWN_HOVERED,
+    
+    /**
+        The normal (non-dropdown) region of the button is being pressed.
+        Only applicable to normal and hybrid buttons.
+    */
+    wxRIBBON_BUTTONBAR_BUTTON_NORMAL_ACTIVE     = 1 << 5,
+    
+    /**
+        The dropdown region of the button is being pressed.
+        Only applicable to dropdown and hybrid buttons.
+    */
+    wxRIBBON_BUTTONBAR_BUTTON_DROPDOWN_ACTIVE   = 1 << 6,
+    
+    /**
+        The button is disabled. Hover flags may still be set when a button
+        is disabled, but should be ignored during drawing if the button is
+        disabled.
+    */
+    wxRIBBON_BUTTONBAR_BUTTON_DISABLED          = 1 << 7,
+    
+    /**
+        A mask to extract button state from a combination of flags.
+    */
+    wxRIBBON_BUTTONBAR_BUTTON_STATE_MASK        = 0xF8,
+};
+
+/**
+    @class wxRibbonButtonBar
+    
+    A ribbon button bar is similar to a traditional toolbar. It contains one or
+    more buttons (button bar buttons, not wxButtons), each of which has a label
+    and an icon. It differs from a wxRibbonToolBar in several ways:
+      @li Individual buttons can grow and contract.
+      @li Buttons have labels as well as bitmaps.
+      @li Bitmaps are typically larger (at least 32x32 pixels) on a button bar
+        compared to a tool bar (which typically has 16x15).
+      @li There is no grouping of buttons on a button bar
+      @li A button bar typically has a border around each individual button,
+        whereas a tool bar typically has a border around each group of buttons.
+    
+    @beginEventEmissionTable{wxRibbonButtonBarEvent}
+    @event{EVT_RIBBONBUTTONBAR_CLICKED(id, func)}
+        Triggered when the normal (non-dropdown) region of a button on the
+        button bar is clicked.
+    @event{EVT_RIBBONBUTTONBAR_DROPDOWN_CLICKED(id, func)}
+        Triggered when the dropdown region of a button on the button bar is
+        clicked. wxRibbonButtonBarEvent::PopupMenu() should be called by the
+        event handler if it wants to display a popup menu (which is what most
+        dropdown buttons should be doing).
+    @endEventTable
+    
+    @library{wxribbon}
+    @category{ribbon}
+*/
+class wxRibbonButtonBar : public wxRibbonControl
+{
+public:
+    /**
+        Default constructor.
+        With this constructor, Create() should be called in order to create
+        the button bar.
+    */
+    wxRibbonButtonBar();
+
+    /**
+        Construct a ribbon button bar with the given parameters.
+        @param parent
+            Parent window for the button bar (typically a wxRibbonPanel).
+        @param pos
+            Initial position of the button bar.
+        @param size
+            Initial size of the button bar.
+        @param style
+            Button bar style, currently unused.
+    */
+    wxRibbonButtonBar(wxWindow* parent,
+                  wxWindowID id = wxID_ANY,
+                  const wxPoint& pos = wxDefaultPosition,
+                  const wxSize& size = wxDefaultSize,
+                  long style = 0);
+
+    /**
+        Destructor.
+    */
+    virtual ~wxRibbonButtonBar();
+
+    /**
+        Create a button bar in two-step button bar construction.
+        Should only be called when the default constructor is used, and
+        arguments have the same meaning as in the full constructor.
+    */
+    bool Create(wxWindow* parent,
+                wxWindowID id = wxID_ANY,
+                const wxPoint& pos = wxDefaultPosition,
+                const wxSize& size = wxDefaultSize,
+                long style = 0);
+
+    /**
+        Add a button to the button bar (simple version).
+    */
+    virtual wxRibbonButtonBarButtonBase* AddButton(
+                int button_id,
+                const wxString& label,
+                const wxBitmap& bitmap,
+                const wxString& help_string,
+                wxRibbonButtonBarButtonKind kind = wxRIBBON_BUTTONBAR_BUTTON_NORMAL);
+
+    /**
+        Add a dropdown button to the button bar (simple version).
+        
+        @see AddButton()
+    */
+    virtual wxRibbonButtonBarButtonBase* AddDropdownButton(
+                int button_id,
+                const wxString& label,
+                const wxBitmap& bitmap,
+                const wxString& help_string = wxEmptyString);
+
+    /**
+        Add a hybrid button to the button bar (simple version).
+        
+        @see AddButton()
+    */
+    virtual wxRibbonButtonBarButtonBase* AddHybridButton(
+                int button_id,
+                const wxString& label,
+                const wxBitmap& bitmap,
+                const wxString& help_string = wxEmptyString);
+    
+    /**
+        Add a button to the button bar.
+        
+        @param button_id
+            ID of the new button (used for event callbacks).
+        @param label
+            Label of the new button.
+        @param bitmap
+            Large bitmap of the new button. Must be the same size as all other
+            large bitmaps used on the button bar.
+        @param bitmap_small
+            Small bitmap of the new button. If left as null, then a small
+            bitmap will be automatically generated. Must be the same size as
+            all other small bitmaps used on the button bar.
+        @param bitmap_disabled
+            Large bitmap of the new button when it is disabled. If left as
+            null, then a bitmap will be automatically generated from @a bitmap.
+        @param bitmap_small_disabled
+            Small bitmap of the new button when it is disabled. If left as
+            null, then a bitmap will be automatically generated from @a
+            bitmap_small.
+        @param kind
+            The kind of button to add.
+        @param help_string
+            The UI help string to associate with the new button.
+        @param client_data
+            Client data to associate with the new button.
+        
+        @return An opaque pointer which can be used only with other button bar
+            methods.
+            
+        @see AddDropdownButton()
+        @see AddHybridButton()
+    */
+    virtual wxRibbonButtonBarButtonBase* AddButton(
+                int button_id,
+                const wxString& label,
+                const wxBitmap& bitmap,
+                const wxBitmap& bitmap_small = wxNullBitmap,
+                const wxBitmap& bitmap_disabled = wxNullBitmap,
+                const wxBitmap& bitmap_small_disabled = wxNullBitmap,
+                wxRibbonButtonBarButtonKind kind = wxRIBBON_BUTTONBAR_BUTTON_NORMAL,
+                const wxString& help_string = wxEmptyString,
+                wxObject* client_data = NULL);
+
+    /**
+        Calculate button layouts and positions.
+        
+        Must be called after buttons are added to the button bar, as otherwise
+        the newly added buttons will not be displayed. In normal situations, it
+        will be called automatically when wxRibbonBar::Realize() is called.
+    */
+    virtual bool Realize();
+    
+    /**
+        Delete all buttons from the button bar.
+        
+        @see DeleteButton()
+    */
+    virtual void ClearButtons();
+    
+    /**
+        Delete a single button from the button bar.
+        
+        @see ClearButtons()
+    */
+    virtual bool DeleteButton(int button_id);
+    
+    /**
+        Enable or disable a single button on the bar.
+        
+        @param button_id
+            ID of the button to enable or disable.
+        @param enable
+            @true to enable the button, @false to disable it.
+    */
+    virtual void EnableButton(int button_id, bool enable = true);
+};
+
+/**
+    @class wxRibbonButtonBarEvent
+
+    Event used to indicate various actions relating to a button on a
+    wxRibbonButtonBar.
+
+    See wxRibbonButtonBar for available event types.
+
+    @library{wxribbon}
+    @category{events,ribbon}
+
+    @see wxRibbonBar
+*/
+class wxRibbonButtonBarEvent : public wxCommandEvent
+{
+public:
+    /**
+        Constructor.
+    */
+    wxRibbonButtonBarEvent(wxEventType command_type = wxEVT_NULL,
+                       int win_id = 0,
+                       wxRibbonButtonBar* bar = NULL);
+
+    /**
+        Returns the bar which contains the button which the event relates to.
+    */
+    wxRibbonButtonBar* GetBar();
+        
+    /**
+        Sets the button bar relating to this event.
+    */
+    void SetBar(wxRibbonButtonBar* bar);
+    
+    /**
+        Display a popup menu as a result of this (dropdown clicked) event.
+    */
+    bool PopupMenu(wxMenu* menu);
+};
diff --git a/interface/wx/ribbon/control.h b/interface/wx/ribbon/control.h
new file mode 100644 (file)
index 0000000..8c63afe
--- /dev/null
@@ -0,0 +1,167 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        ribbon/control.h
+// Purpose:     interface of wxRibbonControl
+// Author:      Peter Cawley
+// RCS-ID:      $Id$
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+/**
+    @class wxRibbonControl
+
+    wxRibbonControl serves as a base class for all controls which share the
+    ribbon charactertics of having a ribbon art provider, and (optionally)
+    non-continous resizing. Despite what the name may imply, it is not the
+    top-level control for creating a ribbon interface - that is wxRibbonBar.
+  
+    Ribbon controls often have a region which is "transparent", and shows the
+    contents of the ribbon page or panel behind it. If implementing a new
+    ribbon control, then it may be useful to realise that this effect is done
+    by the art provider when painting the background of the control, and hence
+    in the paint handler for the new control, you should call a draw background
+    method on the art provider (wxRibbonArtProvider::DrawButtonBarBackground()
+    and wxRibbonArtProvider::DrawToolBarBackground() typically just redraw what
+    is behind the rectangle being painted) if you want transparent regions.
+
+    @library{wxribbon}
+    @category{ribbon}
+*/
+class wxRibbonControl : public wxControl
+{
+public:
+    /**
+        Constructor.
+    */
+    wxRibbonControl();
+
+    /**
+        Constructor.
+        
+        If @a parent is a wxRibbonControl with a non-NULL art provider, then
+        the art provider of new control is set to that of @a parent.
+    */
+    wxRibbonControl(wxWindow *parent, wxWindowID id,
+                    const wxPoint& pos = wxDefaultPosition,
+                    const wxSize& size = wxDefaultSize, long style = 0,
+                    const wxValidator& validator = wxDefaultValidator,
+                    const wxString& name = wxControlNameStr);
+
+    /**
+        Set the art provider to be used. In many cases, setting the art provider
+        will also set the art provider on all child windows which extend
+        wxRibbonControl.
+        
+        In most cases, controls will not take ownership of the given pointer,
+        with the notable exception being wxRibbonBar::SetArtProvider().
+    */
+    virtual void SetArtProvider(wxRibbonArtProvider* art);
+    
+    /**
+        Get the art provider to be used. Note that until an art provider has
+        been set in some way, this function may return NULL.
+    */
+    wxRibbonArtProvider* GetArtProvider() const;
+
+    /**
+        @return @true if this window can take any size (greater than its minimum
+        size), @false if it can only take certain sizes.
+        
+        @see GetNextSmallerSize()
+        @see GetNextLargerSize()
+    */
+    virtual bool IsSizingContinuous() const;
+    
+    /**
+        If sizing is not continuous, then return a suitable size for the control
+        which is smaller than the current size.
+    
+        @param direction
+            The direction(s) in which the size should reduce.
+        @return
+            The current size if there is no smaller size, otherwise a suitable
+            size which is smaller in the given direction(s), and the same as the
+            current size in the other direction (if any).
+      
+        @see IsSizingContinuous()
+    */
+    wxSize GetNextSmallerSize(wxOrientation direction) const;
+    
+    /**
+        If sizing is not continuous, then return a suitable size for the control
+        which is smaller than the given size.
+    
+        @param direction
+            The direction(s) in which the size should reduce.
+        @param relative_to
+            The size for which a smaller size should be found.
+        @return
+            @a relative_to if there is no smaller size, otherwise a suitable
+            size which is smaller in the given direction(s), and the same as
+            @a relative_to in the other direction (if any).
+      
+        @see IsSizingContinuous()
+        @see DoGetNextSmallerSize()
+    */
+    wxSize GetNextSmallerSize(wxOrientation direction, wxSize relative_to) const;
+    
+    /**
+        If sizing is not continuous, then return a suitable size for the control
+        which is larger then the current size.
+    
+        @param direction
+            The direction(s) in which the size should increase.
+        @return
+            The current size if there is no larger size, otherwise a suitable
+            size which is larger in the given direction(s), and the same as the
+            current size in the other direction (if any).
+    
+        @see IsSizingContinuous()
+    */
+    wxSize GetNextLargerSize(wxOrientation direction) const;
+    
+    /**
+        If sizing is not continuous, then return a suitable size for the control
+        which is larger then the given size.
+    
+        @param direction
+            The direction(s) in which the size should increase.
+        @param relative_to
+            The size for which a larger size should be found.
+        @return
+            @a relative_to if there is no larger size, otherwise a suitable
+            size which is larger in the given direction(s), and the same as
+            @a relative_to in the other direction (if any).
+    
+        @see IsSizingContinuous()
+        @see DoGetNextLargerSize()
+    */
+    wxSize GetNextLargerSize(wxOrientation direction, wxSize relative_to) const;
+    
+    /**
+        Perform initial size and layout calculations after children have been
+        added, and/or realize children.
+    */
+    virtual bool Realize();
+    
+    /**
+        Alias for Realize().
+    */
+    bool Realise();
+    
+protected:
+    /**
+        Implementation of GetNextSmallerSize().
+        Controls which have non-continuous sizing must override this virtual
+        function rather than GetNextSmallerSize().
+    */
+    virtual wxSize DoGetNextSmallerSize(wxOrientation direction,
+                                        wxSize relative_to) const;
+
+    /**
+        Implementation of GetNextLargerSize().
+        Controls which have non-continuous sizing must override this virtual
+        function rather than GetNextLargerSize().
+    */
+    virtual wxSize DoGetNextLargerSize(wxOrientation direction,
+                                       wxSize relative_to) const;
+};
diff --git a/interface/wx/ribbon/gallery.h b/interface/wx/ribbon/gallery.h
new file mode 100644 (file)
index 0000000..c7b99e4
--- /dev/null
@@ -0,0 +1,281 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        ribbon/gallery.h
+// Purpose:     interface of wxRibbonGallery
+// Author:      Peter Cawley
+// RCS-ID:      $Id$
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+enum wxRibbonGalleryButtonState
+{
+    wxRIBBON_GALLERY_BUTTON_NORMAL,
+    wxRIBBON_GALLERY_BUTTON_HOVERED,
+    wxRIBBON_GALLERY_BUTTON_ACTIVE,
+    wxRIBBON_GALLERY_BUTTON_DISABLED,
+};
+
+/**
+    @class wxRibbonGallery
+    
+    A ribbon gallery is like a wxListBox, but for bitmaps rather than strings.
+    It displays a collection of bitmaps arranged in a grid and allows the user
+    to choose one. As there are typically more bitmaps in a gallery than can
+    be displayed in the space used for a ribbon, a gallery always has scroll
+    buttons to allow the user to navigate through the entire gallery. It also
+    has an "extension" button, the behaviour of which is outside the scope of
+    the gallery control itself, though it typically displays some kind of
+    dialog related to the gallery.
+    
+    @beginEventEmissionTable{wxRibbonGalleryEvent}
+    @event{EVT_RIBBONGALLERY_SELECTED(id, func)}
+        Triggered when the user selects an item from the gallery. Note that the
+        ID is that of the gallery, not of the item.
+    @event{EVT_RIBBONGALLERY_HOVER_CHANGED(id, func)}
+        Triggered when the item being hovered over by the user changes. The
+        item in the event will be the new item being hovered, or NULL if there
+        is no longer an item being hovered. Note that the ID is that of the
+        gallery, not of the item.
+    @endEventTable
+    @beginEventEmissionTable{wxCommandEvent}
+    @event{EVT_BUTTON(id, func)}
+        Triggered when the "extension" button of the gallery is pressed.
+    @endEventTable
+
+    @library{wxribbon}
+    @category{ribbon}
+*/
+class wxRibbonGallery : public wxRibbonControl
+{
+public:
+    /**
+        Default constructor.
+        With this constructor, Create() should be called in order to create
+        the gallery.
+    */
+    wxRibbonGallery();
+
+    /**
+        Construct a ribbon gallery with the given parameters.
+        @param parent
+            Parent window for the gallery (typically a wxRibbonPanel).
+        @param pos
+            Initial position of the gallery.
+        @param size
+            Initial size of the gallery.
+        @param style
+            Gallery style, currently unused.
+    */
+    wxRibbonGallery(wxWindow* parent,
+                  wxWindowID id = wxID_ANY,
+                  const wxPoint& pos = wxDefaultPosition,
+                  const wxSize& size = wxDefaultSize,
+                  long style = 0);
+
+    /**
+        Destructor.
+    */
+    virtual ~wxRibbonGallery();
+
+    /**
+        Create a gallery in two-step gallery construction.
+        Should only be called when the default constructor is used, and
+        arguments have the same meaning as in the full constructor.
+    */
+    bool Create(wxWindow* parent,
+                wxWindowID id = wxID_ANY,
+                const wxPoint& pos = wxDefaultPosition,
+                const wxSize& size = wxDefaultSize,
+                long style = 0);
+
+    /**
+        Remove all items from the gallery.
+    */
+    void Clear();
+
+    /**
+        Query if the gallery has no items in it.
+    */
+    bool IsEmpty() const;
+    
+    /**
+        Get the number of items in the gallery.
+    */
+    unsigned int GetCount() const;
+    
+    /**
+        Get an item by index.
+    */
+    wxRibbonGalleryItem* GetItem(unsigned int n);
+    
+    /**
+        Add an item to the gallery (with no client data).
+        @param bitmap
+            The bitmap to display for the item. Note that all items must
+            have equally sized bitmaps.
+        @param id
+            ID number to associate with the item. Not currently used for
+            anything important.
+    */
+    wxRibbonGalleryItem* Append(const wxBitmap& bitmap, int id);
+    
+    /**
+        Add an item to the gallery (with simple client data).
+        @param bitmap
+            The bitmap to display for the item. Note that all items must
+            have equally sized bitmaps.
+        @param id
+            ID number to associate with the item. Not currently used for
+            anything important.
+        @param clientData
+            An opaque pointer to associate with the item.
+    */
+    wxRibbonGalleryItem* Append(const wxBitmap& bitmap, int id, void* clientData);
+    
+    /**
+        Add an item to the gallery (with complex client data)
+        @param bitmap
+            The bitmap to display for the item. Note that all items must
+            have equally sized bitmaps.
+        @param id
+            ID number to associate with the item. Not currently used for
+            anything important.
+        @param clientData
+            An object which contains data to associate with the item. The item
+            takes ownership of this pointer, and will delete it when the item
+            client data is changed to something else, or when the item is
+            destroyed.
+    */
+    wxRibbonGalleryItem* Append(const wxBitmap& bitmap, int id, wxClientData* clientData);
+
+    /**
+        Set the client object associated with a gallery item.
+    */
+    void SetItemClientObject(wxRibbonGalleryItem* item, wxClientData* data);
+    
+    /**
+        Get the client object associated with a gallery item.
+    */
+    wxClientData* GetItemClientObject(const wxRibbonGalleryItem* item) const;
+    
+    /**
+        Set the client data associated with a gallery item.
+    */
+    void SetItemClientData(wxRibbonGalleryItem* item, void* data);
+    
+    /**
+        Get the client data associated with a gallery item.
+    */
+    void* GetItemClientData(const wxRibbonGalleryItem* item) const;
+
+    /**
+        Set the selection to the given item, or removes the selection if
+        @a item == NULL.
+        
+        Note that this not cause any events to be emitted.
+    */
+    void SetSelection(wxRibbonGalleryItem* item);
+
+    /**
+        Get the currently selected item, or NULL if there is none.
+        
+        The selected item is set by SetSelection(), or by the user clicking on
+        an item.
+    */
+    wxRibbonGalleryItem* GetSelection() const;
+    
+    /**
+        Get the currently hovered item, or NULL if there is none.
+        
+        The hovered item is the item underneath the mouse cursor.
+    */
+    wxRibbonGalleryItem* GetHoveredItem() const;
+    
+    /**
+        Get the currently active item, or NULL if there is none.
+        
+        The active item is the item being pressed by the user, and will thus
+        become the selected item if the user releases the mouse button.
+    */
+    wxRibbonGalleryItem* GetActiveItem() const;
+    
+    /**
+        Get the state of the scroll up button.
+    */
+    wxRibbonGalleryButtonState GetUpButtonState() const;
+    
+    /**
+        Get the state of the scroll down button.
+    */
+    wxRibbonGalleryButtonState GetDownButtonState() const;
+    
+    /**
+        Get the state of the "extension" button.
+    */
+    wxRibbonGalleryButtonState GetExtensionButtonState() const;
+
+    /**
+        Query is the mouse is currently hovered over the gallery.
+        
+        @return @true if the cursor is within the bounds of the gallery (not
+            just hovering over an item), @false otherwise.
+    */
+    bool IsHovered() const;
+    
+    /**
+        Scroll the gallery contents by some amount.
+        
+        @param lines
+          Positive values scroll toward the end of the gallery, while negative
+          values scroll toward the start.
+    
+        @return @true if the gallery scrolled at least one pixel in the given
+            direction, @false if it did not scroll.
+    */
+    virtual bool ScrollLines(int lines);
+    
+    /**
+        Scroll the gallery to ensure that the given item is visible.
+    */
+    void EnsureVisible(const wxRibbonGalleryItem* item);
+};
+
+/**
+    @class wxRibbonGalleryEvent
+
+    @library{wxribbon}
+    @category{events,ribbon}
+
+    @see wxRibbonBar
+*/
+class wxRibbonButtonBarEvent : public wxCommandEvent
+{
+public:
+    /**
+        Constructor.
+    */
+    wxRibbonButtonBarEvent(wxEventType command_type = wxEVT_NULL,
+                       int win_id = 0,
+                       wxRibbonGallery* gallery = NULL,
+                       wxRibbonGalleryItem* item = NULL);
+
+    /**
+        Returns the gallery which the event relates to.
+    */
+    wxRibbonGallery* GetGallery();
+    
+    /**
+        Returns the gallery item which the event relates to, or NULL if it does
+        not relate to an item.
+    */
+    wxRibbonGalleryItem* GetGalleryItem();
+        
+    /**
+        Sets the gallery relating to this event.
+    */
+    void SetGallery(wxRibbonGallery* gallery);
+    
+    /**
+        Sets the gallery item relating to this event.
+    */
+    void SetGalleryItem(wxRibbonGalleryItem* item);
+};
diff --git a/interface/wx/ribbon/page.h b/interface/wx/ribbon/page.h
new file mode 100644 (file)
index 0000000..04a0254
--- /dev/null
@@ -0,0 +1,182 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        ribbon/page.h
+// Purpose:     interface of wxRibbonPage
+// Author:      Peter Cawley
+// RCS-ID:      $Id$
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+/**
+    @class wxRibbonPage
+
+    Container for related ribbon panels, and a tab within a ribbon bar.
+    
+    @see wxRibbonBar
+    @see wxRibbonPanel
+
+    @library{wxribbon}
+    @category{ribbon}
+*/
+class wxRibbonPage : public wxRibbonControl
+{
+public:
+    /**
+        Default constructor.
+        With this constructor, Create() should be called in order to create
+        the ribbon page.
+    */
+    wxRibbonPage();
+
+    /**
+        Constructs a ribbon page, which must be a child of a ribbon bar.
+    
+        @param parent
+            Pointer to a parent wxRibbonBar (unlike most controls, a wxRibbonPage
+            can only have wxRibbonBar as a parent).
+        @param id
+            Window identifier.
+        @param label
+            Label to be used in the wxRibbonBar's tab list for this page (if the
+            ribbon bar is set to display labels).
+        @param icon
+            Icon to be used in the wxRibbonBar's tab list for this page (if the
+            ribbon bar is set to display icons).
+        @param style
+            Currently unused, should be zero.
+    */
+    wxRibbonPage(wxRibbonBar* parent,
+                wxWindowID id = wxID_ANY,
+                const wxString& label = wxEmptyString,
+                const wxBitmap& icon = wxNullBitmap,
+                long style = 0);
+
+    /**
+        Destructor.
+    */
+    virtual ~wxRibbonPage();
+    
+    /**
+        Create a ribbon page in two-step ribbon page construction.
+        Should only be called when the default constructor is used, and
+        arguments have the same meaning as in the full constructor.
+    */
+    bool Create(wxRibbonBar* parent,
+                wxWindowID id = wxID_ANY,
+                const wxString& label = wxEmptyString,
+                const wxBitmap& icon = wxNullBitmap,
+                long style = 0);
+
+    /**
+        Set the art provider to be used. Normally called automatically by
+        wxRibbonBar when the page is created, or the art provider changed on the
+        bar.
+    
+        The new art provider will be propagated to the children of the page.
+    */
+    void SetArtProvider(wxRibbonArtProvider* art);
+
+    /**
+        Get the icon used for the page in the ribbon bar tab area (only
+        displayed if the ribbon bar is actuallt showing icons).
+    */
+    wxBitmap& GetIcon();
+  
+    /**
+        Set the size of the page and the external scroll buttons (if any).
+    
+        When a page is too small to display all of its children, scroll buttons
+        will appear (and if the page is sized up enough, they will disappear again).
+        Slightly counter-intuively, these buttons are created as siblings of the
+        page rather than children of the page (to achieve correct cropping and
+        paint ordering of the children and the buttons). When there are no scroll
+        buttons, this function behaves the same as SetSize(), however when there
+        are scroll buttons, it positions them at the edges of the given area, and
+        then calls SetSize() with the remaining area.
+    
+        This is provided as a separate function to SetSize() rather than within
+        the implementation of SetSize(), as iteracting algorithms may not expect
+        SetSize() to also set the size of siblings.
+    */
+    void SetSizeWithScrollButtonAdjustment(int x, int y, int width, int height);
+    
+    /**
+        Expand a rectangle of the page to include external scroll buttons (if
+        any). When no scroll buttons are shown, has no effect.
+        
+        @param[in,out] rect
+            The rectangle to adjust. The width and height will not be reduced,
+            and the x and y will not be increased.
+    */
+    void AdjustRectToIncludeScrollButtons(wxRect* rect) const;
+    
+    /**
+        Dismiss the current externally expanded panel, if there is one.
+        
+        When a ribbon panel automatically minimises, it can be externally
+        expanded into a floating window. When the user clicks a button in such
+        a panel, the panel should generally re-minimise. Event handlers for
+        buttons on ribbon panels should call this method to achieve this
+        behaviour.
+        
+        @return @true if a panel was minimised, @false otherwise.
+    */
+    bool DismissExpandedPanel();
+    
+    /**
+        Perform a full re-layout of all panels on the page.
+        
+        Should be called after panels are added to the page, or the sizing
+        behaviour of a panel on the page changes (i.e. due to children being
+        added to it). Usually called automatically when wxRibbonBar::Realize()
+        is called.
+        
+        Will invoke wxRibbonPanel::Realize() for all child panels.
+    */
+    virtual bool Realize();
+
+    /**
+        Scroll the page by some amount up / down / left / right.
+    
+        When the page's children are too big to fit in the onscreen area given to
+        the page, scroll buttons will appear, and the page can be programatically
+        scrolled. Positive values of @a lines will scroll right or down, while
+        negative values will scroll up or left (depending on the direction in which
+        panels are stacked). A line is equivalent to a constant number of pixels.
+    
+        @return @true if the page scrolled at least one pixel in the given
+            direction, @false if it did not scroll.
+    
+        @see GetMajorAxis()
+        @see ScrollPixels()
+    */
+    virtual bool ScrollLines(int lines);
+  
+    /**
+        Scroll the page by a set number of pixels up / down / left / right.
+    
+        When the page's children are too big to fit in the onscreen area given to
+        the page, scroll buttons will appear, and the page can be programatically
+        scrolled. Positive values of @a lines will scroll right or down, while
+        negative values will scroll up or left (depending on the direction in which
+        panels are stacked).
+    
+        @return @true if the page scrolled at least one pixel in the given
+            direction, @false if it did not scroll.
+    
+        @see GetMajorAxis()
+        @see ScrollLines()
+    */
+    bool ScrollPixels(int pixels);
+
+    /**
+        Get the direction in which ribbon panels are stacked within the page.
+    
+        This is controlled by the style of the containing wxRibbonBar, meaning
+        that all pages within a bar will have the same major axis. As well as
+        being the direction in which panels are stacked, it is also the axis in
+        which scrolling will occur (when required).
+    
+        @return wxHORIZONTAL or wxVERTICAL (never wxBOTH).
+    */
+    wxOrientation GetMajorAxis() const;
+};
diff --git a/interface/wx/ribbon/panel.h b/interface/wx/ribbon/panel.h
new file mode 100644 (file)
index 0000000..53ca216
--- /dev/null
@@ -0,0 +1,200 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        ribbon/panel.h
+// Purpose:     interface of wxRibbonPage
+// Author:      Peter Cawley
+// RCS-ID:      $Id$
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+/**
+    @class wxRibbonPanel
+
+    Serves as a container for a group of (ribbon) controls. A wxRibbonPage will
+    typically have panels for children, with the controls for that page placed
+    on the panels.
+    
+    A panel adds a border and label to a group of controls, and can be
+    minimised (either automatically to conserve space, or manually by the user).
+    
+    @sa wxRibbonPage
+    
+    @beginStyleTable
+    @style{wxRIBBON_PANEL_DEFAULT_STYLE}
+        Defined as no other flags set.
+    @style{wxRIBBON_PANEL_NO_AUTO_MINIMISE}
+        Prevents the panel from automatically minimising to conserve screen
+        space.
+    @style{wxRIBBON_PANEL_EXT_BUTTON}
+        Causes an extension button to be shown in the panel's chrome (if the
+        bar in which it is contained has wxRIBBON_BAR_SHOW_PANEL_EXT_BUTTONS
+        set). The behaviour of this button is application controlled, but
+        typically will show an extended drop-down menu relating to the
+        panel.
+    @style{wxRIBBON_PANEL_MINIMISE_BUTTON}
+        Causes a (de)minimise button to be shown in the panel's chrome (if
+        the bar in which it is contained has the
+        wxRIBBON_BAR_SHOW_PANEL_MINIMISE_BUTTONS style set). This flag is
+        typically combined with wxRIBBON_PANEL_NO_AUTO_MINIMISE to make a
+        panel which the user always has manual control over when it
+        minimises.
+    @endStyleTable
+
+    @library{wxribbon}
+    @category{ribbon}
+*/
+class wxRibbonPanel : public wxRibbonControl
+{
+public:
+    /**
+        Default constructor. 
+        With this constructor, Create() should be called in order to create
+        the ribbon panel.
+    */
+    wxRibbonPanel();
+
+    /**
+        Constructs a ribbon panel.
+    
+        @param parent
+            Pointer to a parent window, which is typically a wxRibbonPage,
+            though it can be any window.
+        @param id
+            Window identifier.
+        @param label
+            Label to be used in the wxRibbonPanel's chrome.
+        @param minimised_icon
+            Icon to be used in place of the panel's children when the panel
+            is minimised.
+        @param pos
+            The initial position of the panel. Not relevant when the parent is
+            a ribbon page, as the position and size of the panel will be
+            dictated by the page.
+        @param size
+            The initial size of the panel. Not relevant when the parent is a
+            ribbon page, as the position and size of the panel will be
+            dictated by the page.
+        @param style
+            Style flags for the panel.
+    */
+    wxRibbonPanel(wxWindow* parent,
+                  wxWindowID id = wxID_ANY,
+                  const wxString& label = wxEmptyString,
+                  const wxBitmap& minimised_icon = wxNullBitmap,
+                  const wxPoint& pos = wxDefaultPosition,
+                  const wxSize& size = wxDefaultSize,
+                  long style = wxRIBBON_PANEL_DEFAULT_STYLE);
+    
+    /**
+        Create a ribbon panel in two-step ribbon panel construction.
+        Should only be called when the default constructor is used, and
+        arguments have the same meaning as in the full constructor.
+    */
+    bool Create(wxWindow* parent,
+                wxWindowID id = wxID_ANY,
+                const wxString& label = wxEmptyString,
+                const wxBitmap& icon = wxNullBitmap,
+                const wxPoint& pos = wxDefaultPosition,
+                const wxSize& size = wxDefaultSize,
+                long style = wxRIBBON_PANEL_DEFAULT_STYLE);
+
+    /**
+        Destructor.
+    */
+    virtual ~wxRibbonPanel();
+
+    /**
+        Get the bitmap to be used in place of the panel children when it is
+        minimised.
+    */
+    wxBitmap& GetMinimisedIcon();
+    const wxBitmap& GetMinimisedIcon() const;
+    
+    /**
+        Query if the panel is currently minimised.
+    */
+    bool IsMinimised() const;
+    
+    /**
+        Query if the panel would be minimised at a given size.
+    */
+    bool IsMinimised(wxSize at_size) const;
+    
+    /**
+        Query is the mouse is currently hovered over the panel.
+        @return @true if the cursor is within the bounds of the panel (i.e.
+            hovered over the panel or one of its children), @false otherwise.
+    */
+    bool IsHovered() const;
+    
+    /**
+        Query if the panel can automatically minimise itself at small sizes.
+    */
+    bool CanAutoMinimise() const;
+    
+    /**
+        Show the panel externally expanded.
+        
+        When a panel is minimised, it can be shown full-size in a pop-out
+        window, which is refered to as being (externally) expanded. Note that
+        when a panel is expanded, there exist two panels - the original panel
+        (which is refered to as the dummy panel) and the expanded panel. The
+        original is termed a dummy as it sits in the ribbon bar doing nothing,
+        while the expanded panel holds the panel children.
+        
+        @return @true if the panel was expanded, @false if it was not (possibly
+            due to it not being minimised, or already being expanded).
+            
+        @see HideExpanded()
+        @see GetExpandedPanel()
+    */
+    bool ShowExpanded();
+    
+    /**
+        Hide the panel's external expansion.
+        
+        @return @true if the panel was un-expanded, @false if it was not
+            (normally due to it not being expanded in the first place).
+        
+        @see HideExpanded()
+        @see GetExpandedPanel()
+    */
+    bool HideExpanded();
+
+    /**
+        Set the art provider to be used. Normally called automatically by
+        wxRibbonPage when the panel is created, or the art provider changed on the
+        page.
+    
+        The new art provider will be propagated to the children of the panel.
+    */
+    void SetArtProvider(wxRibbonArtProvider* art);
+    
+    /**
+        Realize all children of the panel.
+    */
+    bool Realize();
+    
+    /**
+        Get the dummy panel of an expanded panel.
+        
+        Note that this should be called on an expanded panel to get the dummy
+        associated with it - it will return NULL when called on the dummy
+        itself.
+        
+        @see ShowExpanded()
+        @see GetExpandedPanel()
+    */
+    wxRibbonPanel* GetExpandedDummy();
+    
+    /**
+        Get the expanded panel of a dummy panel.
+        
+        Note that this should be called on a dummy panel to get the expanded
+        panel associated with it - it will return NULL when called on the
+        expanded panel itself.
+        
+        @see ShowExpanded()
+        @see GetExpandedDummy()
+    */
+    wxRibbonPanel* GetExpandedPanel();
+};
diff --git a/interface/wx/ribbon/toolbar.h b/interface/wx/ribbon/toolbar.h
new file mode 100644 (file)
index 0000000..66ea8ec
--- /dev/null
@@ -0,0 +1,159 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        ribbon/toolbar.h
+// Purpose:     interface of wxRibbonToolBar
+// Author:      Peter Cawley
+// RCS-ID:      $Id$
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+/**
+    @class wxRibbonToolBar
+    
+    A ribbon tool bar is similar to a traditional toolbar which has no labels.
+    It contains one or more tool groups, each of which contains one or more
+    tools. Each tool is represented by a (generally small, i.e. 16x15) bitmap.
+    
+    @beginEventEmissionTable{wxRibbonToolBarEvent}
+    @event{EVT_RIBBONTOOLBAR_CLICKED(id, func)}
+        Triggered when the normal (non-dropdown) region of a tool on the tool
+        bar is clicked.
+    @event{EVT_RIBBONTOOLBAR_DROPDOWN_CLICKED(id, func)}
+        Triggered when the dropdown region of a tool on the tool bar is
+        clicked. wxRibbonToolBarEvent::PopupMenu() should be called by the
+        event handler if it wants to display a popup menu (which is what most
+        dropdown tools should be doing).
+    @endEventTable
+    
+    @library{wxribbon}
+    @category{ribbon}
+*/
+class wxRibbonToolBar : public wxRibbonControl
+{
+public:
+    /**
+        Default constructor.
+        With this constructor, Create() should be called in order to create
+        the tool bar.
+    */
+    wxRibbonToolBar();
+
+    /**
+        Construct a ribbon tool bar with the given parameters.
+        @param parent
+            Parent window for the tool bar (typically a wxRibbonPanel).
+        @param pos
+            Initial position of the tool bar.
+        @param size
+            Initial size of the tool bar.
+        @param style
+            Tool bar style, currently unused.
+    */
+    wxRibbonToolBar(wxWindow* parent,
+                  wxWindowID id = wxID_ANY,
+                  const wxPoint& pos = wxDefaultPosition,
+                  const wxSize& size = wxDefaultSize,
+                  long style = 0);
+
+    /**
+        Destructor.
+    */
+    virtual ~wxRibbonToolBar();
+
+    /**
+        Create a tool bar in two-step tool bar construction.
+        Should only be called when the default constructor is used, and
+        arguments have the same meaning as in the full constructor.
+    */
+    bool Create(wxWindow* parent,
+                wxWindowID id = wxID_ANY,
+                const wxPoint& pos = wxDefaultPosition,
+                const wxSize& size = wxDefaultSize,
+                long style = 0);
+
+    /**
+        Add a tool to the tool bar (simple version).
+    */
+    virtual wxRibbonToolBarToolBase* AddTool(
+                int tool_id,
+                const wxBitmap& bitmap,
+                const wxString& help_string,
+                wxRibbonButtonKind kind = wxRIBBON_BUTTON_NORMAL);
+
+    /**
+        Add a dropdown tool to the tool bar (simple version).
+        
+        @see AddTool()
+    */
+    virtual wxRibbonToolBarToolBase* AddDropdownTool(
+                int tool_id,
+                const wxBitmap& bitmap,
+                const wxString& help_string = wxEmptyString);
+
+    /**
+        Add a hybrid tool to the tool bar (simple version).
+        
+        @see AddTool()
+    */
+    virtual wxRibbonToolBarToolBase* AddHybridTool(
+                int tool_id,
+                const wxBitmap& bitmap,
+                const wxString& help_string = wxEmptyString);
+
+    /**
+        Add a tool to the tool bar.
+        
+        @param tool_id
+            ID of the new tool (used for event callbacks).
+        @param bitmap
+            Bitmap to use as the foreground for the new tool. Does not have
+            to be the same size as other tool bitmaps, but should be similar
+            as otherwise it will look visually odd.
+        @param bitmap_disabled
+            Bitmap to use when the tool is disabled. If left as wxNullBitmap,
+            then a bitmap will be automatically generated from @a bitmap.
+        @param help_string
+            The UI help string to associate with the new tool.
+        @param kind
+            The kind of tool to add.
+        @param client_data
+            Client data to associate with the new tool.
+        
+        @return An opaque pointer which can be used only with other tool bar
+            methods.
+            
+        @see AddDropdownTool()
+        @see AddHybridTool()
+        @saa AddSeparator()
+    */
+    virtual wxRibbonToolBarToolBase* AddTool(
+                int tool_id,
+                const wxBitmap& bitmap,
+                const wxBitmap& bitmap_disabled = wxNullBitmap,
+                const wxString& help_string = wxEmptyString,
+                wxRibbonButtonKind kind = wxRIBBON_BUTTON_NORMAL,
+                wxObject* client_data = NULL);
+
+    /**
+        Add a separator to the tool bar.
+        
+        Separators are used to separate tools into groups. As such, a separator
+        is not explicity drawn, but is visually seen as the gap between tool
+        groups.
+    */
+    virtual wxRibbonToolBarToolBase* AddSeparator();
+
+    /**
+        Set the number of rows to distribute tool groups over.
+        
+        Tool groups can be distributed over a variable number of rows. The way
+        in which groups are assigned to rows is not specificed, and the order
+        of groups may change, but they will be distributed in such a way as to
+        minimise the overall size of the tool bar.
+        
+        @param nMin
+            The minimum number of rows to use.
+        @param nMax
+            The maximum number of rows to use (defaults to nMin).
+    */
+    virtual void SetRows(int nMin, int nMax = -1);
+};
index cc8242b7bfceb199ecc84dd09d45e3da2c96dedf..15d236afecee883e247f92915d3529bf94adb8d3 100644 (file)
@@ -28,9 +28,9 @@ MAKEARGS = -DCC="$(CC)" -DCXX="$(CXX)" -DCFLAGS="$(CFLAGS)" \
        -DDEBUG_INFO="$(DEBUG_INFO)" -DDEBUG_FLAG="$(DEBUG_FLAG)" \
        -DMONOLITHIC="$(MONOLITHIC)" -DUSE_GUI="$(USE_GUI)" \
        -DUSE_HTML="$(USE_HTML)" -DUSE_MEDIA="$(USE_MEDIA)" -DUSE_XRC="$(USE_XRC)" \
-       -DUSE_AUI="$(USE_AUI)" -DUSE_PROPGRID="$(USE_PROPGRID)" \
-       -DUSE_RICHTEXT="$(USE_RICHTEXT)" -DUSE_STC="$(USE_STC)" \
-       -DUSE_OPENGL="$(USE_OPENGL)" -DUSE_QA="$(USE_QA)" \
+       -DUSE_AUI="$(USE_AUI)" -DUSE_RIBBON="$(USE_RIBBON)" \
+       -DUSE_PROPGRID="$(USE_PROPGRID)" -DUSE_RICHTEXT="$(USE_RICHTEXT)" \
+       -DUSE_STC="$(USE_STC)" -DUSE_OPENGL="$(USE_OPENGL)" -DUSE_QA="$(USE_QA)" \
        -DUSE_EXCEPTIONS="$(USE_EXCEPTIONS)" -DUSE_RTTI="$(USE_RTTI)" \
        -DUSE_THREADS="$(USE_THREADS)" -DUSE_GDIPLUS="$(USE_GDIPLUS)" \
        -DOFFICIAL_BUILD="$(OFFICIAL_BUILD)" -DVENDOR="$(VENDOR)" \
index 1b735bf500a23739b9d723fa4086ab03061e2349..b2f9b3afc173f186e61a67411840d404db112da6 100644 (file)
@@ -20,8 +20,9 @@ MAKEARGS = LINK_DLL_FLAGS="$(LINK_DLL_FLAGS)" \
        DEBUG_INFO="$(DEBUG_INFO)" DEBUG_FLAG="$(DEBUG_FLAG)" \
        MONOLITHIC="$(MONOLITHIC)" USE_GUI="$(USE_GUI)" USE_HTML="$(USE_HTML)" \
        USE_MEDIA="$(USE_MEDIA)" USE_XRC="$(USE_XRC)" USE_AUI="$(USE_AUI)" \
-       USE_PROPGRID="$(USE_PROPGRID)" USE_RICHTEXT="$(USE_RICHTEXT)" \
-       USE_STC="$(USE_STC)" USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" \
+       USE_RIBBON="$(USE_RIBBON)" USE_PROPGRID="$(USE_PROPGRID)" \
+       USE_RICHTEXT="$(USE_RICHTEXT)" USE_STC="$(USE_STC)" \
+       USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" \
        USE_EXCEPTIONS="$(USE_EXCEPTIONS)" USE_RTTI="$(USE_RTTI)" \
        USE_THREADS="$(USE_THREADS)" USE_GDIPLUS="$(USE_GDIPLUS)" \
        OFFICIAL_BUILD="$(OFFICIAL_BUILD)" VENDOR="$(VENDOR)" \
index 8edb32f65bc9d0eed0e9d6ea4678d90ad3689ddc..04e8bdcae86f41ed9aed57df631281fbbcaf1ad4 100644 (file)
@@ -19,8 +19,9 @@ MAKEARGS = CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \
        DEBUG_FLAG="$(DEBUG_FLAG)" DEBUG_RUNTIME_LIBS="$(DEBUG_RUNTIME_LIBS)" \
        MONOLITHIC="$(MONOLITHIC)" USE_GUI="$(USE_GUI)" USE_HTML="$(USE_HTML)" \
        USE_MEDIA="$(USE_MEDIA)" USE_XRC="$(USE_XRC)" USE_AUI="$(USE_AUI)" \
-       USE_PROPGRID="$(USE_PROPGRID)" USE_RICHTEXT="$(USE_RICHTEXT)" \
-       USE_STC="$(USE_STC)" USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" \
+       USE_RIBBON="$(USE_RIBBON)" USE_PROPGRID="$(USE_PROPGRID)" \
+       USE_RICHTEXT="$(USE_RICHTEXT)" USE_STC="$(USE_STC)" \
+       USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" \
        USE_EXCEPTIONS="$(USE_EXCEPTIONS)" USE_RTTI="$(USE_RTTI)" \
        USE_THREADS="$(USE_THREADS)" USE_GDIPLUS="$(USE_GDIPLUS)" \
        OFFICIAL_BUILD="$(OFFICIAL_BUILD)" VENDOR="$(VENDOR)" \
index 22506427e6e04d4b0534f6479ec0f6e58da394a1..fd9781415f1275dbd9a2a0655840be059f199cd5 100644 (file)
@@ -40,8 +40,9 @@ MAKEARGS = CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" &
        DEBUG_INFO="$(DEBUG_INFO)" DEBUG_FLAG="$(DEBUG_FLAG)" &
        MONOLITHIC="$(MONOLITHIC)" USE_GUI="$(USE_GUI)" USE_HTML="$(USE_HTML)" &
        USE_MEDIA="$(USE_MEDIA)" USE_XRC="$(USE_XRC)" USE_AUI="$(USE_AUI)" &
-       USE_PROPGRID="$(USE_PROPGRID)" USE_RICHTEXT="$(USE_RICHTEXT)" &
-       USE_STC="$(USE_STC)" USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" &
+       USE_RIBBON="$(USE_RIBBON)" USE_PROPGRID="$(USE_PROPGRID)" &
+       USE_RICHTEXT="$(USE_RICHTEXT)" USE_STC="$(USE_STC)" &
+       USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" &
        USE_EXCEPTIONS="$(USE_EXCEPTIONS)" USE_RTTI="$(USE_RTTI)" &
        USE_THREADS="$(USE_THREADS)" USE_GDIPLUS="$(USE_GDIPLUS)" &
        OFFICIAL_BUILD="$(OFFICIAL_BUILD)" VENDOR="$(VENDOR)" &
index eee64fcaaf694c7242d8c050d6e9ef1c9e2514c6..14c84f339e72a197de2893032929142c597cf6ff 100644 (file)
@@ -1,6 +1,6 @@
 # =========================================================================
 #     This makefile was generated by
-#     Bakefile 0.2.6 (http://www.bakefile.org)
+#     Bakefile 0.2.5 (http://www.bakefile.org)
 #     Do not modify, all changes will be overwritten!
 # =========================================================================
 
index c21f4f24f55b1a911d93faf7b6c15eaeee814c42..4a28aac0747c06d8647aa303ed5039a3eb78bd28 100644 (file)
@@ -1,6 +1,6 @@
 # =========================================================================
 #     This makefile was generated by
-#     Bakefile 0.2.6 (http://www.bakefile.org)
+#     Bakefile 0.2.5 (http://www.bakefile.org)
 #     Do not modify, all changes will be overwritten!
 # =========================================================================
 
index 257e1b4ca6cea0712c74dc32804d85e3e450b700..149eae00539e62c2a237a5093085e53d62968eb0 100644 (file)
@@ -28,9 +28,9 @@ MAKEARGS = -DCC="$(CC)" -DCXX="$(CXX)" -DCFLAGS="$(CFLAGS)" \
        -DDEBUG_INFO="$(DEBUG_INFO)" -DDEBUG_FLAG="$(DEBUG_FLAG)" \
        -DMONOLITHIC="$(MONOLITHIC)" -DUSE_GUI="$(USE_GUI)" \
        -DUSE_HTML="$(USE_HTML)" -DUSE_MEDIA="$(USE_MEDIA)" -DUSE_XRC="$(USE_XRC)" \
-       -DUSE_AUI="$(USE_AUI)" -DUSE_PROPGRID="$(USE_PROPGRID)" \
-       -DUSE_RICHTEXT="$(USE_RICHTEXT)" -DUSE_STC="$(USE_STC)" \
-       -DUSE_OPENGL="$(USE_OPENGL)" -DUSE_QA="$(USE_QA)" \
+       -DUSE_AUI="$(USE_AUI)" -DUSE_RIBBON="$(USE_RIBBON)" \
+       -DUSE_PROPGRID="$(USE_PROPGRID)" -DUSE_RICHTEXT="$(USE_RICHTEXT)" \
+       -DUSE_STC="$(USE_STC)" -DUSE_OPENGL="$(USE_OPENGL)" -DUSE_QA="$(USE_QA)" \
        -DUSE_EXCEPTIONS="$(USE_EXCEPTIONS)" -DUSE_RTTI="$(USE_RTTI)" \
        -DUSE_THREADS="$(USE_THREADS)" -DUSE_GDIPLUS="$(USE_GDIPLUS)" \
        -DOFFICIAL_BUILD="$(OFFICIAL_BUILD)" -DVENDOR="$(VENDOR)" \
index b99513064a779285d7ae43bbb9aecc427808269e..2766f36dbd7ef2324c05e312cf25cf1aa8d23df6 100644 (file)
@@ -20,8 +20,9 @@ MAKEARGS = LINK_DLL_FLAGS="$(LINK_DLL_FLAGS)" \
        DEBUG_INFO="$(DEBUG_INFO)" DEBUG_FLAG="$(DEBUG_FLAG)" \
        MONOLITHIC="$(MONOLITHIC)" USE_GUI="$(USE_GUI)" USE_HTML="$(USE_HTML)" \
        USE_MEDIA="$(USE_MEDIA)" USE_XRC="$(USE_XRC)" USE_AUI="$(USE_AUI)" \
-       USE_PROPGRID="$(USE_PROPGRID)" USE_RICHTEXT="$(USE_RICHTEXT)" \
-       USE_STC="$(USE_STC)" USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" \
+       USE_RIBBON="$(USE_RIBBON)" USE_PROPGRID="$(USE_PROPGRID)" \
+       USE_RICHTEXT="$(USE_RICHTEXT)" USE_STC="$(USE_STC)" \
+       USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" \
        USE_EXCEPTIONS="$(USE_EXCEPTIONS)" USE_RTTI="$(USE_RTTI)" \
        USE_THREADS="$(USE_THREADS)" USE_GDIPLUS="$(USE_GDIPLUS)" \
        OFFICIAL_BUILD="$(OFFICIAL_BUILD)" VENDOR="$(VENDOR)" \
index 833a34fc51f54bef3077fdca46144ff1f1cae110..56264284d6b3043640607779bdac63a3ca5565cc 100644 (file)
@@ -19,8 +19,9 @@ MAKEARGS = CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \
        DEBUG_FLAG="$(DEBUG_FLAG)" DEBUG_RUNTIME_LIBS="$(DEBUG_RUNTIME_LIBS)" \
        MONOLITHIC="$(MONOLITHIC)" USE_GUI="$(USE_GUI)" USE_HTML="$(USE_HTML)" \
        USE_MEDIA="$(USE_MEDIA)" USE_XRC="$(USE_XRC)" USE_AUI="$(USE_AUI)" \
-       USE_PROPGRID="$(USE_PROPGRID)" USE_RICHTEXT="$(USE_RICHTEXT)" \
-       USE_STC="$(USE_STC)" USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" \
+       USE_RIBBON="$(USE_RIBBON)" USE_PROPGRID="$(USE_PROPGRID)" \
+       USE_RICHTEXT="$(USE_RICHTEXT)" USE_STC="$(USE_STC)" \
+       USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" \
        USE_EXCEPTIONS="$(USE_EXCEPTIONS)" USE_RTTI="$(USE_RTTI)" \
        USE_THREADS="$(USE_THREADS)" USE_GDIPLUS="$(USE_GDIPLUS)" \
        OFFICIAL_BUILD="$(OFFICIAL_BUILD)" VENDOR="$(VENDOR)" \
index 3f581c89895e25dced3606cc4bf0b1419cb56920..20fcc8e23fa396b40553dcc0625d97c024bdb5ca 100644 (file)
@@ -40,8 +40,9 @@ MAKEARGS = CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" &
        DEBUG_INFO="$(DEBUG_INFO)" DEBUG_FLAG="$(DEBUG_FLAG)" &
        MONOLITHIC="$(MONOLITHIC)" USE_GUI="$(USE_GUI)" USE_HTML="$(USE_HTML)" &
        USE_MEDIA="$(USE_MEDIA)" USE_XRC="$(USE_XRC)" USE_AUI="$(USE_AUI)" &
-       USE_PROPGRID="$(USE_PROPGRID)" USE_RICHTEXT="$(USE_RICHTEXT)" &
-       USE_STC="$(USE_STC)" USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" &
+       USE_RIBBON="$(USE_RIBBON)" USE_PROPGRID="$(USE_PROPGRID)" &
+       USE_RICHTEXT="$(USE_RICHTEXT)" USE_STC="$(USE_STC)" &
+       USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" &
        USE_EXCEPTIONS="$(USE_EXCEPTIONS)" USE_RTTI="$(USE_RTTI)" &
        USE_THREADS="$(USE_THREADS)" USE_GDIPLUS="$(USE_GDIPLUS)" &
        OFFICIAL_BUILD="$(OFFICIAL_BUILD)" VENDOR="$(VENDOR)" &
index 4417a33d7e3b3a8abb519bd58e641e0f86d9ce0d..a7956db4c15020894985fe1aeac5efb201433538 100644 (file)
@@ -28,9 +28,9 @@ MAKEARGS = -DCC="$(CC)" -DCXX="$(CXX)" -DCFLAGS="$(CFLAGS)" \
        -DDEBUG_INFO="$(DEBUG_INFO)" -DDEBUG_FLAG="$(DEBUG_FLAG)" \
        -DMONOLITHIC="$(MONOLITHIC)" -DUSE_GUI="$(USE_GUI)" \
        -DUSE_HTML="$(USE_HTML)" -DUSE_MEDIA="$(USE_MEDIA)" -DUSE_XRC="$(USE_XRC)" \
-       -DUSE_AUI="$(USE_AUI)" -DUSE_PROPGRID="$(USE_PROPGRID)" \
-       -DUSE_RICHTEXT="$(USE_RICHTEXT)" -DUSE_STC="$(USE_STC)" \
-       -DUSE_OPENGL="$(USE_OPENGL)" -DUSE_QA="$(USE_QA)" \
+       -DUSE_AUI="$(USE_AUI)" -DUSE_RIBBON="$(USE_RIBBON)" \
+       -DUSE_PROPGRID="$(USE_PROPGRID)" -DUSE_RICHTEXT="$(USE_RICHTEXT)" \
+       -DUSE_STC="$(USE_STC)" -DUSE_OPENGL="$(USE_OPENGL)" -DUSE_QA="$(USE_QA)" \
        -DUSE_EXCEPTIONS="$(USE_EXCEPTIONS)" -DUSE_RTTI="$(USE_RTTI)" \
        -DUSE_THREADS="$(USE_THREADS)" -DUSE_GDIPLUS="$(USE_GDIPLUS)" \
        -DOFFICIAL_BUILD="$(OFFICIAL_BUILD)" -DVENDOR="$(VENDOR)" \
index dd932b0b1a1f8e0d6133e33746f4912a7a5335c8..83accbb854ef7b3037e158d4d54e56e5af5b8b67 100644 (file)
@@ -20,8 +20,9 @@ MAKEARGS = LINK_DLL_FLAGS="$(LINK_DLL_FLAGS)" \
        DEBUG_INFO="$(DEBUG_INFO)" DEBUG_FLAG="$(DEBUG_FLAG)" \
        MONOLITHIC="$(MONOLITHIC)" USE_GUI="$(USE_GUI)" USE_HTML="$(USE_HTML)" \
        USE_MEDIA="$(USE_MEDIA)" USE_XRC="$(USE_XRC)" USE_AUI="$(USE_AUI)" \
-       USE_PROPGRID="$(USE_PROPGRID)" USE_RICHTEXT="$(USE_RICHTEXT)" \
-       USE_STC="$(USE_STC)" USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" \
+       USE_RIBBON="$(USE_RIBBON)" USE_PROPGRID="$(USE_PROPGRID)" \
+       USE_RICHTEXT="$(USE_RICHTEXT)" USE_STC="$(USE_STC)" \
+       USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" \
        USE_EXCEPTIONS="$(USE_EXCEPTIONS)" USE_RTTI="$(USE_RTTI)" \
        USE_THREADS="$(USE_THREADS)" USE_GDIPLUS="$(USE_GDIPLUS)" \
        OFFICIAL_BUILD="$(OFFICIAL_BUILD)" VENDOR="$(VENDOR)" \
index ab4eb7e7ddd516387863ce632320d4d701888d79..02a60936560bd16d31a841aecc9fc884fd465545 100644 (file)
@@ -19,8 +19,9 @@ MAKEARGS = CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \
        DEBUG_FLAG="$(DEBUG_FLAG)" DEBUG_RUNTIME_LIBS="$(DEBUG_RUNTIME_LIBS)" \
        MONOLITHIC="$(MONOLITHIC)" USE_GUI="$(USE_GUI)" USE_HTML="$(USE_HTML)" \
        USE_MEDIA="$(USE_MEDIA)" USE_XRC="$(USE_XRC)" USE_AUI="$(USE_AUI)" \
-       USE_PROPGRID="$(USE_PROPGRID)" USE_RICHTEXT="$(USE_RICHTEXT)" \
-       USE_STC="$(USE_STC)" USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" \
+       USE_RIBBON="$(USE_RIBBON)" USE_PROPGRID="$(USE_PROPGRID)" \
+       USE_RICHTEXT="$(USE_RICHTEXT)" USE_STC="$(USE_STC)" \
+       USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" \
        USE_EXCEPTIONS="$(USE_EXCEPTIONS)" USE_RTTI="$(USE_RTTI)" \
        USE_THREADS="$(USE_THREADS)" USE_GDIPLUS="$(USE_GDIPLUS)" \
        OFFICIAL_BUILD="$(OFFICIAL_BUILD)" VENDOR="$(VENDOR)" \
index be2201372bfee9aab3836215ca2e23979b9d5cc5..119166b1fd4cc14d968d87be1483e22aa218ecf0 100644 (file)
@@ -40,8 +40,9 @@ MAKEARGS = CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" &
        DEBUG_INFO="$(DEBUG_INFO)" DEBUG_FLAG="$(DEBUG_FLAG)" &
        MONOLITHIC="$(MONOLITHIC)" USE_GUI="$(USE_GUI)" USE_HTML="$(USE_HTML)" &
        USE_MEDIA="$(USE_MEDIA)" USE_XRC="$(USE_XRC)" USE_AUI="$(USE_AUI)" &
-       USE_PROPGRID="$(USE_PROPGRID)" USE_RICHTEXT="$(USE_RICHTEXT)" &
-       USE_STC="$(USE_STC)" USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" &
+       USE_RIBBON="$(USE_RIBBON)" USE_PROPGRID="$(USE_PROPGRID)" &
+       USE_RICHTEXT="$(USE_RICHTEXT)" USE_STC="$(USE_STC)" &
+       USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" &
        USE_EXCEPTIONS="$(USE_EXCEPTIONS)" USE_RTTI="$(USE_RTTI)" &
        USE_THREADS="$(USE_THREADS)" USE_GDIPLUS="$(USE_GDIPLUS)" &
        OFFICIAL_BUILD="$(OFFICIAL_BUILD)" VENDOR="$(VENDOR)" &
diff --git a/samples/ribbon/Makefile.in b/samples/ribbon/Makefile.in
new file mode 100644 (file)
index 0000000..19679d0
--- /dev/null
@@ -0,0 +1,203 @@
+# =========================================================================
+#     This makefile was generated by
+#     Bakefile 0.2.5 (http://www.bakefile.org)
+#     Do not modify, all changes will be overwritten!
+# =========================================================================
+
+
+@MAKE_SET@
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+datarootdir = @datarootdir@
+INSTALL = @INSTALL@
+EXEEXT = @EXEEXT@
+WINDRES = @WINDRES@
+SETFILE = @SETFILE@
+NM = @NM@
+BK_DEPS = @BK_DEPS@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+LIBS = @LIBS@
+LDFLAGS_GUI = @LDFLAGS_GUI@
+CXX = @CXX@
+CXXFLAGS = @CXXFLAGS@
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+WX_LIB_FLAVOUR = @WX_LIB_FLAVOUR@
+TOOLKIT = @TOOLKIT@
+TOOLKIT_LOWERCASE = @TOOLKIT_LOWERCASE@
+TOOLKIT_VERSION = @TOOLKIT_VERSION@
+TOOLCHAIN_FULLNAME = @TOOLCHAIN_FULLNAME@
+EXTRALIBS = @EXTRALIBS@
+EXTRALIBS_GUI = @EXTRALIBS_GUI@
+EXTRALIBS_SDL = @EXTRALIBS_SDL@
+CXXWARNINGS = @CXXWARNINGS@
+HOST_SUFFIX = @HOST_SUFFIX@
+SAMPLES_RPATH_FLAG = @SAMPLES_RPATH_FLAG@
+wx_top_builddir = @wx_top_builddir@
+
+### Variables: ###
+
+DESTDIR = 
+WX_RELEASE = 2.9
+WX_VERSION = $(WX_RELEASE).0
+LIBDIRNAME = $(wx_top_builddir)/lib
+RIBBON_CXXFLAGS = -D__WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p) \
+       $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \
+       -I$(srcdir) $(__DLLFLAG_p) -I$(srcdir)/../../samples $(CXXWARNINGS) \
+       $(CPPFLAGS) $(CXXFLAGS)
+RIBBON_OBJECTS =  \
+       $(__ribbon_os2_lib_res) \
+       ribbon_ribbondemo.o \
+       $(__ribbon___win32rc)
+
+### Conditionally set variables: ###
+
+@COND_DEPS_TRACKING_0@CXXC = $(CXX)
+@COND_DEPS_TRACKING_1@CXXC = $(BK_DEPS) $(CXX)
+@COND_USE_PLUGINS_0@PLUGIN_ADV_EXTRALIBS = $(EXTRALIBS_SDL)
+@COND_USE_GUI_0@PORTNAME = base
+@COND_USE_GUI_1@PORTNAME = $(TOOLKIT_LOWERCASE)$(TOOLKIT_VERSION)
+@COND_TOOLKIT_MAC@WXBASEPORT = _carbon
+@COND_BUILD_debug_DEBUG_FLAG_default@WXDEBUGFLAG = d
+@COND_DEBUG_FLAG_1@WXDEBUGFLAG = d
+@COND_UNICODE_1@WXUNICODEFLAG = u
+@COND_WXUNIV_1@WXUNIVNAME = univ
+@COND_MONOLITHIC_0@EXTRALIBS_FOR_BASE = $(EXTRALIBS)
+@COND_MONOLITHIC_1@EXTRALIBS_FOR_BASE = $(EXTRALIBS) $(EXTRALIBS_GUI)
+@COND_MONOLITHIC_0@EXTRALIBS_FOR_GUI = $(EXTRALIBS_GUI)
+@COND_MONOLITHIC_1@EXTRALIBS_FOR_GUI = 
+@COND_PLATFORM_MAC_0@__ribbon___mac_setfilecmd = @true
+@COND_PLATFORM_MAC_1@__ribbon___mac_setfilecmd = \
+@COND_PLATFORM_MAC_1@  $(SETFILE) -t APPL ribbon$(EXEEXT)
+@COND_WXUNIV_1@__WXUNIV_DEFINE_p = -D__WXUNIVERSAL__
+@COND_WXUNIV_1@__WXUNIV_DEFINE_p_2 = --define __WXUNIVERSAL__
+@COND_USE_EXCEPTIONS_0@__EXCEPTIONS_DEFINE_p = -DwxNO_EXCEPTIONS
+@COND_USE_EXCEPTIONS_0@__EXCEPTIONS_DEFINE_p_2 = --define wxNO_EXCEPTIONS
+@COND_USE_RTTI_0@__RTTI_DEFINE_p = -DwxNO_RTTI
+@COND_USE_RTTI_0@__RTTI_DEFINE_p_2 = --define wxNO_RTTI
+@COND_USE_THREADS_0@__THREAD_DEFINE_p = -DwxNO_THREADS
+@COND_USE_THREADS_0@__THREAD_DEFINE_p_2 = --define wxNO_THREADS
+@COND_SHARED_1@__DLLFLAG_p = -DWXUSINGDLL
+@COND_SHARED_1@__DLLFLAG_p_2 = --define WXUSINGDLL
+COND_PLATFORM_OS2_1___ribbon___os2_emxbindcmd = $(NM) ribbon$(EXEEXT) | if grep \
+       -q pmwin.763 ; then emxbind -ep ribbon$(EXEEXT) ; fi
+@COND_PLATFORM_OS2_1@__ribbon___os2_emxbindcmd = $(COND_PLATFORM_OS2_1___ribbon___os2_emxbindcmd)
+@COND_TOOLKIT_MSW@__RCDEFDIR_p_1 = --include-dir \
+@COND_TOOLKIT_MSW@     $(LIBDIRNAME)/wx/include/$(TOOLCHAIN_FULLNAME)
+@COND_PLATFORM_OS2_1@__ribbon_os2_lib_res = \
+@COND_PLATFORM_OS2_1@  $(top_srcdir)/include/wx/os2/wx.res
+@COND_PLATFORM_MACOSX_1@__ribbon_app_Contents_PkgInfo___depname \
+@COND_PLATFORM_MACOSX_1@       = ribbon.app/Contents/PkgInfo
+@COND_PLATFORM_MACOSX_1@__ribbon_bundle___depname = ribbon_bundle
+@COND_TOOLKIT_MAC@____ribbon_BUNDLE_TGT_REF_DEP = \
+@COND_TOOLKIT_MAC@     $(__ribbon_app_Contents_PkgInfo___depname)
+@COND_TOOLKIT_OSX_CARBON@____ribbon_BUNDLE_TGT_REF_DEP \
+@COND_TOOLKIT_OSX_CARBON@      = $(__ribbon_app_Contents_PkgInfo___depname)
+@COND_TOOLKIT_OSX_COCOA@____ribbon_BUNDLE_TGT_REF_DEP \
+@COND_TOOLKIT_OSX_COCOA@       = $(__ribbon_app_Contents_PkgInfo___depname)
+@COND_TOOLKIT_OSX_IPHONE@____ribbon_BUNDLE_TGT_REF_DEP \
+@COND_TOOLKIT_OSX_IPHONE@      = $(__ribbon_app_Contents_PkgInfo___depname)
+@COND_TOOLKIT_COCOA@____ribbon_BUNDLE_TGT_REF_DEP = \
+@COND_TOOLKIT_COCOA@   $(__ribbon_app_Contents_PkgInfo___depname)
+COND_MONOLITHIC_0___WXLIB_RIBBON_p = \
+       -lwx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon-$(WX_RELEASE)$(HOST_SUFFIX)
+@COND_MONOLITHIC_0@__WXLIB_RIBBON_p = $(COND_MONOLITHIC_0___WXLIB_RIBBON_p)
+COND_MONOLITHIC_0___WXLIB_ADV_p = \
+       -lwx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv-$(WX_RELEASE)$(HOST_SUFFIX)
+@COND_MONOLITHIC_0@__WXLIB_ADV_p = $(COND_MONOLITHIC_0___WXLIB_ADV_p)
+COND_MONOLITHIC_0___WXLIB_CORE_p = \
+       -lwx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core-$(WX_RELEASE)$(HOST_SUFFIX)
+@COND_MONOLITHIC_0@__WXLIB_CORE_p = $(COND_MONOLITHIC_0___WXLIB_CORE_p)
+COND_MONOLITHIC_0___WXLIB_BASE_p = \
+       -lwx_base$(WXBASEPORT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
+@COND_MONOLITHIC_0@__WXLIB_BASE_p = $(COND_MONOLITHIC_0___WXLIB_BASE_p)
+@COND_PLATFORM_WIN32_1@__ribbon___win32rc = ribbon_sample_rc.o
+COND_MONOLITHIC_1___WXLIB_MONO_p = \
+       -lwx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
+@COND_MONOLITHIC_1@__WXLIB_MONO_p = $(COND_MONOLITHIC_1___WXLIB_MONO_p)
+@COND_USE_GUI_1_wxUSE_LIBTIFF_builtin@__LIB_TIFF_p \
+@COND_USE_GUI_1_wxUSE_LIBTIFF_builtin@ = \
+@COND_USE_GUI_1_wxUSE_LIBTIFF_builtin@ -lwxtiff$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
+@COND_USE_GUI_1_wxUSE_LIBJPEG_builtin@__LIB_JPEG_p \
+@COND_USE_GUI_1_wxUSE_LIBJPEG_builtin@ = \
+@COND_USE_GUI_1_wxUSE_LIBJPEG_builtin@ -lwxjpeg$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
+@COND_USE_GUI_1_wxUSE_LIBPNG_builtin@__LIB_PNG_p \
+@COND_USE_GUI_1_wxUSE_LIBPNG_builtin@  = \
+@COND_USE_GUI_1_wxUSE_LIBPNG_builtin@  -lwxpng$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
+@COND_wxUSE_ZLIB_builtin@__LIB_ZLIB_p = \
+@COND_wxUSE_ZLIB_builtin@      -lwxzlib$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
+COND_wxUSE_REGEX_builtin___LIB_REGEX_p = \
+       -lwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
+@COND_wxUSE_REGEX_builtin@__LIB_REGEX_p = $(COND_wxUSE_REGEX_builtin___LIB_REGEX_p)
+@COND_wxUSE_EXPAT_builtin@__LIB_EXPAT_p = \
+@COND_wxUSE_EXPAT_builtin@     -lwxexpat$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
+
+### Targets: ###
+
+all: ribbon$(EXEEXT) $(__ribbon_bundle___depname)
+
+install: 
+
+uninstall: 
+
+install-strip: install
+
+clean: 
+       rm -rf ./.deps ./.pch
+       rm -f ./*.o
+       rm -f ribbon$(EXEEXT)
+       rm -rf ribbon.app
+
+distclean: clean
+       rm -f config.cache config.log config.status bk-deps bk-make-pch shared-ld-sh Makefile
+
+ribbon$(EXEEXT): $(RIBBON_OBJECTS) $(__ribbon___win32rc)
+       $(CXX) -o $@ $(RIBBON_OBJECTS)    -L$(LIBDIRNAME) $(LDFLAGS_GUI) $(SAMPLES_RPATH_FLAG) $(LDFLAGS)  $(__WXLIB_RIBBON_p)  $(__WXLIB_ADV_p) $(PLUGIN_ADV_EXTRALIBS) $(__WXLIB_CORE_p)  $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(EXTRALIBS_FOR_GUI) $(__LIB_ZLIB_p) $(__LIB_REGEX_p) $(__LIB_EXPAT_p) $(EXTRALIBS_FOR_BASE) $(LIBS)
+       
+       $(__ribbon___mac_setfilecmd)
+       $(__ribbon___os2_emxbindcmd)
+
+@COND_PLATFORM_MACOSX_1@ribbon.app/Contents/PkgInfo: ribbon$(EXEEXT) $(top_srcdir)/src/osx/carbon/Info.plist.in $(top_srcdir)/src/osx/carbon/wxmac.icns
+@COND_PLATFORM_MACOSX_1@       mkdir -p ribbon.app/Contents
+@COND_PLATFORM_MACOSX_1@       mkdir -p ribbon.app/Contents/MacOS
+@COND_PLATFORM_MACOSX_1@       mkdir -p ribbon.app/Contents/Resources
+@COND_PLATFORM_MACOSX_1@       
+@COND_PLATFORM_MACOSX_1@       
+@COND_PLATFORM_MACOSX_1@       sed -e "s/IDENTIFIER/`echo $(srcdir) | sed -e 's,\.\./,,g' | sed -e 's,/,.,g'`/" \
+@COND_PLATFORM_MACOSX_1@       -e "s/EXECUTABLE/ribbon/" \
+@COND_PLATFORM_MACOSX_1@       -e "s/VERSION/$(WX_VERSION)/" \
+@COND_PLATFORM_MACOSX_1@       $(top_srcdir)/src/osx/carbon/Info.plist.in >ribbon.app/Contents/Info.plist
+@COND_PLATFORM_MACOSX_1@       
+@COND_PLATFORM_MACOSX_1@       
+@COND_PLATFORM_MACOSX_1@       echo -n "APPL????" >ribbon.app/Contents/PkgInfo
+@COND_PLATFORM_MACOSX_1@       
+@COND_PLATFORM_MACOSX_1@       
+@COND_PLATFORM_MACOSX_1@       mv ribbon$(EXEEXT) ribbon.app/Contents/MacOS/ribbon
+@COND_PLATFORM_MACOSX_1@       
+@COND_PLATFORM_MACOSX_1@       
+@COND_PLATFORM_MACOSX_1@       cp -f $(top_srcdir)/src/osx/carbon/wxmac.icns ribbon.app/Contents/Resources/wxmac.icns
+
+@COND_PLATFORM_MACOSX_1@ribbon_bundle: $(____ribbon_BUNDLE_TGT_REF_DEP)
+
+ribbon_ribbondemo.o: $(srcdir)/ribbondemo.cpp
+       $(CXXC) -c -o $@ $(RIBBON_CXXFLAGS) $(srcdir)/ribbondemo.cpp
+
+ribbon_sample_rc.o: $(srcdir)/../sample.rc
+       $(WINDRES) -i$< -o$@    --define __WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p_2)  $(__EXCEPTIONS_DEFINE_p_2) $(__RTTI_DEFINE_p_2) $(__THREAD_DEFINE_p_2)   --include-dir $(srcdir) $(__DLLFLAG_p_2) --include-dir $(srcdir)/../../samples $(__RCDEFDIR_p_1) --include-dir $(top_srcdir)/include
+
+
+@COND_USE_STC_1@$(srcdir)/include/wx/stc/stc.h: \
+@COND_USE_STC_1@$(srcdir)/src/stc/scintilla/include/Scintilla.iface \
+@COND_USE_STC_1@$(srcdir)/src/stc/stc.cpp.in \
+@COND_USE_STC_1@$(srcdir)/src/stc/stc.h.in \
+@COND_USE_STC_1@$(srcdir)/src/stc/gen_iface.py
+@COND_USE_STC_1@       cd $(srcdir)/src/stc && ./gen_iface.py
+@COND_USE_STC_1@monolib_stc.o monodll_stc.o stcdll_stc.o stclib_stc.o: \
+@COND_USE_STC_1@    $(srcdir)/include/wx/stc/stc.h
+
+# Include dependency info, if present:
+@IF_GNU_MAKE@-include ./.deps/*.d
+
+.PHONY: all install uninstall clean distclean ribbon_bundle
diff --git a/samples/ribbon/align_center.xpm b/samples/ribbon/align_center.xpm
new file mode 100644 (file)
index 0000000..67b08be
--- /dev/null
@@ -0,0 +1,21 @@
+/* XPM */\r
+static const char *const align_center_xpm[] = {\r
+"16 15 2 1",\r
+". c black",\r
+"  c None",\r
+"                ",\r
+"                ",\r
+"   ..........   ",\r
+"                ",\r
+"     ......     ",\r
+"                ",\r
+"   ..........   ",\r
+"                ",\r
+"     ......     ",\r
+"                ",\r
+"   ..........   ",\r
+"                ",\r
+"     ......     ",\r
+"                ",\r
+"                "\r
+};\r
diff --git a/samples/ribbon/align_left.xpm b/samples/ribbon/align_left.xpm
new file mode 100644 (file)
index 0000000..f8c99f6
--- /dev/null
@@ -0,0 +1,21 @@
+/* XPM */\r
+static const char *const align_left_xpm[] = {\r
+"16 15 2 1",\r
+". c black",\r
+"  c None",\r
+"                ",\r
+"                ",\r
+" ..........     ",\r
+"                ",\r
+" ......         ",\r
+"                ",\r
+" ..........     ",\r
+"                ",\r
+" ......         ",\r
+"                ",\r
+" ..........     ",\r
+"                ",\r
+" ......         ",\r
+"                ",\r
+"                "\r
+};\r
diff --git a/samples/ribbon/align_right.xpm b/samples/ribbon/align_right.xpm
new file mode 100644 (file)
index 0000000..3a7bf66
--- /dev/null
@@ -0,0 +1,21 @@
+/* XPM */\r
+static const char *const align_right_xpm[] = {\r
+"16 15 2 1",\r
+". c black",\r
+"  c None",\r
+"                ",\r
+"                ",\r
+"     .......... ",\r
+"                ",\r
+"         ...... ",\r
+"                ",\r
+"     .......... ",\r
+"                ",\r
+"         ...... ",\r
+"                ",\r
+"     .......... ",\r
+"                ",\r
+"         ...... ",\r
+"                ",\r
+"                "\r
+};\r
diff --git a/samples/ribbon/aui_style.xpm b/samples/ribbon/aui_style.xpm
new file mode 100644 (file)
index 0000000..de509c6
--- /dev/null
@@ -0,0 +1,53 @@
+/* XPM */\r
+static const char *const aui_style_xpm[] = {\r
+"32 32 17 1",\r
+"  c None",\r
+". c Gray63",\r
+"i c #B7B7B7",\r
+"j c Gray74",\r
+"k c Gray75",\r
+"l c Gray76",\r
+"h c Gray77",\r
+"m c Gray78",\r
+"n c #CACACA",\r
+"o c Gray80",\r
+"g c #D7D7D7",\r
+"f c Gray86",\r
+"e c Gray88",\r
+"d c #E4E4E4",\r
+"c c #ECECEC",\r
+"b c #F1F1F1",\r
+"a c #F3F3F3",\r
+"   ..........................   ",\r
+"  .aaaaaaaaaaaaaaaaaaaaaaaaaa.  ",\r
+"  .aaaaaaaaaaaaaaaaaaaaaaaaaa.  ",\r
+"  .aaaaaaaaaaaaaaaaaaaaaaaaaa.  ",\r
+"  .aaaaaaaaaaaaaaaaaaaaaaaaaa.  ",\r
+"  .bbbbbbbbbbbbbbbbbbbbbbbbbb.  ",\r
+"  .cccccccccccccccccccccccccc.  ",\r
+"  .dddddddddddddddddddddddddd.  ",\r
+"  .eeeeeeeeeeeeeeeeeeeeeeeeee.  ",\r
+"  .ffffffffffffffffffffffffff.  ",\r
+"...gggggggggggggggggggggggggg...",\r
+".hhhhhhhhhhhhhhhhhhhhhhhhhhhhhh.",\r
+"................................",\r
+".iiiiiiiiiiiiiiiiiiiiiiiiiiiiii.",\r
+".jjjjjjjjjjjjjjjjjjjjjjjjjjjjjj.",\r
+".kkkkkkkkkkkkkkkkkkkkkkkkkkkkkk.",\r
+".llllllllllllllllllllllllllllll.",\r
+".mmmmmmmmmmmmmmmmmmmmmmmmmmmmmm.",\r
+".nnnnnnnnnnnnnnnnnnnnnnnnnnnnnn.",\r
+".oooooooooooooooooooooooooooooo.",\r
+"................................",\r
+".gggggggggggggggggggggggggggggg.",\r
+".gggggggggggggggggggggggggggggg.",\r
+".gggggggggggggggggggggggggggggg.",\r
+".gggggggggggggggggggggggggggggg.",\r
+".gggggggggggggggggggggggggggggg.",\r
+".gggggggggggggggggggggggggggggg.",\r
+".gggggggggggggggggggggggggggggg.",\r
+".gggggggggggggggggggggggggggggg.",\r
+".gggggggggggggggggggggggggggggg.",\r
+".gggggggggggggggggggggggggggggg.",\r
+"................................"\r
+};\r
diff --git a/samples/ribbon/auto_crop_selection.xpm b/samples/ribbon/auto_crop_selection.xpm
new file mode 100644 (file)
index 0000000..db6e516
--- /dev/null
@@ -0,0 +1,55 @@
+/* XPM */\r
+static const char *const auto_crop_selection_xpm[] = {\r
+"32 32 19 1",\r
+". c black",\r
+"i c #0B3CC8",\r
+"j c #0C43D1",\r
+"k c #1E55D9",\r
+"l c #2A60DC",\r
+"m c #4477E2",\r
+"n c #5485E6",\r
+"o c #6696EA",\r
+"p c #7DABEF",\r
+"a c #8EE964",\r
+"b c #99EC70",\r
+"c c #A4EF7B",\r
+"d c #AFF187",\r
+"e c #B9F493",\r
+"q c #A3CCF8",\r
+"f c #C4F79E",\r
+"g c #CFFAAA",\r
+"h c #DAFCB5",\r
+"  c None",\r
+"                                ",\r
+"                                ",\r
+"  .. .. .. .. .. .. .. .. .. .. ",\r
+"  .                           . ",\r
+"       .                        ",\r
+"  .   .a.                     . ",\r
+"  .  .aab. .                  . ",\r
+"    .aabcd.e.                   ",\r
+"  .  .bcddef.                 . ",\r
+"  .   .ddefg.                 . ",\r
+"       .efgh.                   ",\r
+"  .   .efghh.                 . ",\r
+"  .    .....    i             . ",\r
+"              jklkj             ",\r
+"  .          jlmnmlj          . ",\r
+"  .          kmopomk          . ",\r
+"            ilnpqpnli           ",\r
+"  .          kmopomk          . ",\r
+"  .          jlmnmlj          . ",\r
+"              jklkj             ",\r
+"  .             i    .....    . ",\r
+"  .                 .hhgfe.   . ",\r
+"                    .hgfe.      ",\r
+"  .                 .gfedd.   . ",\r
+"  .                 .feddcb.  . ",\r
+"                    .e.dcbaa.   ",\r
+"  .                  . .baa.  . ",\r
+"  .                     .a.   . ",\r
+"                         .      ",\r
+"  .                           . ",\r
+"  .. .. .. .. .. .. .. .. .. .. ",\r
+"                                "\r
+};\r
diff --git a/samples/ribbon/auto_crop_selection_small.xpm b/samples/ribbon/auto_crop_selection_small.xpm
new file mode 100644 (file)
index 0000000..670fb86
--- /dev/null
@@ -0,0 +1,33 @@
+/* XPM */\r
+static const char *const auto_crop_selection_small_xpm[] = {\r
+"16 16 13 1",\r
+"  c black",\r
+"a c #233A19",\r
+"h c #363F2E",\r
+"e c #5F7A4C",\r
+"g c #6A7D57",\r
+"i c #103AA0",\r
+"j c #386CDF",\r
+"b c #6DAF4E",\r
+"d c #85B568",\r
+"c c #A4EE7B",\r
+"k c #80AEF0",\r
+"f c #C4F79E",\r
+". c None",\r
+"               .",\r
+" .. .......... .",\r
+" .ab  ........ .",\r
+"  bcde........ .",\r
+" . dfg........ .",\r
+" . egh.i...... .",\r
+" .....iji..... .",\r
+" ....ijkji.... .",\r
+" .....iji..... .",\r
+" ......i.hge . .",\r
+" ........gfd . .",\r
+" ........edcb  .",\r
+" ........  ba. .",\r
+" .......... .. .",\r
+"               .",\r
+"................"\r
+};\r
diff --git a/samples/ribbon/circle.xpm b/samples/ribbon/circle.xpm
new file mode 100644 (file)
index 0000000..d305a98
--- /dev/null
@@ -0,0 +1,38 @@
+/* XPM */\r
+static const char *const circle_xpm[] = {\r
+"32 32 2 1",\r
+". c red",\r
+"  c None",\r
+"              ....              ",\r
+"          ............          ",\r
+"        ................        ",\r
+"       ..................       ",\r
+"      .........  .........      ",\r
+"     .......        .......     ",\r
+"    ......            ......    ",\r
+"   .....                .....   ",\r
+"  .....                  .....  ",\r
+"  .....                  .....  ",\r
+" .....                    ..... ",\r
+" .....                    ..... ",\r
+" ....                      .... ",\r
+" ....                      .... ",\r
+".....                      .....",\r
+"....                        ....",\r
+"....                        ....",\r
+".....                      .....",\r
+" ....                      .... ",\r
+" ....                      .... ",\r
+" .....                    ..... ",\r
+" .....                    ..... ",\r
+"  .....                  .....  ",\r
+"  .....                  .....  ",\r
+"   .....                .....   ",\r
+"    ......            ......    ",\r
+"     .......        .......     ",\r
+"      .........  .........      ",\r
+"       ..................       ",\r
+"        ................        ",\r
+"          ............          ",\r
+"              ....              "\r
+};\r
diff --git a/samples/ribbon/circle_small.xpm b/samples/ribbon/circle_small.xpm
new file mode 100644 (file)
index 0000000..1215ab5
--- /dev/null
@@ -0,0 +1,22 @@
+/* XPM */\r
+static const char *const circle_small_xpm[] = {\r
+"16 16 2 1",\r
+". c red",\r
+"  c None",\r
+"      ....      ",\r
+"    ........    ",\r
+"   ....  ....   ",\r
+"  ...      ...  ",\r
+" ...        ... ",\r
+" ..          .. ",\r
+"...          ...",\r
+"..            ..",\r
+"..            ..",\r
+"...          ...",\r
+" ..          .. ",\r
+" ...        ... ",\r
+"  ...      ...  ",\r
+"   ....  ....   ",\r
+"    ........    ",\r
+"      ....      "\r
+};\r
diff --git a/samples/ribbon/colours.xpm b/samples/ribbon/colours.xpm
new file mode 100644 (file)
index 0000000..8c63916
--- /dev/null
@@ -0,0 +1,25 @@
+/* XPM */\r
+static const char *const colours_xpm[] = {\r
+"16 16 5 1",\r
+"  c black",\r
+"c c #0759FF",\r
+"b c #2AD802",\r
+". c #D21A02",\r
+"a c #FEFB00",\r
+"                ",\r
+" .......aaaaaaa ",\r
+" .......aaaaaaa ",\r
+" .......aaaaaaa ",\r
+" .......aaaaaaa ",\r
+" .......aaaaaaa ",\r
+" .......aaaaaaa ",\r
+" .......aaaaaaa ",\r
+" bbbbbbbccccccc ",\r
+" bbbbbbbccccccc ",\r
+" bbbbbbbccccccc ",\r
+" bbbbbbbccccccc ",\r
+" bbbbbbbccccccc ",\r
+" bbbbbbbccccccc ",\r
+" bbbbbbbccccccc ",\r
+"                "\r
+};\r
diff --git a/samples/ribbon/cross.xpm b/samples/ribbon/cross.xpm
new file mode 100644 (file)
index 0000000..2d047a0
--- /dev/null
@@ -0,0 +1,38 @@
+/* XPM */\r
+static const char *const cross_xpm[] = {\r
+"32 32 2 1",\r
+". c blue",\r
+"  c None",\r
+"    .                      .    ",\r
+"   ...                    ...   ",\r
+"  .....                  .....  ",\r
+" .......                ....... ",\r
+".........              .........",\r
+" .........            ......... ",\r
+"  .........          .........  ",\r
+"   .........        .........   ",\r
+"    .........      .........    ",\r
+"     .........    .........     ",\r
+"      .........  .........      ",\r
+"       ..................       ",\r
+"        ................        ",\r
+"         ..............         ",\r
+"          ............          ",\r
+"           ..........           ",\r
+"           ..........           ",\r
+"          ............          ",\r
+"         ..............         ",\r
+"        ................        ",\r
+"       ..................       ",\r
+"      .........  .........      ",\r
+"     .........    .........     ",\r
+"    .........      .........    ",\r
+"   .........        .........   ",\r
+"  .........          .........  ",\r
+" .........            ......... ",\r
+".........              .........",\r
+" .......                ....... ",\r
+"  .....                  .....  ",\r
+"   ...                    ...   ",\r
+"    .                      .    "\r
+};\r
diff --git a/samples/ribbon/empty.xpm b/samples/ribbon/empty.xpm
new file mode 100644 (file)
index 0000000..452b4ce
--- /dev/null
@@ -0,0 +1,23 @@
+/* XPM */\r
+static const char *const empty_xpm[] = {\r
+"16 16 3 1",\r
+"  c black",\r
+"a c #C8C8C8",\r
+". c Gray100",\r
+"                ",\r
+" ....aaaaaaaaaa ",\r
+" ....aaaaaaaaaa ",\r
+" ....aaaaaaaaaa ",\r
+" ....aaaaaaaaaa ",\r
+" aaaa.......... ",\r
+" aaaa.......... ",\r
+" aaaa.......... ",\r
+" aaaa.......... ",\r
+" aaaa.......... ",\r
+" aaaa.......... ",\r
+" aaaa.......... ",\r
+" aaaa.......... ",\r
+" aaaa.......... ",\r
+" aaaa.......... ",\r
+"                "\r
+};\r
diff --git a/samples/ribbon/expand_selection_h.xpm b/samples/ribbon/expand_selection_h.xpm
new file mode 100644 (file)
index 0000000..19c4ae3
--- /dev/null
@@ -0,0 +1,46 @@
+/* XPM */\r
+static const char *const expand_selection_h_xpm[] = {\r
+"32 32 10 1",\r
+". c black",\r
+"g c #8EE964",\r
+"f c #99EC70",\r
+"e c #A4EF7B",\r
+"d c #AFF187",\r
+"a c #B9F493",\r
+"b c #C4F79E",\r
+"c c #CFFAAA",\r
+"h c #DAFCB5",\r
+"  c None",\r
+"                                ",\r
+"                                ",\r
+"                                ",\r
+"                                ",\r
+"                                ",\r
+"            .. .. ..            ",\r
+"            .      .            ",\r
+"                                ",\r
+"            .      .            ",\r
+"            .      .            ",\r
+"                                ",\r
+"    ..      .      .      ..    ",\r
+"   .a.      .      .      .a.   ",\r
+"  .ba.....            .....ab.  ",\r
+" .cbadefg.  .      .  .gfedabc. ",\r
+".hcbadefg.  .      .  .gfedabch.",\r
+".hcbadefg.            .gfedabch.",\r
+" .cbadefg.  .      .  .gfedabc. ",\r
+"  .ba.....  .      .  .....ab.  ",\r
+"   .a.                    .a.   ",\r
+"    ..      .      .      ..    ",\r
+"            .      .            ",\r
+"                                ",\r
+"            .      .            ",\r
+"            .      .            ",\r
+"                                ",\r
+"            .      .            ",\r
+"            .. .. ..            ",\r
+"                                ",\r
+"                                ",\r
+"                                ",\r
+"                                "\r
+};\r
diff --git a/samples/ribbon/expand_selection_v.xpm b/samples/ribbon/expand_selection_v.xpm
new file mode 100644 (file)
index 0000000..4a40ab2
--- /dev/null
@@ -0,0 +1,46 @@
+/* XPM */\r
+static const char *const expand_selection_v_xpm[] = {\r
+"32 32 10 1",\r
+". c black",\r
+"h c #8EE964",\r
+"g c #99EC70",\r
+"f c #A4EF7B",\r
+"e c #AFF187",\r
+"d c #B9F493",\r
+"c c #C4F79E",\r
+"b c #CFFAAA",\r
+"a c #DAFCB5",\r
+"  c None",\r
+"               ..               ",\r
+"              .aa.              ",\r
+"             .bbbb.             ",\r
+"            .cccccc.            ",\r
+"           .dddddddd.           ",\r
+"           ...eeee...           ",\r
+"             .ffff.             ",\r
+"             .gggg.             ",\r
+"             .hhhh.             ",\r
+"             ......             ",\r
+"                                ",\r
+"                                ",\r
+"     .. .. .. .. .. .. .. ..    ",\r
+"     .                     .    ",\r
+"                                ",\r
+"     .                     .    ",\r
+"     .                     .    ",\r
+"                                ",\r
+"     .                     .    ",\r
+"     .. .. .. .. .. .. .. ..    ",\r
+"                                ",\r
+"                                ",\r
+"             ......             ",\r
+"             .hhhh.             ",\r
+"             .gggg.             ",\r
+"             .ffff.             ",\r
+"           ...eeee...           ",\r
+"           .dddddddd.           ",\r
+"            .cccccc.            ",\r
+"             .bbbb.             ",\r
+"              .aa.              ",\r
+"               ..               "\r
+};\r
diff --git a/samples/ribbon/eye.xpm b/samples/ribbon/eye.xpm
new file mode 100644 (file)
index 0000000..578f527
--- /dev/null
@@ -0,0 +1,26 @@
+/* XPM */\r
+static const char *const eye_xpm[] = {\r
+"16 16 6 1",\r
+". c black",\r
+"d c #000010",\r
+"b c #0018FA",\r
+"c c #2F43FF",\r
+"a c #E4E4E4",\r
+"  c None",\r
+"                ",\r
+"                ",\r
+"                ",\r
+"                ",\r
+"    ........    ",\r
+"  ..aa.bb.aa..  ",\r
+" .aaa.bccb.aaa. ",\r
+".aaa.bcddcb.aaa.",\r
+".aaa.bcddcb.aaa.",\r
+" .aaa.bccb.aaa. ",\r
+"  ..aa.bb.aa..  ",\r
+"    ........    ",\r
+"                ",\r
+"                ",\r
+"                ",\r
+"                "\r
+};\r
diff --git a/samples/ribbon/fix_xpm.bat b/samples/ribbon/fix_xpm.bat
new file mode 100644 (file)
index 0000000..31f59c1
--- /dev/null
@@ -0,0 +1,23 @@
+lua fix_xpm.lua expand_selection_v.xpm transparent=(0,0) name=expand_selection_v_xpm\r
+lua fix_xpm.lua expand_selection_h.xpm transparent=(0,0) name=expand_selection_h_xpm\r
+lua fix_xpm.lua auto_crop_selection.xpm transparent=(0,0) name=auto_crop_selection_xpm\r
+lua fix_xpm.lua auto_crop_selection_small.xpm transparent=(1,1) name=auto_crop_selection_small_xpm\r
+lua fix_xpm.lua circle.xpm transparent=(0,0) name=circle_xpm\r
+lua fix_xpm.lua circle_small.xpm transparent=(0,0) name=circle_small_xpm\r
+lua fix_xpm.lua cross.xpm transparent=(0,0) name=cross_xpm\r
+lua fix_xpm.lua triangle.xpm transparent=(0,0) name=triangle_xpm\r
+lua fix_xpm.lua square.xpm transparent=(16,16) name=square_xpm\r
+lua fix_xpm.lua selection_panel.xpm transparent=(0,0) name=selection_panel_xpm\r
+lua fix_xpm.lua hexagon.xpm transparent=(0,0) name=hexagon_xpm\r
+lua fix_xpm.lua colours.xpm name=colours_xpm\r
+lua fix_xpm.lua aui_style.xpm transparent=(0,0) name=aui_style_xpm\r
+lua fix_xpm.lua msw_style.xpm transparent=(0,0) name=msw_style_xpm\r
+lua fix_xpm.lua align_left.xpm transparent=(0,0) name=align_left_xpm\r
+lua fix_xpm.lua align_center.xpm transparent=(0,0) name=align_center_xpm\r
+lua fix_xpm.lua align_right.xpm transparent=(0,0) name=align_right_xpm\r
+lua fix_xpm.lua ribbon.xpm transparent=(0,0) name=ribbon_xpm\r
+lua fix_xpm.lua eye.xpm transparent=(0,0) name=eye_xpm\r
+lua fix_xpm.lua empty.xpm name=empty_xpm\r
+lua fix_xpm.lua position_left_small.xpm transparent=(0,0) name=position_left_xpm\r
+lua fix_xpm.lua position_top_small.xpm transparent=(0,0) name=position_top_xpm\r
+pause\r
diff --git a/samples/ribbon/fix_xpm.lua b/samples/ribbon/fix_xpm.lua
new file mode 100644 (file)
index 0000000..7642c25
--- /dev/null
@@ -0,0 +1,236 @@
+#!/usr/bin/lua
+-------------------------------------------------------------------------------
+-- Name:        fix_xpm.lua
+-- Purpose:     Fix XPM files for use in Ribbon sample
+-- Author:      Peter Cawley
+-- Modified by:
+-- Created:     2009-07-06
+-- RCS-ID:      $Id$
+-- Copyright:   (C) Copyright 2009, Peter Cawley
+-- Licence:     wxWindows Library Licence
+-------------------------------------------------------------------------------
+-- My preferred image editor (Paint Shop Pro 9) spits out XPM files, but with
+-- some deficiencies:
+-- 1) Specifies a 256 colour palette, even when less than 256 colours are used
+-- 2) Transparency is replaced by a non-transparent colour
+-- 3) Does not name the C array appropriately
+-- 4) Array and strings not marked const
+
+assert(_VERSION == "Lua 5.1", "Lua 5.1 is required")
+local lpeg = require "lpeg"
+
+-- Parse command line
+local args = {...}
+local filename = assert(...,"Expected filename as first command line argument")
+local arg_transparent
+local arg_name
+local arg_out
+for i = 2, select('#', ...) do
+  local arg = args[i]
+  if arg == "/?" or arg == "-?" or arg == "--help" then
+    print("Usage: filename [transparent=<colour>|(x,y)] [name=<array_name>] "..
+          "[out=<filename>]")
+    print("In addition to the transparent colour and name changes, the "..
+          "palette will be also be optimised")
+    print "Examples:"
+    print("  in.xpm transparent=Gray100 -- Modifies in.xpm, replacing "..
+          "Gray100 with transparent")
+    print("  in.xpm transparent=(0,0) -- Modifies in.xpm, replacing "..
+          "whichever colour is at (0,0) with transparent")
+    print("  in.xpm name=out_xpm out=out.xpm -- Copies in.xpm to out.xpm, "..
+          "and changes the array name to out_xpm")
+    return
+  end
+  arg_transparent = arg:match"transparent=(.*)" or arg_transparent
+  arg_name = arg:match"name=(.*)" or arg_name
+  arg_out = arg:match"out=(.*)" or arg_out
+end
+
+-- XPM parsing
+local grammars = {}
+do
+  local C, P, R, S, V = lpeg.C, lpeg.P, lpeg.R, lpeg.S, lpeg.V
+  local Ct = lpeg.Ct
+  local comment = P"/*" * (1 - P"*/") ^ 0 * P"*/"
+  local ws = (S" \r\n\t" + comment) ^ 0
+  local function tokens(...)
+    local result = ws
+    for i, arg in ipairs{...} do
+      if type(arg) == "table" then
+        arg = P(arg[1]) ^ -1
+      end
+      result = result * P(arg) * ws
+    end
+    return result
+  end
+  grammars.file = P { "xpm";
+    xpm = P"/* XPM */" * ws *
+         tokens("static",{"const"},"char","*",{"const"}) * V"name" *
+         tokens("[","]","=","{") * V"lines",
+    name = C(R("az","AZ","__") * R("az","AZ","09","__") ^ 0),
+    lines = Ct(V"line" ^ 1),
+    line = ws * P'"' * C((1 - P'"') ^ 0) * P'"' * (tokens"," + V"eof"),
+    eof = tokens("}",";") * P(1) ^ 0,
+  }
+  grammars.values = P { "values";
+    values = Ct(V"value" * (S" \r\n\t" ^ 1 * V"value") ^ 3),
+    value = C(R"09" ^ 1) / tonumber,
+  }
+  function make_remaining_grammars(cpp)
+    local char = R"\32\126" - S[['"\]] -- Most of lower ASCII
+    local colour = char
+    for i = 2, cpp do
+      colour = colour * char
+    end
+    grammars.colour = P { "line";
+      line = C(colour) * Ct(Ct(ws * V"key" * ws * V"col") ^ 1),
+      key = C(P"g4" + S"msgc"),
+      col = V"name" + V"hex",
+      name = C(R("az","AZ","__") * R("az","AZ","09","__") ^ 0),
+      hex = C(P"#" * R("09","af","AF") ^ 3),
+    }
+    grammars.pixels = P { "line";
+      line = Ct(C(colour) ^ 1),
+    }
+  end
+end
+
+-- Load file
+local file = assert(io.open(filename,"rt"))
+local filedata = file:read"*a"
+file:close()
+
+local xpm = {}
+xpm.name, xpm.lines = grammars.file:match(filedata)
+local values_table = assert(grammars.values:match(xpm.lines[1]))
+xpm.width, xpm.height, xpm.ncolours, xpm.cpp = unpack(values_table)
+make_remaining_grammars(xpm.cpp)
+xpm.colours = {}
+xpm.colours_full = {}
+for i = 1, xpm.ncolours do
+  local name, data = grammars.colour:match(xpm.lines[1 + i])
+  local colour = ""
+  for _, datum in ipairs(data) do
+    if datum[1] == "c" then
+      colour = datum[2]
+      break
+    end
+  end
+  assert(colour, "No colour data for " .. name)
+  xpm.colours[name] = colour
+  xpm.colours_full[i] = {name = name, unpack(data)}
+end
+xpm.pixels = {}
+for y = 1, xpm.height do
+  xpm.pixels[y] = grammars.pixels:match(xpm.lines[1 + xpm.ncolours + y])
+  if not xpm.pixels[y] or #xpm.pixels[y] ~= xpm.width then
+    error("Line " .. y .. " is invalid")
+  end
+end
+
+-- Fix palette
+repeat
+  local n_colours_used = 0
+  local colours_used = setmetatable({}, {__newindex = function(t, k, v)
+    n_colours_used = n_colours_used + 1
+    rawset(t, k, v)
+  end})
+  for y = 1, xpm.height do
+    for x = 1, xpm.width do
+      colours_used[xpm.pixels[y][x]] = true
+    end
+  end
+  if n_colours_used == xpm.ncolours then
+    break
+  end
+  local chars =" .abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567"
+  local cpp = (n_colours_used > #chars) and 2 or 1
+  local nalloc = 0
+  local colour_map = setmetatable({}, {__index = function(t, k)
+    nalloc = nalloc + 1
+    local v
+    if cpp == 1 then
+      v = chars:sub(nalloc, nalloc)
+    else
+      local a, b = math.floor(nalloc / #chars) + 1, (nalloc % #chars) + 1
+      v = chars:sub(a, a) .. chars:sub(b, b)
+    end
+    t[k] = v
+    return v
+  end})
+  for y = 1, xpm.height do
+    for x = 1, xpm.width do
+      xpm.pixels[y][x] = colour_map[xpm.pixels[y][x]]
+    end
+  end
+  local new_colours_full = {}
+  for i, colour in ipairs(xpm.colours_full) do
+    if colours_used[colour.name] then
+      colour.name = colour_map[colour.name]
+      new_colours_full[#new_colours_full + 1] = colour
+    end
+  end
+  xpm.colours_full = new_colours_full
+  local new_colours = {}
+  for name, value in pairs(xpm.colours) do
+    if colours_used[name] then
+      new_colours[colour_map[name]] = value
+    end
+  end
+  xpm.colours = new_colours
+  xpm.cpp = cpp
+  xpm.ncolours = nalloc
+until true
+
+-- Fix transparency
+if arg_transparent then
+  local name
+  local x, y = arg_transparent:match"[(](%d+),(%d+)[)]"
+  if x and y then
+    name = xpm.pixels[y + 1][x + 1]
+  else
+    for n, c in pairs(xpm.colours) do
+      if c == arg_transparent then
+        name = n
+        break
+      end
+    end
+  end
+  if not name then
+    error("Cannot convert " .. arg_transparent .. " to transparent as the "..
+          "colour is not present in the file")
+  end
+  xpm.colours[name] = "None"
+  for i, colour in ipairs(xpm.colours_full) do
+    if colour.name == name then
+      for i, data in ipairs(colour) do
+        if data[1] == "c" then
+          data[2] = "None"
+          break
+        end
+      end
+      break
+    end
+  end
+end
+
+-- Fix name
+xpm.name = arg_name or xpm.name
+
+-- Save
+local file = assert(io.open(arg_out or filename, "wt"))
+file:write"/* XPM */\n"
+file:write("static const char *const " .. xpm.name .. "[] = {\n")
+file:write(('"%i %i %i %i",\n'):format(xpm.width, xpm.height, xpm.ncolours,
+                                       xpm.cpp))
+for _, colour in ipairs(xpm.colours_full) do
+  file:write('"' .. colour.name)
+  for _, data in ipairs(colour) do
+    file:write(" " .. data[1] .. " " .. data[2])
+  end
+  file:write('",\n')
+end
+for i, row in ipairs(xpm.pixels) do
+  file:write('"' .. table.concat(row) .. (i == xpm.height and '"\n' or '",\n'))
+end
+file:write("};\n")
diff --git a/samples/ribbon/hexagon.xpm b/samples/ribbon/hexagon.xpm
new file mode 100644 (file)
index 0000000..1288d24
--- /dev/null
@@ -0,0 +1,38 @@
+/* XPM */\r
+static const char *const hexagon_xpm[] = {\r
+"32 32 2 1",\r
+". c #7605B1",\r
+"  c None",\r
+"                                ",\r
+"               ..               ",\r
+"             ......             ",\r
+"           ..........           ",\r
+"         ......  ......         ",\r
+"       ......      ......       ",\r
+"     ......          ......     ",\r
+"   ......              ......   ",\r
+"  .....                  .....  ",\r
+" ....                      .... ",\r
+" ...                        ... ",\r
+" ...                        ... ",\r
+" ...                        ... ",\r
+" ...                        ... ",\r
+" ...                        ... ",\r
+" ...                        ... ",\r
+" ...                        ... ",\r
+" ...                        ... ",\r
+" ...                        ... ",\r
+" ...                        ... ",\r
+" ...                        ... ",\r
+" ...                        ... ",\r
+" ....                      .... ",\r
+"  .....                  .....  ",\r
+"   ......              ......   ",\r
+"     ......          ......     ",\r
+"       ......      ......       ",\r
+"         ......  ......         ",\r
+"           ..........           ",\r
+"             ......             ",\r
+"               ..               ",\r
+"                                "\r
+};\r
diff --git a/samples/ribbon/makefile.bcc b/samples/ribbon/makefile.bcc
new file mode 100644 (file)
index 0000000..9e29668
--- /dev/null
@@ -0,0 +1,249 @@
+# =========================================================================
+#     This makefile was generated by
+#     Bakefile 0.2.5 (http://www.bakefile.org)
+#     Do not modify, all changes will be overwritten!
+# =========================================================================
+
+.autodepend
+
+!ifndef BCCDIR
+!ifndef MAKEDIR
+!error Your Borland compiler does not define MAKEDIR. Please define the BCCDIR variable, e.g. BCCDIR=d:\bc4
+!endif
+BCCDIR = $(MAKEDIR)\..
+!endif
+
+!include ../../build/msw/config.bcc
+
+# -------------------------------------------------------------------------
+# Do not modify the rest of this file!
+# -------------------------------------------------------------------------
+
+### Variables: ###
+
+WX_RELEASE_NODOT = 29
+COMPILER_PREFIX = bcc
+OBJS = \
+       $(COMPILER_PREFIX)_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)
+LIBDIRNAME = .\..\..\lib\$(COMPILER_PREFIX)_$(LIBTYPE_SUFFIX)$(CFG)
+SETUPHDIR = \
+       $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)
+RIBBON_CXXFLAGS = $(__RUNTIME_LIBS_7) -I$(BCCDIR)\include $(__DEBUGINFO) \
+       $(__OPTIMIZEFLAG_2) $(__THREADSFLAG_6) -D__WXMSW__ $(__WXUNIV_DEFINE_p) \
+       $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
+       $(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p) $(__MSLU_DEFINE_p) \
+       $(__GFXCTX_DEFINE_p) -I$(SETUPHDIR) -I.\..\..\include -I. $(__DLLFLAG_p) \
+       -I.\..\..\samples -DNOPCH $(CPPFLAGS) $(CXXFLAGS)
+RIBBON_OBJECTS =  \
+       $(OBJS)\ribbon_ribbondemo.obj
+
+### Conditionally set variables: ###
+
+!if "$(USE_GUI)" == "0"
+PORTNAME = base
+!endif
+!if "$(USE_GUI)" == "1"
+PORTNAME = msw
+!endif
+!if "$(BUILD)" == "debug" && "$(DEBUG_FLAG)" == "default"
+WXDEBUGFLAG = d
+!endif
+!if "$(DEBUG_FLAG)" == "1"
+WXDEBUGFLAG = d
+!endif
+!if "$(UNICODE)" == "1"
+WXUNICODEFLAG = u
+!endif
+!if "$(WXUNIV)" == "1"
+WXUNIVNAME = univ
+!endif
+!if "$(SHARED)" == "1"
+WXDLLFLAG = dll
+!endif
+!if "$(SHARED)" == "0"
+LIBTYPE_SUFFIX = lib
+!endif
+!if "$(SHARED)" == "1"
+LIBTYPE_SUFFIX = dll
+!endif
+!if "$(MONOLITHIC)" == "0"
+EXTRALIBS_FOR_BASE = 
+!endif
+!if "$(MONOLITHIC)" == "1"
+EXTRALIBS_FOR_BASE =  
+!endif
+!if "$(BUILD)" == "debug"
+__OPTIMIZEFLAG_2 = -Od
+!endif
+!if "$(BUILD)" == "release"
+__OPTIMIZEFLAG_2 = -O2
+!endif
+!if "$(USE_THREADS)" == "0"
+__THREADSFLAG_5 = 
+!endif
+!if "$(USE_THREADS)" == "1"
+__THREADSFLAG_5 = mt
+!endif
+!if "$(USE_THREADS)" == "0"
+__THREADSFLAG_6 = 
+!endif
+!if "$(USE_THREADS)" == "1"
+__THREADSFLAG_6 = -tWM
+!endif
+!if "$(RUNTIME_LIBS)" == "dynamic"
+__RUNTIME_LIBS_7 = -tWR
+!endif
+!if "$(RUNTIME_LIBS)" == "static"
+__RUNTIME_LIBS_7 = 
+!endif
+!if "$(RUNTIME_LIBS)" == "dynamic"
+__RUNTIME_LIBS_8 = i
+!endif
+!if "$(RUNTIME_LIBS)" == "static"
+__RUNTIME_LIBS_8 = 
+!endif
+!if "$(WXUNIV)" == "1"
+__WXUNIV_DEFINE_p = -D__WXUNIVERSAL__
+!endif
+!if "$(WXUNIV)" == "1"
+__WXUNIV_DEFINE_p_1 = -d__WXUNIVERSAL__
+!endif
+!if "$(BUILD)" == "debug" && "$(DEBUG_FLAG)" == "default"
+__DEBUG_DEFINE_p = -D__WXDEBUG__
+!endif
+!if "$(DEBUG_FLAG)" == "1"
+__DEBUG_DEFINE_p = -D__WXDEBUG__
+!endif
+!if "$(BUILD)" == "debug" && "$(DEBUG_FLAG)" == "default"
+__DEBUG_DEFINE_p_1 = -d__WXDEBUG__
+!endif
+!if "$(DEBUG_FLAG)" == "1"
+__DEBUG_DEFINE_p_1 = -d__WXDEBUG__
+!endif
+!if "$(USE_EXCEPTIONS)" == "0"
+__EXCEPTIONS_DEFINE_p = -DwxNO_EXCEPTIONS
+!endif
+!if "$(USE_EXCEPTIONS)" == "0"
+__EXCEPTIONS_DEFINE_p_1 = -dwxNO_EXCEPTIONS
+!endif
+!if "$(USE_RTTI)" == "0"
+__RTTI_DEFINE_p = -DwxNO_RTTI
+!endif
+!if "$(USE_RTTI)" == "0"
+__RTTI_DEFINE_p_1 = -dwxNO_RTTI
+!endif
+!if "$(USE_THREADS)" == "0"
+__THREAD_DEFINE_p = -DwxNO_THREADS
+!endif
+!if "$(USE_THREADS)" == "0"
+__THREAD_DEFINE_p_1 = -dwxNO_THREADS
+!endif
+!if "$(UNICODE)" == "0"
+__UNICODE_DEFINE_p = -DwxUSE_UNICODE=0
+!endif
+!if "$(UNICODE)" == "1"
+__UNICODE_DEFINE_p = -D_UNICODE
+!endif
+!if "$(UNICODE)" == "0"
+__UNICODE_DEFINE_p_1 = -dwxUSE_UNICODE=0
+!endif
+!if "$(UNICODE)" == "1"
+__UNICODE_DEFINE_p_1 = -d_UNICODE
+!endif
+!if "$(MSLU)" == "1"
+__MSLU_DEFINE_p = -DwxUSE_UNICODE_MSLU=1
+!endif
+!if "$(MSLU)" == "1"
+__MSLU_DEFINE_p_1 = -dwxUSE_UNICODE_MSLU=1
+!endif
+!if "$(USE_GDIPLUS)" == "1"
+__GFXCTX_DEFINE_p = -DwxUSE_GRAPHICS_CONTEXT=1
+!endif
+!if "$(USE_GDIPLUS)" == "1"
+__GFXCTX_DEFINE_p_1 = -dwxUSE_GRAPHICS_CONTEXT=1
+!endif
+!if "$(SHARED)" == "1"
+__DLLFLAG_p = -DWXUSINGDLL
+!endif
+!if "$(SHARED)" == "1"
+__DLLFLAG_p_1 = -dWXUSINGDLL
+!endif
+!if "$(MONOLITHIC)" == "0"
+__WXLIB_RIBBON_p = \
+       wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.lib
+!endif
+!if "$(MONOLITHIC)" == "0"
+__WXLIB_ADV_p = \
+       wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv.lib
+!endif
+!if "$(MONOLITHIC)" == "0"
+__WXLIB_CORE_p = \
+       wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib
+!endif
+!if "$(MONOLITHIC)" == "0"
+__WXLIB_BASE_p = \
+       wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
+!endif
+!if "$(MONOLITHIC)" == "1"
+__WXLIB_MONO_p = \
+       wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
+!endif
+!if "$(USE_GUI)" == "1"
+__LIB_TIFF_p = wxtiff$(WXDEBUGFLAG).lib
+!endif
+!if "$(USE_GUI)" == "1"
+__LIB_JPEG_p = wxjpeg$(WXDEBUGFLAG).lib
+!endif
+!if "$(USE_GUI)" == "1"
+__LIB_PNG_p = wxpng$(WXDEBUGFLAG).lib
+!endif
+!if "$(MSLU)" == "1"
+__UNICOWS_LIB_p = unicows.lib
+!endif
+!if "$(USE_GDIPLUS)" == "1"
+__GDIPLUS_LIB_p = gdiplus.lib
+!endif
+!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
+__DEBUGINFO = -v
+!endif
+!if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
+__DEBUGINFO = -v-
+!endif
+!if "$(DEBUG_INFO)" == "0"
+__DEBUGINFO = -v-
+!endif
+!if "$(DEBUG_INFO)" == "1"
+__DEBUGINFO = -v
+!endif
+
+
+all: $(OBJS)
+$(OBJS):
+       -if not exist $(OBJS) mkdir $(OBJS)
+
+### Targets: ###
+
+all: $(OBJS)\ribbon.exe
+
+clean: 
+       -if exist $(OBJS)\*.obj del $(OBJS)\*.obj
+       -if exist $(OBJS)\*.res del $(OBJS)\*.res
+       -if exist $(OBJS)\*.csm del $(OBJS)\*.csm
+       -if exist $(OBJS)\ribbon.exe del $(OBJS)\ribbon.exe
+       -if exist $(OBJS)\ribbon.tds del $(OBJS)\ribbon.tds
+       -if exist $(OBJS)\ribbon.ilc del $(OBJS)\ribbon.ilc
+       -if exist $(OBJS)\ribbon.ild del $(OBJS)\ribbon.ild
+       -if exist $(OBJS)\ribbon.ilf del $(OBJS)\ribbon.ilf
+       -if exist $(OBJS)\ribbon.ils del $(OBJS)\ribbon.ils
+
+$(OBJS)\ribbon.exe: $(RIBBON_OBJECTS)  $(OBJS)\ribbon_sample.res
+       ilink32 -Tpe -q  -L$(BCCDIR)\lib -L$(BCCDIR)\lib\psdk $(__DEBUGINFO)  -L$(LIBDIRNAME) -aa $(LDFLAGS) @&&|
+       c0w32.obj $(RIBBON_OBJECTS),$@,, $(__WXLIB_RIBBON_p)  $(__WXLIB_ADV_p)  $(__WXLIB_CORE_p)  $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib import32.lib cw32$(__THREADSFLAG_5)$(__RUNTIME_LIBS_8).lib,, $(OBJS)\ribbon_sample.res
+|
+
+$(OBJS)\ribbon_ribbondemo.obj: .\ribbondemo.cpp
+       $(CXX) -q -c -P -o$@ $(RIBBON_CXXFLAGS) .\ribbondemo.cpp
+
+$(OBJS)\ribbon_sample.res: .\..\sample.rc
+       brcc32 -32 -r -fo$@ -i$(BCCDIR)\include    -d__WXMSW__ $(__WXUNIV_DEFINE_p_1) $(__DEBUG_DEFINE_p_1) $(__EXCEPTIONS_DEFINE_p_1) $(__RTTI_DEFINE_p_1) $(__THREAD_DEFINE_p_1) $(__UNICODE_DEFINE_p_1) $(__MSLU_DEFINE_p_1) $(__GFXCTX_DEFINE_p_1) -i$(SETUPHDIR) -i.\..\..\include -i. $(__DLLFLAG_p_1) -i.\..\..\samples -dNOPCH .\..\sample.rc
+
diff --git a/samples/ribbon/makefile.gcc b/samples/ribbon/makefile.gcc
new file mode 100644 (file)
index 0000000..a52fa7a
--- /dev/null
@@ -0,0 +1,249 @@
+# =========================================================================
+#     This makefile was generated by
+#     Bakefile 0.2.5 (http://www.bakefile.org)
+#     Do not modify, all changes will be overwritten!
+# =========================================================================
+
+include ../../build/msw/config.gcc
+
+# -------------------------------------------------------------------------
+# Do not modify the rest of this file!
+# -------------------------------------------------------------------------
+
+### Variables: ###
+
+CPPDEPS = -MT$@ -MF$@.d -MD -MP
+WX_RELEASE_NODOT = 29
+COMPILER_PREFIX = gcc
+OBJS = \
+       $(COMPILER_PREFIX)_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)
+LIBDIRNAME = .\..\..\lib\$(COMPILER_PREFIX)_$(LIBTYPE_SUFFIX)$(CFG)
+SETUPHDIR = \
+       $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)
+RIBBON_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG_2) $(__THREADSFLAG) \
+       $(GCCFLAGS) -DHAVE_W32API_H -D__WXMSW__ $(__WXUNIV_DEFINE_p) \
+       $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
+       $(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p) $(__MSLU_DEFINE_p) \
+       $(__GFXCTX_DEFINE_p) -I$(SETUPHDIR) -I.\..\..\include -W -Wall -I. \
+       $(__DLLFLAG_p) -I.\..\..\samples -DNOPCH $(__RTTIFLAG_5) \
+       $(__EXCEPTIONSFLAG_6) -Wno-ctor-dtor-privacy $(CPPFLAGS) $(CXXFLAGS)
+RIBBON_OBJECTS =  \
+       $(OBJS)\ribbon_ribbondemo.o \
+       $(OBJS)\ribbon_sample_rc.o
+
+### Conditionally set variables: ###
+
+ifeq ($(GCC_VERSION),2.95)
+GCCFLAGS = -fvtable-thunks
+endif
+ifeq ($(USE_GUI),0)
+PORTNAME = base
+endif
+ifeq ($(USE_GUI),1)
+PORTNAME = msw
+endif
+ifeq ($(BUILD),debug)
+ifeq ($(DEBUG_FLAG),default)
+WXDEBUGFLAG = d
+endif
+endif
+ifeq ($(DEBUG_FLAG),1)
+WXDEBUGFLAG = d
+endif
+ifeq ($(UNICODE),1)
+WXUNICODEFLAG = u
+endif
+ifeq ($(WXUNIV),1)
+WXUNIVNAME = univ
+endif
+ifeq ($(SHARED),1)
+WXDLLFLAG = dll
+endif
+ifeq ($(SHARED),0)
+LIBTYPE_SUFFIX = lib
+endif
+ifeq ($(SHARED),1)
+LIBTYPE_SUFFIX = dll
+endif
+ifeq ($(MONOLITHIC),0)
+EXTRALIBS_FOR_BASE = 
+endif
+ifeq ($(MONOLITHIC),1)
+EXTRALIBS_FOR_BASE =  
+endif
+ifeq ($(BUILD),debug)
+__OPTIMIZEFLAG_2 = -O0
+endif
+ifeq ($(BUILD),release)
+__OPTIMIZEFLAG_2 = -O2
+endif
+ifeq ($(USE_RTTI),0)
+__RTTIFLAG_5 = -fno-rtti
+endif
+ifeq ($(USE_RTTI),1)
+__RTTIFLAG_5 = 
+endif
+ifeq ($(USE_EXCEPTIONS),0)
+__EXCEPTIONSFLAG_6 = -fno-exceptions
+endif
+ifeq ($(USE_EXCEPTIONS),1)
+__EXCEPTIONSFLAG_6 = 
+endif
+ifeq ($(WXUNIV),1)
+__WXUNIV_DEFINE_p = -D__WXUNIVERSAL__
+endif
+ifeq ($(WXUNIV),1)
+__WXUNIV_DEFINE_p_1 = --define __WXUNIVERSAL__
+endif
+ifeq ($(BUILD),debug)
+ifeq ($(DEBUG_FLAG),default)
+__DEBUG_DEFINE_p = -D__WXDEBUG__
+endif
+endif
+ifeq ($(DEBUG_FLAG),1)
+__DEBUG_DEFINE_p = -D__WXDEBUG__
+endif
+ifeq ($(BUILD),debug)
+ifeq ($(DEBUG_FLAG),default)
+__DEBUG_DEFINE_p_1 = --define __WXDEBUG__
+endif
+endif
+ifeq ($(DEBUG_FLAG),1)
+__DEBUG_DEFINE_p_1 = --define __WXDEBUG__
+endif
+ifeq ($(USE_EXCEPTIONS),0)
+__EXCEPTIONS_DEFINE_p = -DwxNO_EXCEPTIONS
+endif
+ifeq ($(USE_EXCEPTIONS),0)
+__EXCEPTIONS_DEFINE_p_1 = --define wxNO_EXCEPTIONS
+endif
+ifeq ($(USE_RTTI),0)
+__RTTI_DEFINE_p = -DwxNO_RTTI
+endif
+ifeq ($(USE_RTTI),0)
+__RTTI_DEFINE_p_1 = --define wxNO_RTTI
+endif
+ifeq ($(USE_THREADS),0)
+__THREAD_DEFINE_p = -DwxNO_THREADS
+endif
+ifeq ($(USE_THREADS),0)
+__THREAD_DEFINE_p_1 = --define wxNO_THREADS
+endif
+ifeq ($(UNICODE),0)
+__UNICODE_DEFINE_p = -DwxUSE_UNICODE=0
+endif
+ifeq ($(UNICODE),1)
+__UNICODE_DEFINE_p = -D_UNICODE
+endif
+ifeq ($(UNICODE),0)
+__UNICODE_DEFINE_p_1 = --define wxUSE_UNICODE=0
+endif
+ifeq ($(UNICODE),1)
+__UNICODE_DEFINE_p_1 = --define _UNICODE
+endif
+ifeq ($(MSLU),1)
+__MSLU_DEFINE_p = -DwxUSE_UNICODE_MSLU=1
+endif
+ifeq ($(MSLU),1)
+__MSLU_DEFINE_p_1 = --define wxUSE_UNICODE_MSLU=1
+endif
+ifeq ($(USE_GDIPLUS),1)
+__GFXCTX_DEFINE_p = -DwxUSE_GRAPHICS_CONTEXT=1
+endif
+ifeq ($(USE_GDIPLUS),1)
+__GFXCTX_DEFINE_p_1 = --define wxUSE_GRAPHICS_CONTEXT=1
+endif
+ifeq ($(SHARED),1)
+__DLLFLAG_p = -DWXUSINGDLL
+endif
+ifeq ($(SHARED),1)
+__DLLFLAG_p_1 = --define WXUSINGDLL
+endif
+ifeq ($(MONOLITHIC),0)
+__WXLIB_RIBBON_p = \
+       -lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon
+endif
+ifeq ($(MONOLITHIC),0)
+__WXLIB_ADV_p = \
+       -lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv
+endif
+ifeq ($(MONOLITHIC),0)
+__WXLIB_CORE_p = \
+       -lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core
+endif
+ifeq ($(MONOLITHIC),0)
+__WXLIB_BASE_p = \
+       -lwxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)
+endif
+ifeq ($(MONOLITHIC),1)
+__WXLIB_MONO_p = \
+       -lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)
+endif
+ifeq ($(USE_GUI),1)
+__LIB_TIFF_p = -lwxtiff$(WXDEBUGFLAG)
+endif
+ifeq ($(USE_GUI),1)
+__LIB_JPEG_p = -lwxjpeg$(WXDEBUGFLAG)
+endif
+ifeq ($(USE_GUI),1)
+__LIB_PNG_p = -lwxpng$(WXDEBUGFLAG)
+endif
+ifeq ($(MSLU),1)
+__UNICOWS_LIB_p = -lunicows
+endif
+ifeq ($(USE_GDIPLUS),1)
+__GDIPLUS_LIB_p = -lgdiplus
+endif
+ifeq ($(BUILD),debug)
+ifeq ($(DEBUG_INFO),default)
+__DEBUGINFO = -g
+endif
+endif
+ifeq ($(BUILD),release)
+ifeq ($(DEBUG_INFO),default)
+__DEBUGINFO = 
+endif
+endif
+ifeq ($(DEBUG_INFO),0)
+__DEBUGINFO = 
+endif
+ifeq ($(DEBUG_INFO),1)
+__DEBUGINFO = -g
+endif
+ifeq ($(USE_THREADS),0)
+__THREADSFLAG = 
+endif
+ifeq ($(USE_THREADS),1)
+__THREADSFLAG = -mthreads
+endif
+
+
+all: $(OBJS)
+$(OBJS):
+       -if not exist $(OBJS) mkdir $(OBJS)
+
+### Targets: ###
+
+all: $(OBJS)\ribbon.exe
+
+clean: 
+       -if exist $(OBJS)\*.o del $(OBJS)\*.o
+       -if exist $(OBJS)\*.d del $(OBJS)\*.d
+       -if exist $(OBJS)\ribbon.exe del $(OBJS)\ribbon.exe
+
+$(OBJS)\ribbon.exe: $(RIBBON_OBJECTS) $(OBJS)\ribbon_sample_rc.o
+       $(CXX) -o $@ $(RIBBON_OBJECTS)  $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME) -Wl,--subsystem,windows -mwindows $(LDFLAGS)  $(__WXLIB_RIBBON_p)  $(__WXLIB_ADV_p)  $(__WXLIB_CORE_p)  $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  -lwxzlib$(WXDEBUGFLAG) -lwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lwininet
+
+$(OBJS)\ribbon_ribbondemo.o: ./ribbondemo.cpp
+       $(CXX) -c -o $@ $(RIBBON_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\ribbon_sample_rc.o: ./../sample.rc
+       windres --use-temp-file -i$< -o$@    --define __WXMSW__ $(__WXUNIV_DEFINE_p_1) $(__DEBUG_DEFINE_p_1) $(__EXCEPTIONS_DEFINE_p_1) $(__RTTI_DEFINE_p_1) $(__THREAD_DEFINE_p_1) $(__UNICODE_DEFINE_p_1) $(__MSLU_DEFINE_p_1) $(__GFXCTX_DEFINE_p_1) --include-dir $(SETUPHDIR) --include-dir ./../../include --include-dir . $(__DLLFLAG_p_1) --include-dir ./../../samples --define NOPCH
+
+.PHONY: all clean
+
+
+SHELL := $(COMSPEC)
+
+# Dependencies tracking:
+-include $(OBJS)/*.d
diff --git a/samples/ribbon/makefile.unx b/samples/ribbon/makefile.unx
new file mode 100644 (file)
index 0000000..8c242c8
--- /dev/null
@@ -0,0 +1,110 @@
+# =========================================================================
+#     This makefile was generated by
+#     Bakefile 0.2.5 (http://www.bakefile.org)
+#     Do not modify, all changes will be overwritten!
+# =========================================================================
+
+
+
+# -------------------------------------------------------------------------
+# These are configurable options:
+# -------------------------------------------------------------------------
+
+# C++ compiler 
+CXX = g++
+
+# Standard flags for C++ 
+CXXFLAGS ?= 
+
+# Standard preprocessor flags (common for CC and CXX) 
+CPPFLAGS ?= 
+
+# Standard linker flags 
+LDFLAGS ?= 
+
+# Location and arguments of wx-config script 
+WX_CONFIG ?= wx-config
+
+# Port of the wx library to build against [gtk1,gtk2,msw,x11,motif,mgl,mac,dfb]
+WX_PORT ?= $(shell $(WX_CONFIG) --selected-config | cut -d '-' -f 1)
+
+# Use DLL build of wx library to use? [0,1]
+WX_SHARED ?= $(shell if test -z `$(WX_CONFIG) --selected-config | cut -d '-' -f 5`; then echo 1; else echo 0; fi)
+
+# Compile Unicode build of wxWidgets? [0,1]
+WX_UNICODE ?= $(shell $(WX_CONFIG) --selected-config | cut -d '-' -f 2 | sed 's/unicode/1/;s/ansi/0/')
+
+# Use debug build of wxWidgets (define __WXDEBUG__)? [0,1]
+WX_DEBUG ?= $(shell $(WX_CONFIG) --selected-config | cut -d '-' -f 3 | sed 's/debug/1/;s/release/0/')
+
+# Version of the wx library to build against. 
+WX_VERSION ?= $(shell $(WX_CONFIG) --selected-config | sed -e 's/.*-\([0-9]*\)\.\([0-9]*\)$$/\1\2/')
+
+
+
+# -------------------------------------------------------------------------
+# Do not modify the rest of this file!
+# -------------------------------------------------------------------------
+
+### Variables: ###
+
+CPPDEPS = -MT$@ -MF`echo $@ | sed -e 's,\.o$$,.d,'` -MD -MP
+WX_VERSION_MAJOR = $(shell echo $(WX_VERSION) | cut -c1,1)
+WX_VERSION_MINOR = $(shell echo $(WX_VERSION) | cut -c2,2)
+WX_CONFIG_FLAGS = $(WX_CONFIG_DEBUG_FLAG) $(WX_CONFIG_UNICODE_FLAG) \
+       $(WX_CONFIG_SHARED_FLAG) --toolkit=$(WX_PORT) \
+       --version=$(WX_VERSION_MAJOR).$(WX_VERSION_MINOR)
+RIBBON_CXXFLAGS = -I. `$(WX_CONFIG) --cxxflags $(WX_CONFIG_FLAGS)` $(CPPFLAGS) \
+       $(CXXFLAGS)
+RIBBON_OBJECTS =  \
+       ribbon_ribbondemo.o
+
+### Conditionally set variables: ###
+
+ifeq ($(WX_DEBUG),0)
+WX_CONFIG_DEBUG_FLAG = --debug=no
+endif
+ifeq ($(WX_DEBUG),1)
+WX_CONFIG_DEBUG_FLAG = --debug=yes
+endif
+ifeq ($(WX_UNICODE),0)
+WX_CONFIG_UNICODE_FLAG = --unicode=no
+endif
+ifeq ($(WX_UNICODE),1)
+WX_CONFIG_UNICODE_FLAG = --unicode=yes
+endif
+ifeq ($(WX_SHARED),0)
+WX_CONFIG_SHARED_FLAG = --static=yes
+endif
+ifeq ($(WX_SHARED),1)
+WX_CONFIG_SHARED_FLAG = --static=no
+endif
+
+
+### Targets: ###
+
+all: test_for_selected_wxbuild ribbon
+
+install: 
+
+uninstall: 
+
+clean: 
+       rm -f ./*.o
+       rm -f ./*.d
+       rm -f ribbon
+
+test_for_selected_wxbuild: 
+       @$(WX_CONFIG) $(WX_CONFIG_FLAGS)
+
+ribbon: $(RIBBON_OBJECTS)
+       $(CXX) -o $@ $(RIBBON_OBJECTS)   $(LDFLAGS)  `$(WX_CONFIG) $(WX_CONFIG_FLAGS) --libs ribbon,adv,core,base`
+
+ribbon_ribbondemo.o: ./ribbondemo.cpp
+       $(CXX) -c -o $@ $(RIBBON_CXXFLAGS) $(CPPDEPS) $<
+
+.PHONY: all install uninstall clean
+
+
+# Dependencies tracking:
+-include ./*.d
diff --git a/samples/ribbon/makefile.vc b/samples/ribbon/makefile.vc
new file mode 100644 (file)
index 0000000..99a8eaf
--- /dev/null
@@ -0,0 +1,325 @@
+# =========================================================================
+#     This makefile was generated by
+#     Bakefile 0.2.5 (http://www.bakefile.org)
+#     Do not modify, all changes will be overwritten!
+# =========================================================================
+
+!include <../../build/msw/config.vc>
+
+# -------------------------------------------------------------------------
+# Do not modify the rest of this file!
+# -------------------------------------------------------------------------
+
+### Variables: ###
+
+WX_RELEASE_NODOT = 29
+COMPILER_PREFIX = vc
+OBJS = \
+       $(COMPILER_PREFIX)_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)$(DIR_SUFFIX_CPU)
+LIBDIRNAME = \
+       .\..\..\lib\$(COMPILER_PREFIX)$(DIR_SUFFIX_CPU)_$(LIBTYPE_SUFFIX)$(CFG)
+SETUPHDIR = \
+       $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)
+RIBBON_CXXFLAGS = /M$(__RUNTIME_LIBS_8)$(__DEBUGRUNTIME_3) /DWIN32 \
+       $(__DEBUGINFO_0) /Fd$(OBJS)\ribbon.pdb $(____DEBUGRUNTIME_2_p) \
+       $(__OPTIMIZEFLAG_4) $(__NO_VC_CRTDBG_p) /D__WXMSW__ $(__WXUNIV_DEFINE_p) \
+       $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
+       $(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p) $(__MSLU_DEFINE_p) \
+       $(__GFXCTX_DEFINE_p) /I$(SETUPHDIR) /I.\..\..\include /W4 /I. $(__DLLFLAG_p) \
+       /D_WINDOWS /I.\..\..\samples /DNOPCH $(__RTTIFLAG_9) $(__EXCEPTIONSFLAG_10) \
+       $(CPPFLAGS) $(CXXFLAGS)
+RIBBON_OBJECTS =  \
+       $(OBJS)\ribbon_ribbondemo.obj \
+       $(OBJS)\ribbon_sample.res
+
+### Conditionally set variables: ###
+
+!if "$(USE_GUI)" == "0"
+PORTNAME = base
+!endif
+!if "$(USE_GUI)" == "1"
+PORTNAME = msw
+!endif
+!if "$(BUILD)" == "debug" && "$(DEBUG_FLAG)" == "default"
+WXDEBUGFLAG = d
+!endif
+!if "$(DEBUG_FLAG)" == "1"
+WXDEBUGFLAG = d
+!endif
+!if "$(UNICODE)" == "1"
+WXUNICODEFLAG = u
+!endif
+!if "$(WXUNIV)" == "1"
+WXUNIVNAME = univ
+!endif
+!if "$(TARGET_CPU)" == "AMD64"
+DIR_SUFFIX_CPU = _amd64
+!endif
+!if "$(TARGET_CPU)" == "IA64"
+DIR_SUFFIX_CPU = _ia64
+!endif
+!if "$(TARGET_CPU)" == "amd64"
+DIR_SUFFIX_CPU = _amd64
+!endif
+!if "$(TARGET_CPU)" == "ia64"
+DIR_SUFFIX_CPU = _ia64
+!endif
+!if "$(SHARED)" == "1"
+WXDLLFLAG = dll
+!endif
+!if "$(SHARED)" == "0"
+LIBTYPE_SUFFIX = lib
+!endif
+!if "$(SHARED)" == "1"
+LIBTYPE_SUFFIX = dll
+!endif
+!if "$(TARGET_CPU)" == "AMD64"
+LINK_TARGET_CPU = /MACHINE:AMD64
+!endif
+!if "$(TARGET_CPU)" == "IA64"
+LINK_TARGET_CPU = /MACHINE:IA64
+!endif
+!if "$(TARGET_CPU)" == "amd64"
+LINK_TARGET_CPU = /MACHINE:AMD64
+!endif
+!if "$(TARGET_CPU)" == "ia64"
+LINK_TARGET_CPU = /MACHINE:IA64
+!endif
+!if "$(MONOLITHIC)" == "0"
+EXTRALIBS_FOR_BASE = 
+!endif
+!if "$(MONOLITHIC)" == "1"
+EXTRALIBS_FOR_BASE =  
+!endif
+!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
+__DEBUGINFO_0 = /Zi
+!endif
+!if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
+__DEBUGINFO_0 = 
+!endif
+!if "$(DEBUG_INFO)" == "0"
+__DEBUGINFO_0 = 
+!endif
+!if "$(DEBUG_INFO)" == "1"
+__DEBUGINFO_0 = /Zi
+!endif
+!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
+__DEBUGINFO_1 = /DEBUG
+!endif
+!if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
+__DEBUGINFO_1 = 
+!endif
+!if "$(DEBUG_INFO)" == "0"
+__DEBUGINFO_1 = 
+!endif
+!if "$(DEBUG_INFO)" == "1"
+__DEBUGINFO_1 = /DEBUG
+!endif
+!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
+____DEBUGRUNTIME_2_p = /D_DEBUG
+!endif
+!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
+____DEBUGRUNTIME_2_p = 
+!endif
+!if "$(DEBUG_RUNTIME_LIBS)" == "0"
+____DEBUGRUNTIME_2_p = 
+!endif
+!if "$(DEBUG_RUNTIME_LIBS)" == "1"
+____DEBUGRUNTIME_2_p = /D_DEBUG
+!endif
+!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
+____DEBUGRUNTIME_2_p_1 = /d _DEBUG
+!endif
+!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
+____DEBUGRUNTIME_2_p_1 = 
+!endif
+!if "$(DEBUG_RUNTIME_LIBS)" == "0"
+____DEBUGRUNTIME_2_p_1 = 
+!endif
+!if "$(DEBUG_RUNTIME_LIBS)" == "1"
+____DEBUGRUNTIME_2_p_1 = /d _DEBUG
+!endif
+!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
+__DEBUGRUNTIME_3 = d
+!endif
+!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
+__DEBUGRUNTIME_3 = 
+!endif
+!if "$(DEBUG_RUNTIME_LIBS)" == "0"
+__DEBUGRUNTIME_3 = 
+!endif
+!if "$(DEBUG_RUNTIME_LIBS)" == "1"
+__DEBUGRUNTIME_3 = d
+!endif
+!if "$(BUILD)" == "debug"
+__OPTIMIZEFLAG_4 = /Od
+!endif
+!if "$(BUILD)" == "release"
+__OPTIMIZEFLAG_4 = /O2
+!endif
+!if "$(USE_THREADS)" == "0"
+__THREADSFLAG_7 = L
+!endif
+!if "$(USE_THREADS)" == "1"
+__THREADSFLAG_7 = T
+!endif
+!if "$(RUNTIME_LIBS)" == "dynamic"
+__RUNTIME_LIBS_8 = D
+!endif
+!if "$(RUNTIME_LIBS)" == "static"
+__RUNTIME_LIBS_8 = $(__THREADSFLAG_7)
+!endif
+!if "$(USE_RTTI)" == "0"
+__RTTIFLAG_9 = 
+!endif
+!if "$(USE_RTTI)" == "1"
+__RTTIFLAG_9 = /GR
+!endif
+!if "$(USE_EXCEPTIONS)" == "0"
+__EXCEPTIONSFLAG_10 = 
+!endif
+!if "$(USE_EXCEPTIONS)" == "1"
+__EXCEPTIONSFLAG_10 = /EHsc
+!endif
+!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "0"
+__NO_VC_CRTDBG_p = /D__NO_VC_CRTDBG__
+!endif
+!if "$(BUILD)" == "release" && "$(DEBUG_FLAG)" == "1"
+__NO_VC_CRTDBG_p = /D__NO_VC_CRTDBG__
+!endif
+!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "0"
+__NO_VC_CRTDBG_p_1 = /d __NO_VC_CRTDBG__
+!endif
+!if "$(BUILD)" == "release" && "$(DEBUG_FLAG)" == "1"
+__NO_VC_CRTDBG_p_1 = /d __NO_VC_CRTDBG__
+!endif
+!if "$(WXUNIV)" == "1"
+__WXUNIV_DEFINE_p = /D__WXUNIVERSAL__
+!endif
+!if "$(WXUNIV)" == "1"
+__WXUNIV_DEFINE_p_1 = /d __WXUNIVERSAL__
+!endif
+!if "$(BUILD)" == "debug" && "$(DEBUG_FLAG)" == "default"
+__DEBUG_DEFINE_p = /D__WXDEBUG__
+!endif
+!if "$(DEBUG_FLAG)" == "1"
+__DEBUG_DEFINE_p = /D__WXDEBUG__
+!endif
+!if "$(BUILD)" == "debug" && "$(DEBUG_FLAG)" == "default"
+__DEBUG_DEFINE_p_1 = /d __WXDEBUG__
+!endif
+!if "$(DEBUG_FLAG)" == "1"
+__DEBUG_DEFINE_p_1 = /d __WXDEBUG__
+!endif
+!if "$(USE_EXCEPTIONS)" == "0"
+__EXCEPTIONS_DEFINE_p = /DwxNO_EXCEPTIONS
+!endif
+!if "$(USE_EXCEPTIONS)" == "0"
+__EXCEPTIONS_DEFINE_p_1 = /d wxNO_EXCEPTIONS
+!endif
+!if "$(USE_RTTI)" == "0"
+__RTTI_DEFINE_p = /DwxNO_RTTI
+!endif
+!if "$(USE_RTTI)" == "0"
+__RTTI_DEFINE_p_1 = /d wxNO_RTTI
+!endif
+!if "$(USE_THREADS)" == "0"
+__THREAD_DEFINE_p = /DwxNO_THREADS
+!endif
+!if "$(USE_THREADS)" == "0"
+__THREAD_DEFINE_p_1 = /d wxNO_THREADS
+!endif
+!if "$(UNICODE)" == "0"
+__UNICODE_DEFINE_p = /DwxUSE_UNICODE=0
+!endif
+!if "$(UNICODE)" == "1"
+__UNICODE_DEFINE_p = /D_UNICODE
+!endif
+!if "$(UNICODE)" == "0"
+__UNICODE_DEFINE_p_1 = /d wxUSE_UNICODE=0
+!endif
+!if "$(UNICODE)" == "1"
+__UNICODE_DEFINE_p_1 = /d _UNICODE
+!endif
+!if "$(MSLU)" == "1"
+__MSLU_DEFINE_p = /DwxUSE_UNICODE_MSLU=1
+!endif
+!if "$(MSLU)" == "1"
+__MSLU_DEFINE_p_1 = /d wxUSE_UNICODE_MSLU=1
+!endif
+!if "$(USE_GDIPLUS)" == "1"
+__GFXCTX_DEFINE_p = /DwxUSE_GRAPHICS_CONTEXT=1
+!endif
+!if "$(USE_GDIPLUS)" == "1"
+__GFXCTX_DEFINE_p_1 = /d wxUSE_GRAPHICS_CONTEXT=1
+!endif
+!if "$(SHARED)" == "1"
+__DLLFLAG_p = /DWXUSINGDLL
+!endif
+!if "$(SHARED)" == "1"
+__DLLFLAG_p_1 = /d WXUSINGDLL
+!endif
+!if "$(MONOLITHIC)" == "0"
+__WXLIB_RIBBON_p = \
+       wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.lib
+!endif
+!if "$(MONOLITHIC)" == "0"
+__WXLIB_ADV_p = \
+       wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv.lib
+!endif
+!if "$(MONOLITHIC)" == "0"
+__WXLIB_CORE_p = \
+       wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib
+!endif
+!if "$(MONOLITHIC)" == "0"
+__WXLIB_BASE_p = \
+       wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
+!endif
+!if "$(MONOLITHIC)" == "1"
+__WXLIB_MONO_p = \
+       wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
+!endif
+!if "$(USE_GUI)" == "1"
+__LIB_TIFF_p = wxtiff$(WXDEBUGFLAG).lib
+!endif
+!if "$(USE_GUI)" == "1"
+__LIB_JPEG_p = wxjpeg$(WXDEBUGFLAG).lib
+!endif
+!if "$(USE_GUI)" == "1"
+__LIB_PNG_p = wxpng$(WXDEBUGFLAG).lib
+!endif
+!if "$(MSLU)" == "1"
+__UNICOWS_LIB_p = unicows.lib
+!endif
+!if "$(USE_GDIPLUS)" == "1"
+__GDIPLUS_LIB_p = gdiplus.lib
+!endif
+
+
+all: $(OBJS)
+$(OBJS):
+       -if not exist $(OBJS) mkdir $(OBJS)
+
+### Targets: ###
+
+all: $(OBJS)\ribbon.exe
+
+clean: 
+       -if exist $(OBJS)\*.obj del $(OBJS)\*.obj
+       -if exist $(OBJS)\*.res del $(OBJS)\*.res
+       -if exist $(OBJS)\*.pch del $(OBJS)\*.pch
+       -if exist $(OBJS)\ribbon.exe del $(OBJS)\ribbon.exe
+       -if exist $(OBJS)\ribbon.ilk del $(OBJS)\ribbon.ilk
+       -if exist $(OBJS)\ribbon.pdb del $(OBJS)\ribbon.pdb
+
+$(OBJS)\ribbon.exe: $(RIBBON_OBJECTS) $(OBJS)\ribbon_sample.res
+       link /NOLOGO /OUT:$@  $(__DEBUGINFO_1) /pdb:"$(OBJS)\ribbon.pdb"  $(LINK_TARGET_CPU) /LIBPATH:$(LIBDIRNAME) /SUBSYSTEM:WINDOWS $(LDFLAGS) @<<
+       $(RIBBON_OBJECTS)  $(__WXLIB_RIBBON_p)  $(__WXLIB_ADV_p)  $(__WXLIB_CORE_p)  $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib
+<<
+
+$(OBJS)\ribbon_ribbondemo.obj: .\ribbondemo.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(RIBBON_CXXFLAGS) .\ribbondemo.cpp
+
+$(OBJS)\ribbon_sample.res: .\..\sample.rc
+       rc /fo$@  /d WIN32 $(____DEBUGRUNTIME_2_p_1) $(__NO_VC_CRTDBG_p_1)  /d __WXMSW__ $(__WXUNIV_DEFINE_p_1) $(__DEBUG_DEFINE_p_1) $(__EXCEPTIONS_DEFINE_p_1) $(__RTTI_DEFINE_p_1) $(__THREAD_DEFINE_p_1) $(__UNICODE_DEFINE_p_1) $(__MSLU_DEFINE_p_1) $(__GFXCTX_DEFINE_p_1) /i $(SETUPHDIR) /i .\..\..\include /i . $(__DLLFLAG_p_1) /d _WINDOWS /i .\..\..\samples /d NOPCH .\..\sample.rc
+
diff --git a/samples/ribbon/makefile.wat b/samples/ribbon/makefile.wat
new file mode 100644 (file)
index 0000000..ef72d61
--- /dev/null
@@ -0,0 +1,276 @@
+# =========================================================================
+#     This makefile was generated by
+#     Bakefile 0.2.5 (http://www.bakefile.org)
+#     Do not modify, all changes will be overwritten!
+# =========================================================================
+
+!include ../../build/msw/config.wat
+
+# -------------------------------------------------------------------------
+# Do not modify the rest of this file!
+# -------------------------------------------------------------------------
+
+# Speed up compilation a bit:
+!ifdef __LOADDLL__
+!  loaddll wcc      wccd
+!  loaddll wccaxp   wccdaxp
+!  loaddll wcc386   wccd386
+!  loaddll wpp      wppdi86
+!  loaddll wppaxp   wppdaxp
+!  loaddll wpp386   wppd386
+!  loaddll wlink    wlink
+!  loaddll wlib     wlibd
+!endif
+
+# We need these variables in some bakefile-made rules:
+WATCOM_CWD = $+ $(%cdrive):$(%cwd) $-
+
+### Conditionally set variables: ###
+
+PORTNAME =
+!ifeq USE_GUI 0
+PORTNAME = base
+!endif
+!ifeq USE_GUI 1
+PORTNAME = msw
+!endif
+WXDEBUGFLAG =
+!ifeq BUILD debug
+!ifeq DEBUG_FLAG default
+WXDEBUGFLAG = d
+!endif
+!endif
+!ifeq DEBUG_FLAG 1
+WXDEBUGFLAG = d
+!endif
+WXUNICODEFLAG =
+!ifeq UNICODE 1
+WXUNICODEFLAG = u
+!endif
+WXUNIVNAME =
+!ifeq WXUNIV 1
+WXUNIVNAME = univ
+!endif
+WXDLLFLAG =
+!ifeq SHARED 1
+WXDLLFLAG = dll
+!endif
+LIBTYPE_SUFFIX =
+!ifeq SHARED 0
+LIBTYPE_SUFFIX = lib
+!endif
+!ifeq SHARED 1
+LIBTYPE_SUFFIX = dll
+!endif
+EXTRALIBS_FOR_BASE =
+!ifeq MONOLITHIC 0
+EXTRALIBS_FOR_BASE = 
+!endif
+!ifeq MONOLITHIC 1
+EXTRALIBS_FOR_BASE =  
+!endif
+__DEBUGINFO_0 =
+!ifeq BUILD debug
+!ifeq DEBUG_INFO default
+__DEBUGINFO_0 = -d2
+!endif
+!endif
+!ifeq BUILD release
+!ifeq DEBUG_INFO default
+__DEBUGINFO_0 = -d0
+!endif
+!endif
+!ifeq DEBUG_INFO 0
+__DEBUGINFO_0 = -d0
+!endif
+!ifeq DEBUG_INFO 1
+__DEBUGINFO_0 = -d2
+!endif
+__DEBUGINFO_1 =
+!ifeq BUILD debug
+!ifeq DEBUG_INFO default
+__DEBUGINFO_1 = debug all
+!endif
+!endif
+!ifeq BUILD release
+!ifeq DEBUG_INFO default
+__DEBUGINFO_1 = 
+!endif
+!endif
+!ifeq DEBUG_INFO 0
+__DEBUGINFO_1 = 
+!endif
+!ifeq DEBUG_INFO 1
+__DEBUGINFO_1 = debug all
+!endif
+__OPTIMIZEFLAG_2 =
+!ifeq BUILD debug
+__OPTIMIZEFLAG_2 = -od
+!endif
+!ifeq BUILD release
+__OPTIMIZEFLAG_2 = -ot -ox
+!endif
+__THREADSFLAG_5 =
+!ifeq USE_THREADS 0
+__THREADSFLAG_5 = 
+!endif
+!ifeq USE_THREADS 1
+__THREADSFLAG_5 = -bm
+!endif
+__RUNTIME_LIBS_6 =
+!ifeq RUNTIME_LIBS dynamic
+__RUNTIME_LIBS_6 = -br
+!endif
+!ifeq RUNTIME_LIBS static
+__RUNTIME_LIBS_6 = 
+!endif
+__RTTIFLAG_7 =
+!ifeq USE_RTTI 0
+__RTTIFLAG_7 = 
+!endif
+!ifeq USE_RTTI 1
+__RTTIFLAG_7 = -xr
+!endif
+__EXCEPTIONSFLAG_8 =
+!ifeq USE_EXCEPTIONS 0
+__EXCEPTIONSFLAG_8 = 
+!endif
+!ifeq USE_EXCEPTIONS 1
+__EXCEPTIONSFLAG_8 = -xs
+!endif
+__WXLIB_RIBBON_p =
+!ifeq MONOLITHIC 0
+__WXLIB_RIBBON_p = &
+       wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.lib
+!endif
+__WXLIB_ADV_p =
+!ifeq MONOLITHIC 0
+__WXLIB_ADV_p = &
+       wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv.lib
+!endif
+__WXLIB_CORE_p =
+!ifeq MONOLITHIC 0
+__WXLIB_CORE_p = &
+       wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib
+!endif
+__WXLIB_BASE_p =
+!ifeq MONOLITHIC 0
+__WXLIB_BASE_p = &
+       wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
+!endif
+__WXLIB_MONO_p =
+!ifeq MONOLITHIC 1
+__WXLIB_MONO_p = &
+       wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
+!endif
+__LIB_TIFF_p =
+!ifeq USE_GUI 1
+__LIB_TIFF_p = wxtiff$(WXDEBUGFLAG).lib
+!endif
+__LIB_JPEG_p =
+!ifeq USE_GUI 1
+__LIB_JPEG_p = wxjpeg$(WXDEBUGFLAG).lib
+!endif
+__LIB_PNG_p =
+!ifeq USE_GUI 1
+__LIB_PNG_p = wxpng$(WXDEBUGFLAG).lib
+!endif
+__GDIPLUS_LIB_p =
+!ifeq USE_GDIPLUS 1
+__GDIPLUS_LIB_p = gdiplus.lib
+!endif
+__WXUNIV_DEFINE_p =
+!ifeq WXUNIV 1
+__WXUNIV_DEFINE_p = -d__WXUNIVERSAL__
+!endif
+__DEBUG_DEFINE_p =
+!ifeq BUILD debug
+!ifeq DEBUG_FLAG default
+__DEBUG_DEFINE_p = -d__WXDEBUG__
+!endif
+!endif
+!ifeq DEBUG_FLAG 1
+__DEBUG_DEFINE_p = -d__WXDEBUG__
+!endif
+__EXCEPTIONS_DEFINE_p =
+!ifeq USE_EXCEPTIONS 0
+__EXCEPTIONS_DEFINE_p = -dwxNO_EXCEPTIONS
+!endif
+__RTTI_DEFINE_p =
+!ifeq USE_RTTI 0
+__RTTI_DEFINE_p = -dwxNO_RTTI
+!endif
+__THREAD_DEFINE_p =
+!ifeq USE_THREADS 0
+__THREAD_DEFINE_p = -dwxNO_THREADS
+!endif
+__UNICODE_DEFINE_p =
+!ifeq UNICODE 0
+__UNICODE_DEFINE_p = -dwxUSE_UNICODE=0
+!endif
+!ifeq UNICODE 1
+__UNICODE_DEFINE_p = -d_UNICODE
+!endif
+__GFXCTX_DEFINE_p =
+!ifeq USE_GDIPLUS 1
+__GFXCTX_DEFINE_p = -dwxUSE_GRAPHICS_CONTEXT=1
+!endif
+__DLLFLAG_p =
+!ifeq SHARED 1
+__DLLFLAG_p = -dWXUSINGDLL
+!endif
+
+### Variables: ###
+
+WX_RELEASE_NODOT = 29
+COMPILER_PREFIX = wat
+OBJS = &
+       $(COMPILER_PREFIX)_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)
+LIBDIRNAME = .\..\..\lib\$(COMPILER_PREFIX)_$(LIBTYPE_SUFFIX)$(CFG)
+SETUPHDIR = &
+       $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)
+RIBBON_CXXFLAGS = $(__DEBUGINFO_0) $(__OPTIMIZEFLAG_2) $(__THREADSFLAG_5) &
+       $(__RUNTIME_LIBS_6) -d__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) &
+       $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) &
+       $(__UNICODE_DEFINE_p) $(__GFXCTX_DEFINE_p) -i=$(SETUPHDIR) &
+       -i=.\..\..\include -wx -wcd=549 -wcd=656 -wcd=657 -wcd=667 -i=. $(__DLLFLAG_p) &
+       -i=.\..\..\samples -dNOPCH $(__RTTIFLAG_7) $(__EXCEPTIONSFLAG_8) $(CPPFLAGS) &
+       $(CXXFLAGS)
+RIBBON_OBJECTS =  &
+       $(OBJS)\ribbon_ribbondemo.obj
+
+
+all : $(OBJS)
+$(OBJS) :
+       -if not exist $(OBJS) mkdir $(OBJS)
+
+### Targets: ###
+
+all : .SYMBOLIC $(OBJS)\ribbon.exe
+
+clean : .SYMBOLIC 
+       -if exist $(OBJS)\*.obj del $(OBJS)\*.obj
+       -if exist $(OBJS)\*.res del $(OBJS)\*.res
+       -if exist $(OBJS)\*.lbc del $(OBJS)\*.lbc
+       -if exist $(OBJS)\*.ilk del $(OBJS)\*.ilk
+       -if exist $(OBJS)\*.pch del $(OBJS)\*.pch
+       -if exist $(OBJS)\ribbon.exe del $(OBJS)\ribbon.exe
+
+$(OBJS)\ribbon.exe :  $(RIBBON_OBJECTS) $(OBJS)\ribbon_sample.res
+       @%create $(OBJS)\ribbon.lbc
+       @%append $(OBJS)\ribbon.lbc option quiet
+       @%append $(OBJS)\ribbon.lbc name $^@
+       @%append $(OBJS)\ribbon.lbc option caseexact
+       @%append $(OBJS)\ribbon.lbc  $(__DEBUGINFO_1)  libpath $(LIBDIRNAME) system nt_win ref '_WinMain@16' $(LDFLAGS)
+       @for %i in ($(RIBBON_OBJECTS)) do @%append $(OBJS)\ribbon.lbc file %i
+       @for %i in ( $(__WXLIB_RIBBON_p)  $(__WXLIB_ADV_p)  $(__WXLIB_CORE_p)  $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE)  $(__GDIPLUS_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib) do @%append $(OBJS)\ribbon.lbc library %i
+       @%append $(OBJS)\ribbon.lbc option resource=$(OBJS)\ribbon_sample.res
+       @for %i in () do @%append $(OBJS)\ribbon.lbc option stack=%i
+       wlink @$(OBJS)\ribbon.lbc
+
+$(OBJS)\ribbon_ribbondemo.obj :  .AUTODEPEND .\ribbondemo.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(RIBBON_CXXFLAGS) $<
+
+$(OBJS)\ribbon_sample.res :  .AUTODEPEND .\..\sample.rc
+       wrc -q -ad -bt=nt -r -fo=$^@    -d__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p)  $(__GFXCTX_DEFINE_p) -i=$(SETUPHDIR) -i=.\..\..\include -i=. $(__DLLFLAG_p) -i=.\..\..\samples -dNOPCH $<
+
diff --git a/samples/ribbon/msw_style.xpm b/samples/ribbon/msw_style.xpm
new file mode 100644 (file)
index 0000000..94b22b3
--- /dev/null
@@ -0,0 +1,65 @@
+/* XPM */\r
+static const char *const msw_style_xpm[] = {\r
+"32 32 29 1",\r
+"  c None",\r
+"k c #8CB2E2",\r
+". c #96BAE7",\r
+"A c #A7CAEB",\r
+"l c #C3D1DD",\r
+"q c #C4D6EB",\r
+"r c #C4D7EC",\r
+"s c #C5D8ED",\r
+"p c #C7D8EC",\r
+"t c #C6D9EE",\r
+"u c #C6DAEF",\r
+"v c #C7DBF0",\r
+"w c #C8DCF1",\r
+"x c #C8DDF2",\r
+"y c #C9DEF3",\r
+"z c #C9DFF4",\r
+"o c #D3E0F0",\r
+"n c #D7E3F2",\r
+"m c #DBE6F4",\r
+"i c #DEE9F6",\r
+"j c #DFEAF6",\r
+"h c #E0EAF6",\r
+"g c #E1EBF6",\r
+"f c #E3ECF6",\r
+"e c #E5EDF6",\r
+"d c #E7EEF6",\r
+"c c #ECF1F6",\r
+"b c #F0F3F6",\r
+"a c #F1F4F7",\r
+"    ........................    ",\r
+"   .aaaaaaaaaaaaaaaaaaaaaaaa.   ",\r
+"  .bbbbbbbbbbbbbbbbbbbbbbbbbb.  ",\r
+"  .cccccccccccccccccccccccccc.  ",\r
+"  .dddddddddddddddddddddddddd.  ",\r
+"  .eeeeeeeeeeeeeeeeeeeeeeeeee.  ",\r
+"  .ffffffffffffffffffffffffff.  ",\r
+"  .gggggggggggggggggggggggggg.  ",\r
+"  .hhhhhhhhhhhhhhhhhhhhhhhhhh.  ",\r
+" .ijjjjjjjjjjjjjjjjjjjjjjjjjji. ",\r
+"kiiiiiiiiiiiiiiiiiiiiiiiiiiiiiik",\r
+"kiiiiiiiiiiiiiiiiiiiiiiiiiiiiiik",\r
+"kllllllllllllllllllllllllllllllk",\r
+"kmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmk",\r
+"knnnnnnnnnnnnnnnnnnnnnnnnnnnnnnk",\r
+"kooooooooooooooooooooooooooooook",\r
+"kppppppppppppppppppppppppppppppk",\r
+"kqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk",\r
+"krrrrrrrrrrrrrrrrrrrrrrrrrrrrrrk",\r
+"kssssssssssssssssssssssssssssssk",\r
+"kttttttttttttttttttttttttttttttk",\r
+"kuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuk",\r
+"kvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvk",\r
+"kwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwk",\r
+"kxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxk",\r
+"kyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyk",\r
+"kzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzk",\r
+"kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAk",\r
+"kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAk",\r
+"kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAk",\r
+"kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAk",\r
+"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"\r
+};\r
diff --git a/samples/ribbon/position_left_small.xpm b/samples/ribbon/position_left_small.xpm
new file mode 100644 (file)
index 0000000..2722778
--- /dev/null
@@ -0,0 +1,22 @@
+/* XPM */\r
+static const char *const position_left_xpm[] = {\r
+"16 15 3 1",\r
+". c black",\r
+"a c #4040FF",\r
+"  c None",\r
+" .............. ",\r
+". a  a .       .",\r
+".a  a  .       .",\r
+".  a  a.       .",\r
+". a  a .       .",\r
+".a  a  .       .",\r
+".  a  a.       .",\r
+". a  a .       .",\r
+".a  a  .       .",\r
+".  a  a.       .",\r
+". a  a .       .",\r
+".a  a  .       .",\r
+".  a  a.       .",\r
+". a  a .       .",\r
+" .............. "\r
+};\r
diff --git a/samples/ribbon/position_top_small.xpm b/samples/ribbon/position_top_small.xpm
new file mode 100644 (file)
index 0000000..bee72ff
--- /dev/null
@@ -0,0 +1,22 @@
+/* XPM */\r
+static const char *const position_top_xpm[] = {\r
+"16 15 3 1",\r
+". c black",\r
+"a c #4040FF",\r
+"  c None",\r
+" .............. ",\r
+". a  a  a  a  a.",\r
+".a  a  a  a  a .",\r
+".  a  a  a  a  .",\r
+". a  a  a  a  a.",\r
+".a  a  a  a  a .",\r
+".  a  a  a  a  .",\r
+"................",\r
+".              .",\r
+".              .",\r
+".              .",\r
+".              .",\r
+".              .",\r
+".              .",\r
+" .............. "\r
+};\r
diff --git a/samples/ribbon/ribbon.bkl b/samples/ribbon/ribbon.bkl
new file mode 100644 (file)
index 0000000..bb70f82
--- /dev/null
@@ -0,0 +1,18 @@
+<?xml version="1.0" ?>
+<!-- $Id$ -->
+<makefile>
+
+    <include file="../../build/bakefiles/common_samples.bkl"/>
+
+    <exe id="ribbon" template="wx_sample" template_append="wx_append">
+        <sources>
+            ribbondemo.cpp
+        </sources>
+        <wx-lib>ribbon</wx-lib>
+        <wx-lib>adv</wx-lib>
+        <wx-lib>core</wx-lib>
+        <wx-lib>base</wx-lib>
+        <win32-res>../sample.rc</win32-res>
+    </exe>
+
+</makefile>
diff --git a/samples/ribbon/ribbon.dsp b/samples/ribbon/ribbon.dsp
new file mode 100644 (file)
index 0000000..874c2be
--- /dev/null
@@ -0,0 +1,264 @@
+# Microsoft Developer Studio Project File - Name="ribbon" - Package Owner=<4>\r
+# Microsoft Developer Studio Generated Build File, Format Version 6.00\r
+# ** DO NOT EDIT **\r
+\r
+# TARGTYPE "Win32 (x86) Application" 0x0101\r
+\r
+CFG=ribbon - Win32 Debug\r
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,\r
+!MESSAGE use the Export Makefile command and run\r
+!MESSAGE \r
+!MESSAGE NMAKE /f "ribbon.mak".\r
+!MESSAGE \r
+!MESSAGE You can specify a configuration when running NMAKE\r
+!MESSAGE by defining the macro CFG on the command line. For example:\r
+!MESSAGE \r
+!MESSAGE NMAKE /f "ribbon.mak" CFG="ribbon - Win32 Debug"\r
+!MESSAGE \r
+!MESSAGE Possible choices for configuration are:\r
+!MESSAGE \r
+!MESSAGE "ribbon - Win32 DLL Universal Release" (based on "Win32 (x86) Application")\r
+!MESSAGE "ribbon - Win32 DLL Universal Debug" (based on "Win32 (x86) Application")\r
+!MESSAGE "ribbon - Win32 DLL Release" (based on "Win32 (x86) Application")\r
+!MESSAGE "ribbon - Win32 DLL Debug" (based on "Win32 (x86) Application")\r
+!MESSAGE "ribbon - Win32 Universal Release" (based on "Win32 (x86) Application")\r
+!MESSAGE "ribbon - Win32 Universal Debug" (based on "Win32 (x86) Application")\r
+!MESSAGE "ribbon - Win32 Release" (based on "Win32 (x86) Application")\r
+!MESSAGE "ribbon - Win32 Debug" (based on "Win32 (x86) Application")\r
+!MESSAGE \r
+\r
+# Begin Project\r
+# PROP AllowPerConfigDependencies 0\r
+# PROP Scc_ProjName ""\r
+# PROP Scc_LocalPath ""\r
+CPP=cl.exe\r
+MTL=midl.exe\r
+RSC=rc.exe\r
+\r
+!IF  "$(CFG)" == "ribbon - Win32 DLL Universal Release"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 1\r
+# PROP BASE Output_Dir "vc_mswunivudll"\r
+# PROP BASE Intermediate_Dir "vc_mswunivudll\ribbon"\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 1\r
+# PROP Output_Dir "vc_mswunivudll"\r
+# PROP Intermediate_Dir "vc_mswunivudll\ribbon"\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /FD /MD /Zi /Fdvc_mswunivudll\ribbon.pdb /O2 /GR /EHsc /I ".\..\..\lib\vc_dll\mswunivu" /I ".\..\..\include" /W4 /I "." /I ".\..\..\samples" /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /c\r
+# ADD CPP /nologo /FD /MD /Zi /Fdvc_mswunivudll\ribbon.pdb /O2 /GR /EHsc /I ".\..\..\lib\vc_dll\mswunivu" /I ".\..\..\include" /W4 /I "." /I ".\..\..\samples" /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /c\r
+# ADD BASE MTL /nologo /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32\r
+# ADD MTL /nologo /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32\r
+# ADD BASE RSC /l 0x409 /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "_UNICODE" /i ".\..\..\lib\vc_dll\mswunivu" /i ".\..\..\include" /i "." /d "WXUSINGDLL" /d "_WINDOWS" /i ".\..\..\samples" /d NOPCH\r
+# ADD RSC /l 0x409 /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "_UNICODE" /i ".\..\..\lib\vc_dll\mswunivu" /i ".\..\..\include" /i "." /d "WXUSINGDLL" /d "_WINDOWS" /i ".\..\..\samples" /d NOPCH\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LINK32=link.exe\r
+# ADD BASE LINK32 wxmswuniv29u_ribbon.lib wxmswuniv29u_adv.lib wxmswuniv29u_core.lib wxbase29u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib /nologo /machine:i386 /out:"vc_mswunivudll\ribbon.exe" /debug /pdb:"vc_mswunivudll\ribbon.pdb" /libpath:".\..\..\lib\vc_dll" /subsystem:windows\r
+# ADD LINK32 wxmswuniv29u_ribbon.lib wxmswuniv29u_adv.lib wxmswuniv29u_core.lib wxbase29u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib /nologo /machine:i386 /out:"vc_mswunivudll\ribbon.exe" /debug /pdb:"vc_mswunivudll\ribbon.pdb" /libpath:".\..\..\lib\vc_dll" /subsystem:windows\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 DLL Universal Debug"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 1\r
+# PROP BASE Output_Dir "vc_mswunivuddll"\r
+# PROP BASE Intermediate_Dir "vc_mswunivuddll\ribbon"\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 1\r
+# PROP Output_Dir "vc_mswunivuddll"\r
+# PROP Intermediate_Dir "vc_mswunivuddll\ribbon"\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /FD /MDd /Zi /Fdvc_mswunivuddll\ribbon.pdb /Od /Gm /GR /EHsc /I ".\..\..\lib\vc_dll\mswunivud" /I ".\..\..\include" /W4 /I "." /I ".\..\..\samples" /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /c\r
+# ADD CPP /nologo /FD /MDd /Zi /Fdvc_mswunivuddll\ribbon.pdb /Od /Gm /GR /EHsc /I ".\..\..\lib\vc_dll\mswunivud" /I ".\..\..\include" /W4 /I "." /I ".\..\..\samples" /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /c\r
+# ADD BASE MTL /nologo /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32\r
+# ADD MTL /nologo /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32\r
+# ADD BASE RSC /l 0x409 /d "_DEBUG" /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "__WXDEBUG__" /d "_UNICODE" /i ".\..\..\lib\vc_dll\mswunivud" /i ".\..\..\include" /i "." /d "WXUSINGDLL" /d "_WINDOWS" /i ".\..\..\samples" /d NOPCH\r
+# ADD RSC /l 0x409 /d "_DEBUG" /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "__WXDEBUG__" /d "_UNICODE" /i ".\..\..\lib\vc_dll\mswunivud" /i ".\..\..\include" /i "." /d "WXUSINGDLL" /d "_WINDOWS" /i ".\..\..\samples" /d NOPCH\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LINK32=link.exe\r
+# ADD BASE LINK32 wxmswuniv29ud_ribbon.lib wxmswuniv29ud_adv.lib wxmswuniv29ud_core.lib wxbase29ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib /nologo /machine:i386 /out:"vc_mswunivuddll\ribbon.exe" /debug /pdb:"vc_mswunivuddll\ribbon.pdb" /libpath:".\..\..\lib\vc_dll" /subsystem:windows\r
+# ADD LINK32 wxmswuniv29ud_ribbon.lib wxmswuniv29ud_adv.lib wxmswuniv29ud_core.lib wxbase29ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib /nologo /machine:i386 /out:"vc_mswunivuddll\ribbon.exe" /debug /pdb:"vc_mswunivuddll\ribbon.pdb" /libpath:".\..\..\lib\vc_dll" /subsystem:windows\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 DLL Release"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 1\r
+# PROP BASE Output_Dir "vc_mswudll"\r
+# PROP BASE Intermediate_Dir "vc_mswudll\ribbon"\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 1\r
+# PROP Output_Dir "vc_mswudll"\r
+# PROP Intermediate_Dir "vc_mswudll\ribbon"\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /FD /MD /Zi /Fdvc_mswudll\ribbon.pdb /O2 /GR /EHsc /I ".\..\..\lib\vc_dll\mswu" /I ".\..\..\include" /W4 /I "." /I ".\..\..\samples" /D "WIN32" /D "__WXMSW__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /c\r
+# ADD CPP /nologo /FD /MD /Zi /Fdvc_mswudll\ribbon.pdb /O2 /GR /EHsc /I ".\..\..\lib\vc_dll\mswu" /I ".\..\..\include" /W4 /I "." /I ".\..\..\samples" /D "WIN32" /D "__WXMSW__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /c\r
+# ADD BASE MTL /nologo /D "WIN32" /D "__WXMSW__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32\r
+# ADD MTL /nologo /D "WIN32" /D "__WXMSW__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32\r
+# ADD BASE RSC /l 0x409 /d "__WXMSW__" /d "_UNICODE" /i ".\..\..\lib\vc_dll\mswu" /i ".\..\..\include" /i "." /d "WXUSINGDLL" /d "_WINDOWS" /i ".\..\..\samples" /d NOPCH\r
+# ADD RSC /l 0x409 /d "__WXMSW__" /d "_UNICODE" /i ".\..\..\lib\vc_dll\mswu" /i ".\..\..\include" /i "." /d "WXUSINGDLL" /d "_WINDOWS" /i ".\..\..\samples" /d NOPCH\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LINK32=link.exe\r
+# ADD BASE LINK32 wxmsw29u_ribbon.lib wxmsw29u_adv.lib wxmsw29u_core.lib wxbase29u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib /nologo /machine:i386 /out:"vc_mswudll\ribbon.exe" /debug /pdb:"vc_mswudll\ribbon.pdb" /libpath:".\..\..\lib\vc_dll" /subsystem:windows\r
+# ADD LINK32 wxmsw29u_ribbon.lib wxmsw29u_adv.lib wxmsw29u_core.lib wxbase29u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib /nologo /machine:i386 /out:"vc_mswudll\ribbon.exe" /debug /pdb:"vc_mswudll\ribbon.pdb" /libpath:".\..\..\lib\vc_dll" /subsystem:windows\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 DLL Debug"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 1\r
+# PROP BASE Output_Dir "vc_mswuddll"\r
+# PROP BASE Intermediate_Dir "vc_mswuddll\ribbon"\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 1\r
+# PROP Output_Dir "vc_mswuddll"\r
+# PROP Intermediate_Dir "vc_mswuddll\ribbon"\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /FD /MDd /Zi /Fdvc_mswuddll\ribbon.pdb /Od /Gm /GR /EHsc /I ".\..\..\lib\vc_dll\mswud" /I ".\..\..\include" /W4 /I "." /I ".\..\..\samples" /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /c\r
+# ADD CPP /nologo /FD /MDd /Zi /Fdvc_mswuddll\ribbon.pdb /Od /Gm /GR /EHsc /I ".\..\..\lib\vc_dll\mswud" /I ".\..\..\include" /W4 /I "." /I ".\..\..\samples" /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /c\r
+# ADD BASE MTL /nologo /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32\r
+# ADD MTL /nologo /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "WXUSINGDLL" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32\r
+# ADD BASE RSC /l 0x409 /d "_DEBUG" /d "__WXMSW__" /d "__WXDEBUG__" /d "_UNICODE" /i ".\..\..\lib\vc_dll\mswud" /i ".\..\..\include" /i "." /d "WXUSINGDLL" /d "_WINDOWS" /i ".\..\..\samples" /d NOPCH\r
+# ADD RSC /l 0x409 /d "_DEBUG" /d "__WXMSW__" /d "__WXDEBUG__" /d "_UNICODE" /i ".\..\..\lib\vc_dll\mswud" /i ".\..\..\include" /i "." /d "WXUSINGDLL" /d "_WINDOWS" /i ".\..\..\samples" /d NOPCH\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LINK32=link.exe\r
+# ADD BASE LINK32 wxmsw29ud_ribbon.lib wxmsw29ud_adv.lib wxmsw29ud_core.lib wxbase29ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib /nologo /machine:i386 /out:"vc_mswuddll\ribbon.exe" /debug /pdb:"vc_mswuddll\ribbon.pdb" /libpath:".\..\..\lib\vc_dll" /subsystem:windows\r
+# ADD LINK32 wxmsw29ud_ribbon.lib wxmsw29ud_adv.lib wxmsw29ud_core.lib wxbase29ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib /nologo /machine:i386 /out:"vc_mswuddll\ribbon.exe" /debug /pdb:"vc_mswuddll\ribbon.pdb" /libpath:".\..\..\lib\vc_dll" /subsystem:windows\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 Universal Release"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 1\r
+# PROP BASE Output_Dir "vc_mswunivu"\r
+# PROP BASE Intermediate_Dir "vc_mswunivu\ribbon"\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 1\r
+# PROP Output_Dir "vc_mswunivu"\r
+# PROP Intermediate_Dir "vc_mswunivu\ribbon"\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /FD /MD /Zi /Fdvc_mswunivu\ribbon.pdb /O2 /GR /EHsc /I ".\..\..\lib\vc_lib\mswunivu" /I ".\..\..\include" /W4 /I "." /I ".\..\..\samples" /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /c\r
+# ADD CPP /nologo /FD /MD /Zi /Fdvc_mswunivu\ribbon.pdb /O2 /GR /EHsc /I ".\..\..\lib\vc_lib\mswunivu" /I ".\..\..\include" /W4 /I "." /I ".\..\..\samples" /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /c\r
+# ADD BASE MTL /nologo /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32\r
+# ADD MTL /nologo /D "WIN32" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32\r
+# ADD BASE RSC /l 0x409 /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "_UNICODE" /i ".\..\..\lib\vc_lib\mswunivu" /i ".\..\..\include" /i "." /d "_WINDOWS" /i ".\..\..\samples" /d NOPCH\r
+# ADD RSC /l 0x409 /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "_UNICODE" /i ".\..\..\lib\vc_lib\mswunivu" /i ".\..\..\include" /i "." /d "_WINDOWS" /i ".\..\..\samples" /d NOPCH\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LINK32=link.exe\r
+# ADD BASE LINK32 wxmswuniv29u_ribbon.lib wxmswuniv29u_adv.lib wxmswuniv29u_core.lib wxbase29u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib /nologo /machine:i386 /out:"vc_mswunivu\ribbon.exe" /debug /pdb:"vc_mswunivu\ribbon.pdb" /libpath:".\..\..\lib\vc_lib" /subsystem:windows\r
+# ADD LINK32 wxmswuniv29u_ribbon.lib wxmswuniv29u_adv.lib wxmswuniv29u_core.lib wxbase29u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib /nologo /machine:i386 /out:"vc_mswunivu\ribbon.exe" /debug /pdb:"vc_mswunivu\ribbon.pdb" /libpath:".\..\..\lib\vc_lib" /subsystem:windows\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 Universal Debug"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 1\r
+# PROP BASE Output_Dir "vc_mswunivud"\r
+# PROP BASE Intermediate_Dir "vc_mswunivud\ribbon"\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 1\r
+# PROP Output_Dir "vc_mswunivud"\r
+# PROP Intermediate_Dir "vc_mswunivud\ribbon"\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /FD /MDd /Zi /Fdvc_mswunivud\ribbon.pdb /Od /Gm /GR /EHsc /I ".\..\..\lib\vc_lib\mswunivud" /I ".\..\..\include" /W4 /I "." /I ".\..\..\samples" /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /c\r
+# ADD CPP /nologo /FD /MDd /Zi /Fdvc_mswunivud\ribbon.pdb /Od /Gm /GR /EHsc /I ".\..\..\lib\vc_lib\mswunivud" /I ".\..\..\include" /W4 /I "." /I ".\..\..\samples" /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /c\r
+# ADD BASE MTL /nologo /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32\r
+# ADD MTL /nologo /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WXDEBUG__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32\r
+# ADD BASE RSC /l 0x409 /d "_DEBUG" /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "__WXDEBUG__" /d "_UNICODE" /i ".\..\..\lib\vc_lib\mswunivud" /i ".\..\..\include" /i "." /d "_WINDOWS" /i ".\..\..\samples" /d NOPCH\r
+# ADD RSC /l 0x409 /d "_DEBUG" /d "__WXMSW__" /d "__WXUNIVERSAL__" /d "__WXDEBUG__" /d "_UNICODE" /i ".\..\..\lib\vc_lib\mswunivud" /i ".\..\..\include" /i "." /d "_WINDOWS" /i ".\..\..\samples" /d NOPCH\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LINK32=link.exe\r
+# ADD BASE LINK32 wxmswuniv29ud_ribbon.lib wxmswuniv29ud_adv.lib wxmswuniv29ud_core.lib wxbase29ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib /nologo /machine:i386 /out:"vc_mswunivud\ribbon.exe" /debug /pdb:"vc_mswunivud\ribbon.pdb" /libpath:".\..\..\lib\vc_lib" /subsystem:windows\r
+# ADD LINK32 wxmswuniv29ud_ribbon.lib wxmswuniv29ud_adv.lib wxmswuniv29ud_core.lib wxbase29ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib /nologo /machine:i386 /out:"vc_mswunivud\ribbon.exe" /debug /pdb:"vc_mswunivud\ribbon.pdb" /libpath:".\..\..\lib\vc_lib" /subsystem:windows\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 Release"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 1\r
+# PROP BASE Output_Dir "vc_mswu"\r
+# PROP BASE Intermediate_Dir "vc_mswu\ribbon"\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 1\r
+# PROP Output_Dir "vc_mswu"\r
+# PROP Intermediate_Dir "vc_mswu\ribbon"\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /FD /MD /Zi /Fdvc_mswu\ribbon.pdb /O2 /GR /EHsc /I ".\..\..\lib\vc_lib\mswu" /I ".\..\..\include" /W4 /I "." /I ".\..\..\samples" /D "WIN32" /D "__WXMSW__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /c\r
+# ADD CPP /nologo /FD /MD /Zi /Fdvc_mswu\ribbon.pdb /O2 /GR /EHsc /I ".\..\..\lib\vc_lib\mswu" /I ".\..\..\include" /W4 /I "." /I ".\..\..\samples" /D "WIN32" /D "__WXMSW__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /c\r
+# ADD BASE MTL /nologo /D "WIN32" /D "__WXMSW__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32\r
+# ADD MTL /nologo /D "WIN32" /D "__WXMSW__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32\r
+# ADD BASE RSC /l 0x409 /d "__WXMSW__" /d "_UNICODE" /i ".\..\..\lib\vc_lib\mswu" /i ".\..\..\include" /i "." /d "_WINDOWS" /i ".\..\..\samples" /d NOPCH\r
+# ADD RSC /l 0x409 /d "__WXMSW__" /d "_UNICODE" /i ".\..\..\lib\vc_lib\mswu" /i ".\..\..\include" /i "." /d "_WINDOWS" /i ".\..\..\samples" /d NOPCH\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LINK32=link.exe\r
+# ADD BASE LINK32 wxmsw29u_ribbon.lib wxmsw29u_adv.lib wxmsw29u_core.lib wxbase29u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib /nologo /machine:i386 /out:"vc_mswu\ribbon.exe" /debug /pdb:"vc_mswu\ribbon.pdb" /libpath:".\..\..\lib\vc_lib" /subsystem:windows\r
+# ADD LINK32 wxmsw29u_ribbon.lib wxmsw29u_adv.lib wxmsw29u_core.lib wxbase29u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib /nologo /machine:i386 /out:"vc_mswu\ribbon.exe" /debug /pdb:"vc_mswu\ribbon.pdb" /libpath:".\..\..\lib\vc_lib" /subsystem:windows\r
+\r
+!ELSEIF  "$(CFG)" == "ribbon - Win32 Debug"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 1\r
+# PROP BASE Output_Dir "vc_mswud"\r
+# PROP BASE Intermediate_Dir "vc_mswud\ribbon"\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 1\r
+# PROP Output_Dir "vc_mswud"\r
+# PROP Intermediate_Dir "vc_mswud\ribbon"\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /FD /MDd /Zi /Fdvc_mswud\ribbon.pdb /Od /Gm /GR /EHsc /I ".\..\..\lib\vc_lib\mswud" /I ".\..\..\include" /W4 /I "." /I ".\..\..\samples" /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /c\r
+# ADD CPP /nologo /FD /MDd /Zi /Fdvc_mswud\ribbon.pdb /Od /Gm /GR /EHsc /I ".\..\..\lib\vc_lib\mswud" /I ".\..\..\include" /W4 /I "." /I ".\..\..\samples" /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /c\r
+# ADD BASE MTL /nologo /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32\r
+# ADD MTL /nologo /D "WIN32" /D "_DEBUG" /D "__WXMSW__" /D "__WXDEBUG__" /D "_UNICODE" /D "_WINDOWS" /D "NOPCH" /mktyplib203 /win32\r
+# ADD BASE RSC /l 0x409 /d "_DEBUG" /d "__WXMSW__" /d "__WXDEBUG__" /d "_UNICODE" /i ".\..\..\lib\vc_lib\mswud" /i ".\..\..\include" /i "." /d "_WINDOWS" /i ".\..\..\samples" /d NOPCH\r
+# ADD RSC /l 0x409 /d "_DEBUG" /d "__WXMSW__" /d "__WXDEBUG__" /d "_UNICODE" /i ".\..\..\lib\vc_lib\mswud" /i ".\..\..\include" /i "." /d "_WINDOWS" /i ".\..\..\samples" /d NOPCH\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LINK32=link.exe\r
+# ADD BASE LINK32 wxmsw29ud_ribbon.lib wxmsw29ud_adv.lib wxmsw29ud_core.lib wxbase29ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib /nologo /machine:i386 /out:"vc_mswud\ribbon.exe" /debug /pdb:"vc_mswud\ribbon.pdb" /libpath:".\..\..\lib\vc_lib" /subsystem:windows\r
+# ADD LINK32 wxmsw29ud_ribbon.lib wxmsw29ud_adv.lib wxmsw29ud_core.lib wxbase29ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib /nologo /machine:i386 /out:"vc_mswud\ribbon.exe" /debug /pdb:"vc_mswud\ribbon.pdb" /libpath:".\..\..\lib\vc_lib" /subsystem:windows\r
+\r
+!ENDIF\r
+\r
+# Begin Target\r
+\r
+# Name "ribbon - Win32 DLL Universal Release"\r
+# Name "ribbon - Win32 DLL Universal Debug"\r
+# Name "ribbon - Win32 DLL Release"\r
+# Name "ribbon - Win32 DLL Debug"\r
+# Name "ribbon - Win32 Universal Release"\r
+# Name "ribbon - Win32 Universal Debug"\r
+# Name "ribbon - Win32 Release"\r
+# Name "ribbon - Win32 Debug"\r
+# Begin Group "Source Files"\r
+\r
+# PROP Default_Filter ""\r
+# Begin Source File\r
+\r
+SOURCE=.\ribbondemo.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\..\sample.rc\r
+# End Source File\r
+# End Group\r
+# End Target\r
+# End Project\r
+\r
diff --git a/samples/ribbon/ribbon.dsw b/samples/ribbon/ribbon.dsw
new file mode 100644 (file)
index 0000000..ef36e11
--- /dev/null
@@ -0,0 +1,76 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00\r
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!\r
+\r
+###############################################################################\r
+Project: "ribbon"=ribbon.dsp - Package Owner=<4>\r
+\r
+Package=<5>\r
+{{{\r
+}}}\r
+\r
+Package=<4>\r
+{{{\r
+Begin Project Dependency\r
+Project_Dep_Name ribbon\r
+End Project Dependency\r
+Begin Project Dependency\r
+Project_Dep_Name adv\r
+End Project Dependency\r
+Begin Project Dependency\r
+Project_Dep_Name core\r
+End Project Dependency\r
+Begin Project Dependency\r
+Project_Dep_Name base\r
+End Project Dependency\r
+}}}\r
+\r
+###############################################################################\r
+\r
+Project: "ribbon"=..\..\build\msw\wx_ribbon.dsp - Package Owner=<4>\r
+\r
+Package=<5>\r
+{{{\r
+}}}\r
+\r
+Package=<4>\r
+{{{\r
+}}}\r
+\r
+###############################################################################\r
+\r
+Project: "adv"=..\..\build\msw\wx_adv.dsp - Package Owner=<4>\r
+\r
+Package=<5>\r
+{{{\r
+}}}\r
+\r
+Package=<4>\r
+{{{\r
+}}}\r
+\r
+###############################################################################\r
+\r
+Project: "core"=..\..\build\msw\wx_core.dsp - Package Owner=<4>\r
+\r
+Package=<5>\r
+{{{\r
+}}}\r
+\r
+Package=<4>\r
+{{{\r
+}}}\r
+\r
+###############################################################################\r
+\r
+Project: "base"=..\..\build\msw\wx_base.dsp - Package Owner=<4>\r
+\r
+Package=<5>\r
+{{{\r
+}}}\r
+\r
+Package=<4>\r
+{{{\r
+}}}\r
+\r
+###############################################################################\r
+\r
diff --git a/samples/ribbon/ribbon.xpm b/samples/ribbon/ribbon.xpm
new file mode 100644 (file)
index 0000000..edc8bf4
--- /dev/null
@@ -0,0 +1,54 @@
+/* XPM */\r
+static const char *const ribbon_xpm[] = {\r
+"16 16 34 1",\r
+". c #2C5374",\r
+"h c #0316C7",\r
+"l c #5089BE",\r
+"s c #528ABE",\r
+"B c #548CBE",\r
+"f c #568CBF",\r
+"E c #5A8FBF",\r
+"z c #6194BE",\r
+"d c #6194BF",\r
+"F c #6D9CBF",\r
+"j c #6E9DBE",\r
+"k c #719FBF",\r
+"c c #7DA7BF",\r
+"o c #7EA8BF",\r
+"w c #588FC1",\r
+"e c #5990C2",\r
+"C c #6096C5",\r
+"p c #6196C5",\r
+"t c #679AC8",\r
+"i c #689BC8",\r
+"b c #699CC9",\r
+"a c #6F9FCA",\r
+"y c #71A0C2",\r
+"q c #71A1C4",\r
+"D c #70A0CB",\r
+"m c #73A2CC",\r
+"A c #79A5C1",\r
+"u c #7EA9CA",\r
+"g c #83ABBF",\r
+"n c #88AEBF",\r
+"r c #8EB3BF",\r
+"v c #85ADC1",\r
+"x c #8FB5C7",\r
+"  c None",\r
+"       ..       ",\r
+"     ..ab..     ",\r
+"    .cdebbb.    ",\r
+"   .fghhhibb.   ",\r
+"   .jkhllhbb.   ",\r
+"  .mnohhhlpbb.  ",\r
+"   .qrhlhlst.   ",\r
+"   .uvhllhlw.   ",\r
+"    .xyzlll.    ",\r
+"     ..AB..     ",\r
+"    .CD..DC.    ",\r
+"   .ll.DD.ll.   ",\r
+"  .Ell.ll.llE.  ",\r
+"   .F..ll..F.   ",\r
+"    . .FF. .    ",\r
+"      ....      "\r
+};\r
diff --git a/samples/ribbon/ribbon_vc7.sln b/samples/ribbon/ribbon_vc7.sln
new file mode 100644 (file)
index 0000000..90c636c
--- /dev/null
@@ -0,0 +1,37 @@
+Microsoft Visual Studio Solution File, Format Version 8.00\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ribbon", "ribbon_vc7.vcproj", "{717E754A-A748-5A81-AA86-AA4640D51560}"\r
+EndProject\r
+Global\r
+       GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
+               DLL Universal Release|Win32 = DLL Universal Release|Win32\r
+               DLL Universal Debug|Win32 = DLL Universal Debug|Win32\r
+               DLL Release|Win32 = DLL Release|Win32\r
+               DLL Debug|Win32 = DLL Debug|Win32\r
+               Universal Release|Win32 = Universal Release|Win32\r
+               Universal Debug|Win32 = Universal Debug|Win32\r
+               Release|Win32 = Release|Win32\r
+               Debug|Win32 = Debug|Win32\r
+       EndGlobalSection\r
+       GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
+               {717E754A-A748-5A81-AA86-AA4640D51560}.DLL Universal Release|Win32.ActiveCfg = DLL Universal Release|Win32\r
+               {717E754A-A748-5A81-AA86-AA4640D51560}.DLL Universal Release|Win32.Build.0 = DLL Universal Release|Win32\r
+               {717E754A-A748-5A81-AA86-AA4640D51560}.DLL Universal Debug|Win32.ActiveCfg = DLL Universal Debug|Win32\r
+               {717E754A-A748-5A81-AA86-AA4640D51560}.DLL Universal Debug|Win32.Build.0 = DLL Universal Debug|Win32\r
+               {717E754A-A748-5A81-AA86-AA4640D51560}.DLL Release|Win32.ActiveCfg = DLL Release|Win32\r
+               {717E754A-A748-5A81-AA86-AA4640D51560}.DLL Release|Win32.Build.0 = DLL Release|Win32\r
+               {717E754A-A748-5A81-AA86-AA4640D51560}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32\r
+               {717E754A-A748-5A81-AA86-AA4640D51560}.DLL Debug|Win32.Build.0 = DLL Debug|Win32\r
+               {717E754A-A748-5A81-AA86-AA4640D51560}.Universal Release|Win32.ActiveCfg = Universal Release|Win32\r
+               {717E754A-A748-5A81-AA86-AA4640D51560}.Universal Release|Win32.Build.0 = Universal Release|Win32\r
+               {717E754A-A748-5A81-AA86-AA4640D51560}.Universal Debug|Win32.ActiveCfg = Universal Debug|Win32\r
+               {717E754A-A748-5A81-AA86-AA4640D51560}.Universal Debug|Win32.Build.0 = Universal Debug|Win32\r
+               {717E754A-A748-5A81-AA86-AA4640D51560}.Release|Win32.ActiveCfg = Release|Win32\r
+               {717E754A-A748-5A81-AA86-AA4640D51560}.Release|Win32.Build.0 = Release|Win32\r
+               {717E754A-A748-5A81-AA86-AA4640D51560}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {717E754A-A748-5A81-AA86-AA4640D51560}.Debug|Win32.Build.0 = Debug|Win32\r
+       EndGlobalSection\r
+       GlobalSection(SolutionProperties) = preSolution\r
+               HideSolutionNode = FALSE\r
+       EndGlobalSection\r
+EndGlobal\r
+\r
diff --git a/samples/ribbon/ribbon_vc7.vcproj b/samples/ribbon/ribbon_vc7.vcproj
new file mode 100644 (file)
index 0000000..8577f8d
--- /dev/null
@@ -0,0 +1,545 @@
+<?xml version="1.0" encoding="Windows-1252"?>\r
+<!--\r
+\r
+  This makefile was generated by\r
+  Bakefile 0.2.5 (http://www.bakefile.org)\r
+  Do not modify, all changes will be overwritten!\r
+\r
+-->\r
+<VisualStudioProject\r
+       ProjectType="Visual C++"\r
+       Version="7.10"\r
+       Name="ribbon"\r
+       ProjectGUID="{717E754A-A748-5A81-AA86-AA4640D51560}">\r
+       <Platforms>\r
+               <Platform\r
+                       Name="Win32"/>\r
+       </Platforms>\r
+       <Configurations>\r
+               <Configuration\r
+                       Name="DLL Universal Release|Win32"\r
+                       OutputDirectory="vc_mswunivudll"\r
+                       IntermediateDirectory="vc_mswunivudll\ribbon"\r
+                       ConfigurationType="1"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="FALSE"\r
+                       CharacterSet="1">\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="2"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_dll\mswunivu;.\..\..\include;.;.\..\..\samples"\r
+                               PreprocessorDefinitions="__WXMSW__;__WXUNIVERSAL__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"\r
+                               ExceptionHandling="TRUE"\r
+                               RuntimeLibrary="2"\r
+                               RuntimeTypeInfo="TRUE"\r
+                               AssemblerListingLocation="vc_mswunivudll\ribbon\"\r
+                               ObjectFile="vc_mswunivudll\ribbon\"\r
+                               ProgramDataBaseFileName="vc_mswunivudll\ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="TRUE"\r
+                               Detect64BitPortabilityProblems="TRUE"\r
+                               DebugInformationFormat="3"/>\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"/>\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxmswuniv29u_ribbon.lib  wxmswuniv29u_adv.lib  wxmswuniv29u_core.lib  wxbase29u.lib   wxtiff.lib wxjpeg.lib wxpng.lib  wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib"\r
+                               OutputFile="vc_mswunivudll\ribbon.exe"\r
+                               LinkIncremental="2"\r
+                               SuppressStartupBanner="TRUE"\r
+                               AdditionalLibraryDirectories=".\..\..\lib\vc_dll"\r
+                               GenerateDebugInformation="TRUE"\r
+                               ProgramDatabaseFile="vc_mswunivudll\ribbon.pdb"\r
+                               SubSystem="2"\r
+                               TargetMachine="1"/>\r
+                       <Tool\r
+                               Name="VCMIDLTool"/>\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"/>\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="__WXMSW__;__WXUNIVERSAL__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_dll\mswunivu;.\..\..\include;.;.\..\..\samples"/>\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"/>\r
+                       <Tool\r
+                               Name="VCManagedWrapperGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCAuxiliaryManagedWrapperGeneratorTool"/>\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="DLL Universal Debug|Win32"\r
+                       OutputDirectory="vc_mswunivuddll"\r
+                       IntermediateDirectory="vc_mswunivuddll\ribbon"\r
+                       ConfigurationType="1"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="FALSE"\r
+                       CharacterSet="1">\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="0"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_dll\mswunivud;.\..\..\include;.;.\..\..\samples"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"\r
+                               MinimalRebuild="TRUE"\r
+                               ExceptionHandling="TRUE"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="3"\r
+                               BufferSecurityCheck="TRUE"\r
+                               RuntimeTypeInfo="TRUE"\r
+                               AssemblerListingLocation="vc_mswunivuddll\ribbon\"\r
+                               ObjectFile="vc_mswunivuddll\ribbon\"\r
+                               ProgramDataBaseFileName="vc_mswunivuddll\ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="TRUE"\r
+                               Detect64BitPortabilityProblems="TRUE"\r
+                               DebugInformationFormat="3"/>\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"/>\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxmswuniv29ud_ribbon.lib  wxmswuniv29ud_adv.lib  wxmswuniv29ud_core.lib  wxbase29ud.lib   wxtiffd.lib wxjpegd.lib wxpngd.lib  wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib"\r
+                               OutputFile="vc_mswunivuddll\ribbon.exe"\r
+                               LinkIncremental="2"\r
+                               SuppressStartupBanner="TRUE"\r
+                               AdditionalLibraryDirectories=".\..\..\lib\vc_dll"\r
+                               GenerateDebugInformation="TRUE"\r
+                               ProgramDatabaseFile="vc_mswunivuddll\ribbon.pdb"\r
+                               SubSystem="2"\r
+                               TargetMachine="1"/>\r
+                       <Tool\r
+                               Name="VCMIDLTool"/>\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"/>\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_dll\mswunivud;.\..\..\include;.;.\..\..\samples"/>\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"/>\r
+                       <Tool\r
+                               Name="VCManagedWrapperGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCAuxiliaryManagedWrapperGeneratorTool"/>\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="DLL Release|Win32"\r
+                       OutputDirectory="vc_mswudll"\r
+                       IntermediateDirectory="vc_mswudll\ribbon"\r
+                       ConfigurationType="1"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="FALSE"\r
+                       CharacterSet="1">\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="2"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_dll\mswu;.\..\..\include;.;.\..\..\samples"\r
+                               PreprocessorDefinitions="__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"\r
+                               ExceptionHandling="TRUE"\r
+                               RuntimeLibrary="2"\r
+                               RuntimeTypeInfo="TRUE"\r
+                               AssemblerListingLocation="vc_mswudll\ribbon\"\r
+                               ObjectFile="vc_mswudll\ribbon\"\r
+                               ProgramDataBaseFileName="vc_mswudll\ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="TRUE"\r
+                               Detect64BitPortabilityProblems="TRUE"\r
+                               DebugInformationFormat="3"/>\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"/>\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxmsw29u_ribbon.lib  wxmsw29u_adv.lib  wxmsw29u_core.lib  wxbase29u.lib   wxtiff.lib wxjpeg.lib wxpng.lib  wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib"\r
+                               OutputFile="vc_mswudll\ribbon.exe"\r
+                               LinkIncremental="2"\r
+                               SuppressStartupBanner="TRUE"\r
+                               AdditionalLibraryDirectories=".\..\..\lib\vc_dll"\r
+                               GenerateDebugInformation="TRUE"\r
+                               ProgramDatabaseFile="vc_mswudll\ribbon.pdb"\r
+                               SubSystem="2"\r
+                               TargetMachine="1"/>\r
+                       <Tool\r
+                               Name="VCMIDLTool"/>\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"/>\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_dll\mswu;.\..\..\include;.;.\..\..\samples"/>\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"/>\r
+                       <Tool\r
+                               Name="VCManagedWrapperGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCAuxiliaryManagedWrapperGeneratorTool"/>\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="DLL Debug|Win32"\r
+                       OutputDirectory="vc_mswuddll"\r
+                       IntermediateDirectory="vc_mswuddll\ribbon"\r
+                       ConfigurationType="1"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="FALSE"\r
+                       CharacterSet="1">\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="0"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_dll\mswud;.\..\..\include;.;.\..\..\samples"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"\r
+                               MinimalRebuild="TRUE"\r
+                               ExceptionHandling="TRUE"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="3"\r
+                               BufferSecurityCheck="TRUE"\r
+                               RuntimeTypeInfo="TRUE"\r
+                               AssemblerListingLocation="vc_mswuddll\ribbon\"\r
+                               ObjectFile="vc_mswuddll\ribbon\"\r
+                               ProgramDataBaseFileName="vc_mswuddll\ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="TRUE"\r
+                               Detect64BitPortabilityProblems="TRUE"\r
+                               DebugInformationFormat="3"/>\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"/>\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxmsw29ud_ribbon.lib  wxmsw29ud_adv.lib  wxmsw29ud_core.lib  wxbase29ud.lib   wxtiffd.lib wxjpegd.lib wxpngd.lib  wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib"\r
+                               OutputFile="vc_mswuddll\ribbon.exe"\r
+                               LinkIncremental="2"\r
+                               SuppressStartupBanner="TRUE"\r
+                               AdditionalLibraryDirectories=".\..\..\lib\vc_dll"\r
+                               GenerateDebugInformation="TRUE"\r
+                               ProgramDatabaseFile="vc_mswuddll\ribbon.pdb"\r
+                               SubSystem="2"\r
+                               TargetMachine="1"/>\r
+                       <Tool\r
+                               Name="VCMIDLTool"/>\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"/>\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_dll\mswud;.\..\..\include;.;.\..\..\samples"/>\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"/>\r
+                       <Tool\r
+                               Name="VCManagedWrapperGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCAuxiliaryManagedWrapperGeneratorTool"/>\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Universal Release|Win32"\r
+                       OutputDirectory="vc_mswunivu"\r
+                       IntermediateDirectory="vc_mswunivu\ribbon"\r
+                       ConfigurationType="1"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="FALSE"\r
+                       CharacterSet="1">\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="2"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_lib\mswunivu;.\..\..\include;.;.\..\..\samples"\r
+                               PreprocessorDefinitions="__WXMSW__;__WXUNIVERSAL__;_UNICODE;_WINDOWS;NOPCH"\r
+                               ExceptionHandling="TRUE"\r
+                               RuntimeLibrary="2"\r
+                               RuntimeTypeInfo="TRUE"\r
+                               AssemblerListingLocation="vc_mswunivu\ribbon\"\r
+                               ObjectFile="vc_mswunivu\ribbon\"\r
+                               ProgramDataBaseFileName="vc_mswunivu\ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="TRUE"\r
+                               Detect64BitPortabilityProblems="TRUE"\r
+                               DebugInformationFormat="3"/>\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"/>\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxmswuniv29u_ribbon.lib  wxmswuniv29u_adv.lib  wxmswuniv29u_core.lib  wxbase29u.lib   wxtiff.lib wxjpeg.lib wxpng.lib  wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib"\r
+                               OutputFile="vc_mswunivu\ribbon.exe"\r
+                               LinkIncremental="2"\r
+                               SuppressStartupBanner="TRUE"\r
+                               AdditionalLibraryDirectories=".\..\..\lib\vc_lib"\r
+                               GenerateDebugInformation="TRUE"\r
+                               ProgramDatabaseFile="vc_mswunivu\ribbon.pdb"\r
+                               SubSystem="2"\r
+                               TargetMachine="1"/>\r
+                       <Tool\r
+                               Name="VCMIDLTool"/>\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"/>\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="__WXMSW__;__WXUNIVERSAL__;_UNICODE;_WINDOWS;NOPCH"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_lib\mswunivu;.\..\..\include;.;.\..\..\samples"/>\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"/>\r
+                       <Tool\r
+                               Name="VCManagedWrapperGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCAuxiliaryManagedWrapperGeneratorTool"/>\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Universal Debug|Win32"\r
+                       OutputDirectory="vc_mswunivud"\r
+                       IntermediateDirectory="vc_mswunivud\ribbon"\r
+                       ConfigurationType="1"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="FALSE"\r
+                       CharacterSet="1">\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="0"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_lib\mswunivud;.\..\..\include;.;.\..\..\samples"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;_WINDOWS;NOPCH"\r
+                               MinimalRebuild="TRUE"\r
+                               ExceptionHandling="TRUE"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="3"\r
+                               BufferSecurityCheck="TRUE"\r
+                               RuntimeTypeInfo="TRUE"\r
+                               AssemblerListingLocation="vc_mswunivud\ribbon\"\r
+                               ObjectFile="vc_mswunivud\ribbon\"\r
+                               ProgramDataBaseFileName="vc_mswunivud\ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="TRUE"\r
+                               Detect64BitPortabilityProblems="TRUE"\r
+                               DebugInformationFormat="3"/>\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"/>\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxmswuniv29ud_ribbon.lib  wxmswuniv29ud_adv.lib  wxmswuniv29ud_core.lib  wxbase29ud.lib   wxtiffd.lib wxjpegd.lib wxpngd.lib  wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib"\r
+                               OutputFile="vc_mswunivud\ribbon.exe"\r
+                               LinkIncremental="2"\r
+                               SuppressStartupBanner="TRUE"\r
+                               AdditionalLibraryDirectories=".\..\..\lib\vc_lib"\r
+                               GenerateDebugInformation="TRUE"\r
+                               ProgramDatabaseFile="vc_mswunivud\ribbon.pdb"\r
+                               SubSystem="2"\r
+                               TargetMachine="1"/>\r
+                       <Tool\r
+                               Name="VCMIDLTool"/>\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"/>\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;_WINDOWS;NOPCH"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_lib\mswunivud;.\..\..\include;.;.\..\..\samples"/>\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"/>\r
+                       <Tool\r
+                               Name="VCManagedWrapperGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCAuxiliaryManagedWrapperGeneratorTool"/>\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Release|Win32"\r
+                       OutputDirectory="vc_mswu"\r
+                       IntermediateDirectory="vc_mswu\ribbon"\r
+                       ConfigurationType="1"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="FALSE"\r
+                       CharacterSet="1">\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="2"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_lib\mswu;.\..\..\include;.;.\..\..\samples"\r
+                               PreprocessorDefinitions="__WXMSW__;_UNICODE;_WINDOWS;NOPCH"\r
+                               ExceptionHandling="TRUE"\r
+                               RuntimeLibrary="2"\r
+                               RuntimeTypeInfo="TRUE"\r
+                               AssemblerListingLocation="vc_mswu\ribbon\"\r
+                               ObjectFile="vc_mswu\ribbon\"\r
+                               ProgramDataBaseFileName="vc_mswu\ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="TRUE"\r
+                               Detect64BitPortabilityProblems="TRUE"\r
+                               DebugInformationFormat="3"/>\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"/>\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxmsw29u_ribbon.lib  wxmsw29u_adv.lib  wxmsw29u_core.lib  wxbase29u.lib   wxtiff.lib wxjpeg.lib wxpng.lib  wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib"\r
+                               OutputFile="vc_mswu\ribbon.exe"\r
+                               LinkIncremental="2"\r
+                               SuppressStartupBanner="TRUE"\r
+                               AdditionalLibraryDirectories=".\..\..\lib\vc_lib"\r
+                               GenerateDebugInformation="TRUE"\r
+                               ProgramDatabaseFile="vc_mswu\ribbon.pdb"\r
+                               SubSystem="2"\r
+                               TargetMachine="1"/>\r
+                       <Tool\r
+                               Name="VCMIDLTool"/>\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"/>\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="__WXMSW__;_UNICODE;_WINDOWS;NOPCH"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_lib\mswu;.\..\..\include;.;.\..\..\samples"/>\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"/>\r
+                       <Tool\r
+                               Name="VCManagedWrapperGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCAuxiliaryManagedWrapperGeneratorTool"/>\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Debug|Win32"\r
+                       OutputDirectory="vc_mswud"\r
+                       IntermediateDirectory="vc_mswud\ribbon"\r
+                       ConfigurationType="1"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="FALSE"\r
+                       CharacterSet="1">\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="0"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_lib\mswud;.\..\..\include;.;.\..\..\samples"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;_WINDOWS;NOPCH"\r
+                               MinimalRebuild="TRUE"\r
+                               ExceptionHandling="TRUE"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="3"\r
+                               BufferSecurityCheck="TRUE"\r
+                               RuntimeTypeInfo="TRUE"\r
+                               AssemblerListingLocation="vc_mswud\ribbon\"\r
+                               ObjectFile="vc_mswud\ribbon\"\r
+                               ProgramDataBaseFileName="vc_mswud\ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="TRUE"\r
+                               Detect64BitPortabilityProblems="TRUE"\r
+                               DebugInformationFormat="3"/>\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"/>\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxmsw29ud_ribbon.lib  wxmsw29ud_adv.lib  wxmsw29ud_core.lib  wxbase29ud.lib   wxtiffd.lib wxjpegd.lib wxpngd.lib  wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib"\r
+                               OutputFile="vc_mswud\ribbon.exe"\r
+                               LinkIncremental="2"\r
+                               SuppressStartupBanner="TRUE"\r
+                               AdditionalLibraryDirectories=".\..\..\lib\vc_lib"\r
+                               GenerateDebugInformation="TRUE"\r
+                               ProgramDatabaseFile="vc_mswud\ribbon.pdb"\r
+                               SubSystem="2"\r
+                               TargetMachine="1"/>\r
+                       <Tool\r
+                               Name="VCMIDLTool"/>\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"/>\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"/>\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;_WINDOWS;NOPCH"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_lib\mswud;.\..\..\include;.;.\..\..\samples"/>\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"/>\r
+                       <Tool\r
+                               Name="VCManagedWrapperGeneratorTool"/>\r
+                       <Tool\r
+                               Name="VCAuxiliaryManagedWrapperGeneratorTool"/>\r
+               </Configuration>\r
+       </Configurations>\r
+       <References>\r
+               \r
+       </References>\r
+       <Files>\r
+               <Filter\r
+                       Name="Source Files"\r
+                       Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"\r
+                       UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">\r
+                       <File\r
+                               RelativePath=".\ribbondemo.cpp">\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="Resource Files"\r
+                       Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"\r
+                       UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">\r
+                       <File\r
+                               RelativePath=".\..\sample.rc">\r
+                       </File>\r
+               </Filter>\r
+       </Files>\r
+       <Globals>\r
+               \r
+       </Globals>\r
+</VisualStudioProject>\r
+\r
diff --git a/samples/ribbon/ribbon_vc8.sln b/samples/ribbon/ribbon_vc8.sln
new file mode 100644 (file)
index 0000000..dfcd508
--- /dev/null
@@ -0,0 +1,38 @@
+Microsoft Visual Studio Solution File, Format Version 9.00\r
+# Visual Studio 2005\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ribbon", "ribbon_vc8.vcproj", "{BA2417EE-232B-5AEC-9EBA-D4CEE724CE81}"\r
+EndProject\r
+Global\r
+       GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
+               DLL Universal Release|Win32 = DLL Universal Release|Win32\r
+               DLL Universal Debug|Win32 = DLL Universal Debug|Win32\r
+               DLL Release|Win32 = DLL Release|Win32\r
+               DLL Debug|Win32 = DLL Debug|Win32\r
+               Universal Release|Win32 = Universal Release|Win32\r
+               Universal Debug|Win32 = Universal Debug|Win32\r
+               Release|Win32 = Release|Win32\r
+               Debug|Win32 = Debug|Win32\r
+       EndGlobalSection\r
+       GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
+               {BA2417EE-232B-5AEC-9EBA-D4CEE724CE81}.DLL Universal Release|Win32.ActiveCfg = DLL Universal Release|Win32\r
+               {BA2417EE-232B-5AEC-9EBA-D4CEE724CE81}.DLL Universal Release|Win32.Build.0 = DLL Universal Release|Win32\r
+               {BA2417EE-232B-5AEC-9EBA-D4CEE724CE81}.DLL Universal Debug|Win32.ActiveCfg = DLL Universal Debug|Win32\r
+               {BA2417EE-232B-5AEC-9EBA-D4CEE724CE81}.DLL Universal Debug|Win32.Build.0 = DLL Universal Debug|Win32\r
+               {BA2417EE-232B-5AEC-9EBA-D4CEE724CE81}.DLL Release|Win32.ActiveCfg = DLL Release|Win32\r
+               {BA2417EE-232B-5AEC-9EBA-D4CEE724CE81}.DLL Release|Win32.Build.0 = DLL Release|Win32\r
+               {BA2417EE-232B-5AEC-9EBA-D4CEE724CE81}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32\r
+               {BA2417EE-232B-5AEC-9EBA-D4CEE724CE81}.DLL Debug|Win32.Build.0 = DLL Debug|Win32\r
+               {BA2417EE-232B-5AEC-9EBA-D4CEE724CE81}.Universal Release|Win32.ActiveCfg = Universal Release|Win32\r
+               {BA2417EE-232B-5AEC-9EBA-D4CEE724CE81}.Universal Release|Win32.Build.0 = Universal Release|Win32\r
+               {BA2417EE-232B-5AEC-9EBA-D4CEE724CE81}.Universal Debug|Win32.ActiveCfg = Universal Debug|Win32\r
+               {BA2417EE-232B-5AEC-9EBA-D4CEE724CE81}.Universal Debug|Win32.Build.0 = Universal Debug|Win32\r
+               {BA2417EE-232B-5AEC-9EBA-D4CEE724CE81}.Release|Win32.ActiveCfg = Release|Win32\r
+               {BA2417EE-232B-5AEC-9EBA-D4CEE724CE81}.Release|Win32.Build.0 = Release|Win32\r
+               {BA2417EE-232B-5AEC-9EBA-D4CEE724CE81}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {BA2417EE-232B-5AEC-9EBA-D4CEE724CE81}.Debug|Win32.Build.0 = Debug|Win32\r
+       EndGlobalSection\r
+       GlobalSection(SolutionProperties) = preSolution\r
+               HideSolutionNode = FALSE\r
+       EndGlobalSection\r
+EndGlobal\r
+\r
diff --git a/samples/ribbon/ribbon_vc8.vcproj b/samples/ribbon/ribbon_vc8.vcproj
new file mode 100644 (file)
index 0000000..559d4da
--- /dev/null
@@ -0,0 +1,810 @@
+<?xml version="1.0" encoding="Windows-1252"?>\r
+<!--\r
+\r
+  This makefile was generated by\r
+  Bakefile 0.2.5 (http://www.bakefile.org)\r
+  Do not modify, all changes will be overwritten!\r
+\r
+-->\r
+<VisualStudioProject\r
+       ProjectType="Visual C++"\r
+       Version="8.00"\r
+       Name="ribbon"\r
+       ProjectGUID="{BA2417EE-232B-5AEC-9EBA-D4CEE724CE81}"\r
+       >\r
+       <Platforms>\r
+               <Platform\r
+                       Name="Win32"\r
+               />\r
+       </Platforms>\r
+       <ToolFiles>\r
+               \r
+       </ToolFiles>\r
+       <Configurations>\r
+               <Configuration\r
+                       Name="DLL Universal Release|Win32"\r
+                       OutputDirectory="vc_mswunivudll"\r
+                       IntermediateDirectory="vc_mswunivudll\ribbon"\r
+                       ConfigurationType="1"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="2"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_dll\mswunivu;.\..\..\include;.;.\..\..\samples"\r
+                               PreprocessorDefinitions="__WXMSW__;__WXUNIVERSAL__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"\r
+                               ExceptionHandling="1"\r
+                               RuntimeLibrary="2"\r
+                               RuntimeTypeInfo="true"\r
+                               AssemblerListingLocation="vc_mswunivudll\ribbon\"\r
+                               ObjectFile="vc_mswunivudll\ribbon\"\r
+                               ProgramDataBaseFileName="vc_mswunivudll\ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               Detect64BitPortabilityProblems="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="__WXMSW__;__WXUNIVERSAL__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_dll\mswunivu;.\..\..\include;.;.\..\..\samples"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxmswuniv29u_ribbon.lib  wxmswuniv29u_adv.lib  wxmswuniv29u_core.lib  wxbase29u.lib   wxtiff.lib wxjpeg.lib wxpng.lib  wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib"\r
+                               OutputFile="vc_mswunivudll\ribbon.exe"\r
+                               LinkIncremental="2"\r
+                               SuppressStartupBanner="true"\r
+                               AdditionalLibraryDirectories=".\..\..\lib\vc_dll"\r
+                               GenerateManifest="true"\r
+                               GenerateDebugInformation="true"\r
+                               ProgramDatabaseFile="vc_mswunivudll\ribbon.pdb"\r
+                               SubSystem="2"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="vc_mswunivudll\ribbon_vc8.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="DLL Universal Debug|Win32"\r
+                       OutputDirectory="vc_mswunivuddll"\r
+                       IntermediateDirectory="vc_mswunivuddll\ribbon"\r
+                       ConfigurationType="1"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="0"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_dll\mswunivud;.\..\..\include;.;.\..\..\samples"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"\r
+                               MinimalRebuild="true"\r
+                               ExceptionHandling="1"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="3"\r
+                               BufferSecurityCheck="true"\r
+                               RuntimeTypeInfo="true"\r
+                               AssemblerListingLocation="vc_mswunivuddll\ribbon\"\r
+                               ObjectFile="vc_mswunivuddll\ribbon\"\r
+                               ProgramDataBaseFileName="vc_mswunivuddll\ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               Detect64BitPortabilityProblems="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_dll\mswunivud;.\..\..\include;.;.\..\..\samples"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxmswuniv29ud_ribbon.lib  wxmswuniv29ud_adv.lib  wxmswuniv29ud_core.lib  wxbase29ud.lib   wxtiffd.lib wxjpegd.lib wxpngd.lib  wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib"\r
+                               OutputFile="vc_mswunivuddll\ribbon.exe"\r
+                               LinkIncremental="2"\r
+                               SuppressStartupBanner="true"\r
+                               AdditionalLibraryDirectories=".\..\..\lib\vc_dll"\r
+                               GenerateManifest="true"\r
+                               GenerateDebugInformation="true"\r
+                               ProgramDatabaseFile="vc_mswunivuddll\ribbon.pdb"\r
+                               SubSystem="2"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="vc_mswunivuddll\ribbon_vc8.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="DLL Release|Win32"\r
+                       OutputDirectory="vc_mswudll"\r
+                       IntermediateDirectory="vc_mswudll\ribbon"\r
+                       ConfigurationType="1"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="2"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_dll\mswu;.\..\..\include;.;.\..\..\samples"\r
+                               PreprocessorDefinitions="__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"\r
+                               ExceptionHandling="1"\r
+                               RuntimeLibrary="2"\r
+                               RuntimeTypeInfo="true"\r
+                               AssemblerListingLocation="vc_mswudll\ribbon\"\r
+                               ObjectFile="vc_mswudll\ribbon\"\r
+                               ProgramDataBaseFileName="vc_mswudll\ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               Detect64BitPortabilityProblems="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_dll\mswu;.\..\..\include;.;.\..\..\samples"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxmsw29u_ribbon.lib  wxmsw29u_adv.lib  wxmsw29u_core.lib  wxbase29u.lib   wxtiff.lib wxjpeg.lib wxpng.lib  wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib"\r
+                               OutputFile="vc_mswudll\ribbon.exe"\r
+                               LinkIncremental="2"\r
+                               SuppressStartupBanner="true"\r
+                               AdditionalLibraryDirectories=".\..\..\lib\vc_dll"\r
+                               GenerateManifest="true"\r
+                               GenerateDebugInformation="true"\r
+                               ProgramDatabaseFile="vc_mswudll\ribbon.pdb"\r
+                               SubSystem="2"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="vc_mswudll\ribbon_vc8.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="DLL Debug|Win32"\r
+                       OutputDirectory="vc_mswuddll"\r
+                       IntermediateDirectory="vc_mswuddll\ribbon"\r
+                       ConfigurationType="1"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="0"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_dll\mswud;.\..\..\include;.;.\..\..\samples"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"\r
+                               MinimalRebuild="true"\r
+                               ExceptionHandling="1"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="3"\r
+                               BufferSecurityCheck="true"\r
+                               RuntimeTypeInfo="true"\r
+                               AssemblerListingLocation="vc_mswuddll\ribbon\"\r
+                               ObjectFile="vc_mswuddll\ribbon\"\r
+                               ProgramDataBaseFileName="vc_mswuddll\ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               Detect64BitPortabilityProblems="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_dll\mswud;.\..\..\include;.;.\..\..\samples"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxmsw29ud_ribbon.lib  wxmsw29ud_adv.lib  wxmsw29ud_core.lib  wxbase29ud.lib   wxtiffd.lib wxjpegd.lib wxpngd.lib  wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib"\r
+                               OutputFile="vc_mswuddll\ribbon.exe"\r
+                               LinkIncremental="2"\r
+                               SuppressStartupBanner="true"\r
+                               AdditionalLibraryDirectories=".\..\..\lib\vc_dll"\r
+                               GenerateManifest="true"\r
+                               GenerateDebugInformation="true"\r
+                               ProgramDatabaseFile="vc_mswuddll\ribbon.pdb"\r
+                               SubSystem="2"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="vc_mswuddll\ribbon_vc8.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Universal Release|Win32"\r
+                       OutputDirectory="vc_mswunivu"\r
+                       IntermediateDirectory="vc_mswunivu\ribbon"\r
+                       ConfigurationType="1"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="2"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_lib\mswunivu;.\..\..\include;.;.\..\..\samples"\r
+                               PreprocessorDefinitions="__WXMSW__;__WXUNIVERSAL__;_UNICODE;_WINDOWS;NOPCH"\r
+                               ExceptionHandling="1"\r
+                               RuntimeLibrary="2"\r
+                               RuntimeTypeInfo="true"\r
+                               AssemblerListingLocation="vc_mswunivu\ribbon\"\r
+                               ObjectFile="vc_mswunivu\ribbon\"\r
+                               ProgramDataBaseFileName="vc_mswunivu\ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               Detect64BitPortabilityProblems="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="__WXMSW__;__WXUNIVERSAL__;_UNICODE;_WINDOWS;NOPCH"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_lib\mswunivu;.\..\..\include;.;.\..\..\samples"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxmswuniv29u_ribbon.lib  wxmswuniv29u_adv.lib  wxmswuniv29u_core.lib  wxbase29u.lib   wxtiff.lib wxjpeg.lib wxpng.lib  wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib"\r
+                               OutputFile="vc_mswunivu\ribbon.exe"\r
+                               LinkIncremental="2"\r
+                               SuppressStartupBanner="true"\r
+                               AdditionalLibraryDirectories=".\..\..\lib\vc_lib"\r
+                               GenerateManifest="true"\r
+                               GenerateDebugInformation="true"\r
+                               ProgramDatabaseFile="vc_mswunivu\ribbon.pdb"\r
+                               SubSystem="2"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="vc_mswunivu\ribbon_vc8.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Universal Debug|Win32"\r
+                       OutputDirectory="vc_mswunivud"\r
+                       IntermediateDirectory="vc_mswunivud\ribbon"\r
+                       ConfigurationType="1"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="0"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_lib\mswunivud;.\..\..\include;.;.\..\..\samples"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;_WINDOWS;NOPCH"\r
+                               MinimalRebuild="true"\r
+                               ExceptionHandling="1"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="3"\r
+                               BufferSecurityCheck="true"\r
+                               RuntimeTypeInfo="true"\r
+                               AssemblerListingLocation="vc_mswunivud\ribbon\"\r
+                               ObjectFile="vc_mswunivud\ribbon\"\r
+                               ProgramDataBaseFileName="vc_mswunivud\ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               Detect64BitPortabilityProblems="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;_WINDOWS;NOPCH"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_lib\mswunivud;.\..\..\include;.;.\..\..\samples"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxmswuniv29ud_ribbon.lib  wxmswuniv29ud_adv.lib  wxmswuniv29ud_core.lib  wxbase29ud.lib   wxtiffd.lib wxjpegd.lib wxpngd.lib  wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib"\r
+                               OutputFile="vc_mswunivud\ribbon.exe"\r
+                               LinkIncremental="2"\r
+                               SuppressStartupBanner="true"\r
+                               AdditionalLibraryDirectories=".\..\..\lib\vc_lib"\r
+                               GenerateManifest="true"\r
+                               GenerateDebugInformation="true"\r
+                               ProgramDatabaseFile="vc_mswunivud\ribbon.pdb"\r
+                               SubSystem="2"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="vc_mswunivud\ribbon_vc8.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Release|Win32"\r
+                       OutputDirectory="vc_mswu"\r
+                       IntermediateDirectory="vc_mswu\ribbon"\r
+                       ConfigurationType="1"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="2"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_lib\mswu;.\..\..\include;.;.\..\..\samples"\r
+                               PreprocessorDefinitions="__WXMSW__;_UNICODE;_WINDOWS;NOPCH"\r
+                               ExceptionHandling="1"\r
+                               RuntimeLibrary="2"\r
+                               RuntimeTypeInfo="true"\r
+                               AssemblerListingLocation="vc_mswu\ribbon\"\r
+                               ObjectFile="vc_mswu\ribbon\"\r
+                               ProgramDataBaseFileName="vc_mswu\ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               Detect64BitPortabilityProblems="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="__WXMSW__;_UNICODE;_WINDOWS;NOPCH"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_lib\mswu;.\..\..\include;.;.\..\..\samples"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxmsw29u_ribbon.lib  wxmsw29u_adv.lib  wxmsw29u_core.lib  wxbase29u.lib   wxtiff.lib wxjpeg.lib wxpng.lib  wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib"\r
+                               OutputFile="vc_mswu\ribbon.exe"\r
+                               LinkIncremental="2"\r
+                               SuppressStartupBanner="true"\r
+                               AdditionalLibraryDirectories=".\..\..\lib\vc_lib"\r
+                               GenerateManifest="true"\r
+                               GenerateDebugInformation="true"\r
+                               ProgramDatabaseFile="vc_mswu\ribbon.pdb"\r
+                               SubSystem="2"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="vc_mswu\ribbon_vc8.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Debug|Win32"\r
+                       OutputDirectory="vc_mswud"\r
+                       IntermediateDirectory="vc_mswud\ribbon"\r
+                       ConfigurationType="1"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCMIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               Optimization="0"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_lib\mswud;.\..\..\include;.;.\..\..\samples"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;_WINDOWS;NOPCH"\r
+                               MinimalRebuild="true"\r
+                               ExceptionHandling="1"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="3"\r
+                               BufferSecurityCheck="true"\r
+                               RuntimeTypeInfo="true"\r
+                               AssemblerListingLocation="vc_mswud\ribbon\"\r
+                               ObjectFile="vc_mswud\ribbon\"\r
+                               ProgramDataBaseFileName="vc_mswud\ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               Detect64BitPortabilityProblems="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;_WINDOWS;NOPCH"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_lib\mswud;.\..\..\include;.;.\..\..\samples"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxmsw29ud_ribbon.lib  wxmsw29ud_adv.lib  wxmsw29ud_core.lib  wxbase29ud.lib   wxtiffd.lib wxjpegd.lib wxpngd.lib  wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib"\r
+                               OutputFile="vc_mswud\ribbon.exe"\r
+                               LinkIncremental="2"\r
+                               SuppressStartupBanner="true"\r
+                               AdditionalLibraryDirectories=".\..\..\lib\vc_lib"\r
+                               GenerateManifest="true"\r
+                               GenerateDebugInformation="true"\r
+                               ProgramDatabaseFile="vc_mswud\ribbon.pdb"\r
+                               SubSystem="2"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="vc_mswud\ribbon_vc8.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebDeploymentTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+       </Configurations>\r
+       <References>\r
+               \r
+       </References>\r
+       <Files>\r
+               <Filter\r
+                       Name="Source Files"\r
+                       Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"\r
+                       UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"\r
+                       >\r
+                       <File\r
+                               RelativePath=".\ribbondemo.cpp"\r
+                               >\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="Resource Files"\r
+                       Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"\r
+                       UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"\r
+                       >\r
+                       <File\r
+                               RelativePath=".\..\sample.rc"\r
+                               >\r
+                       </File>\r
+               </Filter>\r
+       </Files>\r
+       <Globals>\r
+               \r
+       </Globals>\r
+</VisualStudioProject>\r
+\r
diff --git a/samples/ribbon/ribbon_vc9.sln b/samples/ribbon/ribbon_vc9.sln
new file mode 100644 (file)
index 0000000..06942a6
--- /dev/null
@@ -0,0 +1,38 @@
+Microsoft Visual Studio Solution File, Format Version 10.00\r
+# Visual Studio 2008\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ribbon", "ribbon_vc9.vcproj", "{B56D7915-3E5D-5D62-9C6C-05DE05427191}"\r
+EndProject\r
+Global\r
+       GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
+               DLL Universal Release|Win32 = DLL Universal Release|Win32\r
+               DLL Universal Debug|Win32 = DLL Universal Debug|Win32\r
+               DLL Release|Win32 = DLL Release|Win32\r
+               DLL Debug|Win32 = DLL Debug|Win32\r
+               Universal Release|Win32 = Universal Release|Win32\r
+               Universal Debug|Win32 = Universal Debug|Win32\r
+               Release|Win32 = Release|Win32\r
+               Debug|Win32 = Debug|Win32\r
+       EndGlobalSection\r
+       GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
+               {B56D7915-3E5D-5D62-9C6C-05DE05427191}.DLL Universal Release|Win32.ActiveCfg = DLL Universal Release|Win32\r
+               {B56D7915-3E5D-5D62-9C6C-05DE05427191}.DLL Universal Release|Win32.Build.0 = DLL Universal Release|Win32\r
+               {B56D7915-3E5D-5D62-9C6C-05DE05427191}.DLL Universal Debug|Win32.ActiveCfg = DLL Universal Debug|Win32\r
+               {B56D7915-3E5D-5D62-9C6C-05DE05427191}.DLL Universal Debug|Win32.Build.0 = DLL Universal Debug|Win32\r
+               {B56D7915-3E5D-5D62-9C6C-05DE05427191}.DLL Release|Win32.ActiveCfg = DLL Release|Win32\r
+               {B56D7915-3E5D-5D62-9C6C-05DE05427191}.DLL Release|Win32.Build.0 = DLL Release|Win32\r
+               {B56D7915-3E5D-5D62-9C6C-05DE05427191}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32\r
+               {B56D7915-3E5D-5D62-9C6C-05DE05427191}.DLL Debug|Win32.Build.0 = DLL Debug|Win32\r
+               {B56D7915-3E5D-5D62-9C6C-05DE05427191}.Universal Release|Win32.ActiveCfg = Universal Release|Win32\r
+               {B56D7915-3E5D-5D62-9C6C-05DE05427191}.Universal Release|Win32.Build.0 = Universal Release|Win32\r
+               {B56D7915-3E5D-5D62-9C6C-05DE05427191}.Universal Debug|Win32.ActiveCfg = Universal Debug|Win32\r
+               {B56D7915-3E5D-5D62-9C6C-05DE05427191}.Universal Debug|Win32.Build.0 = Universal Debug|Win32\r
+               {B56D7915-3E5D-5D62-9C6C-05DE05427191}.Release|Win32.ActiveCfg = Release|Win32\r
+               {B56D7915-3E5D-5D62-9C6C-05DE05427191}.Release|Win32.Build.0 = Release|Win32\r
+               {B56D7915-3E5D-5D62-9C6C-05DE05427191}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {B56D7915-3E5D-5D62-9C6C-05DE05427191}.Debug|Win32.Build.0 = Debug|Win32\r
+       EndGlobalSection\r
+       GlobalSection(SolutionProperties) = preSolution\r
+               HideSolutionNode = FALSE\r
+       EndGlobalSection\r
+EndGlobal\r
+\r
diff --git a/samples/ribbon/ribbon_vc9.vcproj b/samples/ribbon/ribbon_vc9.vcproj
new file mode 100644 (file)
index 0000000..ceb346c
--- /dev/null
@@ -0,0 +1,782 @@
+<?xml version="1.0" encoding="Windows-1252"?>\r
+<!--\r
+\r
+  This makefile was generated by\r
+  Bakefile 0.2.5 (http://www.bakefile.org)\r
+  Do not modify, all changes will be overwritten!\r
+\r
+-->\r
+<VisualStudioProject\r
+       ProjectType="Visual C++"\r
+       Version="9.00"\r
+       Name="ribbon"\r
+       ProjectGUID="{B56D7915-3E5D-5D62-9C6C-05DE05427191}"\r
+       >\r
+       <Platforms>\r
+               <Platform\r
+                       Name="Win32"\r
+               />\r
+       </Platforms>\r
+       <ToolFiles>\r
+               \r
+       </ToolFiles>\r
+       <Configurations>\r
+               <Configuration\r
+                       Name="DLL Universal Release|Win32"\r
+                       OutputDirectory="vc_mswunivudll"\r
+                       IntermediateDirectory="vc_mswunivudll\ribbon"\r
+                       ConfigurationType="1"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               AdditionalOptions="/MP"\r
+                               Optimization="2"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_dll\mswunivu;.\..\..\include;.;.\..\..\samples"\r
+                               PreprocessorDefinitions="__WXMSW__;__WXUNIVERSAL__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"\r
+                               ExceptionHandling="1"\r
+                               RuntimeLibrary="2"\r
+                               RuntimeTypeInfo="true"\r
+                               AssemblerListingLocation="vc_mswunivudll\ribbon\"\r
+                               ObjectFile="vc_mswunivudll\ribbon\"\r
+                               ProgramDataBaseFileName="vc_mswunivudll\ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="__WXMSW__;__WXUNIVERSAL__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_dll\mswunivu;.\..\..\include;.;.\..\..\samples"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxmswuniv29u_ribbon.lib  wxmswuniv29u_adv.lib  wxmswuniv29u_core.lib  wxbase29u.lib   wxtiff.lib wxjpeg.lib wxpng.lib  wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib"\r
+                               OutputFile="vc_mswunivudll\ribbon.exe"\r
+                               LinkIncremental="2"\r
+                               SuppressStartupBanner="true"\r
+                               AdditionalLibraryDirectories=".\..\..\lib\vc_dll"\r
+                               GenerateManifest="true"\r
+                               GenerateDebugInformation="true"\r
+                               ProgramDatabaseFile="vc_mswunivudll\ribbon.pdb"\r
+                               SubSystem="2"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="vc_mswunivudll\ribbon_vc9.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="DLL Universal Debug|Win32"\r
+                       OutputDirectory="vc_mswunivuddll"\r
+                       IntermediateDirectory="vc_mswunivuddll\ribbon"\r
+                       ConfigurationType="1"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               AdditionalOptions="/MP"\r
+                               Optimization="0"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_dll\mswunivud;.\..\..\include;.;.\..\..\samples"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"\r
+                               ExceptionHandling="1"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="3"\r
+                               BufferSecurityCheck="true"\r
+                               RuntimeTypeInfo="true"\r
+                               AssemblerListingLocation="vc_mswunivuddll\ribbon\"\r
+                               ObjectFile="vc_mswunivuddll\ribbon\"\r
+                               ProgramDataBaseFileName="vc_mswunivuddll\ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_dll\mswunivud;.\..\..\include;.;.\..\..\samples"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxmswuniv29ud_ribbon.lib  wxmswuniv29ud_adv.lib  wxmswuniv29ud_core.lib  wxbase29ud.lib   wxtiffd.lib wxjpegd.lib wxpngd.lib  wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib"\r
+                               OutputFile="vc_mswunivuddll\ribbon.exe"\r
+                               LinkIncremental="2"\r
+                               SuppressStartupBanner="true"\r
+                               AdditionalLibraryDirectories=".\..\..\lib\vc_dll"\r
+                               GenerateManifest="true"\r
+                               GenerateDebugInformation="true"\r
+                               ProgramDatabaseFile="vc_mswunivuddll\ribbon.pdb"\r
+                               SubSystem="2"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="vc_mswunivuddll\ribbon_vc9.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="DLL Release|Win32"\r
+                       OutputDirectory="vc_mswudll"\r
+                       IntermediateDirectory="vc_mswudll\ribbon"\r
+                       ConfigurationType="1"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               AdditionalOptions="/MP"\r
+                               Optimization="2"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_dll\mswu;.\..\..\include;.;.\..\..\samples"\r
+                               PreprocessorDefinitions="__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"\r
+                               ExceptionHandling="1"\r
+                               RuntimeLibrary="2"\r
+                               RuntimeTypeInfo="true"\r
+                               AssemblerListingLocation="vc_mswudll\ribbon\"\r
+                               ObjectFile="vc_mswudll\ribbon\"\r
+                               ProgramDataBaseFileName="vc_mswudll\ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_dll\mswu;.\..\..\include;.;.\..\..\samples"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxmsw29u_ribbon.lib  wxmsw29u_adv.lib  wxmsw29u_core.lib  wxbase29u.lib   wxtiff.lib wxjpeg.lib wxpng.lib  wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib"\r
+                               OutputFile="vc_mswudll\ribbon.exe"\r
+                               LinkIncremental="2"\r
+                               SuppressStartupBanner="true"\r
+                               AdditionalLibraryDirectories=".\..\..\lib\vc_dll"\r
+                               GenerateManifest="true"\r
+                               GenerateDebugInformation="true"\r
+                               ProgramDatabaseFile="vc_mswudll\ribbon.pdb"\r
+                               SubSystem="2"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="vc_mswudll\ribbon_vc9.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="DLL Debug|Win32"\r
+                       OutputDirectory="vc_mswuddll"\r
+                       IntermediateDirectory="vc_mswuddll\ribbon"\r
+                       ConfigurationType="1"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               AdditionalOptions="/MP"\r
+                               Optimization="0"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_dll\mswud;.\..\..\include;.;.\..\..\samples"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"\r
+                               ExceptionHandling="1"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="3"\r
+                               BufferSecurityCheck="true"\r
+                               RuntimeTypeInfo="true"\r
+                               AssemblerListingLocation="vc_mswuddll\ribbon\"\r
+                               ObjectFile="vc_mswuddll\ribbon\"\r
+                               ProgramDataBaseFileName="vc_mswuddll\ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_dll\mswud;.\..\..\include;.;.\..\..\samples"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxmsw29ud_ribbon.lib  wxmsw29ud_adv.lib  wxmsw29ud_core.lib  wxbase29ud.lib   wxtiffd.lib wxjpegd.lib wxpngd.lib  wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib"\r
+                               OutputFile="vc_mswuddll\ribbon.exe"\r
+                               LinkIncremental="2"\r
+                               SuppressStartupBanner="true"\r
+                               AdditionalLibraryDirectories=".\..\..\lib\vc_dll"\r
+                               GenerateManifest="true"\r
+                               GenerateDebugInformation="true"\r
+                               ProgramDatabaseFile="vc_mswuddll\ribbon.pdb"\r
+                               SubSystem="2"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="vc_mswuddll\ribbon_vc9.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Universal Release|Win32"\r
+                       OutputDirectory="vc_mswunivu"\r
+                       IntermediateDirectory="vc_mswunivu\ribbon"\r
+                       ConfigurationType="1"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               AdditionalOptions="/MP"\r
+                               Optimization="2"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_lib\mswunivu;.\..\..\include;.;.\..\..\samples"\r
+                               PreprocessorDefinitions="__WXMSW__;__WXUNIVERSAL__;_UNICODE;_WINDOWS;NOPCH"\r
+                               ExceptionHandling="1"\r
+                               RuntimeLibrary="2"\r
+                               RuntimeTypeInfo="true"\r
+                               AssemblerListingLocation="vc_mswunivu\ribbon\"\r
+                               ObjectFile="vc_mswunivu\ribbon\"\r
+                               ProgramDataBaseFileName="vc_mswunivu\ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="__WXMSW__;__WXUNIVERSAL__;_UNICODE;_WINDOWS;NOPCH"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_lib\mswunivu;.\..\..\include;.;.\..\..\samples"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxmswuniv29u_ribbon.lib  wxmswuniv29u_adv.lib  wxmswuniv29u_core.lib  wxbase29u.lib   wxtiff.lib wxjpeg.lib wxpng.lib  wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib"\r
+                               OutputFile="vc_mswunivu\ribbon.exe"\r
+                               LinkIncremental="2"\r
+                               SuppressStartupBanner="true"\r
+                               AdditionalLibraryDirectories=".\..\..\lib\vc_lib"\r
+                               GenerateManifest="true"\r
+                               GenerateDebugInformation="true"\r
+                               ProgramDatabaseFile="vc_mswunivu\ribbon.pdb"\r
+                               SubSystem="2"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="vc_mswunivu\ribbon_vc9.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Universal Debug|Win32"\r
+                       OutputDirectory="vc_mswunivud"\r
+                       IntermediateDirectory="vc_mswunivud\ribbon"\r
+                       ConfigurationType="1"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               AdditionalOptions="/MP"\r
+                               Optimization="0"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_lib\mswunivud;.\..\..\include;.;.\..\..\samples"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;_WINDOWS;NOPCH"\r
+                               ExceptionHandling="1"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="3"\r
+                               BufferSecurityCheck="true"\r
+                               RuntimeTypeInfo="true"\r
+                               AssemblerListingLocation="vc_mswunivud\ribbon\"\r
+                               ObjectFile="vc_mswunivud\ribbon\"\r
+                               ProgramDataBaseFileName="vc_mswunivud\ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXUNIVERSAL__;__WXDEBUG__;_UNICODE;_WINDOWS;NOPCH"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_lib\mswunivud;.\..\..\include;.;.\..\..\samples"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxmswuniv29ud_ribbon.lib  wxmswuniv29ud_adv.lib  wxmswuniv29ud_core.lib  wxbase29ud.lib   wxtiffd.lib wxjpegd.lib wxpngd.lib  wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib"\r
+                               OutputFile="vc_mswunivud\ribbon.exe"\r
+                               LinkIncremental="2"\r
+                               SuppressStartupBanner="true"\r
+                               AdditionalLibraryDirectories=".\..\..\lib\vc_lib"\r
+                               GenerateManifest="true"\r
+                               GenerateDebugInformation="true"\r
+                               ProgramDatabaseFile="vc_mswunivud\ribbon.pdb"\r
+                               SubSystem="2"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="vc_mswunivud\ribbon_vc9.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Release|Win32"\r
+                       OutputDirectory="vc_mswu"\r
+                       IntermediateDirectory="vc_mswu\ribbon"\r
+                       ConfigurationType="1"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               AdditionalOptions="/MP"\r
+                               Optimization="2"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_lib\mswu;.\..\..\include;.;.\..\..\samples"\r
+                               PreprocessorDefinitions="__WXMSW__;_UNICODE;_WINDOWS;NOPCH"\r
+                               ExceptionHandling="1"\r
+                               RuntimeLibrary="2"\r
+                               RuntimeTypeInfo="true"\r
+                               AssemblerListingLocation="vc_mswu\ribbon\"\r
+                               ObjectFile="vc_mswu\ribbon\"\r
+                               ProgramDataBaseFileName="vc_mswu\ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="__WXMSW__;_UNICODE;_WINDOWS;NOPCH"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_lib\mswu;.\..\..\include;.;.\..\..\samples"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxmsw29u_ribbon.lib  wxmsw29u_adv.lib  wxmsw29u_core.lib  wxbase29u.lib   wxtiff.lib wxjpeg.lib wxpng.lib  wxzlib.lib wxregexu.lib wxexpat.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib"\r
+                               OutputFile="vc_mswu\ribbon.exe"\r
+                               LinkIncremental="2"\r
+                               SuppressStartupBanner="true"\r
+                               AdditionalLibraryDirectories=".\..\..\lib\vc_lib"\r
+                               GenerateManifest="true"\r
+                               GenerateDebugInformation="true"\r
+                               ProgramDatabaseFile="vc_mswu\ribbon.pdb"\r
+                               SubSystem="2"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="vc_mswu\ribbon_vc9.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+               <Configuration\r
+                       Name="Debug|Win32"\r
+                       OutputDirectory="vc_mswud"\r
+                       IntermediateDirectory="vc_mswud\ribbon"\r
+                       ConfigurationType="1"\r
+                       UseOfMFC="0"\r
+                       ATLMinimizesCRunTimeLibraryUsage="false"\r
+                       CharacterSet="1"\r
+                       >\r
+                       <Tool\r
+                               Name="VCPreBuildEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCustomBuildTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXMLDataGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCWebServiceProxyGeneratorTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCIDLTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCCLCompilerTool"\r
+                               AdditionalOptions="/MP"\r
+                               Optimization="0"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_lib\mswud;.\..\..\include;.;.\..\..\samples"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;_WINDOWS;NOPCH"\r
+                               ExceptionHandling="1"\r
+                               BasicRuntimeChecks="3"\r
+                               RuntimeLibrary="3"\r
+                               BufferSecurityCheck="true"\r
+                               RuntimeTypeInfo="true"\r
+                               AssemblerListingLocation="vc_mswud\ribbon\"\r
+                               ObjectFile="vc_mswud\ribbon\"\r
+                               ProgramDataBaseFileName="vc_mswud\ribbon.pdb"\r
+                               WarningLevel="4"\r
+                               SuppressStartupBanner="true"\r
+                               DebugInformationFormat="3"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManagedResourceCompilerTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCResourceCompilerTool"\r
+                               PreprocessorDefinitions="_DEBUG;__WXMSW__;__WXDEBUG__;_UNICODE;_WINDOWS;NOPCH"\r
+                               Culture="1033"\r
+                               AdditionalIncludeDirectories=".\..\..\lib\vc_lib\mswud;.\..\..\include;.;.\..\..\samples"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPreLinkEventTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCLinkerTool"\r
+                               AdditionalOptions=""\r
+                               AdditionalDependencies="wxmsw29ud_ribbon.lib  wxmsw29ud_adv.lib  wxmsw29ud_core.lib  wxbase29ud.lib   wxtiffd.lib wxjpegd.lib wxpngd.lib  wxzlibd.lib wxregexud.lib wxexpatd.lib    kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib"\r
+                               OutputFile="vc_mswud\ribbon.exe"\r
+                               LinkIncremental="2"\r
+                               SuppressStartupBanner="true"\r
+                               AdditionalLibraryDirectories=".\..\..\lib\vc_lib"\r
+                               GenerateManifest="true"\r
+                               GenerateDebugInformation="true"\r
+                               ProgramDatabaseFile="vc_mswud\ribbon.pdb"\r
+                               SubSystem="2"\r
+                               TargetMachine="1"\r
+                       />\r
+                       <Tool\r
+                               Name="VCALinkTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCManifestTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCXDCMakeTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCBscMakeTool"\r
+                               OutputFile="vc_mswud\ribbon_vc9.bsc"\r
+                               SuppressStartupBanner="true"\r
+                       />\r
+                       <Tool\r
+                               Name="VCFxCopTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCAppVerifierTool"\r
+                       />\r
+                       <Tool\r
+                               Name="VCPostBuildEventTool"\r
+                       />\r
+               </Configuration>\r
+       </Configurations>\r
+       <References>\r
+               \r
+       </References>\r
+       <Files>\r
+               <Filter\r
+                       Name="Source Files"\r
+                       Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"\r
+                       UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"\r
+                       >\r
+                       <File\r
+                               RelativePath=".\ribbondemo.cpp"\r
+                               >\r
+                       </File>\r
+               </Filter>\r
+               <Filter\r
+                       Name="Resource Files"\r
+                       Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"\r
+                       UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"\r
+                       >\r
+                       <File\r
+                               RelativePath=".\..\sample.rc"\r
+                               >\r
+                       </File>\r
+               </Filter>\r
+       </Files>\r
+       <Globals>\r
+               \r
+       </Globals>\r
+</VisualStudioProject>\r
+\r
diff --git a/samples/ribbon/ribbondemo.cpp b/samples/ribbon/ribbondemo.cpp
new file mode 100644 (file)
index 0000000..05bbdc4
--- /dev/null
@@ -0,0 +1,762 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        ribbondemo.cpp
+// Purpose:     wxRibbon: Ribbon user interface - sample/test program
+// Author:      Peter Cawley
+// Modified by:
+// Created:     2009-05-25
+// RCS-ID:      $Id$
+// Copyright:   (C) Copyright 2009, Peter Cawley
+// Licence:     wxWindows Library Licence
+///////////////////////////////////////////////////////////////////////////////
+
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#include "wx/app.h"
+#include "wx/frame.h"
+#include "wx/textctrl.h"
+#include "wx/ribbon/bar.h"
+#include "wx/ribbon/buttonbar.h"
+#include "wx/ribbon/gallery.h"
+#include "wx/ribbon/toolbar.h"
+#include "wx/sizer.h"
+#include "wx/menu.h"
+#include "wx/dcbuffer.h"
+#include "wx/colordlg.h"
+#include "wx/artprov.h"
+
+// -- application --
+
+class MyApp : public wxApp
+{
+public:
+    bool OnInit();
+};
+
+DECLARE_APP(MyApp)
+IMPLEMENT_APP(MyApp)
+
+// -- frame --
+
+class MyFrame : public wxFrame
+{
+public:
+    MyFrame();
+    ~MyFrame();
+
+    enum
+    {
+        ID_CIRCLE = wxID_HIGHEST + 1,
+        ID_CROSS,
+        ID_TRIANGLE,
+        ID_SQUARE,
+        ID_POLYGON,
+        ID_SELECTION_EXPAND_H,
+        ID_SELECTION_EXPAND_V,
+        ID_SELECTION_CONTRACT,
+        ID_PRIMARY_COLOUR,
+        ID_SECONDARY_COLOUR,
+        ID_DEFAULT_PROVIDER,
+        ID_AUI_PROVIDER,
+        ID_MSW_PROVIDER,
+        ID_MAIN_TOOLBAR,
+        ID_POSITION_TOP,
+        ID_POSITION_TOP_ICONS,
+        ID_POSITION_TOP_BOTH,
+        ID_POSITION_LEFT,
+        ID_POSITION_LEFT_LABELS,
+        ID_POSITION_LEFT_BOTH,
+    };
+
+    void OnCircleButton(wxRibbonButtonBarEvent& evt);
+    void OnCrossButton(wxRibbonButtonBarEvent& evt);
+    void OnTriangleButton(wxRibbonButtonBarEvent& evt);
+    void OnTriangleDropdown(wxRibbonButtonBarEvent& evt);
+    void OnSquareButton(wxRibbonButtonBarEvent& evt);
+    void OnPolygonDropdown(wxRibbonButtonBarEvent& evt);
+    void OnSelectionExpandVButton(wxRibbonButtonBarEvent& evt);
+    void OnSelectionExpandHButton(wxRibbonButtonBarEvent& evt);
+    void OnSelectionContractButton(wxRibbonButtonBarEvent& evt);
+    void OnHoveredColourChange(wxRibbonGalleryEvent& evt);
+    void OnPrimaryColourSelect(wxRibbonGalleryEvent& evt);
+    void OnSecondaryColourSelect(wxRibbonGalleryEvent& evt);
+    void OnColourGalleryButton(wxCommandEvent& evt);
+    void OnDefaultProvider(wxRibbonButtonBarEvent& evt);
+    void OnAUIProvider(wxRibbonButtonBarEvent& evt);
+    void OnMSWProvider(wxRibbonButtonBarEvent& evt);
+    void OnNew(wxRibbonToolBarEvent& evt);
+    void OnNewDropdown(wxRibbonToolBarEvent& evt);
+    void OnPrint(wxRibbonToolBarEvent& evt);
+    void OnPrintDropdown(wxRibbonToolBarEvent& evt);
+    void OnRedoDropdown(wxRibbonToolBarEvent& evt);
+    void OnUndoDropdown(wxRibbonToolBarEvent& evt);
+    void OnPositionTop(wxRibbonToolBarEvent& evt);
+    void OnPositionTopLabels(wxCommandEvent& evt);
+    void OnPositionTopIcons(wxCommandEvent& evt);
+    void OnPositionTopBoth(wxCommandEvent& evt);
+    void OnPositionTopDropdown(wxRibbonToolBarEvent& evt);
+    void OnPositionLeft(wxRibbonToolBarEvent& evt);
+    void OnPositionLeftLabels(wxCommandEvent& evt);
+    void OnPositionLeftIcons(wxCommandEvent& evt);
+    void OnPositionLeftBoth(wxCommandEvent& evt);
+    void OnPositionLeftDropdown(wxRibbonToolBarEvent& evt);
+
+protected:
+    wxRibbonGallery* PopulateColoursPanel(wxWindow* panel, wxColour def,
+        int gallery_id);
+    void AddText(wxString msg);
+    wxRibbonGalleryItem* AddColourToGallery(wxRibbonGallery *gallery,
+        wxString name, wxMemoryDC& dc, wxColour* value = NULL);
+    wxColour GetGalleryColour(wxRibbonGallery *gallery,
+        wxRibbonGalleryItem* item, wxString* name);
+    void ResetGalleryArtProviders();
+    void SetArtProvider(wxRibbonArtProvider* prov);
+    void SetBarStyle(long style);
+
+    wxRibbonBar* m_ribbon;
+    wxRibbonGallery* m_primary_gallery;
+    wxRibbonGallery* m_secondary_gallery;
+    wxTextCtrl* m_logwindow;
+    wxColourData m_colour_data;
+    wxColour m_default_primary;
+    wxColour m_default_secondary;
+    wxColour m_default_tertiary;
+    wxMemoryDC m_bitmap_creation_dc;
+
+    DECLARE_EVENT_TABLE()
+};
+
+// -- implementations --
+
+bool MyApp::OnInit()
+{
+    if(!wxApp::OnInit())
+        return false;
+
+    wxFrame* frame = new MyFrame;
+    SetTopWindow(frame);
+    frame->Show();
+
+    return true;
+}
+
+BEGIN_EVENT_TABLE(MyFrame, wxFrame)
+EVT_RIBBONBUTTONBAR_CLICKED(ID_DEFAULT_PROVIDER, MyFrame::OnDefaultProvider)
+EVT_RIBBONBUTTONBAR_CLICKED(ID_AUI_PROVIDER, MyFrame::OnAUIProvider)
+EVT_RIBBONBUTTONBAR_CLICKED(ID_MSW_PROVIDER, MyFrame::OnMSWProvider)
+EVT_RIBBONBUTTONBAR_CLICKED(ID_SELECTION_EXPAND_H, MyFrame::OnSelectionExpandHButton)
+EVT_RIBBONBUTTONBAR_CLICKED(ID_SELECTION_EXPAND_V, MyFrame::OnSelectionExpandVButton)
+EVT_RIBBONBUTTONBAR_CLICKED(ID_SELECTION_CONTRACT, MyFrame::OnSelectionContractButton)
+EVT_RIBBONBUTTONBAR_CLICKED(ID_CIRCLE, MyFrame::OnCircleButton)
+EVT_RIBBONBUTTONBAR_CLICKED(ID_CROSS, MyFrame::OnCrossButton)
+EVT_RIBBONBUTTONBAR_CLICKED(ID_TRIANGLE, MyFrame::OnTriangleButton)
+EVT_RIBBONBUTTONBAR_CLICKED(ID_SQUARE, MyFrame::OnSquareButton)
+EVT_RIBBONBUTTONBAR_DROPDOWN_CLICKED(ID_TRIANGLE, MyFrame::OnTriangleDropdown)
+EVT_RIBBONBUTTONBAR_DROPDOWN_CLICKED(ID_POLYGON, MyFrame::OnPolygonDropdown)
+EVT_RIBBONGALLERY_HOVER_CHANGED(ID_PRIMARY_COLOUR, MyFrame::OnHoveredColourChange)
+EVT_RIBBONGALLERY_HOVER_CHANGED(ID_SECONDARY_COLOUR, MyFrame::OnHoveredColourChange)
+EVT_RIBBONGALLERY_SELECTED(ID_PRIMARY_COLOUR, MyFrame::OnPrimaryColourSelect)
+EVT_RIBBONGALLERY_SELECTED(ID_SECONDARY_COLOUR, MyFrame::OnSecondaryColourSelect)
+EVT_RIBBONTOOLBAR_CLICKED(wxID_NEW, MyFrame::OnNew)
+EVT_RIBBONTOOLBAR_DROPDOWN_CLICKED(wxID_NEW, MyFrame::OnNewDropdown)
+EVT_RIBBONTOOLBAR_CLICKED(wxID_PRINT, MyFrame::OnPrint)
+EVT_RIBBONTOOLBAR_DROPDOWN_CLICKED(wxID_PRINT, MyFrame::OnPrintDropdown)
+EVT_RIBBONTOOLBAR_DROPDOWN_CLICKED(wxID_REDO, MyFrame::OnRedoDropdown)
+EVT_RIBBONTOOLBAR_DROPDOWN_CLICKED(wxID_UNDO, MyFrame::OnUndoDropdown)
+EVT_RIBBONTOOLBAR_CLICKED(ID_POSITION_LEFT, MyFrame::OnPositionLeft)
+EVT_RIBBONTOOLBAR_DROPDOWN_CLICKED(ID_POSITION_LEFT, MyFrame::OnPositionLeftDropdown)
+EVT_RIBBONTOOLBAR_CLICKED(ID_POSITION_TOP, MyFrame::OnPositionTop)
+EVT_RIBBONTOOLBAR_DROPDOWN_CLICKED(ID_POSITION_TOP, MyFrame::OnPositionTopDropdown)
+EVT_BUTTON(ID_PRIMARY_COLOUR, MyFrame::OnColourGalleryButton)
+EVT_BUTTON(ID_SECONDARY_COLOUR, MyFrame::OnColourGalleryButton)
+EVT_MENU(ID_POSITION_LEFT, MyFrame::OnPositionLeftIcons)
+EVT_MENU(ID_POSITION_LEFT_LABELS, MyFrame::OnPositionLeftLabels)
+EVT_MENU(ID_POSITION_LEFT_BOTH, MyFrame::OnPositionLeftBoth)
+EVT_MENU(ID_POSITION_TOP, MyFrame::OnPositionTopLabels)
+EVT_MENU(ID_POSITION_TOP_ICONS, MyFrame::OnPositionTopIcons)
+EVT_MENU(ID_POSITION_TOP_BOTH, MyFrame::OnPositionTopBoth)
+END_EVENT_TABLE()
+
+#include "align_center.xpm"
+#include "align_left.xpm"
+#include "align_right.xpm"
+#include "aui_style.xpm"
+#include "auto_crop_selection.xpm"
+#include "auto_crop_selection_small.xpm"
+#include "circle.xpm"
+#include "circle_small.xpm"
+#include "colours.xpm"
+#include "cross.xpm"
+#include "empty.xpm"
+#include "expand_selection_v.xpm"
+#include "expand_selection_h.xpm"
+#include "eye.xpm"
+#include "hexagon.xpm"
+#include "msw_style.xpm"
+#include "position_left_small.xpm"
+#include "position_top_small.xpm"
+#include "ribbon.xpm"
+#include "selection_panel.xpm"
+#include "square.xpm"
+#include "triangle.xpm"
+
+MyFrame::MyFrame()
+    : wxFrame(NULL, wxID_ANY, wxT("wxRibbon Sample Application"), wxDefaultPosition, wxSize(800, 600), wxDEFAULT_FRAME_STYLE)
+{
+    m_ribbon = new wxRibbonBar(this, wxID_ANY);
+
+    {
+        wxRibbonPage* home = new wxRibbonPage(m_ribbon, wxID_ANY, wxT("Examples"), ribbon_xpm);
+        wxRibbonPanel *toolbar_panel = new wxRibbonPanel(home, wxID_ANY, wxT("Toolbar"), wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxRIBBON_PANEL_NO_AUTO_MINIMISE);
+        wxRibbonToolBar *toolbar = new wxRibbonToolBar(toolbar_panel, ID_MAIN_TOOLBAR);
+        toolbar->AddTool(wxID_ANY, align_left_xpm);
+        toolbar->AddTool(wxID_ANY, align_center_xpm);
+        toolbar->AddTool(wxID_ANY, align_right_xpm);
+        toolbar->AddSeparator();
+        toolbar->AddHybridTool(wxID_NEW, wxArtProvider::GetBitmap(wxART_NEW, wxART_OTHER, wxSize(16, 15)));
+        toolbar->AddTool(wxID_ANY, wxArtProvider::GetBitmap(wxART_FILE_OPEN, wxART_OTHER, wxSize(16, 15)));
+        toolbar->AddTool(wxID_ANY, wxArtProvider::GetBitmap(wxART_FILE_SAVE, wxART_OTHER, wxSize(16, 15)));
+        toolbar->AddTool(wxID_ANY, wxArtProvider::GetBitmap(wxART_FILE_SAVE_AS, wxART_OTHER, wxSize(16, 15)));
+        toolbar->AddSeparator();
+        toolbar->AddDropdownTool(wxID_UNDO, wxArtProvider::GetBitmap(wxART_UNDO, wxART_OTHER, wxSize(16, 15)));
+        toolbar->AddDropdownTool(wxID_REDO, wxArtProvider::GetBitmap(wxART_REDO, wxART_OTHER, wxSize(16, 15)));
+        toolbar->AddSeparator();
+        toolbar->AddTool(wxID_ANY, wxArtProvider::GetBitmap(wxART_REPORT_VIEW, wxART_OTHER, wxSize(16, 15)));
+        toolbar->AddTool(wxID_ANY, wxArtProvider::GetBitmap(wxART_LIST_VIEW, wxART_OTHER, wxSize(16, 15)));
+        toolbar->AddSeparator();
+        toolbar->AddHybridTool(ID_POSITION_LEFT, position_left_xpm);
+        toolbar->AddHybridTool(ID_POSITION_TOP, position_top_xpm);
+        toolbar->AddSeparator();
+        toolbar->AddHybridTool(wxID_PRINT, wxArtProvider::GetBitmap(wxART_PRINT, wxART_OTHER, wxSize(16, 15)));
+        toolbar->SetRows(2, 3);
+
+        wxRibbonPanel *selection_panel = new wxRibbonPanel(home, wxID_ANY, wxT("Selection"), wxBitmap(selection_panel_xpm));
+        wxRibbonButtonBar *selection = new wxRibbonButtonBar(selection_panel);
+        selection->AddButton(ID_SELECTION_EXPAND_V, wxT("Expand Vertically"), wxBitmap(expand_selection_v_xpm), wxEmptyString);
+        selection->AddButton(ID_SELECTION_EXPAND_H, wxT("Expand Horizontally"), wxBitmap(expand_selection_h_xpm), wxEmptyString);
+        selection->AddButton(ID_SELECTION_CONTRACT, wxT("Contract"), wxBitmap(auto_crop_selection_xpm), wxBitmap(auto_crop_selection_small_xpm));
+
+        wxRibbonPanel *shapes_panel = new wxRibbonPanel(home, wxID_ANY, wxT("Shapes"), wxBitmap(circle_small_xpm));
+        wxRibbonButtonBar *shapes = new wxRibbonButtonBar(shapes_panel);
+        shapes->AddButton(ID_CIRCLE, wxT("Circle"), wxBitmap(circle_xpm), wxBitmap(circle_small_xpm));
+        shapes->AddButton(ID_CROSS, wxT("Cross"), wxBitmap(cross_xpm), wxEmptyString);
+        shapes->AddHybridButton(ID_TRIANGLE, wxT("Triangle"), wxBitmap(triangle_xpm));
+        shapes->AddButton(ID_SQUARE, wxT("Square"), wxBitmap(square_xpm), wxEmptyString);
+        shapes->AddDropdownButton(ID_POLYGON, wxT("Other Polygon"), wxBitmap(hexagon_xpm), wxEmptyString);
+
+        new wxRibbonPanel(home, wxID_ANY, wxT("Another Panel"), wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxRIBBON_PANEL_EXT_BUTTON);
+    }
+    {
+        wxFont label_font(8, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_LIGHT);
+        m_bitmap_creation_dc.SetFont(label_font);
+
+        wxRibbonPage* scheme = new wxRibbonPage(m_ribbon, wxID_ANY, wxT("Appearance"), eye_xpm);
+        m_ribbon->GetArtProvider()->GetColourScheme(&m_default_primary,
+            &m_default_secondary, &m_default_tertiary);
+        wxRibbonPanel *provider_panel = new wxRibbonPanel(scheme, wxID_ANY,
+            wxT("Art"), wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxRIBBON_PANEL_NO_AUTO_MINIMISE);
+        wxRibbonButtonBar *provider_bar = new wxRibbonButtonBar(provider_panel, wxID_ANY);
+        provider_bar->AddButton(ID_DEFAULT_PROVIDER, wxT("Default Provider"),
+            wxArtProvider::GetBitmap(wxART_QUESTION, wxART_OTHER, wxSize(32, 32)));
+        provider_bar->AddButton(ID_AUI_PROVIDER, wxT("AUI Provider"), aui_style_xpm);
+        provider_bar->AddButton(ID_MSW_PROVIDER, wxT("MSW Provider"), msw_style_xpm);
+        wxRibbonPanel *primary_panel = new wxRibbonPanel(scheme, wxID_ANY,
+            wxT("Primary Colour"), colours_xpm);
+        m_primary_gallery = PopulateColoursPanel(primary_panel,
+            m_default_primary, ID_PRIMARY_COLOUR);
+        wxRibbonPanel *secondary_panel = new wxRibbonPanel(scheme, wxID_ANY,
+            wxT("Secondary Colour"), colours_xpm);
+        m_secondary_gallery = PopulateColoursPanel(secondary_panel,
+            m_default_secondary, ID_SECONDARY_COLOUR);
+    }
+    new wxRibbonPage(m_ribbon, wxID_ANY, wxT("Empty Page"), empty_xpm);
+    new wxRibbonPage(m_ribbon, wxID_ANY, wxT("Another Page"), empty_xpm);
+
+    m_ribbon->Realize();
+
+    m_logwindow = new wxTextCtrl(this, wxID_ANY, wxEmptyString,
+        wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE | wxTE_READONLY |
+        wxTE_LEFT | wxTE_BESTWRAP | wxBORDER_NONE);
+
+    wxSizer *s = new wxBoxSizer(wxVERTICAL);
+
+    s->Add(m_ribbon, 0, wxEXPAND);
+    s->Add(m_logwindow, 1, wxEXPAND);
+
+    SetSizer(s);
+}
+
+void MyFrame::SetBarStyle(long style)
+{
+    m_ribbon->Freeze();
+    m_ribbon->SetWindowStyleFlag(style);
+    wxBoxSizer *pTopSize = reinterpret_cast<wxBoxSizer*>(GetSizer());
+    wxRibbonToolBar *pToolbar = wxDynamicCast(FindWindow(ID_MAIN_TOOLBAR), wxRibbonToolBar);
+    if(style & wxRIBBON_BAR_FLOW_VERTICAL)
+    {
+        m_ribbon->SetTabCtrlMargins(10, 10);
+        pTopSize->SetOrientation(wxHORIZONTAL);
+        if(pToolbar)
+            pToolbar->SetRows(3, 5);
+    }
+    else
+    {
+        m_ribbon->SetTabCtrlMargins(50, 20);
+        pTopSize->SetOrientation(wxVERTICAL);
+        if(pToolbar)
+            pToolbar->SetRows(2, 3);
+    }
+    m_ribbon->Realise();
+    Layout();
+    m_ribbon->Thaw();
+}
+
+MyFrame::~MyFrame()
+{
+}
+
+class ColourClientData : public wxClientData
+{
+public:
+    ColourClientData(const wxString& name, const wxColour& colour)
+        : m_name(name), m_colour(colour) {}
+
+    const wxString& GetName()   const {return m_name;}
+    const wxColour& GetColour() const {return m_colour;}
+
+private:
+    wxString m_name;
+    wxColour m_colour;
+};
+
+wxRibbonGallery* MyFrame::PopulateColoursPanel(wxWindow* panel,
+                                               wxColour def, int gallery_id)
+{
+    wxRibbonGallery *gallery = wxDynamicCast(panel->FindWindow(gallery_id), wxRibbonGallery);
+    if(gallery)
+        gallery->Clear();
+    else
+        gallery = new wxRibbonGallery(panel, gallery_id);
+    wxMemoryDC& dc = m_bitmap_creation_dc;
+    wxRibbonGalleryItem *def_item = 
+        AddColourToGallery(gallery, wxT("Default"), dc, &def);
+    gallery->SetSelection(def_item);
+    AddColourToGallery(gallery, wxT("BLUE"), dc);
+    AddColourToGallery(gallery, wxT("BLUE VIOLET"), dc);
+    AddColourToGallery(gallery, wxT("BROWN"), dc);
+    AddColourToGallery(gallery, wxT("CADET BLUE"), dc);
+    AddColourToGallery(gallery, wxT("CORAL"), dc);
+    AddColourToGallery(gallery, wxT("CYAN"), dc);
+    AddColourToGallery(gallery, wxT("DARK GREEN"), dc);
+    AddColourToGallery(gallery, wxT("DARK ORCHID"), dc);
+    AddColourToGallery(gallery, wxT("FIREBRICK"), dc);
+    AddColourToGallery(gallery, wxT("GOLD"), dc);
+    AddColourToGallery(gallery, wxT("GOLDENROD"), dc);
+    AddColourToGallery(gallery, wxT("GREEN"), dc);
+    AddColourToGallery(gallery, wxT("INDIAN RED"), dc);
+    AddColourToGallery(gallery, wxT("KHAKI"), dc);
+    AddColourToGallery(gallery, wxT("LIGHT BLUE"), dc);
+    AddColourToGallery(gallery, wxT("LIME GREEN"), dc);
+    AddColourToGallery(gallery, wxT("MAGENTA"), dc);
+    AddColourToGallery(gallery, wxT("MAROON"), dc);
+    AddColourToGallery(gallery, wxT("NAVY"), dc);
+    AddColourToGallery(gallery, wxT("ORANGE"), dc);
+    AddColourToGallery(gallery, wxT("ORCHID"), dc);
+    AddColourToGallery(gallery, wxT("PINK"), dc);
+    AddColourToGallery(gallery, wxT("PLUM"), dc);
+    AddColourToGallery(gallery, wxT("PURPLE"), dc);
+    AddColourToGallery(gallery, wxT("RED"), dc);
+    AddColourToGallery(gallery, wxT("SALMON"), dc);
+    AddColourToGallery(gallery, wxT("SEA GREEN"), dc);
+    AddColourToGallery(gallery, wxT("SIENNA"), dc);
+    AddColourToGallery(gallery, wxT("SKY BLUE"), dc);
+    AddColourToGallery(gallery, wxT("TAN"), dc);
+    AddColourToGallery(gallery, wxT("THISTLE"), dc);
+    AddColourToGallery(gallery, wxT("TURQUOISE"), dc);
+    AddColourToGallery(gallery, wxT("VIOLET"), dc);
+    AddColourToGallery(gallery, wxT("VIOLET RED"), dc);
+    AddColourToGallery(gallery, wxT("WHEAT"), dc);
+    AddColourToGallery(gallery, wxT("WHITE"), dc);
+    AddColourToGallery(gallery, wxT("YELLOW"), dc);
+
+    return gallery;
+}
+
+wxColour MyFrame::GetGalleryColour(wxRibbonGallery *gallery,
+                                   wxRibbonGalleryItem* item, wxString* name)
+{
+    ColourClientData *data = (ColourClientData*)gallery->GetItemClientObject(item);
+    if(name != NULL)
+        *name = data->GetName();
+    return data->GetColour();
+}
+
+void MyFrame::OnHoveredColourChange(wxRibbonGalleryEvent& evt)
+{
+    // Set the background of the gallery to the hovered colour, or back to the
+    // default if there is no longer a hovered item.
+
+    wxRibbonGallery *gallery = evt.GetGallery();
+    wxRibbonArtProvider *provider = gallery->GetArtProvider();
+
+    if(evt.GetGalleryItem() != NULL)
+    {
+        if(provider == m_ribbon->GetArtProvider())
+        {
+            provider = provider->Clone();
+            gallery->SetArtProvider(provider);
+        }
+        provider->SetColour(wxRIBBON_ART_GALLERY_HOVER_BACKGROUND_COLOUR,
+            GetGalleryColour(evt.GetGallery(), evt.GetGalleryItem(), NULL));
+    }
+    else
+    {
+        if(provider != m_ribbon->GetArtProvider())
+        {
+            gallery->SetArtProvider(m_ribbon->GetArtProvider());
+            delete provider;
+        }
+    }
+}
+
+void MyFrame::OnPrimaryColourSelect(wxRibbonGalleryEvent& evt)
+{
+    wxString name;
+    wxColour colour = GetGalleryColour(evt.GetGallery(), evt.GetGalleryItem(), &name);
+    AddText(wxT("Colour \"") + name + wxT("\" selected as primary."));
+    wxColour secondary, tertiary;
+    m_ribbon->GetArtProvider()->GetColourScheme(NULL, &secondary, &tertiary);
+    m_ribbon->GetArtProvider()->SetColourScheme(colour, secondary, tertiary);
+    ResetGalleryArtProviders();
+    m_ribbon->Refresh();
+}
+
+void MyFrame::OnSecondaryColourSelect(wxRibbonGalleryEvent& evt)
+{
+    wxString name;
+    wxColour colour = GetGalleryColour(evt.GetGallery(), evt.GetGalleryItem(), &name);
+    AddText(wxT("Colour \"") + name + wxT("\" selected as secondary."));
+    wxColour primary, tertiary;
+    m_ribbon->GetArtProvider()->GetColourScheme(&primary, NULL, &tertiary);
+    m_ribbon->GetArtProvider()->SetColourScheme(primary, colour, tertiary);
+    ResetGalleryArtProviders();
+    m_ribbon->Refresh();
+}
+
+void MyFrame::ResetGalleryArtProviders()
+{
+    if(m_primary_gallery->GetArtProvider() != m_ribbon->GetArtProvider())
+    {
+        delete m_primary_gallery->GetArtProvider();
+        m_primary_gallery->SetArtProvider(m_ribbon->GetArtProvider());
+    }
+    if(m_secondary_gallery->GetArtProvider() != m_ribbon->GetArtProvider())
+    {
+        delete m_secondary_gallery->GetArtProvider();
+        m_secondary_gallery->SetArtProvider(m_ribbon->GetArtProvider());
+    }
+}
+
+void MyFrame::OnSelectionExpandHButton(wxRibbonButtonBarEvent& WXUNUSED(evt))
+{
+    AddText(wxT("Expand selection horizontally button clicked."));
+}
+
+void MyFrame::OnSelectionExpandVButton(wxRibbonButtonBarEvent& WXUNUSED(evt))
+{
+    AddText(wxT("Expand selection vertically button clicked."));
+}
+
+void MyFrame::OnSelectionContractButton(wxRibbonButtonBarEvent& WXUNUSED(evt))
+{
+    AddText(wxT("Contract selection button clicked."));
+}
+
+void MyFrame::OnCircleButton(wxRibbonButtonBarEvent& WXUNUSED(evt))
+{
+    AddText(wxT("Circle button clicked."));
+}
+
+void MyFrame::OnCrossButton(wxRibbonButtonBarEvent& WXUNUSED(evt))
+{
+    AddText(wxT("Cross button clicked."));
+}
+
+void MyFrame::OnTriangleButton(wxRibbonButtonBarEvent& WXUNUSED(evt))
+{
+    AddText(wxT("Triangle button clicked."));
+}
+
+void MyFrame::OnTriangleDropdown(wxRibbonButtonBarEvent& evt)
+{
+    wxMenu menu;
+    menu.Append(wxID_ANY, wxT("Equilateral"));
+    menu.Append(wxID_ANY, wxT("Isosceles"));
+    menu.Append(wxID_ANY, wxT("Scalene"));
+
+    evt.PopupMenu(&menu);
+}
+
+void MyFrame::OnSquareButton(wxRibbonButtonBarEvent& WXUNUSED(evt))
+{
+    AddText(wxT("Square button clicked."));
+}
+
+void MyFrame::OnPolygonDropdown(wxRibbonButtonBarEvent& evt)
+{
+    wxMenu menu;
+    menu.Append(wxID_ANY, wxT("Pentagon (5 sided)"));
+    menu.Append(wxID_ANY, wxT("Hexagon (6 sided)"));
+    menu.Append(wxID_ANY, wxT("Heptagon (7 sided)"));
+    menu.Append(wxID_ANY, wxT("Octogon (8 sided)"));
+    menu.Append(wxID_ANY, wxT("Nonagon (9 sided)"));
+    menu.Append(wxID_ANY, wxT("Decagon (10 sided)"));
+
+    evt.PopupMenu(&menu);
+}
+
+void MyFrame::OnNew(wxRibbonToolBarEvent& WXUNUSED(evt))
+{
+    AddText(wxT("New button clicked."));
+}
+
+void MyFrame::OnNewDropdown(wxRibbonToolBarEvent& evt)
+{
+    wxMenu menu;
+    menu.Append(wxID_ANY, wxT("New Document"));
+    menu.Append(wxID_ANY, wxT("New Template"));
+    menu.Append(wxID_ANY, wxT("New Mail"));
+
+    evt.PopupMenu(&menu);
+}
+
+void MyFrame::OnPrint(wxRibbonToolBarEvent& WXUNUSED(evt))
+{
+    AddText(wxT("Print button clicked."));
+}
+
+void MyFrame::OnPrintDropdown(wxRibbonToolBarEvent& evt)
+{
+    wxMenu menu;
+    menu.Append(wxID_ANY, wxT("Print"));
+    menu.Append(wxID_ANY, wxT("Preview"));
+    menu.Append(wxID_ANY, wxT("Options"));
+
+    evt.PopupMenu(&menu);
+}
+
+void MyFrame::OnRedoDropdown(wxRibbonToolBarEvent& evt)
+{
+    wxMenu menu;
+    menu.Append(wxID_ANY, wxT("Redo E"));
+    menu.Append(wxID_ANY, wxT("Redo F"));
+    menu.Append(wxID_ANY, wxT("Redo G"));
+
+    evt.PopupMenu(&menu);
+}
+
+void MyFrame::OnUndoDropdown(wxRibbonToolBarEvent& evt)
+{
+    wxMenu menu;
+    menu.Append(wxID_ANY, wxT("Undo C"));
+    menu.Append(wxID_ANY, wxT("Undo B"));
+    menu.Append(wxID_ANY, wxT("Undo A"));
+
+    evt.PopupMenu(&menu);
+}
+
+void MyFrame::OnPositionTopLabels(wxCommandEvent& WXUNUSED(evt))
+{
+    SetBarStyle(wxRIBBON_BAR_DEFAULT_STYLE);
+}
+
+void MyFrame::OnPositionTopIcons(wxCommandEvent& WXUNUSED(evt))
+{
+    SetBarStyle((wxRIBBON_BAR_DEFAULT_STYLE &~wxRIBBON_BAR_SHOW_PAGE_LABELS)
+        | wxRIBBON_BAR_SHOW_PAGE_ICONS);
+}
+
+void MyFrame::OnPositionTopBoth(wxCommandEvent& WXUNUSED(evt))
+{
+    SetBarStyle(wxRIBBON_BAR_DEFAULT_STYLE | wxRIBBON_BAR_SHOW_PAGE_ICONS);
+}
+
+void MyFrame::OnPositionLeftLabels(wxCommandEvent& WXUNUSED(evt))
+{
+    SetBarStyle(wxRIBBON_BAR_DEFAULT_STYLE | wxRIBBON_BAR_FLOW_VERTICAL);
+}
+
+void MyFrame::OnPositionLeftIcons(wxCommandEvent& WXUNUSED(evt))
+{
+    SetBarStyle((wxRIBBON_BAR_DEFAULT_STYLE &~wxRIBBON_BAR_SHOW_PAGE_LABELS) |
+        wxRIBBON_BAR_SHOW_PAGE_ICONS | wxRIBBON_BAR_FLOW_VERTICAL);
+}
+
+void MyFrame::OnPositionLeftBoth(wxCommandEvent& WXUNUSED(evt))
+{
+    SetBarStyle(wxRIBBON_BAR_DEFAULT_STYLE | wxRIBBON_BAR_SHOW_PAGE_ICONS |
+        wxRIBBON_BAR_FLOW_VERTICAL);
+}
+
+void MyFrame::OnPositionTop(wxRibbonToolBarEvent& evt)
+{
+    OnPositionTopLabels(evt);
+}
+
+void MyFrame::OnPositionTopDropdown(wxRibbonToolBarEvent& evt)
+{
+    wxMenu menu;
+    menu.Append(ID_POSITION_TOP, wxT("Top with Labels"));
+    menu.Append(ID_POSITION_TOP_ICONS, wxT("Top with Icons"));
+    menu.Append(ID_POSITION_TOP_BOTH, wxT("Top with Both"));
+    evt.PopupMenu(&menu);
+}
+
+void MyFrame::OnPositionLeft(wxRibbonToolBarEvent& evt)
+{
+    OnPositionLeftIcons(evt);
+}
+
+void MyFrame::OnPositionLeftDropdown(wxRibbonToolBarEvent& evt)
+{
+    wxMenu menu;
+    menu.Append(ID_POSITION_LEFT, wxT("Left with Icons"));
+    menu.Append(ID_POSITION_LEFT_LABELS, wxT("Left with Labels"));
+    menu.Append(ID_POSITION_LEFT_BOTH, wxT("Left with Both"));
+    evt.PopupMenu(&menu);
+}
+
+void MyFrame::AddText(wxString msg)
+{
+    m_logwindow->AppendText(msg);
+    m_logwindow->AppendText(wxT("\n"));
+    m_ribbon->DismissExpandedPanel();
+}
+
+wxRibbonGalleryItem* MyFrame::AddColourToGallery(wxRibbonGallery *gallery,
+                                 wxString colour, wxMemoryDC& dc,
+                                 wxColour* value)
+{
+    wxRibbonGalleryItem* item = NULL;
+    wxColour c(colour);
+    if(value != NULL)
+        c = *value;
+    if(c.IsOk())
+    {
+        const int iWidth = 64;
+        const int iHeight = 40;
+
+        wxBitmap bitmap(iWidth, iHeight);
+        dc.SelectObject(bitmap);
+        wxBrush b(c);
+        dc.SetPen(*wxBLACK_PEN);
+        dc.SetBrush(b);
+        dc.DrawRectangle(0, 0, iWidth, iHeight);
+
+        colour = colour.Mid(0, 1) + colour.Mid(1).Lower();
+        wxSize size = dc.GetTextExtent(colour);
+        wxColour foreground = wxColour(~c.Red(), ~c.Green(), ~c.Blue());
+        if(abs(foreground.Red() - c.Red()) + abs(foreground.Blue() - c.Blue())
+            + abs(foreground.Green() - c.Green()) < 64)
+        {
+            // Foreground too similar to background - use a different
+            // strategy to find a contrasting colour
+            foreground = wxColour((c.Red() + 64) % 256, 255 - c.Green(),
+                (c.Blue() + 192) % 256);
+        }
+        dc.SetTextForeground(foreground);
+        dc.DrawText(colour, (iWidth - size.GetWidth() + 1) / 2,
+            (iHeight - size.GetHeight()) / 2);
+        dc.SelectObjectAsSource(wxNullBitmap);
+
+        item = gallery->Append(bitmap, wxID_ANY);
+        gallery->SetItemClientObject(item, new ColourClientData(colour, c));
+    }
+    return item;
+}
+
+void MyFrame::OnColourGalleryButton(wxCommandEvent& evt)
+{
+    wxRibbonGallery *gallery = wxDynamicCast(evt.GetEventObject(), wxRibbonGallery);
+    if(gallery == NULL)
+        return;
+
+    m_ribbon->DismissExpandedPanel();
+    if(gallery->GetSelection())
+        m_colour_data.SetColour(GetGalleryColour(gallery, gallery->GetSelection(), NULL));
+    wxColourDialog dlg(this, &m_colour_data);
+    if(dlg.ShowModal() == wxID_OK)
+    {
+        m_colour_data = dlg.GetColourData();
+        wxColour clr = m_colour_data.GetColour();
+
+        // Try to find colour in gallery
+        wxRibbonGalleryItem *item = NULL;
+        for(unsigned int i = 0; i < gallery->GetCount(); ++i)
+        {
+            item = gallery->GetItem(i);
+            if(GetGalleryColour(gallery, item, NULL) == clr)
+                break;
+            else
+                item = NULL;
+        }
+
+        // Colour not in gallery - add it
+        if(item == NULL)
+        {
+            item = AddColourToGallery(gallery,
+                clr.GetAsString(wxC2S_HTML_SYNTAX), m_bitmap_creation_dc,
+                &clr);
+            gallery->Realise();
+        }
+
+        // Set selection
+        gallery->EnsureVisible(item);
+        gallery->SetSelection(item);
+
+        // Send an event to respond to the selection change
+        wxRibbonGalleryEvent dummy(wxEVT_COMMAND_RIBBONGALLERY_SELECTED, gallery->GetId());
+        dummy.SetEventObject(gallery);
+        dummy.SetGallery(gallery);
+        dummy.SetGalleryItem(item);
+        ProcessWindowEvent(dummy);
+    }
+}
+
+void MyFrame::OnDefaultProvider(wxRibbonButtonBarEvent& WXUNUSED(evt))
+{
+    m_ribbon->DismissExpandedPanel();
+    SetArtProvider(new wxRibbonDefaultArtProvider);
+}
+
+void MyFrame::OnAUIProvider(wxRibbonButtonBarEvent& WXUNUSED(evt))
+{
+    m_ribbon->DismissExpandedPanel();
+    SetArtProvider(new wxRibbonAUIArtProvider);
+}
+
+void MyFrame::OnMSWProvider(wxRibbonButtonBarEvent& WXUNUSED(evt))
+{
+    m_ribbon->DismissExpandedPanel();
+    SetArtProvider(new wxRibbonMSWArtProvider);
+}
+
+void MyFrame::SetArtProvider(wxRibbonArtProvider *prov)
+{
+    m_ribbon->Freeze();
+    m_ribbon->SetArtProvider(prov);
+
+    prov->GetColourScheme(&m_default_primary, &m_default_secondary,
+        &m_default_tertiary);
+    PopulateColoursPanel(m_primary_gallery->GetParent(), m_default_primary,
+        ID_PRIMARY_COLOUR);
+    PopulateColoursPanel(m_secondary_gallery->GetParent(), m_default_secondary,
+        ID_SECONDARY_COLOUR);
+
+    m_ribbon->Realize();
+    m_ribbon->Thaw();
+    GetSizer()->Layout();
+}
diff --git a/samples/ribbon/selection_panel.xpm b/samples/ribbon/selection_panel.xpm
new file mode 100644 (file)
index 0000000..04eee49
--- /dev/null
@@ -0,0 +1,23 @@
+/* XPM */\r
+static const char *const selection_panel_xpm[] = {\r
+"16 16 3 1",\r
+". c black",\r
+"a c #808080",\r
+"  c None",\r
+"                ",\r
+"                ",\r
+" .. .. .. .. .. ",\r
+" .aa aa aa aa .a",\r
+"  a            a",\r
+" .            . ",\r
+" .a           .a",\r
+"  a            a",\r
+" .            . ",\r
+" .a           .a",\r
+"  a            a",\r
+" .            . ",\r
+" .. .. .. .. ..a",\r
+"  aa aa aa aa aa",\r
+"                ",\r
+"                "\r
+};\r
diff --git a/samples/ribbon/square.xpm b/samples/ribbon/square.xpm
new file mode 100644 (file)
index 0000000..d4d5ed5
--- /dev/null
@@ -0,0 +1,38 @@
+/* XPM */\r
+static const char *const square_xpm[] = {\r
+"32 32 2 1",\r
+"  c magenta",\r
+". c None",\r
+"                                ",\r
+"                                ",\r
+"                                ",\r
+"                                ",\r
+"    ........................    ",\r
+"    ........................    ",\r
+"    ........................    ",\r
+"    ........................    ",\r
+"    ........................    ",\r
+"    ........................    ",\r
+"    ........................    ",\r
+"    ........................    ",\r
+"    ........................    ",\r
+"    ........................    ",\r
+"    ........................    ",\r
+"    ........................    ",\r
+"    ........................    ",\r
+"    ........................    ",\r
+"    ........................    ",\r
+"    ........................    ",\r
+"    ........................    ",\r
+"    ........................    ",\r
+"    ........................    ",\r
+"    ........................    ",\r
+"    ........................    ",\r
+"    ........................    ",\r
+"    ........................    ",\r
+"    ........................    ",\r
+"                                ",\r
+"                                ",\r
+"                                ",\r
+"                                "\r
+};\r
diff --git a/samples/ribbon/triangle.xpm b/samples/ribbon/triangle.xpm
new file mode 100644 (file)
index 0000000..c860b67
--- /dev/null
@@ -0,0 +1,38 @@
+/* XPM */\r
+static const char *const triangle_xpm[] = {\r
+"32 32 2 1",\r
+". c green",\r
+"  c None",\r
+"               ..               ",\r
+"               ..               ",\r
+"              ....              ",\r
+"              ....              ",\r
+"             ......             ",\r
+"             ......             ",\r
+"            ...  ...            ",\r
+"            ...  ...            ",\r
+"           ...    ...           ",\r
+"           ...    ...           ",\r
+"          ...      ...          ",\r
+"          ...      ...          ",\r
+"         ...        ...         ",\r
+"         ...        ...         ",\r
+"        ...          ...        ",\r
+"        ...          ...        ",\r
+"       ...            ...       ",\r
+"       ...            ...       ",\r
+"      ...              ...      ",\r
+"      ...              ...      ",\r
+"     ...                ...     ",\r
+"     ...                ...     ",\r
+"    ...                  ...    ",\r
+"    ...                  ...    ",\r
+"   ...                    ...   ",\r
+"   ...                    ...   ",\r
+"  ...                      ...  ",\r
+"  ...                      ...  ",\r
+" ....                      .... ",\r
+" .............................. ",\r
+"................................",\r
+"................................"\r
+};\r
index bfef1d37cd0414b33dbac304880327a42b715619..10eb975c5d092fc642dffaefe3ae5b8110f4eee3 100644 (file)
 
 #define wxUSE_AUI       0
 
+#define wxUSE_RIBBON  0
+
 #define wxUSE_PROPGRID  0
 
 #define wxUSE_STC 0
diff --git a/src/ribbon/art_aui.cpp b/src/ribbon/art_aui.cpp
new file mode 100644 (file)
index 0000000..bd97d9f
--- /dev/null
@@ -0,0 +1,1127 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        src/ribbon/art_aui.cpp
+// Purpose:     AUI style art provider for ribbon interface
+// Author:      Peter Cawley
+// Modified by:
+// Created:     2009-08-04
+// RCS-ID:      $Id$
+// Copyright:   (C) Peter Cawley
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#include "wx/ribbon/art.h"
+
+#if wxUSE_RIBBON
+
+#include "wx/ribbon/art_internal.h"
+#include "wx/ribbon/bar.h"
+#include "wx/ribbon/buttonbar.h"
+#include "wx/ribbon/gallery.h"
+#include "wx/ribbon/toolbar.h"
+
+#ifndef WX_PRECOMP
+#endif
+
+#ifdef __WXMSW__
+#include "wx/msw/private.h"
+#endif
+
+wxRibbonAUIArtProvider::wxRibbonAUIArtProvider()
+    : wxRibbonMSWArtProvider(false)
+{
+#if defined( __WXMAC__ ) && wxOSX_USE_COCOA_OR_CARBON
+    wxColor base_colour = wxColour( wxMacCreateCGColorFromHITheme(kThemeBrushToolbarBackground));
+#else
+    wxColor base_colour = wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE);
+#endif
+
+    SetColourScheme(base_colour,
+        wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHT),
+        wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHTTEXT));
+
+    m_tab_active_label_font = m_tab_label_font;
+    m_tab_active_label_font.SetWeight(wxFONTWEIGHT_BOLD);
+
+    m_page_border_left = 1;
+    m_page_border_right = 1;
+    m_page_border_top = 1;
+    m_page_border_bottom = 2;
+    m_tab_separation_size = 0;
+
+    m_gallery_bitmap_padding_left_size = 3;
+    m_gallery_bitmap_padding_right_size = 3;
+    m_gallery_bitmap_padding_top_size = 3;
+    m_gallery_bitmap_padding_bottom_size = 3;
+}
+
+wxRibbonAUIArtProvider::~wxRibbonAUIArtProvider()
+{
+}
+
+wxRibbonArtProvider* wxRibbonAUIArtProvider::Clone() const
+{
+    wxRibbonAUIArtProvider *copy = new wxRibbonAUIArtProvider();
+    CloneTo(copy);
+
+    copy->m_tab_ctrl_background_colour = m_tab_ctrl_background_colour;
+    copy->m_tab_ctrl_background_gradient_colour = m_tab_ctrl_background_gradient_colour;
+    copy->m_panel_label_background_colour = m_panel_label_background_colour;
+    copy->m_panel_label_background_gradient_colour = m_panel_label_background_gradient_colour;
+    copy->m_panel_hover_label_background_colour = m_panel_hover_label_background_colour;
+    copy->m_panel_hover_label_background_gradient_colour = m_panel_hover_label_background_gradient_colour;
+
+    copy->m_background_brush = m_background_brush;
+    copy->m_tab_active_top_background_brush = m_tab_active_top_background_brush;
+    copy->m_tab_hover_background_brush = m_tab_hover_background_brush;
+    copy->m_button_bar_hover_background_brush = m_button_bar_hover_background_brush;
+    copy->m_button_bar_active_background_brush = m_button_bar_active_background_brush;
+    copy->m_gallery_button_active_background_brush = m_gallery_button_active_background_brush;
+    copy->m_gallery_button_hover_background_brush = m_gallery_button_hover_background_brush;
+    copy->m_gallery_button_disabled_background_brush = m_gallery_button_disabled_background_brush;
+
+    copy->m_toolbar_hover_borden_pen = m_toolbar_hover_borden_pen;
+    copy->m_tool_hover_background_brush = m_tool_hover_background_brush;
+    copy->m_tool_active_background_brush = m_tool_active_background_brush;
+
+    return copy;
+}
+
+void wxRibbonAUIArtProvider::SetFont(int id, const wxFont& font)
+{
+    wxRibbonMSWArtProvider::SetFont(id, font);
+    if(id == wxRIBBON_ART_TAB_LABEL_FONT)
+    {
+        m_tab_active_label_font = m_tab_label_font;
+        m_tab_active_label_font.SetWeight(wxFONTWEIGHT_BOLD);
+    }
+}
+
+wxColour wxRibbonAUIArtProvider::GetColour(int id) const
+{
+    switch(id)
+    {
+    case wxRIBBON_ART_PAGE_BACKGROUND_COLOUR:
+    case wxRIBBON_ART_PAGE_BACKGROUND_GRADIENT_COLOUR:
+        return m_background_brush.GetColour();
+    case wxRIBBON_ART_TAB_CTRL_BACKGROUND_COLOUR:
+        return m_tab_ctrl_background_colour;
+    case wxRIBBON_ART_TAB_CTRL_BACKGROUND_GRADIENT_COLOUR:
+        return m_tab_ctrl_background_gradient_colour;
+    case wxRIBBON_ART_TAB_ACTIVE_BACKGROUND_TOP_COLOUR:
+    case wxRIBBON_ART_TAB_ACTIVE_BACKGROUND_TOP_GRADIENT_COLOUR:
+        return m_tab_active_top_background_brush.GetColour();
+    case wxRIBBON_ART_TAB_HOVER_BACKGROUND_COLOUR:
+    case wxRIBBON_ART_TAB_HOVER_BACKGROUND_GRADIENT_COLOUR:
+        return m_tab_hover_background_brush.GetColour();
+    case wxRIBBON_ART_PANEL_LABEL_BACKGROUND_COLOUR:
+        return m_panel_label_background_colour;
+    case wxRIBBON_ART_PANEL_LABEL_BACKGROUND_GRADIENT_COLOUR:
+        return m_panel_label_background_gradient_colour;
+    case wxRIBBON_ART_PANEL_HOVER_LABEL_BACKGROUND_COLOUR:
+        return m_panel_hover_label_background_colour;
+    case wxRIBBON_ART_PANEL_HOVER_LABEL_BACKGROUND_GRADIENT_COLOUR:
+        return m_panel_hover_label_background_gradient_colour;
+    case wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_COLOUR:
+    case wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_GRADIENT_COLOUR:
+        return m_button_bar_hover_background_brush.GetColour();
+    case wxRIBBON_ART_GALLERY_BUTTON_HOVER_BACKGROUND_COLOUR:
+    case wxRIBBON_ART_GALLERY_BUTTON_HOVER_BACKGROUND_GRADIENT_COLOUR:
+        return m_gallery_button_hover_background_brush.GetColour();
+    case wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_BACKGROUND_COLOUR:
+    case wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_BACKGROUND_GRADIENT_COLOUR:
+        return m_gallery_button_active_background_brush.GetColour();
+    case wxRIBBON_ART_GALLERY_BUTTON_DISABLED_BACKGROUND_COLOUR:
+    case wxRIBBON_ART_GALLERY_BUTTON_DISABLED_BACKGROUND_GRADIENT_COLOUR:
+        return m_gallery_button_disabled_background_brush.GetColour();
+    default:
+        return wxRibbonMSWArtProvider::GetColour(id);
+    }
+}
+
+void wxRibbonAUIArtProvider::SetColour(int id, const wxColor& colour)
+{
+    switch(id)
+    {
+    case wxRIBBON_ART_PAGE_BACKGROUND_COLOUR:
+    case wxRIBBON_ART_PAGE_BACKGROUND_GRADIENT_COLOUR:
+        m_background_brush.SetColour(colour);
+        break;
+    case wxRIBBON_ART_TAB_CTRL_BACKGROUND_COLOUR:
+        m_tab_ctrl_background_colour = colour;
+        break;
+    case wxRIBBON_ART_TAB_CTRL_BACKGROUND_GRADIENT_COLOUR:
+        m_tab_ctrl_background_gradient_colour = colour;
+        break;
+    case wxRIBBON_ART_TAB_ACTIVE_BACKGROUND_TOP_COLOUR:
+    case wxRIBBON_ART_TAB_ACTIVE_BACKGROUND_TOP_GRADIENT_COLOUR:
+        m_tab_active_top_background_brush.SetColour(colour);
+        break;
+    case wxRIBBON_ART_TAB_HOVER_BACKGROUND_COLOUR:
+    case wxRIBBON_ART_TAB_HOVER_BACKGROUND_GRADIENT_COLOUR:
+        m_tab_hover_background_brush.SetColour(colour);
+        break;
+    case wxRIBBON_ART_PANEL_LABEL_BACKGROUND_COLOUR:
+        m_panel_label_background_colour = colour;
+        break;
+    case wxRIBBON_ART_PANEL_LABEL_BACKGROUND_GRADIENT_COLOUR:
+        m_panel_label_background_gradient_colour = colour;
+        break;
+    case wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_COLOUR:
+    case wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_GRADIENT_COLOUR:
+        m_button_bar_hover_background_brush.SetColour(colour);
+        break;
+    case wxRIBBON_ART_GALLERY_BUTTON_HOVER_BACKGROUND_COLOUR:
+    case wxRIBBON_ART_GALLERY_BUTTON_HOVER_BACKGROUND_GRADIENT_COLOUR:
+        m_gallery_button_hover_background_brush.SetColour(colour);
+        break;
+    case wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_BACKGROUND_COLOUR:
+    case wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_BACKGROUND_GRADIENT_COLOUR:
+        m_gallery_button_active_background_brush.SetColour(colour);
+        break;
+    case wxRIBBON_ART_GALLERY_BUTTON_DISABLED_BACKGROUND_COLOUR:
+    case wxRIBBON_ART_GALLERY_BUTTON_DISABLED_BACKGROUND_GRADIENT_COLOUR:
+        m_gallery_button_disabled_background_brush.SetColour(colour);
+        break;
+    default:
+        wxRibbonMSWArtProvider::SetColour(id, colour);
+        break;
+    }
+}
+
+void wxRibbonAUIArtProvider::SetColourScheme(
+                         const wxColour& primary,
+                         const wxColour& secondary,
+                         const wxColour& tertiary)
+{
+    wxRibbonHSLColour primary_hsl(primary);
+    wxRibbonHSLColour secondary_hsl(secondary);
+    wxRibbonHSLColour tertiary_hsl(tertiary);
+
+    // Map primary & secondary luminance from [0, 1] to [0.15, 0.85]
+    primary_hsl.luminance = cos(primary_hsl.luminance * M_PI) * -0.35 + 0.5;
+    secondary_hsl.luminance = cos(secondary_hsl.luminance * M_PI) * -0.35 + 0.5;
+
+    // TODO: Remove next line once this provider stops piggybacking MSW
+    wxRibbonMSWArtProvider::SetColourScheme(primary, secondary, tertiary);
+
+#define LikePrimary(luminance) \
+    wxRibbonShiftLuminance(primary_hsl, luminance ## f).ToRGB()
+#define LikeSecondary(luminance) \
+    wxRibbonShiftLuminance(secondary_hsl, luminance ## f).ToRGB()
+
+    m_tab_ctrl_background_colour = LikePrimary(0.9);
+    m_tab_ctrl_background_gradient_colour = LikePrimary(1.7);
+    m_tab_border_pen = LikePrimary(0.75);
+    m_tab_label_colour = LikePrimary(0.1);
+    m_tab_hover_background_top_colour =  primary_hsl.ToRGB();
+    m_tab_hover_background_top_gradient_colour = LikePrimary(1.6);
+    m_tab_hover_background_brush = m_tab_hover_background_top_colour;
+    m_tab_active_background_colour = m_tab_ctrl_background_gradient_colour;
+    m_tab_active_background_gradient_colour = primary_hsl.ToRGB();
+    m_tab_active_top_background_brush = m_tab_active_background_colour;
+    m_panel_label_colour = m_tab_label_colour;
+    m_panel_minimised_label_colour = m_panel_label_colour;
+    m_panel_hover_label_colour = tertiary_hsl.ToRGB();
+    m_page_border_pen = m_tab_border_pen;
+    m_panel_border_pen = m_tab_border_pen;
+    m_background_brush = primary_hsl.ToRGB();
+    m_page_hover_background_colour = LikePrimary(1.5);
+    m_page_hover_background_gradient_colour = LikePrimary(0.9);
+    m_panel_label_background_colour = LikePrimary(0.85);
+    m_panel_label_background_gradient_colour = LikePrimary(0.97);
+    m_panel_hover_label_background_gradient_colour = secondary_hsl.ToRGB();
+    m_panel_hover_label_background_colour = secondary_hsl.Lighter(0.2f).ToRGB();
+    m_button_bar_hover_border_pen = secondary_hsl.ToRGB();
+    m_button_bar_hover_background_brush = LikeSecondary(1.7);
+    m_button_bar_active_background_brush = LikeSecondary(1.4);
+    m_button_bar_label_colour = m_tab_label_colour;
+    m_gallery_border_pen = m_tab_border_pen;
+    m_gallery_item_border_pen = m_button_bar_hover_border_pen;
+    m_gallery_hover_background_brush = LikePrimary(1.2);
+    m_gallery_button_background_colour = m_page_hover_background_colour;
+    m_gallery_button_background_gradient_colour = m_page_hover_background_gradient_colour;
+    m_gallery_button_hover_background_brush = m_button_bar_hover_background_brush;
+    m_gallery_button_active_background_brush = m_button_bar_active_background_brush;
+    m_gallery_button_disabled_background_brush = primary_hsl.Desaturated(0.15f).ToRGB();
+    SetColour(wxRIBBON_ART_GALLERY_BUTTON_FACE_COLOUR, LikePrimary(0.1));
+    SetColour(wxRIBBON_ART_GALLERY_BUTTON_DISABLED_FACE_COLOUR, wxColour(128, 128, 128));
+    SetColour(wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_FACE_COLOUR, LikeSecondary(0.1));
+    SetColour(wxRIBBON_ART_GALLERY_BUTTON_HOVER_FACE_COLOUR, LikeSecondary(0.1));
+    m_toolbar_border_pen = m_tab_border_pen;
+    SetColour(wxRIBBON_ART_TOOLBAR_FACE_COLOUR, LikePrimary(0.1));
+    m_tool_background_colour = m_page_hover_background_colour;
+    m_tool_background_gradient_colour = m_page_hover_background_gradient_colour;
+    m_toolbar_hover_borden_pen = m_button_bar_hover_border_pen;
+    m_tool_hover_background_brush = m_button_bar_hover_background_brush;
+    m_tool_active_background_brush = m_button_bar_active_background_brush;
+
+#undef LikeSecondary
+#undef LikePrimary
+}
+
+void wxRibbonAUIArtProvider::DrawTabCtrlBackground(
+                        wxDC& dc,
+                        wxWindow* WXUNUSED(wnd),
+                        const wxRect& rect)
+{
+    wxRect gradient_rect(rect);
+    gradient_rect.height--;
+    dc.GradientFillLinear(gradient_rect, m_tab_ctrl_background_colour,
+        m_tab_ctrl_background_gradient_colour, wxSOUTH);
+    dc.SetPen(m_tab_border_pen);
+    dc.DrawLine(rect.x, rect.GetBottom(), rect.GetRight()+1, rect.GetBottom());
+}
+
+int wxRibbonAUIArtProvider::GetTabCtrlHeight(
+                        wxDC& dc,
+                        wxWindow* WXUNUSED(wnd),
+                        const wxRibbonPageTabInfoArray& pages)
+{
+    int text_height = 0;
+    int icon_height = 0;
+
+    if(pages.GetCount() <= 1 && (m_flags & wxRIBBON_BAR_ALWAYS_SHOW_TABS) == 0)
+    {
+        // To preserve space, a single tab need not be displayed. We still need
+        // one pixel of border though.
+        return 1;
+    }
+
+    if(m_flags & wxRIBBON_BAR_SHOW_PAGE_LABELS)
+    {
+        dc.SetFont(m_tab_active_label_font);
+        text_height = dc.GetTextExtent(wxT("ABCDEFXj")).GetHeight();
+    }
+    if(m_flags & wxRIBBON_BAR_SHOW_PAGE_ICONS)
+    {
+        size_t numpages = pages.GetCount();
+        for(size_t i = 0; i < numpages; ++i)
+        {
+            const wxRibbonPageTabInfo& info = pages.Item(i);
+            if(info.page->GetIcon().IsOk())
+            {
+                icon_height = wxMax(icon_height, info.page->GetIcon().GetHeight());
+            }
+        }
+    }
+
+    return wxMax(text_height, icon_height) + 10;
+}
+
+void wxRibbonAUIArtProvider::DrawTab(wxDC& dc,
+                 wxWindow* WXUNUSED(wnd),
+                 const wxRibbonPageTabInfo& tab)
+{
+    if(tab.rect.height <= 1)
+        return;
+
+    dc.SetFont(m_tab_label_font);
+    dc.SetPen(*wxTRANSPARENT_PEN);
+    if(tab.active || tab.hovered)
+    {
+        if(tab.active)
+        {
+            dc.SetFont(m_tab_active_label_font);
+            dc.SetBrush(m_background_brush);
+            dc.DrawRectangle(tab.rect.x, tab.rect.y + tab.rect.height - 1,
+                tab.rect.width - 1, 1);
+        }
+        wxRect grad_rect(tab.rect);
+        grad_rect.height -= 4;
+        grad_rect.width -= 1;
+        grad_rect.height /= 2;
+        grad_rect.y = grad_rect.y + tab.rect.height - grad_rect.height - 1;
+        dc.SetBrush(m_tab_active_top_background_brush);
+        dc.DrawRectangle(tab.rect.x, tab.rect.y + 3, tab.rect.width - 1,
+            grad_rect.y - tab.rect.y - 3);
+        dc.GradientFillLinear(grad_rect, m_tab_active_background_colour,
+            m_tab_active_background_gradient_colour, wxSOUTH);
+    }
+    else
+    {
+        wxRect btm_rect(tab.rect);
+        btm_rect.height -= 4;
+        btm_rect.width -= 1;
+        btm_rect.height /= 2;
+        btm_rect.y = btm_rect.y + tab.rect.height - btm_rect.height - 1;
+        dc.SetBrush(m_tab_hover_background_brush);
+        dc.DrawRectangle(btm_rect.x, btm_rect.y, btm_rect.width,
+            btm_rect.height);
+        wxRect grad_rect(tab.rect);
+        grad_rect.width -= 1;
+        grad_rect.y += 3;
+        grad_rect.height = btm_rect.y - grad_rect.y;
+        dc.GradientFillLinear(grad_rect, m_tab_hover_background_top_colour,
+            m_tab_hover_background_top_gradient_colour, wxSOUTH);
+    }
+
+    wxPoint border_points[5];
+    border_points[0] = wxPoint(0, 3);
+    border_points[1] = wxPoint(1, 2);
+    border_points[2] = wxPoint(tab.rect.width - 3, 2);
+    border_points[3] = wxPoint(tab.rect.width - 1, 4);
+    border_points[4] = wxPoint(tab.rect.width - 1, tab.rect.height - 1);
+
+    dc.SetPen(m_tab_border_pen);
+    dc.DrawLines(sizeof(border_points)/sizeof(wxPoint), border_points, tab.rect.x, tab.rect.y);
+
+    wxRect old_clip;
+    dc.GetClippingBox(old_clip);
+    bool is_first_tab = false;
+    wxRibbonBar* bar = wxDynamicCast(tab.page->GetParent(), wxRibbonBar);
+    if(bar && bar->GetPage(0) == tab.page)
+        is_first_tab = true;
+
+    wxBitmap icon;
+    if(m_flags & wxRIBBON_BAR_SHOW_PAGE_ICONS)
+    {
+        icon = tab.page->GetIcon();
+        if((m_flags & wxRIBBON_BAR_SHOW_PAGE_LABELS) == 0)
+        {
+            int x = tab.rect.x + (tab.rect.width - icon.GetWidth()) / 2;
+            dc.DrawBitmap(icon, x, tab.rect.y + 1 + (tab.rect.height - 1 -
+                icon.GetHeight()) / 2, true);
+        }
+    }
+    if(m_flags & wxRIBBON_BAR_SHOW_PAGE_LABELS)
+    {
+        wxString label = tab.page->GetLabel();
+        if(!label.IsEmpty())
+        {
+            dc.SetTextForeground(m_tab_label_colour);
+            dc.SetBackgroundMode(wxTRANSPARENT);
+
+            int offset = 0;
+            if(icon.IsOk())
+                offset += icon.GetWidth() + 2;
+            int text_height;
+            int text_width;
+            dc.GetTextExtent(label, &text_width, &text_height);
+            int x = (tab.rect.width - 2 - text_width - offset) / 2;
+            if(x > 8)
+                x = 8;
+            else if(x < 1)
+                x = 1;
+            int width = tab.rect.width - x - 2;
+            x += tab.rect.x + offset;
+            int y = tab.rect.y + (tab.rect.height - text_height) / 2;
+            if(icon.IsOk())
+            {
+                dc.DrawBitmap(icon, x - offset, tab.rect.y + (tab.rect.height -
+                    icon.GetHeight()) / 2, true);
+            }
+            dc.SetClippingRegion(x, tab.rect.y, width, tab.rect.height);
+            dc.DrawText(label, x, y);
+        }
+    }
+
+    // Draw the left hand edge of the tab only for the first tab (subsequent
+    // tabs use the right edge of the prior tab as their left edge). As this is
+    // outside the rectangle for the tab, only draw it if the leftmost part of
+    // the tab is within the clip rectangle (the clip region has to be cleared
+    // to draw outside the tab).
+    if(is_first_tab && old_clip.x <= tab.rect.x
+        && tab.rect.x < old_clip.x + old_clip.width)
+    {
+        dc.DestroyClippingRegion();
+        dc.DrawLine(tab.rect.x - 1, tab.rect.y + 4, tab.rect.x - 1,
+            tab.rect.y + tab.rect.height - 1);
+    }
+}
+
+void wxRibbonAUIArtProvider::GetBarTabWidth(
+                        wxDC& dc,
+                        wxWindow* WXUNUSED(wnd),
+                        const wxString& label,
+                        const wxBitmap& bitmap,
+                        int* ideal,
+                        int* small_begin_need_separator,
+                        int* small_must_have_separator,
+                        int* minimum)
+{
+    int width = 0;
+    int min = 0;
+    if((m_flags & wxRIBBON_BAR_SHOW_PAGE_LABELS) && !label.IsEmpty())
+    {
+        dc.SetFont(m_tab_active_label_font);
+        width += dc.GetTextExtent(label).GetWidth();
+        min += wxMin(30, width); // enough for a few chars
+        if(bitmap.IsOk())
+        {
+            // gap between label and bitmap
+            width += 4;
+            min += 2;
+        }
+    }
+    if((m_flags & wxRIBBON_BAR_SHOW_PAGE_ICONS) && bitmap.IsOk())
+    {
+        width += bitmap.GetWidth();
+        min += bitmap.GetWidth();
+    }
+
+    if(ideal != NULL)
+    {
+        *ideal = width + 16;
+    }
+    if(small_begin_need_separator != NULL)
+    {
+        *small_begin_need_separator = min;
+    }
+    if(small_must_have_separator != NULL)
+    {
+        *small_must_have_separator = min;
+    }
+    if(minimum != NULL)
+    {
+        *minimum = min;
+    }
+}
+
+void wxRibbonAUIArtProvider::DrawTabSeparator(
+                    wxDC& WXUNUSED(dc),
+                    wxWindow* WXUNUSED(wnd),
+                    const wxRect& WXUNUSED(rect),
+                    double WXUNUSED(visibility))
+{
+    // No explicit separators between tabs
+}
+
+void wxRibbonAUIArtProvider::DrawPageBackground(
+                        wxDC& dc,
+                        wxWindow* WXUNUSED(wnd),
+                        const wxRect& rect)
+{
+    dc.SetPen(*wxTRANSPARENT_PEN);
+    dc.SetBrush(m_background_brush);
+    dc.DrawRectangle(rect.x + 1, rect.y, rect.width - 2, rect.height - 1);
+
+    dc.SetPen(m_page_border_pen);
+    dc.DrawLine(rect.x, rect.y, rect.x, rect.y + rect.height);
+    dc.DrawLine(rect.GetRight(), rect.y, rect.GetRight(), rect.y +rect.height);
+    dc.DrawLine(rect.x, rect.GetBottom(), rect.GetRight()+1, rect.GetBottom());
+}
+
+wxSize wxRibbonAUIArtProvider::GetScrollButtonMinimumSize(
+                        wxDC& WXUNUSED(dc),
+                        wxWindow* WXUNUSED(wnd),
+                        long WXUNUSED(style))
+{
+    return wxSize(11, 11);
+}
+
+void wxRibbonAUIArtProvider::DrawScrollButton(
+                        wxDC& dc,
+                        wxWindow* WXUNUSED(wnd),
+                        const wxRect& rect,
+                        long style)
+{
+    wxRect true_rect(rect);
+    wxPoint arrow_points[3];
+
+    if((style & wxRIBBON_SCROLL_BTN_FOR_MASK) == wxRIBBON_SCROLL_BTN_FOR_TABS)
+    {
+        true_rect.y += 2;
+        true_rect.height -= 2;
+        dc.SetPen(m_tab_border_pen);
+    }
+    else
+    {
+        dc.SetPen(*wxTRANSPARENT_PEN);
+        dc.SetBrush(m_background_brush);
+        dc.DrawRectangle(rect.x, rect.y, rect.width, rect.height);
+        dc.SetPen(m_page_border_pen);
+    }
+
+    switch(style & wxRIBBON_SCROLL_BTN_DIRECTION_MASK)
+    {
+    case wxRIBBON_SCROLL_BTN_LEFT:
+        dc.DrawLine(true_rect.GetRight(), true_rect.y, true_rect.GetRight(),
+            true_rect.y + true_rect.height);
+        arrow_points[0] = wxPoint(rect.width / 2 - 2, rect.height / 2);
+        arrow_points[1] = arrow_points[0] + wxPoint(5, -5);
+        arrow_points[2] = arrow_points[0] + wxPoint(5,  5);
+        break;
+    case wxRIBBON_SCROLL_BTN_RIGHT:
+        dc.DrawLine(true_rect.x, true_rect.y, true_rect.x,
+            true_rect.y + true_rect.height);
+        arrow_points[0] = wxPoint(rect.width / 2 + 3, rect.height / 2);
+        arrow_points[1] = arrow_points[0] - wxPoint(5, -5);
+        arrow_points[2] = arrow_points[0] - wxPoint(5,  5);
+        break;
+    case wxRIBBON_SCROLL_BTN_DOWN:
+        dc.DrawLine(true_rect.x, true_rect.y, true_rect.x + true_rect.width,
+            true_rect.y);
+        arrow_points[0] = wxPoint(rect.width / 2, rect.height / 2 + 3);
+        arrow_points[1] = arrow_points[0] - wxPoint( 5, 5);
+        arrow_points[2] = arrow_points[0] - wxPoint(-5, 5);
+        break;
+    case wxRIBBON_SCROLL_BTN_UP:
+        dc.DrawLine(true_rect.x, true_rect.GetBottom(),
+            true_rect.x + true_rect.width, true_rect.GetBottom());
+        arrow_points[0] = wxPoint(rect.width / 2, rect.height / 2 - 2);
+        arrow_points[1] = arrow_points[0] + wxPoint( 5, 5);
+        arrow_points[2] = arrow_points[0] + wxPoint(-5, 5);
+        break;
+    default:
+        return;
+    }
+
+    int x = rect.x;
+    int y = rect.y;
+    if(style & wxRIBBON_SCROLL_BTN_ACTIVE)
+    {
+        ++x;
+        ++y;
+    }
+
+    dc.SetPen(*wxTRANSPARENT_PEN);
+    wxBrush B(m_tab_label_colour);
+    dc.SetBrush(B);
+    dc.DrawPolygon(sizeof(arrow_points)/sizeof(wxPoint), arrow_points, x, y);
+}
+
+wxSize wxRibbonAUIArtProvider::GetPanelSize(
+                        wxDC& dc,
+                        const wxRibbonPanel* wnd,
+                        wxSize client_size,
+                        wxPoint* client_offset)
+{
+    dc.SetFont(m_panel_label_font);
+    wxSize label_size = dc.GetTextExtent(wnd->GetLabel());
+    int label_height = label_size.GetHeight() + 5;
+    if(m_flags & wxRIBBON_BAR_FLOW_VERTICAL)
+    {
+        client_size.IncBy(4, label_height + 6);
+        if(client_offset)
+            *client_offset = wxPoint(2, label_height + 3);
+    }
+    else
+    {
+        client_size.IncBy(6, label_height + 4);
+        if(client_offset)
+            *client_offset = wxPoint(3, label_height + 2);
+    }
+    return client_size;
+}
+
+wxSize wxRibbonAUIArtProvider::GetPanelClientSize(
+                        wxDC& dc,
+                        const wxRibbonPanel* wnd,
+                        wxSize size,
+                        wxPoint* client_offset)
+{
+    dc.SetFont(m_panel_label_font);
+    wxSize label_size = dc.GetTextExtent(wnd->GetLabel());
+    int label_height = label_size.GetHeight() + 5;
+    if(m_flags & wxRIBBON_BAR_FLOW_VERTICAL)
+    {
+        size.DecBy(4, label_height + 6);
+        if(client_offset)
+            *client_offset = wxPoint(2, label_height + 3);
+    }
+    else
+    {
+        size.DecBy(6, label_height + 4);
+        if(client_offset)
+            *client_offset = wxPoint(3, label_height + 2);
+    }
+    return size;
+}
+
+void wxRibbonAUIArtProvider::DrawPanelBackground(
+                        wxDC& dc,
+                        wxRibbonPanel* wnd,
+                        const wxRect& rect)
+{
+    dc.SetPen(*wxTRANSPARENT_PEN);
+    dc.SetBrush(m_background_brush);
+    dc.DrawRectangle(rect.x, rect.y, rect.width, rect.height);
+
+    wxRect true_rect(rect);
+    RemovePanelPadding(&true_rect);
+
+    dc.SetPen(m_panel_border_pen);
+    dc.SetBrush(*wxTRANSPARENT_BRUSH);
+    dc.DrawRectangle(true_rect.x, true_rect.y, true_rect.width, true_rect.height);
+
+    true_rect.x++;
+    true_rect.width -= 2;
+    true_rect.y++;
+
+    dc.SetFont(m_panel_label_font);
+    wxSize label_size = dc.GetTextExtent(wnd->GetLabel());
+    int label_height = label_size.GetHeight() + 5;
+    wxRect label_rect(true_rect);
+    label_rect.height = label_height - 1;
+    dc.DrawLine(label_rect.x, label_rect.y + label_rect.height,
+        label_rect.x + label_rect.width, label_rect.y + label_rect.height);
+
+    wxColour label_bg_colour = m_panel_label_background_colour;
+    wxColour label_bg_grad_colour = m_panel_label_background_gradient_colour;
+    if(wnd->IsHovered())
+    {
+        label_bg_colour = m_panel_hover_label_background_colour;
+        label_bg_grad_colour = m_panel_hover_label_background_gradient_colour;
+        dc.SetTextForeground(m_panel_hover_label_colour);
+    }
+    else
+    {
+        dc.SetTextForeground(m_panel_label_colour);
+    }
+    dc.GradientFillLinear(label_rect,
+#ifdef __WXMAC__
+        label_bg_grad_colour, label_bg_colour, wxSOUTH);
+#else
+        label_bg_colour, label_bg_grad_colour, wxSOUTH);
+#endif
+    dc.SetFont(m_panel_label_font);
+    dc.DrawText(wnd->GetLabel(), label_rect.x + 3, label_rect.y + 2);
+
+    if(wnd->IsHovered())
+    {
+        wxRect gradient_rect(true_rect);
+        gradient_rect.y += label_rect.height + 1;
+        gradient_rect.height = true_rect.height - label_rect.height - 3;
+#ifdef __WXMAC__
+        wxColour colour = m_page_hover_background_gradient_colour;
+        wxColour gradient = m_page_hover_background_colour;
+#else
+        wxColour colour = m_page_hover_background_colour;
+        wxColour gradient = m_page_hover_background_gradient_colour;
+#endif
+        dc.GradientFillLinear(gradient_rect, colour, gradient, wxSOUTH);
+    }
+}
+
+void wxRibbonAUIArtProvider::DrawMinimisedPanel(
+                        wxDC& dc,
+                        wxRibbonPanel* wnd,
+                        const wxRect& rect,
+                        wxBitmap& bitmap)
+{
+    dc.SetPen(*wxTRANSPARENT_PEN);
+    dc.SetBrush(m_background_brush);
+    dc.DrawRectangle(rect.x, rect.y, rect.width, rect.height);
+
+    wxRect true_rect(rect);
+    RemovePanelPadding(&true_rect);
+
+    dc.SetPen(m_panel_border_pen);
+    dc.SetBrush(*wxTRANSPARENT_BRUSH);
+    dc.DrawRectangle(true_rect.x, true_rect.y, true_rect.width, true_rect.height);
+    true_rect.Deflate(1);
+
+    if(wnd->IsHovered() || wnd->GetExpandedPanel())
+    {
+        wxColour colour = m_page_hover_background_colour;
+        wxColour gradient = m_page_hover_background_gradient_colour;
+#ifdef __WXMAC__
+        if(!wnd->GetExpandedPanel())
+#else
+        if(wnd->GetExpandedPanel())
+#endif
+        {
+            wxColour temp = colour;
+            colour = gradient;
+            gradient = temp;
+        }
+        dc.GradientFillLinear(true_rect, colour, gradient, wxSOUTH);
+    }
+
+    wxRect preview;
+    DrawMinimisedPanelCommon(dc, wnd, true_rect, &preview);
+
+    dc.SetPen(m_panel_border_pen);
+    dc.SetBrush(*wxTRANSPARENT_BRUSH);
+    dc.DrawRectangle(preview.x, preview.y, preview.width, preview.height);
+    preview.Deflate(1);
+    wxRect preview_caption_rect(preview);
+    preview_caption_rect.height = 7;
+    preview.y += preview_caption_rect.height;
+    preview.height -= preview_caption_rect.height;
+#ifdef __WXMAC__
+    dc.GradientFillLinear(preview_caption_rect,
+        m_panel_hover_label_background_gradient_colour,
+        m_panel_hover_label_background_colour, wxSOUTH);
+    dc.GradientFillLinear(preview,
+        m_page_hover_background_gradient_colour,
+        m_page_hover_background_colour, wxSOUTH);
+#else
+    dc.GradientFillLinear(preview_caption_rect,
+        m_panel_hover_label_background_colour,
+        m_panel_hover_label_background_gradient_colour, wxSOUTH);
+    dc.GradientFillLinear(preview,
+        m_page_hover_background_colour,
+        m_page_hover_background_gradient_colour, wxSOUTH);
+#endif
+
+    if(bitmap.IsOk())
+    {
+        dc.DrawBitmap(bitmap, preview.x + (preview.width - bitmap.GetWidth()) / 2,
+            preview.y + (preview.height - bitmap.GetHeight()) / 2, true);
+    }
+}
+
+void wxRibbonAUIArtProvider::DrawPartialPanelBackground(wxDC& dc,
+        wxWindow* wnd, const wxRect& rect)
+{
+    dc.SetPen(*wxTRANSPARENT_PEN);
+    dc.SetBrush(m_background_brush);
+    dc.DrawRectangle(rect.x, rect.y, rect.width, rect.height);
+
+    wxPoint offset(wnd->GetPosition());
+    wxWindow* parent = wnd->GetParent();
+    wxRibbonPanel* panel = NULL;
+
+    for(; parent; parent = parent->GetParent())
+    {
+        panel = wxDynamicCast(parent, wxRibbonPanel);
+        if(panel != NULL)
+        {
+            if(!panel->IsHovered())
+                return;
+            break;
+        }
+        offset += parent->GetPosition();
+    }
+    if(panel == NULL)
+        return;
+
+    wxRect background(panel->GetSize());
+    RemovePanelPadding(&background);
+    background.x++;
+    background.width -= 2;
+    dc.SetFont(m_panel_label_font);
+    int caption_height = dc.GetTextExtent(panel->GetLabel()).GetHeight() + 7;
+    background.y += caption_height - 1;
+    background.height -= caption_height;
+
+    wxRect paint_rect(rect);
+    paint_rect.x += offset.x;
+    paint_rect.y += offset.y;
+
+    wxColour bg_clr, bg_grad_clr;
+#ifdef __WXMAC__
+    bg_grad_clr = m_page_hover_background_colour;
+    bg_clr = m_page_hover_background_gradient_colour;
+#else
+    bg_clr = m_page_hover_background_colour;
+    bg_grad_clr = m_page_hover_background_gradient_colour;
+#endif
+
+    paint_rect.Intersect(background);
+    if(!paint_rect.IsEmpty())
+    {
+        wxColour starting_colour(wxRibbonInterpolateColour(bg_clr, bg_grad_clr,
+            paint_rect.y, background.y, background.y + background.height));
+        wxColour ending_colour(wxRibbonInterpolateColour(bg_clr, bg_grad_clr,
+            paint_rect.y + paint_rect.height, background.y,
+            background.y + background.height));
+        paint_rect.x -= offset.x;
+        paint_rect.y -= offset.y;
+        dc.GradientFillLinear(paint_rect, starting_colour, ending_colour
+            , wxSOUTH);
+    }
+}
+
+void wxRibbonAUIArtProvider::DrawGalleryBackground(
+                        wxDC& dc,
+                        wxRibbonGallery* wnd,
+                        const wxRect& rect)
+{
+    DrawPartialPanelBackground(dc, wnd, rect);
+
+    if(wnd->IsHovered())
+    {
+        dc.SetPen(*wxTRANSPARENT_PEN);
+        dc.SetBrush(m_gallery_hover_background_brush);
+        if(m_flags & wxRIBBON_BAR_FLOW_VERTICAL)
+        {
+            dc.DrawRectangle(rect.x + 1, rect.y + 1, rect.width - 2,
+                rect.height - 16);
+        }
+        else
+        {
+            dc.DrawRectangle(rect.x + 1, rect.y + 1, rect.width - 16,
+                rect.height - 2);
+        }
+    }
+
+    dc.SetPen(m_gallery_border_pen);
+    dc.SetBrush(*wxTRANSPARENT_BRUSH);
+    dc.DrawRectangle(rect.x, rect.y, rect.width, rect.height);
+    
+    DrawGalleryBackgroundCommon(dc, wnd, rect);
+}
+
+void wxRibbonAUIArtProvider::DrawGalleryButton(wxDC& dc, wxRect rect,
+        wxRibbonGalleryButtonState state, wxBitmap* bitmaps)
+{
+    int extra_height = 0;
+    int extra_width = 0;
+    wxRect reduced_rect(rect);
+    reduced_rect.Deflate(1);
+    if(m_flags & wxRIBBON_BAR_FLOW_VERTICAL)
+    {
+        reduced_rect.width++;
+        extra_width = 1;
+    }
+    else
+    {
+        reduced_rect.height++;
+        extra_height = 1;
+    }
+
+    wxBitmap btn_bitmap;
+    switch(state)
+    {
+    case wxRIBBON_GALLERY_BUTTON_NORMAL:
+        dc.GradientFillLinear(reduced_rect,
+            m_gallery_button_background_colour,
+            m_gallery_button_background_gradient_colour, wxSOUTH);
+        btn_bitmap = bitmaps[0];
+        break;
+    case wxRIBBON_GALLERY_BUTTON_HOVERED:
+        dc.SetPen(m_gallery_item_border_pen);
+        dc.SetBrush(m_gallery_button_hover_background_brush);
+        dc.DrawRectangle(rect.x, rect.y, rect.width + extra_width,
+            rect.height + extra_height);
+        btn_bitmap = bitmaps[1];
+        break;
+    case wxRIBBON_GALLERY_BUTTON_ACTIVE:
+        dc.SetPen(m_gallery_item_border_pen);
+        dc.SetBrush(m_gallery_button_active_background_brush);
+        dc.DrawRectangle(rect.x, rect.y, rect.width + extra_width,
+            rect.height + extra_height);
+        btn_bitmap = bitmaps[2];
+        break;
+    case wxRIBBON_GALLERY_BUTTON_DISABLED:
+        dc.SetPen(*wxTRANSPARENT_PEN);
+        dc.SetBrush(m_gallery_button_disabled_background_brush);
+        dc.DrawRectangle(reduced_rect.x, reduced_rect.y, reduced_rect.width,
+            reduced_rect.height);
+        btn_bitmap = bitmaps[3];
+        break;
+    }
+
+    dc.DrawBitmap(btn_bitmap, reduced_rect.x + reduced_rect.width / 2 - 2,
+        (rect.y + rect.height / 2) - 2, true);
+}
+
+void wxRibbonAUIArtProvider::DrawGalleryItemBackground(
+                        wxDC& dc,
+                        wxRibbonGallery* wnd,
+                        const wxRect& rect,
+                        wxRibbonGalleryItem* item)
+{
+    if(wnd->GetHoveredItem() != item && wnd->GetActiveItem() != item &&
+        wnd->GetSelection() != item)
+        return;
+
+    dc.SetPen(m_gallery_item_border_pen);
+    if(wnd->GetActiveItem() == item || wnd->GetSelection() == item)
+        dc.SetBrush(m_gallery_button_active_background_brush);
+    else
+        dc.SetBrush(m_gallery_button_hover_background_brush);
+
+    dc.DrawRectangle(rect.x, rect.y, rect.width, rect.height);
+}
+
+void wxRibbonAUIArtProvider::DrawButtonBarBackground(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect)
+{
+    DrawPartialPanelBackground(dc, wnd, rect);
+}
+
+void wxRibbonAUIArtProvider::DrawButtonBarButton(
+                        wxDC& dc,
+                        wxWindow* WXUNUSED(wnd),
+                        const wxRect& rect,
+                        wxRibbonButtonKind kind,
+                        long state,
+                        const wxString& label,
+                        const wxBitmap& bitmap_large,
+                        const wxBitmap& bitmap_small)
+{
+    if(state & (wxRIBBON_BUTTONBAR_BUTTON_HOVER_MASK
+        | wxRIBBON_BUTTONBAR_BUTTON_ACTIVE_MASK))
+    {
+        dc.SetPen(m_button_bar_hover_border_pen);
+
+        wxRect bg_rect(rect);
+        bg_rect.Deflate(1);
+
+        if(kind == wxRIBBON_BUTTON_HYBRID)
+        {
+            switch(state & wxRIBBON_BUTTONBAR_BUTTON_SIZE_MASK)
+            {
+            case wxRIBBON_BUTTONBAR_BUTTON_LARGE:
+                {
+                    int iYBorder = rect.y + bitmap_large.GetHeight() + 4;
+                    wxRect partial_bg(rect);
+                    if(state & wxRIBBON_BUTTONBAR_BUTTON_NORMAL_HOVERED)
+                    {
+                        partial_bg.SetBottom(iYBorder - 1);
+                    }
+                    else
+                    {
+                        partial_bg.height -= (iYBorder - partial_bg.y + 1);
+                        partial_bg.y = iYBorder + 1;
+                    }
+                    dc.DrawLine(rect.x, iYBorder, rect.x + rect.width, iYBorder);
+                    bg_rect.Intersect(partial_bg);
+                }
+                break;
+            case wxRIBBON_BUTTONBAR_BUTTON_MEDIUM:
+                {
+                    int iArrowWidth = 9;
+                    if(state & wxRIBBON_BUTTONBAR_BUTTON_NORMAL_HOVERED)
+                    {
+                        bg_rect.width -= iArrowWidth;
+                        dc.DrawLine(bg_rect.x + bg_rect.width,
+                            rect.y, bg_rect.x + bg_rect.width,
+                            rect.y + rect.height);
+                    }
+                    else
+                    {
+                        --iArrowWidth;
+                        bg_rect.x += bg_rect.width - iArrowWidth;
+                        bg_rect.width = iArrowWidth;
+                        dc.DrawLine(bg_rect.x - 1, rect.y,
+                            bg_rect.x - 1, rect.y + rect.height);
+                    }
+                }
+                break;
+            case wxRIBBON_BUTTONBAR_BUTTON_SMALL:
+                break;
+            }
+        }
+
+        dc.SetBrush(*wxTRANSPARENT_BRUSH);
+        dc.DrawRectangle(rect.x, rect.y, rect.width, rect.height);
+
+        dc.SetPen(*wxTRANSPARENT_PEN);
+        if(state & wxRIBBON_BUTTONBAR_BUTTON_ACTIVE_MASK)
+            dc.SetBrush(m_button_bar_active_background_brush);
+        else
+            dc.SetBrush(m_button_bar_hover_background_brush);
+        dc.DrawRectangle(bg_rect.x, bg_rect.y, bg_rect.width, bg_rect.height);
+    }
+
+    dc.SetFont(m_button_bar_label_font);
+    dc.SetTextForeground(m_button_bar_label_colour);
+    DrawButtonBarButtonForeground(dc, rect, kind, state, label, bitmap_large,
+        bitmap_small);
+}
+
+void wxRibbonAUIArtProvider::DrawToolBarBackground(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect)
+{
+    DrawPartialPanelBackground(dc, wnd, rect);
+}
+
+void wxRibbonAUIArtProvider::DrawToolGroupBackground(
+                    wxDC& dc,
+                    wxWindow* WXUNUSED(wnd),
+                    const wxRect& rect)
+{
+    dc.SetPen(m_toolbar_border_pen);
+    dc.SetBrush(*wxTRANSPARENT_BRUSH);
+    dc.DrawRectangle(rect.x, rect.y, rect.width, rect.height);
+    wxRect bg_rect(rect);
+    bg_rect.Deflate(1);
+    dc.GradientFillLinear(bg_rect, m_tool_background_colour,
+        m_tool_background_gradient_colour, wxSOUTH);
+}
+
+void wxRibbonAUIArtProvider::DrawTool(
+            wxDC& dc,
+            wxWindow* WXUNUSED(wnd),
+            const wxRect& rect,
+            const wxBitmap& bitmap,
+            wxRibbonButtonKind kind,
+            long state)
+{
+    wxRect bg_rect(rect);
+    bg_rect.Deflate(1);
+    if((state & wxRIBBON_TOOLBAR_TOOL_LAST) == 0)
+        bg_rect.width++;
+    bool is_custom_bg = (state & (wxRIBBON_TOOLBAR_TOOL_HOVER_MASK |
+        wxRIBBON_TOOLBAR_TOOL_ACTIVE_MASK)) != 0;
+    bool is_split_hybrid = kind == wxRIBBON_BUTTON_HYBRID && is_custom_bg;
+
+    // Background
+    if(is_custom_bg)
+    {
+        dc.SetPen(*wxTRANSPARENT_PEN);
+        dc.SetBrush(m_tool_hover_background_brush);
+        dc.DrawRectangle(bg_rect.x, bg_rect.y, bg_rect.width, bg_rect.height);
+        if(state & wxRIBBON_TOOLBAR_TOOL_ACTIVE_MASK)
+        {
+            wxRect active_rect(bg_rect);
+            if(kind == wxRIBBON_BUTTON_HYBRID)
+            {
+                active_rect.width -= 8;
+                if(state & wxRIBBON_TOOLBAR_TOOL_DROPDOWN_ACTIVE)
+                {
+                    active_rect.x += active_rect.width;
+                    active_rect.width = 8;
+                }
+            }
+            dc.SetBrush(m_tool_active_background_brush);
+            dc.DrawRectangle(active_rect.x, active_rect.y, active_rect.width,
+                active_rect.height);
+        }
+    }
+
+    // Border
+    if(is_custom_bg)
+        dc.SetPen(m_toolbar_hover_borden_pen);
+    else
+        dc.SetPen(m_toolbar_border_pen);
+    if((state & wxRIBBON_TOOLBAR_TOOL_FIRST) == 0)
+    {
+        wxColour existing;
+        if(!dc.GetPixel(rect.x, rect.y + 1, &existing) ||
+            existing != m_toolbar_hover_borden_pen.GetColour())
+        {
+            dc.DrawLine(rect.x, rect.y + 1, rect.x, rect.y + rect.height - 1);
+        }
+    }
+    if(is_custom_bg)
+    {
+        wxRect border_rect(bg_rect);
+        border_rect.Inflate(1);
+        dc.SetBrush(*wxTRANSPARENT_BRUSH);
+        dc.DrawRectangle(border_rect.x, border_rect.y, border_rect.width,
+            border_rect.height);
+    }
+
+    // Foreground
+    int avail_width = bg_rect.GetWidth();
+    if(kind != wxRIBBON_BUTTON_NORMAL)
+    {
+        avail_width -= 8;
+        if(is_split_hybrid)
+        {
+            dc.DrawLine(rect.x + avail_width + 1, rect.y, 
+                rect.x + avail_width + 1, rect.y + rect.height);
+        }
+        dc.DrawBitmap(m_toolbar_drop_bitmap, bg_rect.x + avail_width + 2,
+            bg_rect.y + (bg_rect.height / 2) - 2, true);
+    }
+    dc.DrawBitmap(bitmap, bg_rect.x + (avail_width - bitmap.GetWidth()) / 2,
+        bg_rect.y + (bg_rect.height - bitmap.GetHeight()) / 2, true);
+}
+
+#endif // wxUSE_RIBBON
diff --git a/src/ribbon/art_internal.cpp b/src/ribbon/art_internal.cpp
new file mode 100644 (file)
index 0000000..d96790a
--- /dev/null
@@ -0,0 +1,259 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        src/ribbon/art_internal.cpp
+// Purpose:     Helper functions & classes used by ribbon art providers
+// Author:      Peter Cawley
+// Modified by:
+// Created:     2009-08-04
+// RCS-ID:      $Id$
+// Copyright:   (C) Peter Cawley
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#include "wx/ribbon/art.h"
+
+#if wxUSE_RIBBON
+
+#include "wx/ribbon/art_internal.h"
+#include "wx/ribbon/bar.h"
+#include "wx/ribbon/buttonbar.h"
+#include "wx/ribbon/gallery.h"
+
+#ifndef WX_PRECOMP
+#endif
+
+#ifdef __WXMSW__
+#include "wx/msw/private.h"
+#endif
+
+wxRibbonArtProvider::wxRibbonArtProvider() {}
+wxRibbonArtProvider::~wxRibbonArtProvider() {}
+
+wxColour wxRibbonInterpolateColour(const wxColour& start_colour,
+                                const wxColour& end_colour,
+                                int position,
+                                int start_position,
+                                int end_position)
+{
+    if(position <= start_position)
+    {
+        return start_colour;
+    }
+    if(position >= end_position)
+    {
+        return end_colour;
+    }
+    position -= start_position;
+    end_position -= start_position;
+    int r = end_colour.Red() - start_colour.Red();
+    int g = end_colour.Green() - start_colour.Green();
+    int b = end_colour.Blue() - start_colour.Blue();
+    r = start_colour.Red()   + (((r * position * 100) / end_position) / 100);
+    g = start_colour.Green() + (((g * position * 100) / end_position) / 100);
+    b = start_colour.Blue()  + (((b * position * 100) / end_position) / 100);
+    return wxColour(r, g, b);
+}
+
+bool wxRibbonCanLabelBreakAtPosition(const wxString& label, size_t pos)
+{
+    return label[pos] == ' ';
+}
+
+void wxRibbonDrawParallelGradientLines(wxDC& dc,
+                                    int nlines,
+                                    const wxPoint* line_origins,
+                                    int stepx,
+                                    int stepy,
+                                    int numsteps,
+                                    int offset_x,
+                                    int offset_y,
+                                    const wxColour& start_colour,
+                                    const wxColour& end_colour)
+{
+    int rd, gd, bd;
+    rd = end_colour.Red() - start_colour.Red();
+    gd = end_colour.Green() - start_colour.Green();
+    bd = end_colour.Blue() - start_colour.Blue();
+
+    for (int step = 0; step < numsteps; ++step)
+    {
+        int r,g,b;
+
+        r = start_colour.Red() + (((step*rd*100)/numsteps)/100);
+        g = start_colour.Green() + (((step*gd*100)/numsteps)/100);
+        b = start_colour.Blue() + (((step*bd*100)/numsteps)/100);
+
+        wxPen p(wxColour((unsigned char)r,
+                        (unsigned char)g,
+                        (unsigned char)b));
+        dc.SetPen(p);
+
+        for(int n = 0; n < nlines; ++n)
+        {
+            dc.DrawLine(offset_x + line_origins[n].x, offset_y + line_origins[n].y,
+                        offset_x + line_origins[n].x + stepx, offset_y + line_origins[n].y + stepy);
+        }
+
+        offset_x += stepx;
+        offset_y += stepy;
+    }
+}
+
+wxRibbonHSLColour wxRibbonShiftLuminance(wxRibbonHSLColour colour,
+                                                float amount)
+{
+    if(amount <= 1.0f)
+        return colour.Darker(colour.luminance * (1.0f - amount));
+    else
+        return colour.Lighter((1.0f - colour.luminance) * (amount - 1.0f));
+}
+
+wxBitmap wxRibbonLoadPixmap(const char* const* bits, wxColour fore)
+{
+    wxImage xpm = wxBitmap(bits).ConvertToImage();
+    xpm.Replace(255, 0, 255, fore.Red(), fore.Green(), fore.Blue());
+    return wxBitmap(xpm);
+}
+
+wxRibbonHSLColour::wxRibbonHSLColour(const wxColour& col)
+{
+    float red = float(col.Red()) / 255.0;
+    float green = float(col.Green()) / 255.0;
+    float blue = float(col.Blue()) / 255.0;
+    float Min = wxMin(red, wxMin(green, blue));
+    float Max = wxMax(red, wxMax(green, blue));
+    luminance = 0.5 * (Max + Min);
+    if (Min == Max)
+    {
+        // colour is a shade of grey
+        hue = 0.0;
+        saturation = 0.0;
+    }
+    else
+    {
+        if(luminance <= 0.5)
+            saturation = (Max - Min) / (Max + Min);
+        else
+            saturation = (Max - Min) / (2.0 - (Max + Min));
+
+        if(Max == red)
+        {
+            hue = 60.0 * (green - blue) / (Max - Min);
+            if(hue < 0.0)
+                hue += 360.0;
+        }
+        else if(Max == green)
+        {
+            hue = 60.0 * (blue - red) / (Max - Min);
+            hue += 120.0;
+        }
+        else // Max == blue
+        { 
+            hue = 60.0 * (red - green) / (Max - Min);
+            hue += 240.0;
+        }
+    }
+}
+
+wxColour wxRibbonHSLColour::ToRGB() const
+{
+    float _hue = (hue - floor(hue / 360.0f) * 360.0f);
+    float _saturation = saturation;
+    float _luminance = luminance;
+    if(_saturation > 1.0) _saturation = 1.0;
+    if(_saturation < 0.0) _saturation = 0.0;
+    if(_luminance > 1.0) _luminance = 1.0;
+    if(_luminance < 0.0) _luminance = 0.0;
+
+    float red, blue, green;
+    if(_saturation == 0.0)
+    {
+        // colour is a shade of grey
+        red = blue = green = _luminance;
+    }
+    else
+    {
+        double tmp2 = (_luminance < 0.5)
+           ? _luminance * (1.0 + _saturation)
+           : (_luminance + _saturation) - (_luminance * _saturation);
+        double tmp1 = 2.0 * _luminance - tmp2;
+
+        double tmp3R = _hue + 120.0;
+        if(tmp3R > 360.0)
+            tmp3R -= 360.0;
+        if(tmp3R < 60.0)
+            red = tmp1 + (tmp2 - tmp1) * tmp3R / 60.0;
+        else if(tmp3R < 180.0)
+            red = tmp2;
+        else if(tmp3R < 240.0)
+            red = tmp1 + (tmp2 - tmp1) * (240.0 - tmp3R) / 60.0;
+        else
+            red = tmp1;
+
+        double tmp3G = _hue;
+        if(tmp3G > 360.0)
+            tmp3G -= 360.0;
+        if(tmp3G < 60.0)
+            green = tmp1 + (tmp2 - tmp1) * tmp3G / 60.0;
+        else if(tmp3G < 180.0)
+            green = tmp2;
+        else if(tmp3G < 240.0)
+            green = tmp1 + (tmp2 - tmp1) * (240.0 - tmp3G) / 60.0;
+        else
+            green = tmp1;
+
+        double tmp3B = _hue + 240.0;
+        if(tmp3B > 360.0)
+            tmp3B -= 360.0;
+        if(tmp3B < 60.0)
+            blue = tmp1 + (tmp2 - tmp1) * tmp3B / 60.0;
+        else if(tmp3B < 180.0)
+            blue = tmp2;
+        else if(tmp3B < 240.0)
+            blue = tmp1 + (tmp2 - tmp1) * (240.0 - tmp3B) / 60.0;
+        else
+            blue = tmp1;
+    }
+    return wxColour(
+        (unsigned char)(red * 255.0),
+        (unsigned char)(green * 255.0),
+        (unsigned char)(blue * 255.0));
+}
+
+wxRibbonHSLColour wxRibbonHSLColour::Darker(float delta) const
+{
+    return Lighter(-delta);
+}
+
+wxRibbonHSLColour& wxRibbonHSLColour::MakeDarker(float delta)
+{
+    luminance -= delta;
+    return *this;
+}
+
+wxRibbonHSLColour wxRibbonHSLColour::Lighter(float delta) const
+{
+    return wxRibbonHSLColour(hue, saturation, luminance + delta);
+}
+
+wxRibbonHSLColour wxRibbonHSLColour::Saturated(float delta) const
+{
+    return wxRibbonHSLColour(hue, saturation + delta, luminance);
+}
+
+wxRibbonHSLColour wxRibbonHSLColour::Desaturated(float delta) const
+{
+    return Saturated(-delta);
+}
+
+wxRibbonHSLColour wxRibbonHSLColour::ShiftHue(float delta) const
+{
+    return wxRibbonHSLColour(hue + delta, saturation, luminance);
+}
+
+#endif // wxUSE_RIBBON
diff --git a/src/ribbon/art_msw.cpp b/src/ribbon/art_msw.cpp
new file mode 100644 (file)
index 0000000..5f70558
--- /dev/null
@@ -0,0 +1,2761 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        src/ribbon/art_msw.cpp
+// Purpose:     MSW style art provider for ribbon interface
+// Author:      Peter Cawley
+// Modified by:
+// Created:     2009-05-25
+// RCS-ID:      $Id$
+// Copyright:   (C) Peter Cawley
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#include "wx/ribbon/art.h"
+
+#if wxUSE_RIBBON
+
+#include "wx/ribbon/art_internal.h"
+#include "wx/ribbon/bar.h"
+#include "wx/ribbon/buttonbar.h"
+#include "wx/ribbon/gallery.h"
+#include "wx/ribbon/toolbar.h"
+
+#ifndef WX_PRECOMP
+#endif
+
+#ifdef __WXMSW__
+#include "wx/msw/private.h"
+#endif
+
+static const char* const gallery_up_xpm[] = {
+  "5 5 2 1",
+  "  c None",
+  "x c #FF00FF",
+  "     ",
+  "  x  ",
+  " xxx ",
+  "xxxxx",
+  "     "};
+
+static const char* const gallery_down_xpm[] = {
+  "5 5 2 1",
+  "  c None",
+  "x c #FF00FF",
+  "     ",
+  "xxxxx",
+  " xxx ",
+  "  x  ",
+  "     "};
+
+static const char* const gallery_left_xpm[] = {
+  "5 5 2 1",
+  "  c None",
+  "x c #FF00FF",
+  "   x ",
+  "  xx ",
+  " xxx ",
+  "  xx ",
+  "   x "};
+
+static const char* const gallery_right_xpm[] = {
+  "5 5 2 1",
+  "  c None",
+  "x c #FF00FF",
+  " x   ",
+  " xx  ",
+  " xxx ",
+  " xx  ",
+  " x   "};
+
+static const char* const gallery_extension_xpm[] = {
+  "5 5 2 1",
+  "  c None",
+  "x c #FF00FF",
+  "xxxxx",
+  "     ",
+  "xxxxx",
+  " xxx ",
+  "  x  "};
+
+wxRibbonMSWArtProvider::wxRibbonMSWArtProvider(bool set_colour_scheme)
+{
+    m_flags = 0;
+    m_tab_label_font = wxFont(8, wxDEFAULT, wxNORMAL, wxNORMAL, FALSE);
+    m_button_bar_label_font = m_tab_label_font;
+    m_panel_label_font = m_tab_label_font;
+
+    if(set_colour_scheme)
+    {
+        SetColourScheme(
+            wxColour(194, 216, 241),
+            wxColour(255, 223, 114),
+            wxColour(  0,   0,   0));
+    }
+
+    m_cached_tab_separator_visibility = -10.0; // valid visibilities are in range [0, 1]
+    m_tab_separation_size = 3;
+    m_page_border_left = 2;
+    m_page_border_top = 1;
+    m_page_border_right = 2;
+    m_page_border_bottom = 3;
+    m_panel_x_separation_size = 1;
+    m_panel_y_separation_size = 1;
+    m_tool_group_separation_size = 3;
+    m_gallery_bitmap_padding_left_size = 4;
+    m_gallery_bitmap_padding_right_size = 4;
+    m_gallery_bitmap_padding_top_size = 4;
+    m_gallery_bitmap_padding_bottom_size = 4;
+}
+
+wxRibbonMSWArtProvider::~wxRibbonMSWArtProvider()
+{
+}
+
+void wxRibbonMSWArtProvider::GetColourScheme(
+                         wxColour* primary,
+                         wxColour* secondary,
+                         wxColour* tertiary) const
+{
+    if(primary != NULL)
+        *primary = m_primary_scheme_colour;
+    if(secondary != NULL)
+        *secondary = m_secondary_scheme_colour;
+    if(tertiary != NULL)
+        *tertiary = m_tertiary_scheme_colour;
+}
+
+void wxRibbonMSWArtProvider::SetColourScheme(
+                         const wxColour& primary,
+                         const wxColour& secondary,
+                         const wxColour& tertiary)
+{
+    m_primary_scheme_colour = primary;
+    m_secondary_scheme_colour = secondary;
+    m_tertiary_scheme_colour = tertiary;
+
+    wxRibbonHSLColour primary_hsl(primary);
+    wxRibbonHSLColour secondary_hsl(secondary);
+    // tertiary not used for anything
+
+    // Map primary saturation from [0, 1] to [.25, .75]
+    primary_hsl.saturation = cos(primary_hsl.saturation * M_PI) * -0.25 + 0.5;
+
+    // Map primary luminance from [0, 1] to [.23, .83]
+    primary_hsl.luminance = cos(primary_hsl.luminance * M_PI) * -0.3 + 0.53;
+
+    // Map secondary saturation from [0, 1] to [0.16, 0.84]
+    secondary_hsl.saturation = cos(secondary_hsl.saturation * M_PI) * -0.34 + 0.5;
+
+    // Map secondary luminance from [0, 1] to [0.1, 0.9]
+    secondary_hsl.luminance = cos(secondary_hsl.luminance * M_PI) * -0.4 + 0.5;
+
+#define LikePrimary(h, s, l) \
+    primary_hsl.ShiftHue(h ## f).Saturated(s ## f).Lighter(l ## f).ToRGB()
+#define LikeSecondary(h, s, l) \
+    secondary_hsl.ShiftHue(h ## f).Saturated(s ## f).Lighter(l ## f).ToRGB()
+
+    m_page_border_pen = LikePrimary(1.4, 0.00, -0.08);
+
+    m_page_background_top_colour = LikePrimary(-0.1, -0.03, 0.12);
+    m_page_hover_background_top_colour = LikePrimary(-2.8, 0.27, 0.17);
+    m_page_background_top_gradient_colour = LikePrimary(0.1, -0.10, 0.08);
+    m_page_hover_background_top_gradient_colour = LikePrimary(3.2, 0.16, 0.13);
+    m_page_background_colour = LikePrimary(0.4, -0.09, 0.05);
+    m_page_hover_background_colour = LikePrimary(0.1, 0.19, 0.10);
+    m_page_background_gradient_colour = LikePrimary(-3.2, 0.27, 0.10);
+    m_page_hover_background_gradient_colour = LikePrimary(1.8, 0.01, 0.15);
+
+    m_tab_active_background_colour = LikePrimary(-0.1, -0.31, 0.16);
+    m_tab_active_background_gradient_colour = LikePrimary(-0.1, -0.03, 0.12);
+    m_tab_separator_colour = LikePrimary(0.9, 0.24, 0.05);
+    m_tab_ctrl_background_brush = LikePrimary(1.0, 0.39, 0.07);
+    m_tab_hover_background_colour = LikePrimary(1.3, 0.15, 0.10);
+    m_tab_hover_background_top_colour = LikePrimary(1.4, 0.36, 0.08);
+    m_tab_border_pen = LikePrimary(1.4, 0.03, -0.05);  
+    m_tab_separator_gradient_colour = LikePrimary(1.7, -0.15, -0.18);
+    m_tab_hover_background_top_gradient_colour = LikePrimary(1.8, 0.34, 0.13);   
+    m_tab_label_colour = LikePrimary(4.3, 0.13, -0.49);
+    m_tab_hover_background_gradient_colour = LikeSecondary(-1.5, -0.34, 0.01);
+
+    m_panel_minimised_border_gradient_pen = LikePrimary(-6.9, -0.17, -0.09);
+    m_panel_minimised_border_pen = LikePrimary(-5.3, -0.24, -0.06);
+    m_panel_border_gradient_pen = LikePrimary(-5.2, -0.15, -0.06);
+    m_panel_border_pen = LikePrimary(-2.8, -0.32, 0.02);
+    m_panel_label_background_brush = LikePrimary(-1.5, 0.03, 0.05);
+    m_panel_active_background_gradient_colour = LikePrimary(0.5, 0.34, 0.05);
+    m_panel_hover_label_background_brush = LikePrimary(1.0, 0.30, 0.09);
+    m_panel_active_background_top_gradient_colour = LikePrimary(1.4, -0.17, -0.13);
+    m_panel_active_background_colour = LikePrimary(1.6, -0.18, -0.18);
+    m_panel_active_background_top_colour = LikePrimary(1.7, -0.20, -0.03);
+    m_panel_label_colour = LikePrimary(2.8, -0.14, -0.35);
+    m_panel_hover_label_colour = m_panel_label_colour;
+    m_panel_minimised_label_colour = m_tab_label_colour;
+
+    m_gallery_button_disabled_background_colour = LikePrimary(-2.8, -0.46, 0.09);
+    m_gallery_button_disabled_background_top_brush = LikePrimary(-2.8, -0.36, 0.15);    
+    m_gallery_hover_background_brush = LikePrimary(-0.8, 0.05, 0.15);
+    m_gallery_border_pen = LikePrimary(0.7, -0.02, 0.03);
+    m_gallery_button_background_top_brush = LikePrimary(0.8, 0.34, 0.13);
+    m_gallery_button_background_colour = LikePrimary(1.3, 0.10, 0.08);
+    // SetColour used so that the relevant bitmaps are generated
+    SetColour(wxRIBBON_ART_GALLERY_BUTTON_FACE_COLOUR, LikePrimary(1.4, -0.21, -0.23));
+    SetColour(wxRIBBON_ART_GALLERY_BUTTON_HOVER_FACE_COLOUR, LikePrimary(1.5, -0.24, -0.29));
+    SetColour(wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_FACE_COLOUR, LikePrimary(1.5, -0.24, -0.29));
+    SetColour(wxRIBBON_ART_GALLERY_BUTTON_DISABLED_FACE_COLOUR, LikePrimary(0.0, -1.0, 0.0));
+    m_gallery_button_disabled_background_gradient_colour = LikePrimary(1.5, -0.43, 0.12);
+    m_gallery_button_background_gradient_colour = LikePrimary(1.7, 0.11, 0.09);
+    m_gallery_item_border_pen = LikeSecondary(-3.9, -0.16, -0.14);
+    m_gallery_button_hover_background_colour = LikeSecondary(-0.9, 0.16, -0.07);
+    m_gallery_button_hover_background_gradient_colour = LikeSecondary(0.1, 0.12, 0.03);
+    m_gallery_button_hover_background_top_brush = LikeSecondary(4.3, 0.16, 0.17);
+
+    m_gallery_button_active_background_colour = LikeSecondary(-9.9, 0.03, -0.22);
+    m_gallery_button_active_background_gradient_colour = LikeSecondary(-9.5, 0.14, -0.11);
+    m_gallery_button_active_background_top_brush = LikeSecondary(-9.0, 0.15, -0.08);
+    
+    m_button_bar_label_colour = m_tab_label_colour;
+    m_button_bar_hover_border_pen = LikeSecondary(-6.2, -0.47, -0.14);
+    m_button_bar_hover_background_gradient_colour = LikeSecondary(-0.6, 0.16, 0.04);
+    m_button_bar_hover_background_colour = LikeSecondary(-0.2, 0.16, -0.10);
+    m_button_bar_hover_background_top_gradient_colour = LikeSecondary(0.2, 0.16, 0.03);
+    m_button_bar_hover_background_top_colour = LikeSecondary(8.8, 0.16, 0.17);
+    m_button_bar_active_border_pen = LikeSecondary(-6.2, -0.47, -0.25);
+    m_button_bar_active_background_top_colour = LikeSecondary(-8.4, 0.08, 0.06);
+    m_button_bar_active_background_top_gradient_colour = LikeSecondary(-9.7, 0.13, -0.07);
+    m_button_bar_active_background_colour = LikeSecondary(-9.9, 0.14, -0.14);
+    m_button_bar_active_background_gradient_colour = LikeSecondary(-8.7, 0.17, -0.03);
+
+    m_toolbar_border_pen = LikePrimary(1.4, -0.21, -0.16);
+    SetColour(wxRIBBON_ART_TOOLBAR_FACE_COLOUR, LikePrimary(1.4, -0.17, -0.22));
+    m_tool_background_top_colour = LikePrimary(-1.9, -0.07, 0.06);
+    m_tool_background_top_gradient_colour = LikePrimary(1.4, 0.12, 0.08);
+    m_tool_background_colour = LikePrimary(1.4, -0.09, 0.03);
+    m_tool_background_gradient_colour = LikePrimary(1.9, 0.11, 0.09);
+    m_tool_hover_background_top_colour = LikeSecondary(3.4, 0.11, 0.16);
+    m_tool_hover_background_top_gradient_colour = LikeSecondary(-1.4, 0.04, 0.08);
+    m_tool_hover_background_colour = LikeSecondary(-1.8, 0.16, -0.12);
+    m_tool_hover_background_gradient_colour = LikeSecondary(-2.6, 0.16, 0.05);
+    m_tool_active_background_top_colour = LikeSecondary(-9.9, -0.12, -0.09);
+    m_tool_active_background_top_gradient_colour = LikeSecondary(-8.5, 0.16, -0.12);
+    m_tool_active_background_colour = LikeSecondary(-7.9, 0.16, -0.20);
+    m_tool_active_background_gradient_colour = LikeSecondary(-6.6, 0.16, -0.10);
+
+#undef LikePrimary
+#undef LikeSecondary
+
+    // Invalidate cached tab separator
+    m_cached_tab_separator_visibility = -1.0;
+}
+
+wxRibbonArtProvider* wxRibbonMSWArtProvider::Clone() const
+{
+    wxRibbonMSWArtProvider *copy = new wxRibbonMSWArtProvider;
+    CloneTo(copy);
+    return copy;
+}
+
+void wxRibbonMSWArtProvider::CloneTo(wxRibbonMSWArtProvider* copy) const
+{
+    for(int i = 0; i < 4; ++i)
+    {
+        copy->m_gallery_up_bitmap[i] = m_gallery_up_bitmap[i];
+        copy->m_gallery_down_bitmap[i] = m_gallery_down_bitmap[i];
+        copy->m_gallery_extension_bitmap[i] = m_gallery_extension_bitmap[i];
+    }
+    copy->m_toolbar_drop_bitmap = m_toolbar_drop_bitmap;
+
+    copy->m_primary_scheme_colour = m_primary_scheme_colour;
+    copy->m_secondary_scheme_colour = m_secondary_scheme_colour;
+    copy->m_tertiary_scheme_colour = m_tertiary_scheme_colour;
+
+    copy->m_button_bar_label_colour = m_button_bar_label_colour;
+    copy->m_tab_label_colour = m_tab_label_colour;
+    copy->m_tab_separator_colour = m_tab_separator_colour;
+    copy->m_tab_separator_gradient_colour = m_tab_separator_gradient_colour;
+    copy->m_tab_active_background_colour = m_tab_hover_background_colour;
+    copy->m_tab_active_background_gradient_colour = m_tab_hover_background_gradient_colour;
+    copy->m_tab_hover_background_colour = m_tab_hover_background_colour;
+    copy->m_tab_hover_background_gradient_colour = m_tab_hover_background_gradient_colour;
+    copy->m_tab_hover_background_top_colour = m_tab_hover_background_top_colour;
+    copy->m_tab_hover_background_top_gradient_colour = m_tab_hover_background_top_gradient_colour;
+    copy->m_panel_label_colour = m_panel_label_colour;
+    copy->m_panel_hover_label_colour = m_panel_hover_label_colour;
+    copy->m_panel_minimised_label_colour = m_panel_minimised_label_colour;
+    copy->m_panel_active_background_colour = m_panel_active_background_colour;
+    copy->m_panel_active_background_gradient_colour = m_panel_active_background_gradient_colour;
+    copy->m_panel_active_background_top_colour = m_panel_active_background_top_colour;
+    copy->m_panel_active_background_top_gradient_colour = m_panel_active_background_top_gradient_colour;
+    copy->m_page_background_colour = m_page_background_colour;
+    copy->m_page_background_gradient_colour = m_page_background_gradient_colour;
+    copy->m_page_background_top_colour = m_page_background_top_colour;
+    copy->m_page_background_top_gradient_colour = m_page_background_top_gradient_colour;
+    copy->m_page_hover_background_colour = m_page_hover_background_colour;
+    copy->m_page_hover_background_gradient_colour = m_page_hover_background_gradient_colour;
+    copy->m_page_hover_background_top_colour = m_page_hover_background_top_colour;
+    copy->m_page_hover_background_top_gradient_colour = m_page_hover_background_top_gradient_colour;
+    copy->m_button_bar_hover_background_colour = m_button_bar_hover_background_colour;
+    copy->m_button_bar_hover_background_gradient_colour = m_button_bar_hover_background_gradient_colour;
+    copy->m_button_bar_hover_background_top_colour = m_button_bar_hover_background_top_colour;
+    copy->m_button_bar_hover_background_top_gradient_colour = m_button_bar_hover_background_top_gradient_colour;
+    copy->m_button_bar_active_background_colour = m_button_bar_active_background_colour;
+    copy->m_button_bar_active_background_gradient_colour = m_button_bar_active_background_gradient_colour;
+    copy->m_button_bar_active_background_top_colour = m_button_bar_active_background_top_colour;
+    copy->m_button_bar_active_background_top_gradient_colour = m_button_bar_active_background_top_gradient_colour;
+    copy->m_gallery_button_background_colour = m_gallery_button_background_colour;
+    copy->m_gallery_button_background_gradient_colour = m_gallery_button_background_gradient_colour;    
+    copy->m_gallery_button_hover_background_colour = m_gallery_button_hover_background_colour;
+    copy->m_gallery_button_hover_background_gradient_colour = m_gallery_button_hover_background_gradient_colour;
+    copy->m_gallery_button_active_background_colour = m_gallery_button_active_background_colour;
+    copy->m_gallery_button_active_background_gradient_colour = m_gallery_button_active_background_gradient_colour;
+    copy->m_gallery_button_disabled_background_colour = m_gallery_button_disabled_background_colour;
+    copy->m_gallery_button_disabled_background_gradient_colour = m_gallery_button_disabled_background_gradient_colour;
+    copy->m_gallery_button_face_colour = m_gallery_button_face_colour;
+    copy->m_gallery_button_hover_face_colour = m_gallery_button_hover_face_colour;
+    copy->m_gallery_button_active_face_colour = m_gallery_button_active_face_colour;
+    copy->m_gallery_button_disabled_face_colour = m_gallery_button_disabled_face_colour;
+
+    copy->m_tab_ctrl_background_brush = m_tab_ctrl_background_brush;
+    copy->m_panel_label_background_brush = m_panel_label_background_brush;
+    copy->m_panel_hover_label_background_brush = m_panel_hover_label_background_brush;
+    copy->m_gallery_hover_background_brush = m_gallery_hover_background_brush;
+    copy->m_gallery_button_background_top_brush = m_gallery_button_background_top_brush;
+    copy->m_gallery_button_hover_background_top_brush = m_gallery_button_hover_background_top_brush;
+    copy->m_gallery_button_active_background_top_brush = m_gallery_button_active_background_top_brush;
+    copy->m_gallery_button_disabled_background_top_brush = m_gallery_button_disabled_background_top_brush;
+
+    copy->m_tab_label_font = m_tab_label_font;
+    copy->m_button_bar_label_font = m_button_bar_label_font;
+    copy->m_panel_label_font = m_panel_label_font;
+
+    copy->m_page_border_pen = m_page_border_pen;
+    copy->m_panel_border_pen = m_panel_border_pen;
+    copy->m_panel_border_gradient_pen = m_panel_border_gradient_pen;
+    copy->m_panel_minimised_border_pen = m_panel_minimised_border_pen;
+    copy->m_panel_minimised_border_gradient_pen = m_panel_minimised_border_gradient_pen;
+    copy->m_tab_border_pen = m_tab_border_pen;
+    copy->m_gallery_border_pen = m_gallery_border_pen;
+    copy->m_button_bar_hover_border_pen = m_button_bar_hover_border_pen;
+    copy->m_button_bar_active_border_pen = m_button_bar_active_border_pen;
+    copy->m_gallery_item_border_pen = m_gallery_item_border_pen;
+    copy->m_toolbar_border_pen = m_toolbar_border_pen;
+
+    copy->m_flags = m_flags;
+    copy->m_tab_separation_size = m_tab_separation_size;
+    copy->m_page_border_left = m_page_border_left;
+    copy->m_page_border_top = m_page_border_top;
+    copy->m_page_border_right = m_page_border_right;
+    copy->m_page_border_bottom = m_page_border_bottom;
+    copy->m_panel_x_separation_size = m_panel_x_separation_size;
+    copy->m_panel_y_separation_size = m_panel_y_separation_size;
+    copy->m_gallery_bitmap_padding_left_size = m_gallery_bitmap_padding_left_size;
+    copy->m_gallery_bitmap_padding_right_size = m_gallery_bitmap_padding_right_size;
+    copy->m_gallery_bitmap_padding_top_size = m_gallery_bitmap_padding_top_size;
+    copy->m_gallery_bitmap_padding_bottom_size = m_gallery_bitmap_padding_bottom_size;
+}
+
+long wxRibbonMSWArtProvider::GetFlags() const
+{
+    return m_flags;
+}
+
+void wxRibbonMSWArtProvider::SetFlags(long flags)
+{
+    if((flags ^ m_flags) & wxRIBBON_BAR_FLOW_VERTICAL)
+    {
+        if(flags & wxRIBBON_BAR_FLOW_VERTICAL)
+        {
+            m_page_border_left++;
+            m_page_border_right++;
+            m_page_border_top--;
+            m_page_border_bottom--;
+        }
+        else
+        {
+            m_page_border_left--;
+            m_page_border_right--;
+            m_page_border_top++;
+            m_page_border_bottom++;
+        }
+    }
+    m_flags = flags;
+
+    // Need to reload some bitmaps when flags change
+#define Reload(setting) SetColour(setting, GetColour(setting))
+    Reload(wxRIBBON_ART_GALLERY_BUTTON_FACE_COLOUR);
+    Reload(wxRIBBON_ART_GALLERY_BUTTON_HOVER_FACE_COLOUR);
+    Reload(wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_FACE_COLOUR);
+    Reload(wxRIBBON_ART_GALLERY_BUTTON_DISABLED_FACE_COLOUR);
+#undef Reload
+}
+
+int wxRibbonMSWArtProvider::GetMetric(int id) const
+{
+    switch(id)
+    {
+        case wxRIBBON_ART_TAB_SEPARATION_SIZE:
+            return m_tab_separation_size;
+        case wxRIBBON_ART_PAGE_BORDER_LEFT_SIZE:
+            return m_page_border_left;
+        case wxRIBBON_ART_PAGE_BORDER_TOP_SIZE:
+            return m_page_border_top;
+        case wxRIBBON_ART_PAGE_BORDER_RIGHT_SIZE:
+            return m_page_border_right;
+        case wxRIBBON_ART_PAGE_BORDER_BOTTOM_SIZE:
+            return m_page_border_bottom;
+        case wxRIBBON_ART_PANEL_X_SEPARATION_SIZE:
+            return m_panel_x_separation_size;
+        case wxRIBBON_ART_PANEL_Y_SEPARATION_SIZE:
+            return m_panel_y_separation_size;
+        case wxRIBBON_ART_TOOL_GROUP_SEPARATION_SIZE:
+            return m_tool_group_separation_size;
+        case wxRIBBON_ART_GALLERY_BITMAP_PADDING_LEFT_SIZE:
+            return m_gallery_bitmap_padding_left_size;
+        case wxRIBBON_ART_GALLERY_BITMAP_PADDING_RIGHT_SIZE:
+            return m_gallery_bitmap_padding_right_size;
+        case wxRIBBON_ART_GALLERY_BITMAP_PADDING_TOP_SIZE:
+            return m_gallery_bitmap_padding_top_size;
+        case wxRIBBON_ART_GALLERY_BITMAP_PADDING_BOTTOM_SIZE:
+            return m_gallery_bitmap_padding_bottom_size;
+        default:
+            wxFAIL_MSG(wxT("Invalid Metric Ordinal"));
+            break;
+    }
+
+    return 0;
+}
+
+void wxRibbonMSWArtProvider::SetMetric(int id, int new_val)
+{
+    switch(id)
+    {
+        case wxRIBBON_ART_TAB_SEPARATION_SIZE:
+            m_tab_separation_size = new_val;
+            break;
+        case wxRIBBON_ART_PAGE_BORDER_LEFT_SIZE:
+            m_page_border_left = new_val;
+            break;
+        case wxRIBBON_ART_PAGE_BORDER_TOP_SIZE:
+            m_page_border_top = new_val;
+            break;
+        case wxRIBBON_ART_PAGE_BORDER_RIGHT_SIZE:
+            m_page_border_right = new_val;
+            break;
+        case wxRIBBON_ART_PAGE_BORDER_BOTTOM_SIZE:
+            m_page_border_bottom = new_val;
+            break;
+        case wxRIBBON_ART_PANEL_X_SEPARATION_SIZE:
+            m_panel_x_separation_size = new_val;
+            break;
+        case wxRIBBON_ART_PANEL_Y_SEPARATION_SIZE:
+            m_panel_y_separation_size = new_val;
+            break;
+        case wxRIBBON_ART_TOOL_GROUP_SEPARATION_SIZE:
+            m_tool_group_separation_size = new_val;
+            break;
+        case wxRIBBON_ART_GALLERY_BITMAP_PADDING_LEFT_SIZE:
+            m_gallery_bitmap_padding_left_size = new_val;
+            break;
+        case wxRIBBON_ART_GALLERY_BITMAP_PADDING_RIGHT_SIZE:
+            m_gallery_bitmap_padding_right_size = new_val;
+            break;
+        case wxRIBBON_ART_GALLERY_BITMAP_PADDING_TOP_SIZE:
+            m_gallery_bitmap_padding_top_size = new_val;
+            break;
+        case wxRIBBON_ART_GALLERY_BITMAP_PADDING_BOTTOM_SIZE:
+            m_gallery_bitmap_padding_bottom_size = new_val;
+            break;
+        default:
+            wxFAIL_MSG(wxT("Invalid Metric Ordinal"));
+            break;
+    }
+}
+
+void wxRibbonMSWArtProvider::SetFont(int id, const wxFont& font)
+{
+    switch(id)
+    {
+        case wxRIBBON_ART_TAB_LABEL_FONT:
+            m_tab_label_font = font;
+            break;
+        case wxRIBBON_ART_BUTTON_BAR_LABEL_FONT:
+            m_button_bar_label_font = font;
+            break;
+        case wxRIBBON_ART_PANEL_LABEL_FONT:
+            m_panel_label_font = font;
+            break;
+        default:
+            wxFAIL_MSG(wxT("Invalid Metric Ordinal"));
+            break;
+    }
+}
+
+wxFont wxRibbonMSWArtProvider::GetFont(int id) const
+{
+    switch(id)
+    {
+        case wxRIBBON_ART_TAB_LABEL_FONT:
+            return m_tab_label_font;
+        case wxRIBBON_ART_BUTTON_BAR_LABEL_FONT:
+            return m_button_bar_label_font;
+        case wxRIBBON_ART_PANEL_LABEL_FONT:
+            return m_panel_label_font;
+        default:
+            wxFAIL_MSG(wxT("Invalid Metric Ordinal"));
+            break;
+    }
+
+    return wxNullFont;
+}
+
+wxColour wxRibbonMSWArtProvider::GetColour(int id) const
+{
+    switch(id)
+    {
+        case wxRIBBON_ART_BUTTON_BAR_LABEL_COLOUR:
+            return m_button_bar_label_colour;
+        case wxRIBBON_ART_BUTTON_BAR_HOVER_BORDER_COLOUR:
+            return m_button_bar_hover_border_pen.GetColour();
+        case wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_TOP_COLOUR:
+            return m_button_bar_hover_background_top_colour;
+        case wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_TOP_GRADIENT_COLOUR:
+            return m_button_bar_hover_background_top_gradient_colour;
+        case wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_COLOUR:
+            return m_button_bar_hover_background_colour;
+        case wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_GRADIENT_COLOUR:
+            return m_button_bar_hover_background_gradient_colour;
+        case wxRIBBON_ART_BUTTON_BAR_ACTIVE_BORDER_COLOUR:
+            return m_button_bar_active_border_pen.GetColour();
+        case wxRIBBON_ART_BUTTON_BAR_ACTIVE_BACKGROUND_TOP_COLOUR:
+            return m_button_bar_active_background_top_colour;
+        case wxRIBBON_ART_BUTTON_BAR_ACTIVE_BACKGROUND_TOP_GRADIENT_COLOUR:
+            return m_button_bar_active_background_top_gradient_colour;
+        case wxRIBBON_ART_BUTTON_BAR_ACTIVE_BACKGROUND_COLOUR:
+            return m_button_bar_active_background_colour;
+        case wxRIBBON_ART_BUTTON_BAR_ACTIVE_BACKGROUND_GRADIENT_COLOUR:
+            return m_button_bar_active_background_gradient_colour;
+        case wxRIBBON_ART_GALLERY_BORDER_COLOUR:
+            return m_gallery_border_pen.GetColour();
+        case wxRIBBON_ART_GALLERY_HOVER_BACKGROUND_COLOUR:
+            return m_gallery_hover_background_brush.GetColour();
+        case wxRIBBON_ART_GALLERY_BUTTON_BACKGROUND_COLOUR:
+            return m_gallery_button_background_colour;
+        case wxRIBBON_ART_GALLERY_BUTTON_BACKGROUND_GRADIENT_COLOUR:
+            return m_gallery_button_background_gradient_colour;
+        case wxRIBBON_ART_GALLERY_BUTTON_BACKGROUND_TOP_COLOUR:
+            return m_gallery_button_background_top_brush.GetColour();
+        case wxRIBBON_ART_GALLERY_BUTTON_FACE_COLOUR:
+            return m_gallery_button_face_colour;
+        case wxRIBBON_ART_GALLERY_BUTTON_HOVER_BACKGROUND_COLOUR:
+            return m_gallery_button_hover_background_colour;
+        case wxRIBBON_ART_GALLERY_BUTTON_HOVER_BACKGROUND_GRADIENT_COLOUR:
+            return m_gallery_button_hover_background_gradient_colour;
+        case wxRIBBON_ART_GALLERY_BUTTON_HOVER_BACKGROUND_TOP_COLOUR:
+            return m_gallery_button_hover_background_top_brush.GetColour();
+        case wxRIBBON_ART_GALLERY_BUTTON_HOVER_FACE_COLOUR:
+            return m_gallery_button_face_colour;
+        case wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_BACKGROUND_COLOUR:
+            return m_gallery_button_active_background_colour;
+        case wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_BACKGROUND_GRADIENT_COLOUR:
+            return m_gallery_button_active_background_gradient_colour;
+        case wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_BACKGROUND_TOP_COLOUR:
+            return m_gallery_button_background_top_brush.GetColour();
+        case wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_FACE_COLOUR:
+            return m_gallery_button_active_face_colour;
+        case wxRIBBON_ART_GALLERY_BUTTON_DISABLED_BACKGROUND_COLOUR:
+            return m_gallery_button_disabled_background_colour;
+        case wxRIBBON_ART_GALLERY_BUTTON_DISABLED_BACKGROUND_GRADIENT_COLOUR:
+            return m_gallery_button_disabled_background_gradient_colour;
+        case wxRIBBON_ART_GALLERY_BUTTON_DISABLED_BACKGROUND_TOP_COLOUR:
+            return m_gallery_button_disabled_background_top_brush.GetColour();
+        case wxRIBBON_ART_GALLERY_BUTTON_DISABLED_FACE_COLOUR:
+            return m_gallery_button_disabled_face_colour;
+        case wxRIBBON_ART_GALLERY_ITEM_BORDER_COLOUR:
+            return m_gallery_item_border_pen.GetColour();
+        case wxRIBBON_ART_TAB_CTRL_BACKGROUND_COLOUR:
+        case wxRIBBON_ART_TAB_CTRL_BACKGROUND_GRADIENT_COLOUR:
+            return m_tab_ctrl_background_brush.GetColour();
+        case wxRIBBON_ART_TAB_LABEL_COLOUR:
+            return m_tab_label_colour;
+        case wxRIBBON_ART_TAB_SEPARATOR_COLOUR:
+            return m_tab_separator_colour;
+        case wxRIBBON_ART_TAB_SEPARATOR_GRADIENT_COLOUR:
+            return m_tab_separator_gradient_colour;
+        case wxRIBBON_ART_TAB_ACTIVE_BACKGROUND_TOP_COLOUR:
+        case wxRIBBON_ART_TAB_ACTIVE_BACKGROUND_TOP_GRADIENT_COLOUR:
+            return wxColour(0, 0, 0);
+        case wxRIBBON_ART_TAB_ACTIVE_BACKGROUND_COLOUR:
+            return m_tab_active_background_colour;
+        case wxRIBBON_ART_TAB_ACTIVE_BACKGROUND_GRADIENT_COLOUR:
+            return m_tab_active_background_gradient_colour;
+        case wxRIBBON_ART_TAB_HOVER_BACKGROUND_TOP_COLOUR:
+            return m_tab_hover_background_top_colour;
+        case wxRIBBON_ART_TAB_HOVER_BACKGROUND_TOP_GRADIENT_COLOUR:
+            return m_tab_hover_background_top_gradient_colour;
+        case wxRIBBON_ART_TAB_HOVER_BACKGROUND_COLOUR:
+            return m_tab_hover_background_colour;
+        case wxRIBBON_ART_TAB_HOVER_BACKGROUND_GRADIENT_COLOUR:
+            return m_tab_hover_background_gradient_colour;
+        case wxRIBBON_ART_TAB_BORDER_COLOUR:
+            return m_tab_border_pen.GetColour();
+        case wxRIBBON_ART_PANEL_BORDER_COLOUR:
+            return m_panel_border_pen.GetColour();
+        case wxRIBBON_ART_PANEL_BORDER_GRADIENT_COLOUR:
+            return m_panel_border_gradient_pen.GetColour();
+        case wxRIBBON_ART_PANEL_MINIMISED_BORDER_COLOUR:
+            return m_panel_minimised_border_pen.GetColour();
+        case wxRIBBON_ART_PANEL_MINIMISED_BORDER_GRADIENT_COLOUR:
+            return m_panel_minimised_border_gradient_pen.GetColour();
+        case wxRIBBON_ART_PANEL_LABEL_BACKGROUND_COLOUR:
+        case wxRIBBON_ART_PANEL_LABEL_BACKGROUND_GRADIENT_COLOUR:
+            return m_panel_label_background_brush.GetColour();
+        case wxRIBBON_ART_PANEL_LABEL_COLOUR:
+            return m_panel_label_colour;
+        case wxRIBBON_ART_PANEL_MINIMISED_LABEL_COLOUR:
+            return m_panel_minimised_label_colour;
+        case wxRIBBON_ART_PANEL_HOVER_LABEL_BACKGROUND_COLOUR:
+        case wxRIBBON_ART_PANEL_HOVER_LABEL_BACKGROUND_GRADIENT_COLOUR:
+            return m_panel_hover_label_background_brush.GetColour();
+        case wxRIBBON_ART_PANEL_HOVER_LABEL_COLOUR:
+            return m_panel_hover_label_colour;
+        case wxRIBBON_ART_PANEL_ACTIVE_BACKGROUND_TOP_COLOUR:
+            return m_panel_active_background_top_colour;
+        case wxRIBBON_ART_PANEL_ACTIVE_BACKGROUND_TOP_GRADIENT_COLOUR:
+            return m_panel_active_background_top_gradient_colour;
+        case wxRIBBON_ART_PANEL_ACTIVE_BACKGROUND_COLOUR:
+            return m_panel_active_background_colour;
+        case wxRIBBON_ART_PANEL_ACTIVE_BACKGROUND_GRADIENT_COLOUR:
+            return m_panel_active_background_gradient_colour;
+        case wxRIBBON_ART_PAGE_BORDER_COLOUR:
+            return m_page_border_pen.GetColour();
+        case wxRIBBON_ART_PAGE_BACKGROUND_TOP_COLOUR:
+            return m_page_background_top_colour;
+        case wxRIBBON_ART_PAGE_BACKGROUND_TOP_GRADIENT_COLOUR:
+            return m_page_background_top_gradient_colour;
+        case wxRIBBON_ART_PAGE_BACKGROUND_COLOUR:
+            return m_page_background_colour;
+        case wxRIBBON_ART_PAGE_BACKGROUND_GRADIENT_COLOUR:
+            return m_page_background_gradient_colour;
+        case wxRIBBON_ART_PAGE_HOVER_BACKGROUND_TOP_COLOUR:
+            return m_page_hover_background_top_colour;
+        case wxRIBBON_ART_PAGE_HOVER_BACKGROUND_TOP_GRADIENT_COLOUR:
+            return m_page_hover_background_top_gradient_colour;
+        case wxRIBBON_ART_PAGE_HOVER_BACKGROUND_COLOUR:
+            return m_page_hover_background_colour;
+        case wxRIBBON_ART_PAGE_HOVER_BACKGROUND_GRADIENT_COLOUR:
+            return m_page_hover_background_gradient_colour;
+        case wxRIBBON_ART_TOOLBAR_BORDER_COLOUR:
+        case wxRIBBON_ART_TOOLBAR_HOVER_BORDER_COLOUR:
+            return m_toolbar_border_pen.GetColour();
+        case wxRIBBON_ART_TOOLBAR_FACE_COLOUR:
+            return m_tool_face_colour;
+        default:
+            wxFAIL_MSG(wxT("Invalid Metric Ordinal"));
+            break;
+    }
+
+    return wxColour();
+}
+
+void wxRibbonMSWArtProvider::SetColour(int id, const wxColor& colour)
+{
+    switch(id)
+    {
+        case wxRIBBON_ART_BUTTON_BAR_LABEL_COLOUR:
+            m_button_bar_label_colour = colour;
+            break;
+        case wxRIBBON_ART_BUTTON_BAR_HOVER_BORDER_COLOUR:
+            m_button_bar_hover_border_pen.SetColour(colour);
+            break;
+        case wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_TOP_COLOUR:
+            m_button_bar_hover_background_top_colour = colour;
+            break;
+        case wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_TOP_GRADIENT_COLOUR:
+            m_button_bar_hover_background_top_gradient_colour = colour;
+            break;
+        case wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_COLOUR:
+            m_button_bar_hover_background_colour = colour;
+            break;
+        case wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_GRADIENT_COLOUR:
+            m_button_bar_hover_background_gradient_colour = colour;
+            break;
+        case wxRIBBON_ART_BUTTON_BAR_ACTIVE_BORDER_COLOUR:
+            m_button_bar_active_border_pen.SetColour(colour);
+            break;
+        case wxRIBBON_ART_BUTTON_BAR_ACTIVE_BACKGROUND_TOP_COLOUR:
+            m_button_bar_active_background_top_colour = colour;
+            break;
+        case wxRIBBON_ART_BUTTON_BAR_ACTIVE_BACKGROUND_TOP_GRADIENT_COLOUR:
+            m_button_bar_active_background_top_gradient_colour = colour;
+            break;
+        case wxRIBBON_ART_BUTTON_BAR_ACTIVE_BACKGROUND_COLOUR:
+            m_button_bar_active_background_colour = colour;
+            break;
+        case wxRIBBON_ART_BUTTON_BAR_ACTIVE_BACKGROUND_GRADIENT_COLOUR:
+            m_button_bar_active_background_gradient_colour = colour;
+            break;
+        case wxRIBBON_ART_GALLERY_BORDER_COLOUR:
+            m_gallery_border_pen.SetColour(colour);
+            break;
+        case wxRIBBON_ART_GALLERY_HOVER_BACKGROUND_COLOUR:
+            m_gallery_hover_background_brush.SetColour(colour);
+            break;
+        case wxRIBBON_ART_GALLERY_BUTTON_BACKGROUND_COLOUR:
+            m_gallery_button_background_colour = colour;
+            break;
+        case wxRIBBON_ART_GALLERY_BUTTON_BACKGROUND_GRADIENT_COLOUR:
+            m_gallery_button_background_gradient_colour = colour;
+            break;
+        case wxRIBBON_ART_GALLERY_BUTTON_BACKGROUND_TOP_COLOUR:
+            m_gallery_button_background_top_brush.SetColour(colour);
+            break;
+        case wxRIBBON_ART_GALLERY_BUTTON_FACE_COLOUR:
+            m_gallery_button_face_colour = colour;
+            if(m_flags & wxRIBBON_BAR_FLOW_VERTICAL)
+            {
+                m_gallery_up_bitmap[0] = wxRibbonLoadPixmap(gallery_left_xpm, colour);
+                m_gallery_down_bitmap[0] = wxRibbonLoadPixmap(gallery_right_xpm, colour);
+            }
+            else
+            {
+                m_gallery_up_bitmap[0] = wxRibbonLoadPixmap(gallery_up_xpm, colour);
+                m_gallery_down_bitmap[0] = wxRibbonLoadPixmap(gallery_down_xpm, colour);
+            }
+            m_gallery_extension_bitmap[0] = wxRibbonLoadPixmap(gallery_extension_xpm, colour);
+            break;
+        case wxRIBBON_ART_GALLERY_BUTTON_HOVER_BACKGROUND_COLOUR:
+            m_gallery_button_hover_background_colour = colour;
+            break;
+        case wxRIBBON_ART_GALLERY_BUTTON_HOVER_BACKGROUND_GRADIENT_COLOUR:
+            m_gallery_button_hover_background_gradient_colour = colour;
+            break;
+        case wxRIBBON_ART_GALLERY_BUTTON_HOVER_BACKGROUND_TOP_COLOUR:
+            m_gallery_button_hover_background_top_brush.SetColour(colour);
+            break;
+        case wxRIBBON_ART_GALLERY_BUTTON_HOVER_FACE_COLOUR:
+            m_gallery_button_hover_face_colour = colour;
+            if(m_flags & wxRIBBON_BAR_FLOW_VERTICAL)
+            {
+                m_gallery_up_bitmap[1] = wxRibbonLoadPixmap(gallery_left_xpm, colour);
+                m_gallery_down_bitmap[1] = wxRibbonLoadPixmap(gallery_right_xpm, colour);
+            }
+            else
+            {
+                m_gallery_up_bitmap[1] = wxRibbonLoadPixmap(gallery_up_xpm, colour);
+                m_gallery_down_bitmap[1] = wxRibbonLoadPixmap(gallery_down_xpm, colour);
+            }
+            m_gallery_extension_bitmap[1] = wxRibbonLoadPixmap(gallery_extension_xpm, colour);
+            break;
+        case wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_BACKGROUND_COLOUR:
+            m_gallery_button_active_background_colour = colour;
+            break;
+        case wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_BACKGROUND_GRADIENT_COLOUR:
+            m_gallery_button_active_background_gradient_colour = colour;
+            break;
+        case wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_BACKGROUND_TOP_COLOUR:
+            m_gallery_button_background_top_brush.SetColour(colour);
+            break;
+        case wxRIBBON_ART_GALLERY_BUTTON_ACTIVE_FACE_COLOUR:
+            m_gallery_button_active_face_colour = colour;
+            if(m_flags & wxRIBBON_BAR_FLOW_VERTICAL)
+            {
+                m_gallery_up_bitmap[2] = wxRibbonLoadPixmap(gallery_left_xpm, colour);
+                m_gallery_down_bitmap[2] = wxRibbonLoadPixmap(gallery_right_xpm, colour);
+            }
+            else
+            {
+                m_gallery_up_bitmap[2] = wxRibbonLoadPixmap(gallery_up_xpm, colour);
+                m_gallery_down_bitmap[2] = wxRibbonLoadPixmap(gallery_down_xpm, colour);
+            }
+            m_gallery_extension_bitmap[2] = wxRibbonLoadPixmap(gallery_extension_xpm, colour);
+            break;
+        case wxRIBBON_ART_GALLERY_BUTTON_DISABLED_BACKGROUND_COLOUR:
+            m_gallery_button_disabled_background_colour = colour;
+            break;
+        case wxRIBBON_ART_GALLERY_BUTTON_DISABLED_BACKGROUND_GRADIENT_COLOUR:
+            m_gallery_button_disabled_background_gradient_colour = colour;
+            break;
+        case wxRIBBON_ART_GALLERY_BUTTON_DISABLED_BACKGROUND_TOP_COLOUR:
+            m_gallery_button_disabled_background_top_brush.SetColour(colour);
+            break;
+        case wxRIBBON_ART_GALLERY_BUTTON_DISABLED_FACE_COLOUR:
+            m_gallery_button_disabled_face_colour = colour;
+            if(m_flags & wxRIBBON_BAR_FLOW_VERTICAL)
+            {
+                m_gallery_up_bitmap[3] = wxRibbonLoadPixmap(gallery_left_xpm, colour);
+                m_gallery_down_bitmap[3] = wxRibbonLoadPixmap(gallery_right_xpm, colour);
+            }
+            else
+            {
+                m_gallery_up_bitmap[3] = wxRibbonLoadPixmap(gallery_up_xpm, colour);
+                m_gallery_down_bitmap[3] = wxRibbonLoadPixmap(gallery_down_xpm, colour);
+            }
+            m_gallery_extension_bitmap[3] = wxRibbonLoadPixmap(gallery_extension_xpm, colour);
+            break;
+        case wxRIBBON_ART_GALLERY_ITEM_BORDER_COLOUR:
+            m_gallery_item_border_pen.SetColour(colour);
+            break;
+        case wxRIBBON_ART_TAB_CTRL_BACKGROUND_COLOUR:
+        case wxRIBBON_ART_TAB_CTRL_BACKGROUND_GRADIENT_COLOUR:
+            m_tab_ctrl_background_brush.SetColour(colour);
+            m_cached_tab_separator_visibility = -1.0;
+            break;
+        case wxRIBBON_ART_TAB_LABEL_COLOUR:
+            m_tab_label_colour = colour;
+            break;
+        case wxRIBBON_ART_TAB_SEPARATOR_COLOUR:
+            m_tab_separator_colour = colour;
+            m_cached_tab_separator_visibility = -1.0;
+            break;
+        case wxRIBBON_ART_TAB_SEPARATOR_GRADIENT_COLOUR:
+            m_tab_separator_gradient_colour = colour;
+            m_cached_tab_separator_visibility = -1.0;
+            break;
+        case wxRIBBON_ART_TAB_ACTIVE_BACKGROUND_TOP_COLOUR:
+        case wxRIBBON_ART_TAB_ACTIVE_BACKGROUND_TOP_GRADIENT_COLOUR:
+            break;
+        case wxRIBBON_ART_TAB_ACTIVE_BACKGROUND_COLOUR:
+            m_tab_active_background_colour = colour;
+            break;
+        case wxRIBBON_ART_TAB_ACTIVE_BACKGROUND_GRADIENT_COLOUR:
+            m_tab_active_background_gradient_colour = colour;
+            break;
+        case wxRIBBON_ART_TAB_HOVER_BACKGROUND_TOP_COLOUR:
+            m_tab_hover_background_top_colour = colour;
+            break;
+        case wxRIBBON_ART_TAB_HOVER_BACKGROUND_TOP_GRADIENT_COLOUR:
+            m_tab_hover_background_top_gradient_colour = colour;
+            break;
+        case wxRIBBON_ART_TAB_HOVER_BACKGROUND_COLOUR:
+            m_tab_hover_background_colour = colour;
+            break;
+        case wxRIBBON_ART_TAB_HOVER_BACKGROUND_GRADIENT_COLOUR:
+            m_tab_hover_background_gradient_colour = colour;
+            break;
+        case wxRIBBON_ART_TAB_BORDER_COLOUR:
+            m_tab_border_pen.SetColour(colour);
+            break;
+        case wxRIBBON_ART_PANEL_BORDER_COLOUR:
+            m_panel_border_pen.SetColour(colour);
+            break;
+        case wxRIBBON_ART_PANEL_BORDER_GRADIENT_COLOUR:
+            m_panel_border_gradient_pen.SetColour(colour);
+            break;
+        case wxRIBBON_ART_PANEL_MINIMISED_BORDER_COLOUR:
+            m_panel_minimised_border_pen.SetColour(colour);
+            break;
+        case wxRIBBON_ART_PANEL_MINIMISED_BORDER_GRADIENT_COLOUR:
+            m_panel_minimised_border_gradient_pen.SetColour(colour);
+            break;
+        case wxRIBBON_ART_PANEL_LABEL_BACKGROUND_COLOUR:
+        case wxRIBBON_ART_PANEL_LABEL_BACKGROUND_GRADIENT_COLOUR:
+            m_panel_label_background_brush.SetColour(colour);
+            break;
+        case wxRIBBON_ART_PANEL_LABEL_COLOUR:
+            m_panel_label_colour = colour;
+            break;
+        case wxRIBBON_ART_PANEL_HOVER_LABEL_BACKGROUND_COLOUR:
+        case wxRIBBON_ART_PANEL_HOVER_LABEL_BACKGROUND_GRADIENT_COLOUR:
+            m_panel_hover_label_background_brush.SetColour(colour);
+            break;
+        case wxRIBBON_ART_PANEL_HOVER_LABEL_COLOUR:
+            m_panel_hover_label_colour = colour;
+            break;
+        case wxRIBBON_ART_PANEL_MINIMISED_LABEL_COLOUR:
+            m_panel_minimised_label_colour = colour;
+            break;
+        case wxRIBBON_ART_PANEL_ACTIVE_BACKGROUND_TOP_COLOUR:
+            m_panel_active_background_top_colour = colour;
+            break;
+        case wxRIBBON_ART_PANEL_ACTIVE_BACKGROUND_TOP_GRADIENT_COLOUR:
+            m_panel_active_background_top_gradient_colour = colour;
+            break;
+        case wxRIBBON_ART_PANEL_ACTIVE_BACKGROUND_COLOUR:
+            m_panel_active_background_colour = colour;
+            break;
+        case wxRIBBON_ART_PANEL_ACTIVE_BACKGROUND_GRADIENT_COLOUR:
+            m_panel_active_background_gradient_colour = colour;
+            break;
+        case wxRIBBON_ART_PAGE_BORDER_COLOUR:
+            m_page_border_pen.SetColour(colour);
+            break;
+        case wxRIBBON_ART_PAGE_BACKGROUND_TOP_COLOUR:
+            m_page_background_top_colour = colour;
+            break;
+        case wxRIBBON_ART_PAGE_BACKGROUND_TOP_GRADIENT_COLOUR:
+            m_page_background_top_gradient_colour = colour;
+            break;
+        case wxRIBBON_ART_PAGE_BACKGROUND_COLOUR:
+            m_page_background_colour = colour;
+            break;
+        case wxRIBBON_ART_PAGE_BACKGROUND_GRADIENT_COLOUR:
+            m_page_background_gradient_colour = colour;
+            break;
+        case wxRIBBON_ART_PAGE_HOVER_BACKGROUND_TOP_COLOUR:
+            m_page_hover_background_top_colour = colour;
+            break;
+        case wxRIBBON_ART_PAGE_HOVER_BACKGROUND_TOP_GRADIENT_COLOUR:
+            m_page_hover_background_top_gradient_colour = colour;
+            break;
+        case wxRIBBON_ART_PAGE_HOVER_BACKGROUND_COLOUR:
+            m_page_hover_background_colour = colour;
+            break;
+        case wxRIBBON_ART_PAGE_HOVER_BACKGROUND_GRADIENT_COLOUR:
+            m_page_hover_background_gradient_colour = colour;
+            break;
+        case wxRIBBON_ART_TOOLBAR_BORDER_COLOUR:
+        case wxRIBBON_ART_TOOLBAR_HOVER_BORDER_COLOUR:
+            m_toolbar_border_pen.SetColour(colour);
+            break;
+        case wxRIBBON_ART_TOOLBAR_FACE_COLOUR:
+            m_tool_face_colour = colour;
+            m_toolbar_drop_bitmap = wxRibbonLoadPixmap(gallery_down_xpm, colour);
+            break;
+        default:
+            wxFAIL_MSG(wxT("Invalid Metric Ordinal"));
+            break;
+    }
+}
+
+void wxRibbonMSWArtProvider::DrawTabCtrlBackground(
+                        wxDC& dc,
+                        wxWindow* WXUNUSED(wnd),
+                        const wxRect& rect)
+{
+    dc.SetPen(*wxTRANSPARENT_PEN);
+    dc.SetBrush(m_tab_ctrl_background_brush);
+    dc.DrawRectangle(rect.x, rect.y, rect.width, rect.height);
+
+    dc.SetPen(m_page_border_pen);
+    if(rect.width > 6)
+    {
+        dc.DrawLine(rect.x + 3, rect.y + rect.height - 1, rect.x + rect.width - 3, rect.y + rect.height - 1);
+    }
+    else
+    {
+        dc.DrawLine(rect.x, rect.y + rect.height - 1, rect.x + rect.width, rect.y + rect.height - 1);
+    }
+}
+
+void wxRibbonMSWArtProvider::DrawTab(
+                 wxDC& dc,
+                 wxWindow* WXUNUSED(wnd),
+                 const wxRibbonPageTabInfo& tab)
+{
+    if(tab.rect.height <= 2)
+        return;
+
+    if(tab.active || tab.hovered)
+    {
+        if(tab.active)
+        {
+            wxRect background(tab.rect);
+
+            background.x += 2;
+            background.y += 2;
+            background.width -= 4;
+            background.height -= 2;
+
+            dc.GradientFillLinear(background, m_tab_active_background_colour,
+                m_tab_active_background_gradient_colour, wxSOUTH);
+
+            // TODO: active and hovered
+        }
+        else if(tab.hovered)
+        {
+            wxRect background(tab.rect);
+
+            background.x += 2;
+            background.y += 2;
+            background.width -= 4;
+            background.height -= 3;
+            int h = background.height;
+            background.height /= 2;
+            dc.GradientFillLinear(background,
+                m_tab_hover_background_top_colour,
+                m_tab_hover_background_top_gradient_colour, wxSOUTH);
+
+            background.y += background.height;
+            background.height = h - background.height;
+            dc.GradientFillLinear(background, m_tab_hover_background_colour,
+                m_tab_hover_background_gradient_colour, wxSOUTH);
+        }
+
+        wxPoint border_points[6];
+        border_points[0] = wxPoint(1, tab.rect.height - 2);
+        border_points[1] = wxPoint(1, 3);
+        border_points[2] = wxPoint(3, 1);
+        border_points[3] = wxPoint(tab.rect.width - 4, 1);
+        border_points[4] = wxPoint(tab.rect.width - 2, 3);
+        border_points[5] = wxPoint(tab.rect.width - 2, tab.rect.height - 1);
+
+        dc.SetPen(m_tab_border_pen);
+        dc.DrawLines(sizeof(border_points)/sizeof(wxPoint), border_points, tab.rect.x, tab.rect.y);
+
+        if(tab.active)
+        {
+            // Give the tab a curved outward border at the bottom
+            dc.DrawPoint(tab.rect.x, tab.rect.y + tab.rect.height - 2);
+            dc.DrawPoint(tab.rect.x + tab.rect.width - 1, tab.rect.y + tab.rect.height - 2);
+
+            wxPen p(m_tab_active_background_gradient_colour);
+            dc.SetPen(p);
+
+            // Technically the first two points are the wrong colour, but they're near enough
+            dc.DrawPoint(tab.rect.x + 1, tab.rect.y + tab.rect.height - 2);
+            dc.DrawPoint(tab.rect.x + tab.rect.width - 2, tab.rect.y + tab.rect.height - 2);
+            dc.DrawPoint(tab.rect.x + 1, tab.rect.y + tab.rect.height - 1);
+            dc.DrawPoint(tab.rect.x, tab.rect.y + tab.rect.height - 1);
+            dc.DrawPoint(tab.rect.x + tab.rect.width - 2, tab.rect.y + tab.rect.height - 1);
+            dc.DrawPoint(tab.rect.x + tab.rect.width - 1, tab.rect.y + tab.rect.height - 1);
+        }
+    }
+
+    if(m_flags & wxRIBBON_BAR_SHOW_PAGE_ICONS)
+    {
+        wxBitmap icon = tab.page->GetIcon();
+        int x = tab.rect.x + 4;
+        if((m_flags & wxRIBBON_BAR_SHOW_PAGE_LABELS) == 0)
+            x = tab.rect.x + (tab.rect.width - icon.GetWidth()) / 2;
+        dc.DrawBitmap(icon, x, tab.rect.y + 1 + (tab.rect.height - 1 -
+            icon.GetHeight()) / 2, true);
+    }
+    if(m_flags & wxRIBBON_BAR_SHOW_PAGE_LABELS)
+    {
+        wxString label = tab.page->GetLabel();
+        if(!label.IsEmpty())
+        {
+            dc.SetFont(m_tab_label_font);
+            dc.SetTextForeground(m_tab_label_colour);
+            dc.SetBackgroundMode(wxTRANSPARENT);
+
+            int text_height;
+            int text_width;
+            dc.GetTextExtent(label, &text_width, &text_height);
+            int width = tab.rect.width - 5;
+            int x = tab.rect.x + 3;
+            if(m_flags & wxRIBBON_BAR_SHOW_PAGE_ICONS)
+            {
+                x += 3 + tab.page->GetIcon().GetWidth();
+                width -= 3 + tab.page->GetIcon().GetWidth();
+            }
+            int y = tab.rect.y + (tab.rect.height - text_height) / 2;
+
+            if(width <= text_width)
+            {
+                dc.SetClippingRegion(x, tab.rect.y, width, tab.rect.height);
+                dc.DrawText(label, x, y);
+            }
+            else
+            {
+                dc.DrawText(label, x + (width - text_width) / 2 + 1, y);
+            }
+        }
+    }
+}
+
+void wxRibbonMSWArtProvider::DrawTabSeparator(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect,
+                        double visibility)
+{
+    if(visibility <= 0.0)
+    {
+        return;
+    }
+    if(visibility > 1.0)
+    {
+        visibility = 1.0;
+    }
+
+    // The tab separator is relatively expensive to draw (for its size), and is
+    // usually drawn multiple times sequentially (in different positions), so it
+    // makes sense to draw it once and cache it.
+    if(!m_cached_tab_separator.IsOk() || m_cached_tab_separator.GetSize() != rect.GetSize() || visibility != m_cached_tab_separator_visibility)
+    {
+        wxRect size(rect.GetSize());
+        ReallyDrawTabSeparator(wnd, size, visibility);
+    }
+    dc.DrawBitmap(m_cached_tab_separator, rect.x, rect.y, false);
+}
+
+void wxRibbonMSWArtProvider::ReallyDrawTabSeparator(wxWindow* wnd, const wxRect& rect, double visibility)
+{
+    if(!m_cached_tab_separator.IsOk() || m_cached_tab_separator.GetSize() != rect.GetSize())
+    {
+        m_cached_tab_separator = wxBitmap(rect.GetSize());
+    }
+
+    wxMemoryDC dc(m_cached_tab_separator);
+    DrawTabCtrlBackground(dc, wnd, rect);
+
+    wxCoord x = rect.x + rect.width / 2;
+    double h = (double)(rect.height - 1);
+
+    double r1 = m_tab_ctrl_background_brush.GetColour().Red() * (1.0 - visibility) + 0.5;
+    double g1 = m_tab_ctrl_background_brush.GetColour().Green() * (1.0 - visibility) + 0.5;
+    double b1 = m_tab_ctrl_background_brush.GetColour().Blue() * (1.0 - visibility) + 0.5;
+    double r2 = m_tab_separator_colour.Red();
+    double g2 = m_tab_separator_colour.Green();
+    double b2 = m_tab_separator_colour.Blue();
+    double r3 = m_tab_separator_gradient_colour.Red();
+    double g3 = m_tab_separator_gradient_colour.Green();
+    double b3 = m_tab_separator_gradient_colour.Blue();
+
+    for(int i = 0; i < rect.height - 1; ++i)
+    {
+        double p = ((double)i)/h;
+
+        double r = (p * r3 + (1.0 - p) * r2) * visibility + r1;
+        double g = (p * g3 + (1.0 - p) * g2) * visibility + g1;
+        double b = (p * b3 + (1.0 - p) * b2) * visibility + b1;
+
+        wxPen P(wxColour((unsigned char)r, (unsigned char)g, (unsigned char)b));
+        dc.SetPen(P);
+        dc.DrawPoint(x, rect.y + i);
+    }
+
+    m_cached_tab_separator_visibility = visibility;
+}
+
+void wxRibbonMSWArtProvider::DrawPartialPageBackground(wxDC& dc,
+        wxWindow* WXUNUSED(wnd), const wxRect& rect, wxRibbonPage* page,
+        wxPoint offset, bool hovered)
+{
+    wxRect background(page->GetSize());
+    page->AdjustRectToIncludeScrollButtons(&background);
+    background.height -= 2;
+    // Page background isn't dependant upon the width of the page
+    // (at least not the part of it intended to be painted by this
+    // function). Set to wider than the page itself for when externally
+    // expanded panels need a background - the expanded panel can be wider
+    // than the bar.
+    background.x = 0;
+    background.width = INT_MAX;
+
+    // upper_rect, lower_rect, paint_rect are all in page co-ordinates
+    wxRect upper_rect(background);
+    upper_rect.height /= 5;
+
+    wxRect lower_rect(background);
+    lower_rect.y += upper_rect.height;
+    lower_rect.height -= upper_rect.height;
+
+    wxRect paint_rect(rect);
+    paint_rect.x += offset.x;
+    paint_rect.y += offset.y;
+
+    wxColour bg_top, bg_top_grad, bg_btm, bg_btm_grad;
+    if(hovered)
+    {
+        bg_top = m_page_hover_background_top_colour;
+        bg_top_grad = m_page_hover_background_top_gradient_colour;
+        bg_btm = m_page_hover_background_colour;
+        bg_btm_grad = m_page_hover_background_gradient_colour;
+    }
+    else
+    {
+        bg_top = m_page_background_top_colour;
+        bg_top_grad = m_page_background_top_gradient_colour;
+        bg_btm = m_page_background_colour;
+        bg_btm_grad = m_page_background_gradient_colour;
+    }
+
+    if(paint_rect.Intersects(upper_rect))
+    {
+        wxRect rect(upper_rect);
+        rect.Intersect(paint_rect);
+        rect.x -= offset.x;
+        rect.y -= offset.y;
+        wxColour starting_colour(wxRibbonInterpolateColour(bg_top, bg_top_grad,
+            paint_rect.y, upper_rect.y, upper_rect.y + upper_rect.height));
+        wxColour ending_colour(wxRibbonInterpolateColour(bg_top, bg_top_grad,
+            paint_rect.y + paint_rect.height, upper_rect.y,
+            upper_rect.y + upper_rect.height));
+        dc.GradientFillLinear(rect, starting_colour, ending_colour, wxSOUTH);
+    }
+
+    if(paint_rect.Intersects(lower_rect))
+    {
+        wxRect rect(lower_rect);
+        rect.Intersect(paint_rect);
+        rect.x -= offset.x;
+        rect.y -= offset.y;
+        wxColour starting_colour(wxRibbonInterpolateColour(bg_btm, bg_btm_grad,
+            paint_rect.y, lower_rect.y, lower_rect.y + lower_rect.height));
+        wxColour ending_colour(wxRibbonInterpolateColour(bg_btm, bg_btm_grad,
+            paint_rect.y + paint_rect.height,
+            lower_rect.y, lower_rect.y + lower_rect.height));
+        dc.GradientFillLinear(rect, starting_colour, ending_colour, wxSOUTH);
+    }
+}
+
+void wxRibbonMSWArtProvider::DrawPageBackground(
+                        wxDC& dc,
+                        wxWindow* WXUNUSED(wnd),
+                        const wxRect& rect)
+{
+    dc.SetPen(*wxTRANSPARENT_PEN);
+    dc.SetBrush(m_tab_ctrl_background_brush);
+
+    {
+        wxRect edge(rect);
+
+        edge.width = 2;
+        dc.DrawRectangle(edge.x, edge.y, edge.width, edge.height);
+
+        edge.x += rect.width - 2;
+        dc.DrawRectangle(edge.x, edge.y, edge.width, edge.height);
+
+        edge = rect;
+        edge.height = 2;
+        edge.y += (rect.height - edge.height);
+        dc.DrawRectangle(edge.x, edge.y, edge.width, edge.height);
+    }
+
+    {
+        wxRect background(rect);
+        background.x += 2;
+        background.width -= 4;
+        background.height -= 2;
+
+        background.height /= 5;
+        dc.GradientFillLinear(background, m_page_background_top_colour,
+            m_page_background_top_gradient_colour, wxSOUTH);
+
+        background.y += background.height;
+        background.height = rect.height - 2 - background.height;
+        dc.GradientFillLinear(background, m_page_background_colour,
+            m_page_background_gradient_colour, wxSOUTH);
+    }
+
+    {
+        wxPoint border_points[8];
+        border_points[0] = wxPoint(2, 0);
+        border_points[1] = wxPoint(1, 1);
+        border_points[2] = wxPoint(1, rect.height - 4);
+        border_points[3] = wxPoint(3, rect.height - 2);
+        border_points[4] = wxPoint(rect.width - 4, rect.height - 2);
+        border_points[5] = wxPoint(rect.width - 2, rect.height - 4);
+        border_points[6] = wxPoint(rect.width - 2, 1);
+        border_points[7] = wxPoint(rect.width - 4, -1);
+
+        dc.SetPen(m_page_border_pen);
+        dc.DrawLines(sizeof(border_points)/sizeof(wxPoint), border_points, rect.x, rect.y);
+    }
+}
+
+void wxRibbonMSWArtProvider::DrawScrollButton(
+                        wxDC& dc,
+                        wxWindow* WXUNUSED(wnd),
+                        const wxRect& rect_,
+                        long style)
+{
+    wxRect rect(rect_);
+
+    if((style & wxRIBBON_SCROLL_BTN_FOR_MASK) == wxRIBBON_SCROLL_BTN_FOR_PAGE)
+    {
+        // Page scroll buttons do not have the luxury of rendering on top of anything
+        // else, and their size includes some padding, hence the background painting
+        // and size adjustment.
+        dc.SetPen(*wxTRANSPARENT_PEN);
+        dc.SetBrush(m_tab_ctrl_background_brush);
+        dc.DrawRectangle(rect);
+        dc.SetClippingRegion(rect);
+        switch(style & wxRIBBON_SCROLL_BTN_DIRECTION_MASK)
+        {
+        case wxRIBBON_SCROLL_BTN_LEFT:
+            rect.x++;
+        case wxRIBBON_SCROLL_BTN_RIGHT:
+            rect.y--;
+            rect.width--;
+            break;
+        case wxRIBBON_SCROLL_BTN_UP:
+            rect.x++;
+            rect.y--;
+            rect.width -= 2;
+            rect.height++;
+            break;
+        case wxRIBBON_SCROLL_BTN_DOWN:
+            rect.x++;
+            rect.width -= 2;
+            rect.height--;
+            break;
+        }
+    }
+
+    {
+        wxRect background(rect);
+        background.x++;
+        background.y++;
+        background.width -= 2;
+        background.height -= 2;
+
+        if(style & wxRIBBON_SCROLL_BTN_UP)
+            background.height /= 2;
+        else
+            background.height /= 5;
+        dc.GradientFillLinear(background, m_page_background_top_colour,
+            m_page_background_top_gradient_colour, wxSOUTH);
+
+        background.y += background.height;
+        background.height = rect.height - 2 - background.height;
+        dc.GradientFillLinear(background, m_page_background_colour,
+            m_page_background_gradient_colour, wxSOUTH);
+    }
+
+    {
+        wxPoint border_points[7];
+        switch(style & wxRIBBON_SCROLL_BTN_DIRECTION_MASK)
+        {
+        case wxRIBBON_SCROLL_BTN_LEFT:
+            border_points[0] = wxPoint(2, 0);
+            border_points[1] = wxPoint(rect.width - 1, 0);
+            border_points[2] = wxPoint(rect.width - 1, rect.height - 1);
+            border_points[3] = wxPoint(2, rect.height - 1);
+            border_points[4] = wxPoint(0, rect.height - 3);
+            border_points[5] = wxPoint(0, 2);
+            break;
+        case wxRIBBON_SCROLL_BTN_RIGHT:
+            border_points[0] = wxPoint(0, 0);
+            border_points[1] = wxPoint(rect.width - 3, 0);
+            border_points[2] = wxPoint(rect.width - 1, 2);
+            border_points[3] = wxPoint(rect.width - 1, rect.height - 3);
+            border_points[4] = wxPoint(rect.width - 3, rect.height - 1);
+            border_points[5] = wxPoint(0, rect.height - 1);
+            break;
+        case wxRIBBON_SCROLL_BTN_UP:
+            border_points[0] = wxPoint(2, 0);
+            border_points[1] = wxPoint(rect.width - 3, 0);
+            border_points[2] = wxPoint(rect.width - 1, 2);
+            border_points[3] = wxPoint(rect.width - 1, rect.height - 1);
+            border_points[4] = wxPoint(0, rect.height - 1);
+            border_points[5] = wxPoint(0, 2);
+            break;
+        case wxRIBBON_SCROLL_BTN_DOWN:
+            border_points[0] = wxPoint(0, 0);
+            border_points[1] = wxPoint(rect.width - 1, 0);
+            border_points[2] = wxPoint(rect.width - 1, rect.height - 3);
+            border_points[3] = wxPoint(rect.width - 3, rect.height - 1);
+            border_points[4] = wxPoint(2, rect.height - 1);
+            border_points[5] = wxPoint(0, rect.height - 3);
+            break;
+        }
+        border_points[6] = border_points[0];
+
+        dc.SetPen(m_page_border_pen);
+        dc.DrawLines(sizeof(border_points)/sizeof(wxPoint), border_points, rect.x, rect.y);
+    }
+
+    {
+        // NB: Code for handling hovered/active state is temporary
+        wxPoint arrow_points[3];
+        switch(style & wxRIBBON_SCROLL_BTN_DIRECTION_MASK)
+        {
+        case wxRIBBON_SCROLL_BTN_LEFT:
+            arrow_points[0] = wxPoint(rect.width / 2 - 2, rect.height / 2);
+            if(style & wxRIBBON_SCROLL_BTN_ACTIVE)
+                arrow_points[0].y += 1;
+            arrow_points[1] = arrow_points[0] + wxPoint(3, -3);
+            arrow_points[2] = arrow_points[0] + wxPoint(3,  3);
+            break;
+        case wxRIBBON_SCROLL_BTN_RIGHT:
+            arrow_points[0] = wxPoint(rect.width / 2 + 2, rect.height / 2);
+            if(style & wxRIBBON_SCROLL_BTN_ACTIVE)
+                arrow_points[0].y += 1;
+            arrow_points[1] = arrow_points[0] - wxPoint(3,  3);
+            arrow_points[2] = arrow_points[0] - wxPoint(3, -3);
+            break;
+        case wxRIBBON_SCROLL_BTN_UP:
+            arrow_points[0] = wxPoint(rect.width / 2, rect.height / 2 - 2);
+            if(style & wxRIBBON_SCROLL_BTN_ACTIVE)
+                arrow_points[0].y += 1;
+            arrow_points[1] = arrow_points[0] + wxPoint( 3, 3);
+            arrow_points[2] = arrow_points[0] + wxPoint(-3, 3);
+            break;
+        case wxRIBBON_SCROLL_BTN_DOWN:
+            arrow_points[0] = wxPoint(rect.width / 2, rect.height / 2 + 2);
+            if(style & wxRIBBON_SCROLL_BTN_ACTIVE)
+                arrow_points[0].y += 1;
+            arrow_points[1] = arrow_points[0] - wxPoint( 3, 3);
+            arrow_points[2] = arrow_points[0] - wxPoint(-3, 3);
+            break;
+        }
+
+        dc.SetPen(*wxTRANSPARENT_PEN);
+        wxBrush B(style & wxRIBBON_SCROLL_BTN_HOVERED ? m_tab_active_background_colour : m_tab_label_colour);
+        dc.SetBrush(B);
+        dc.DrawPolygon(sizeof(arrow_points)/sizeof(wxPoint), arrow_points, rect.x, rect.y);
+    }
+}
+
+void wxRibbonMSWArtProvider::DrawDropdownArrow(wxDC& dc, int x, int y, const wxColour& colour)
+{
+    wxPoint arrow_points[3];
+    wxBrush brush(colour);
+    arrow_points[0] = wxPoint(1, 2);
+    arrow_points[1] = arrow_points[0] + wxPoint(-3, -3);
+    arrow_points[2] = arrow_points[0] + wxPoint( 3, -3);
+    dc.SetPen(*wxTRANSPARENT_PEN);
+    dc.SetBrush(brush);
+    dc.DrawPolygon(sizeof(arrow_points)/sizeof(wxPoint), arrow_points, x, y);
+}
+
+void wxRibbonMSWArtProvider::RemovePanelPadding(wxRect* rect)
+{
+    if(m_flags & wxRIBBON_BAR_FLOW_VERTICAL)
+    {
+        rect->y += 1;
+        rect->height -= 2;
+    }
+    else
+    {
+        rect->x += 1;
+        rect->width -= 2;
+    }
+}
+
+void wxRibbonMSWArtProvider::DrawPanelBackground(
+                        wxDC& dc,
+                        wxRibbonPanel* wnd,
+                        const wxRect& rect)
+{
+    DrawPartialPageBackground(dc, wnd, rect, false);
+
+    wxRect true_rect(rect);
+    RemovePanelPadding(&true_rect);
+
+    int label_height;
+    {
+        dc.SetFont(m_panel_label_font);
+        dc.SetPen(*wxTRANSPARENT_PEN);
+        if(wnd->IsHovered())
+        {
+            dc.SetBrush(m_panel_hover_label_background_brush);
+            dc.SetTextForeground(m_panel_hover_label_colour);
+        }
+        else
+        {
+            dc.SetBrush(m_panel_label_background_brush);
+            dc.SetTextForeground(m_panel_label_colour);
+        }
+
+        wxRect label_rect(true_rect);
+        wxString label = wnd->GetLabel();
+        bool clip_label = false;
+        wxSize label_size(dc.GetTextExtent(label));
+
+        label_rect.SetX(label_rect.GetX() + 1);
+        label_rect.SetWidth(label_rect.GetWidth() - 2);
+        label_rect.SetHeight(label_size.GetHeight() + 2);
+        label_rect.SetY(true_rect.GetBottom() - label_rect.GetHeight());
+        label_height = label_rect.GetHeight();
+
+        if(label_size.GetWidth() > label_rect.GetWidth())
+        {
+            // Test if there is enough length for 3 letters and ...
+            wxString new_label = label.Mid(0, 3) + wxT("...");
+            label_size = dc.GetTextExtent(new_label);
+            if(label_size.GetWidth() > label_rect.GetWidth())
+            {
+                // Not enough room for three characters and ...
+                // Display the entire label and just crop it
+                clip_label = true;
+            }
+            else
+            {
+                // Room for some characters and ...
+                // Display as many characters as possible and append ...
+                for(size_t len = label.Len() - 1; len >= 3; --len)
+                {
+                    new_label = label.Mid(0, len) + wxT("...");
+                    label_size = dc.GetTextExtent(new_label);
+                    if(label_size.GetWidth() <= label_rect.GetWidth())
+                    {
+                        label = new_label;
+                        break;
+                    }
+                }
+            }
+        }
+
+        dc.DrawRectangle(label_rect.GetX(), label_rect.GetY(), label_rect.GetWidth(), label_rect.GetHeight());
+        if(clip_label)
+        {
+            wxDCClipper clip(dc, label_rect);
+            dc.DrawText(label, label_rect.x, label_rect.y +
+                (label_rect.GetHeight() - label_size.GetHeight()) / 2);
+        }
+        else
+        {
+            dc.DrawText(label, label_rect.x +
+                (label_rect.GetWidth() - label_size.GetWidth()) / 2,
+                label_rect.y +
+                (label_rect.GetHeight() - label_size.GetHeight()) / 2);
+        }
+    }
+
+    if(wnd->IsHovered())
+    {
+        wxRect client_rect(true_rect);
+        client_rect.x++;
+        client_rect.width -= 2;
+        client_rect.y++;
+        client_rect.height -= 2 + label_height;
+        DrawPartialPageBackground(dc, wnd, client_rect, true);
+    }
+
+    DrawPanelBorder(dc, true_rect, m_panel_border_pen, m_panel_border_gradient_pen);
+}
+
+void wxRibbonMSWArtProvider::DrawGalleryBackground(
+                        wxDC& dc,
+                        wxRibbonGallery* wnd,
+                        const wxRect& rect)
+{
+    DrawPartialPageBackground(dc, wnd, rect);
+
+    if(wnd->IsHovered())
+    {
+        dc.SetPen(*wxTRANSPARENT_PEN);
+        dc.SetBrush(m_gallery_hover_background_brush);
+        if(m_flags & wxRIBBON_BAR_FLOW_VERTICAL)
+        {
+            dc.DrawRectangle(rect.x + 1, rect.y + 1, rect.width - 2,
+                rect.height - 16);
+        }
+        else
+        {
+            dc.DrawRectangle(rect.x + 1, rect.y + 1, rect.width - 16,
+                rect.height - 2);
+        }
+    }
+
+    dc.SetPen(m_gallery_border_pen);
+    // Outline
+    dc.DrawLine(rect.x + 1, rect.y, rect.x + rect.width - 1, rect.y);
+    dc.DrawLine(rect.x, rect.y + 1, rect.x, rect.y + rect.height - 1);
+    dc.DrawLine(rect.x + 1, rect.y + rect.height - 1, rect.x + rect.width - 1,
+        rect.y + rect.height - 1);
+    dc.DrawLine(rect.x + rect.width - 1, rect.y + 1, rect.x + rect.width - 1,
+        rect.y + rect.height - 1);
+
+    DrawGalleryBackgroundCommon(dc, wnd, rect);
+}
+
+void wxRibbonMSWArtProvider::DrawGalleryBackgroundCommon(wxDC& dc,
+                        wxRibbonGallery* wnd,
+                        const wxRect& rect)
+{
+    wxRect up_btn, down_btn, ext_btn;
+
+    if(m_flags & wxRIBBON_BAR_FLOW_VERTICAL)
+    {
+        // Divider between items and buttons
+        dc.DrawLine(rect.x, rect.y + rect.height - 15, rect.x + rect.width,
+            rect.y + rect.height - 15);
+
+        up_btn = wxRect(rect.x, rect.y + rect.height - 15, rect.width / 3, 15);
+
+        down_btn = wxRect(up_btn.GetRight() + 1, up_btn.GetTop(),
+            up_btn.GetWidth(), up_btn.GetHeight());
+        dc.DrawLine(down_btn.GetLeft(), down_btn.GetTop(), down_btn.GetLeft(),
+            down_btn.GetBottom());
+
+        ext_btn = wxRect(down_btn.GetRight() + 1, up_btn.GetTop(), rect.width -
+            up_btn.GetWidth() - down_btn.GetWidth() - 1, up_btn.GetHeight());
+        dc.DrawLine(ext_btn.GetLeft(), ext_btn.GetTop(), ext_btn.GetLeft(),
+            ext_btn.GetBottom());
+    }
+    else
+    {
+        // Divider between items and buttons
+        dc.DrawLine(rect.x + rect.width - 15, rect.y, rect.x + rect.width - 15,
+            rect.y + rect.height);
+
+        up_btn = wxRect(rect.x + rect.width - 15, rect.y, 15, rect.height / 3);
+
+        down_btn = wxRect(up_btn.GetLeft(), up_btn.GetBottom() + 1,
+            up_btn.GetWidth(), up_btn.GetHeight());
+        dc.DrawLine(down_btn.GetLeft(), down_btn.GetTop(), down_btn.GetRight(),
+            down_btn.GetTop());
+
+        ext_btn = wxRect(up_btn.GetLeft(), down_btn.GetBottom() + 1, up_btn.GetWidth(),
+            rect.height - up_btn.GetHeight() - down_btn.GetHeight() - 1);
+        dc.DrawLine(ext_btn.GetLeft(), ext_btn.GetTop(), ext_btn.GetRight(),
+            ext_btn.GetTop());
+    }
+
+    DrawGalleryButton(dc, up_btn, wnd->GetUpButtonState(),
+        m_gallery_up_bitmap);
+    DrawGalleryButton(dc, down_btn, wnd->GetDownButtonState(),
+        m_gallery_down_bitmap);
+    DrawGalleryButton(dc, ext_btn, wnd->GetExtensionButtonState(),
+        m_gallery_extension_bitmap);
+}
+
+void wxRibbonMSWArtProvider::DrawGalleryButton(wxDC& dc,
+                                            wxRect rect,
+                                            wxRibbonGalleryButtonState state,
+                                            wxBitmap* bitmaps)
+{
+    wxBitmap btn_bitmap;
+    wxBrush btn_top_brush;
+    wxColour btn_colour;
+    wxColour btn_grad_colour;
+    switch(state)
+    {
+    case wxRIBBON_GALLERY_BUTTON_NORMAL:
+        btn_top_brush = m_gallery_button_background_top_brush;
+        btn_colour = m_gallery_button_background_colour;
+        btn_grad_colour = m_gallery_button_background_gradient_colour;
+        btn_bitmap = bitmaps[0];
+        break;
+    case wxRIBBON_GALLERY_BUTTON_HOVERED:
+        btn_top_brush = m_gallery_button_hover_background_top_brush;
+        btn_colour = m_gallery_button_hover_background_colour;
+        btn_grad_colour = m_gallery_button_hover_background_gradient_colour;
+        btn_bitmap = bitmaps[1];
+        break;
+    case wxRIBBON_GALLERY_BUTTON_ACTIVE:
+        btn_top_brush = m_gallery_button_active_background_top_brush;
+        btn_colour = m_gallery_button_active_background_colour;
+        btn_grad_colour = m_gallery_button_active_background_gradient_colour;
+        btn_bitmap = bitmaps[2];
+        break;
+    case wxRIBBON_GALLERY_BUTTON_DISABLED:
+        btn_top_brush = m_gallery_button_disabled_background_top_brush;
+        btn_colour = m_gallery_button_disabled_background_colour;
+        btn_grad_colour = m_gallery_button_disabled_background_gradient_colour;
+        btn_bitmap = bitmaps[3];
+        break;
+    }
+
+    rect.x++;
+    rect.y++;
+    if(m_flags & wxRIBBON_BAR_FLOW_VERTICAL)
+    {
+        rect.width--;;
+        rect.height -= 2;
+    }
+    else
+    {
+        rect.width -= 2;
+        rect.height--;
+    }
+
+    dc.SetPen(*wxTRANSPARENT_PEN);
+    dc.SetBrush(btn_top_brush);
+    dc.DrawRectangle(rect.x, rect.y, rect.width, rect.height / 2);
+
+    wxRect lower(rect);
+    lower.height = (lower.height + 1) / 2;
+    lower.y += rect.height - lower.height;
+    dc.GradientFillLinear(lower, btn_colour, btn_grad_colour, wxSOUTH);
+
+    dc.DrawBitmap(btn_bitmap, rect.x + rect.width / 2 - 2, lower.y - 2, true);
+}
+
+void wxRibbonMSWArtProvider::DrawGalleryItemBackground(
+                        wxDC& dc,
+                        wxRibbonGallery* wnd,
+                        const wxRect& rect,
+                        wxRibbonGalleryItem* item)
+{
+    if(wnd->GetHoveredItem() != item && wnd->GetActiveItem() != item &&
+        wnd->GetSelection() != item)
+        return;
+
+    dc.SetPen(m_gallery_item_border_pen);
+    dc.DrawLine(rect.x + 1, rect.y, rect.x + rect.width - 1, rect.y);
+    dc.DrawLine(rect.x, rect.y + 1, rect.x, rect.y + rect.height - 1);
+    dc.DrawLine(rect.x + 1, rect.y + rect.height - 1, rect.x + rect.width - 1,
+        rect.y + rect.height - 1);
+    dc.DrawLine(rect.x + rect.width - 1, rect.y + 1, rect.x + rect.width - 1,
+        rect.y + rect.height - 1);
+
+    wxBrush top_brush;
+    wxColour bg_colour;
+    wxColour bg_gradient_colour;
+
+    if(wnd->GetActiveItem() == item || wnd->GetSelection() == item)
+    {
+        top_brush = m_gallery_button_active_background_top_brush;
+        bg_colour = m_gallery_button_active_background_colour;
+        bg_gradient_colour = m_gallery_button_active_background_gradient_colour;
+    }
+    else
+    {
+        top_brush = m_gallery_button_hover_background_top_brush;
+        bg_colour = m_gallery_button_hover_background_colour;
+        bg_gradient_colour = m_gallery_button_hover_background_gradient_colour;
+    }
+
+    wxRect upper(rect);
+    upper.x += 1;
+    upper.width -= 2;
+    upper.y += 1;
+    upper.height /= 3;
+    dc.SetPen(*wxTRANSPARENT_PEN);
+    dc.SetBrush(top_brush);
+    dc.DrawRectangle(upper.x, upper.y, upper.width, upper.height);
+
+    wxRect lower(upper);
+    lower.y += lower.height;
+    lower.height = rect.height - 2 - lower.height;
+    dc.GradientFillLinear(lower, bg_colour, bg_gradient_colour, wxSOUTH);
+}
+
+void wxRibbonMSWArtProvider::DrawPanelBorder(wxDC& dc, const wxRect& rect,
+                                             wxPen& primary_colour,
+                                             wxPen& secondary_colour)
+{
+    wxPoint border_points[9];
+    border_points[0] = wxPoint(2, 0);
+    border_points[1] = wxPoint(rect.width - 3, 0);
+    border_points[2] = wxPoint(rect.width - 1, 2);
+    border_points[3] = wxPoint(rect.width - 1, rect.height - 3);
+    border_points[4] = wxPoint(rect.width - 3, rect.height - 1);
+    border_points[5] = wxPoint(2, rect.height - 1);
+    border_points[6] = wxPoint(0, rect.height - 3);
+    border_points[7] = wxPoint(0, 2);
+
+    if(primary_colour.GetColour() == secondary_colour.GetColour())
+    {
+        border_points[8] = border_points[0];
+        dc.SetPen(primary_colour);
+        dc.DrawLines(sizeof(border_points)/sizeof(wxPoint), border_points, rect.x, rect.y);
+    }
+    else
+    {
+        dc.SetPen(primary_colour);
+        dc.DrawLines(3, border_points, rect.x, rect.y);
+
+#define SingleLine(start, finish) \
+        dc.DrawLine(start.x + rect.x, start.y + rect.y, finish.x + rect.x, finish.y + rect.y)
+
+        SingleLine(border_points[0], border_points[7]);
+        dc.SetPen(secondary_colour);
+        dc.DrawLines(3, border_points + 4, rect.x, rect.y);
+        SingleLine(border_points[4], border_points[3]);
+
+#undef SingleLine
+
+        border_points[6] = border_points[2];
+        wxRibbonDrawParallelGradientLines(dc, 2, border_points + 6, 0, 1,
+            border_points[3].y - border_points[2].y + 1, rect.x, rect.y,
+            primary_colour.GetColour(), secondary_colour.GetColour());
+    }
+}
+
+void wxRibbonMSWArtProvider::DrawMinimisedPanel(
+                        wxDC& dc,
+                        wxRibbonPanel* wnd,
+                        const wxRect& rect,
+                        wxBitmap& bitmap)
+{
+    DrawPartialPageBackground(dc, wnd, rect, false);
+
+    wxRect true_rect(rect);
+    RemovePanelPadding(&true_rect);
+
+    if(wnd->GetExpandedPanel() != NULL)
+    {
+        wxRect client_rect(true_rect);
+        client_rect.x++;
+        client_rect.width -= 2;
+        client_rect.y++;
+        client_rect.height = (rect.y + rect.height / 5) - client_rect.x;
+        dc.GradientFillLinear(client_rect, 
+            m_panel_active_background_top_colour,
+            m_panel_active_background_top_gradient_colour, wxSOUTH);
+
+        client_rect.y += client_rect.height;
+        client_rect.height = (true_rect.y + true_rect.height) - client_rect.y;
+        dc.GradientFillLinear(client_rect, 
+            m_panel_active_background_colour,
+            m_panel_active_background_gradient_colour, wxSOUTH);
+    }
+    else if(wnd->IsHovered())
+    {
+        wxRect client_rect(true_rect);
+        client_rect.x++;
+        client_rect.width -= 2;
+        client_rect.y++;
+        client_rect.height -= 2;
+        DrawPartialPageBackground(dc, wnd, client_rect, true);
+    }
+
+    wxRect preview;
+    DrawMinimisedPanelCommon(dc, wnd, true_rect, &preview);
+
+    dc.SetBrush(m_panel_hover_label_background_brush);
+    dc.SetPen(*wxTRANSPARENT_PEN);
+    dc.DrawRectangle(preview.x + 1, preview.y + preview.height - 8,
+        preview.width - 2, 7);
+
+    int mid_pos = rect.y + rect.height / 5 - preview.y;
+    if(mid_pos < 0 || mid_pos >= preview.height)
+    {
+        wxRect full_rect(preview);
+        full_rect.x += 1;
+        full_rect.y += 1;
+        full_rect.width -= 2;
+        full_rect.height -= 9;
+        if(mid_pos < 0)
+        {
+            dc.GradientFillLinear(full_rect,
+                m_page_hover_background_colour,
+                m_page_hover_background_gradient_colour, wxSOUTH);
+        }
+        else
+        {
+            dc.GradientFillLinear(full_rect,
+                m_page_hover_background_top_colour,
+                m_page_hover_background_top_gradient_colour, wxSOUTH);
+        }
+    }
+    else
+    {
+        wxRect top_rect(preview);
+        top_rect.x += 1;
+        top_rect.y += 1;
+        top_rect.width -= 2;
+        top_rect.height = mid_pos;
+        dc.GradientFillLinear(top_rect,
+            m_page_hover_background_top_colour,
+            m_page_hover_background_top_gradient_colour, wxSOUTH);
+
+        wxRect btm_rect(top_rect);
+        btm_rect.y = preview.y + mid_pos;
+        btm_rect.height = preview.y + preview.height - 7 - btm_rect.y;
+        dc.GradientFillLinear(btm_rect,
+            m_page_hover_background_colour,
+            m_page_hover_background_gradient_colour, wxSOUTH);
+    }
+
+    if(bitmap.IsOk())
+    {
+        dc.DrawBitmap(bitmap, preview.x + (preview.width - bitmap.GetWidth()) / 2,
+            preview.y + (preview.height - 7 - bitmap.GetHeight()) / 2, true);
+    }
+
+    DrawPanelBorder(dc, preview, m_panel_border_pen, m_panel_border_gradient_pen);
+
+    DrawPanelBorder(dc, true_rect, m_panel_minimised_border_pen,
+        m_panel_minimised_border_gradient_pen);
+}
+
+void wxRibbonMSWArtProvider::DrawMinimisedPanelCommon(
+                        wxDC& dc,
+                        wxRibbonPanel* wnd,
+                        const wxRect& true_rect,
+                        wxRect* preview_rect)
+{
+    wxRect preview(0, 0, 32, 32);
+    if(m_flags & wxRIBBON_BAR_FLOW_VERTICAL)
+    {
+        preview.x = true_rect.x + 4;
+        preview.y = true_rect.y + (true_rect.height - preview.height) / 2;
+    }
+    else
+    {
+        preview.x = true_rect.x + (true_rect.width - preview.width) / 2;
+        preview.y = true_rect.y + 4;
+    }
+    if(preview_rect)
+        *preview_rect = preview;
+
+    wxCoord label_width, label_height;
+    dc.SetFont(m_panel_label_font);
+    dc.GetTextExtent(wnd->GetLabel(), &label_width, &label_height);
+
+    int xpos = true_rect.x + (true_rect.width - label_width + 1) / 2;
+    int ypos = preview.y + preview.height + 5;
+
+    if(m_flags & wxRIBBON_BAR_FLOW_VERTICAL)
+    {
+        xpos = preview.x + preview.width + 5;
+        ypos = true_rect.y + (true_rect.height - label_height) / 2;
+    }
+
+    dc.SetTextForeground(m_panel_minimised_label_colour);
+    dc.DrawText(wnd->GetLabel(), xpos, ypos);
+    
+
+    wxPoint arrow_points[3];
+    if(m_flags & wxRIBBON_BAR_FLOW_VERTICAL)
+    {
+        xpos += label_width;
+        arrow_points[0] = wxPoint(xpos + 5, ypos + label_height / 2);
+        arrow_points[1] = arrow_points[0] + wxPoint(-3,  3);
+        arrow_points[2] = arrow_points[0] + wxPoint(-3, -3);
+    }
+    else
+    {
+        ypos += label_height;
+        arrow_points[0] = wxPoint(true_rect.width / 2, ypos + 5);
+        arrow_points[1] = arrow_points[0] + wxPoint(-3, -3);
+        arrow_points[2] = arrow_points[0] + wxPoint( 3, -3);
+    }
+
+    dc.SetPen(*wxTRANSPARENT_PEN);
+    wxBrush B(m_panel_minimised_label_colour);
+    dc.SetBrush(B);
+    dc.DrawPolygon(sizeof(arrow_points)/sizeof(wxPoint), arrow_points,
+        true_rect.x, true_rect.y);
+}
+
+void wxRibbonMSWArtProvider::DrawButtonBarBackground(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect)
+{
+    DrawPartialPageBackground(dc, wnd, rect, true);
+}
+
+void wxRibbonMSWArtProvider::DrawPartialPageBackground(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect,
+                        bool allow_hovered)
+{
+    // Assume the window is a child of a ribbon page, and also check for a
+    // hovered panel somewhere between the window and the page, as it causes
+    // the background to change.
+    wxPoint offset(wnd->GetPosition());
+    wxRibbonPage* page = NULL;
+    wxWindow* parent = wnd->GetParent();
+    wxRibbonPanel* panel = NULL;
+    bool hovered = false;
+
+    panel = wxDynamicCast(wnd, wxRibbonPanel);
+    if(panel != NULL)
+    {
+        hovered = allow_hovered && panel->IsHovered();
+        if(panel->GetExpandedDummy() != NULL)
+        {
+            offset = panel->GetExpandedDummy()->GetPosition();
+            parent = panel->GetExpandedDummy()->GetParent();
+        }
+    }
+    for(; parent; parent = parent->GetParent())
+    {
+        if(panel == NULL)
+        {
+            panel = wxDynamicCast(parent, wxRibbonPanel);
+            if(panel != NULL)
+            {
+                hovered = allow_hovered && panel->IsHovered();
+                if(panel->GetExpandedDummy() != NULL)
+                {
+                    parent = panel->GetExpandedDummy();
+                }
+            }
+        }
+        page = wxDynamicCast(parent, wxRibbonPage);
+        if(page != NULL)
+        {
+            break;
+        }
+        offset += parent->GetPosition();
+    }
+    if(page != NULL)
+    {
+        DrawPartialPageBackground(dc, wnd, rect, page, offset, hovered);
+        return;
+    }
+
+    // No page found - fallback to painting with a stock brush
+    dc.SetBrush(*wxWHITE_BRUSH);
+    dc.SetPen(*wxTRANSPARENT_PEN);
+    dc.DrawRectangle(rect.x, rect.y, rect.width, rect.height);
+}
+
+void wxRibbonMSWArtProvider::DrawButtonBarButton(
+                        wxDC& dc,
+                        wxWindow* WXUNUSED(wnd),
+                        const wxRect& rect,
+                        wxRibbonButtonKind kind,
+                        long state,
+                        const wxString& label,
+                        const wxBitmap& bitmap_large,
+                        const wxBitmap& bitmap_small)
+{
+    if(state & (wxRIBBON_BUTTONBAR_BUTTON_HOVER_MASK |
+        wxRIBBON_BUTTONBAR_BUTTON_ACTIVE_MASK))
+    {
+        if(state & wxRIBBON_BUTTONBAR_BUTTON_ACTIVE_MASK)
+            dc.SetPen(m_button_bar_active_border_pen);
+        else
+            dc.SetPen(m_button_bar_hover_border_pen);
+
+        wxRect bg_rect(rect);
+        bg_rect.x++;
+        bg_rect.y++;
+        bg_rect.width -= 2;
+        bg_rect.height -= 2;
+
+        wxRect bg_rect_top(bg_rect);
+        bg_rect_top.height /= 3;
+        bg_rect.y += bg_rect_top.height;
+        bg_rect.height -= bg_rect_top.height;
+
+        if(kind == wxRIBBON_BUTTON_HYBRID)
+        {
+            switch(state & wxRIBBON_BUTTONBAR_BUTTON_SIZE_MASK)
+            {
+            case wxRIBBON_BUTTONBAR_BUTTON_LARGE:
+                {
+                    int iYBorder = rect.y + bitmap_large.GetHeight() + 4;
+                    wxRect partial_bg(rect);
+                    if(state & wxRIBBON_BUTTONBAR_BUTTON_NORMAL_HOVERED)
+                    {
+                        partial_bg.SetBottom(iYBorder - 1);
+                    }
+                    else
+                    {
+                        partial_bg.height -= (iYBorder - partial_bg.y + 1);
+                        partial_bg.y = iYBorder + 1;
+                    }
+                    dc.DrawLine(rect.x, iYBorder, rect.x + rect.width, iYBorder);
+                    bg_rect.Intersect(partial_bg);
+                    bg_rect_top.Intersect(partial_bg);
+                }
+                break;
+            case wxRIBBON_BUTTONBAR_BUTTON_MEDIUM:
+                {
+                    int iArrowWidth = 9;
+                    if(state & wxRIBBON_BUTTONBAR_BUTTON_NORMAL_HOVERED)
+                    {
+                        bg_rect.width -= iArrowWidth;
+                        bg_rect_top.width -= iArrowWidth;
+                        dc.DrawLine(bg_rect_top.x + bg_rect_top.width,
+                            rect.y, bg_rect_top.x + bg_rect_top.width,
+                            rect.y + rect.height);
+                    }
+                    else
+                    {
+                        --iArrowWidth;
+                        bg_rect.x += bg_rect.width - iArrowWidth;
+                        bg_rect_top.x += bg_rect_top.width - iArrowWidth;
+                        bg_rect.width = iArrowWidth;
+                        bg_rect_top.width = iArrowWidth;
+                        dc.DrawLine(bg_rect_top.x - 1, rect.y,
+                            bg_rect_top.x - 1, rect.y + rect.height);
+                    }
+                }
+                break;
+            case wxRIBBON_BUTTONBAR_BUTTON_SMALL:
+                break;
+            }
+        }
+
+        if(state & wxRIBBON_BUTTONBAR_BUTTON_ACTIVE_MASK)
+        {
+            dc.GradientFillLinear(bg_rect_top,
+                m_button_bar_active_background_top_colour,
+                m_button_bar_active_background_top_gradient_colour, wxSOUTH);
+            dc.GradientFillLinear(bg_rect,
+                m_button_bar_active_background_colour,
+                m_button_bar_active_background_gradient_colour, wxSOUTH);
+        }
+        else
+        {
+            dc.GradientFillLinear(bg_rect_top,
+                m_button_bar_hover_background_top_colour,
+                m_button_bar_hover_background_top_gradient_colour, wxSOUTH);
+            dc.GradientFillLinear(bg_rect,
+                m_button_bar_hover_background_colour,
+                m_button_bar_hover_background_gradient_colour, wxSOUTH);
+        }
+
+        wxPoint border_points[9];
+        border_points[0] = wxPoint(2, 0);
+        border_points[1] = wxPoint(rect.width - 3, 0);
+        border_points[2] = wxPoint(rect.width - 1, 2);
+        border_points[3] = wxPoint(rect.width - 1, rect.height - 3);
+        border_points[4] = wxPoint(rect.width - 3, rect.height - 1);
+        border_points[5] = wxPoint(2, rect.height - 1);
+        border_points[6] = wxPoint(0, rect.height - 3);
+        border_points[7] = wxPoint(0, 2);
+        border_points[8] = border_points[0];
+
+        dc.DrawLines(sizeof(border_points)/sizeof(wxPoint), border_points,
+            rect.x, rect.y);
+    }
+
+    dc.SetFont(m_button_bar_label_font);
+    dc.SetTextForeground(m_button_bar_label_colour);
+    DrawButtonBarButtonForeground(dc, rect, kind, state, label, bitmap_large,
+        bitmap_small);
+}
+
+void wxRibbonMSWArtProvider::DrawButtonBarButtonForeground(
+                        wxDC& dc,
+                        const wxRect& rect,
+                        wxRibbonButtonKind kind,
+                        long state,
+                        const wxString& label,
+                        const wxBitmap& bitmap_large,
+                        const wxBitmap& bitmap_small)
+{
+    switch(state & wxRIBBON_BUTTONBAR_BUTTON_SIZE_MASK)
+    {
+    case wxRIBBON_BUTTONBAR_BUTTON_LARGE:
+        {
+            const int padding = 2;
+            dc.DrawBitmap(bitmap_large,
+                rect.x + (rect.width - bitmap_large.GetWidth()) / 2,
+                rect.y + padding, true);
+            int ypos = rect.y + padding + bitmap_large.GetHeight() + padding;
+            int arrow_width = kind == wxRIBBON_BUTTON_NORMAL ? 0 : 8;
+            wxCoord label_w, label_h;
+            dc.GetTextExtent(label, &label_w, &label_h);
+            if(label_w + 2 * padding <= rect.width)
+            {
+                dc.DrawText(label, rect.x + (rect.width - label_w) / 2, ypos);
+                if(arrow_width != 0)
+                {
+                    DrawDropdownArrow(dc, rect.x + rect.width / 2,
+                        ypos + (label_h * 3) / 2,
+                        m_button_bar_label_colour);
+                }
+            }
+            else
+            {
+                size_t breaki = label.Len();
+                do
+                {
+                    --breaki;
+                    if(wxRibbonCanLabelBreakAtPosition(label, breaki))
+                    {
+                        wxString label_top = label.Mid(0, breaki);
+                        dc.GetTextExtent(label_top, &label_w, &label_h);
+                        if(label_w + 2 * padding <= rect.width)
+                        {
+                            dc.DrawText(label_top,
+                                rect.x + (rect.width - label_w) / 2, ypos);
+                            ypos += label_h;
+                            wxString label_bottom = label.Mid(breaki + 1);
+                            dc.GetTextExtent(label_bottom, &label_w, &label_h);
+                            label_w += arrow_width;
+                            int iX = rect.x + (rect.width - label_w) / 2;
+                            dc.DrawText(label_bottom, iX, ypos);
+                            if(arrow_width != 0)
+                            {
+                                DrawDropdownArrow(dc, 
+                                    iX + 2 +label_w - arrow_width,
+                                    ypos + label_h / 2 + 1,
+                                    m_button_bar_label_colour);
+                            }
+                            break;
+                        }
+                    }
+                } while(breaki > 0);
+            }
+        }
+        break;
+    case wxRIBBON_BUTTONBAR_BUTTON_MEDIUM:
+        {
+            int x_cursor = rect.x + 2;
+            dc.DrawBitmap(bitmap_small, x_cursor,
+                    rect.y + (rect.height - bitmap_small.GetHeight())/2, true);
+            x_cursor += bitmap_small.GetWidth() + 2;
+            wxCoord label_w, label_h;
+            dc.GetTextExtent(label, &label_w, &label_h);
+            dc.DrawText(label, x_cursor,
+                rect.y + (rect.height - label_h) / 2);
+            x_cursor += label_w + 3;
+            if(kind != wxRIBBON_BUTTON_NORMAL)
+            {
+                DrawDropdownArrow(dc, x_cursor, rect.y + rect.height / 2,
+                    m_button_bar_label_colour);
+            }
+            break;
+        }
+    default:
+        // TODO
+        break;
+    }
+}
+
+void wxRibbonMSWArtProvider::DrawToolBarBackground(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        const wxRect& rect)
+{
+    DrawPartialPageBackground(dc, wnd, rect);
+}
+
+void wxRibbonMSWArtProvider::DrawToolGroupBackground(
+                        wxDC& dc,
+                        wxWindow* WXUNUSED(wnd),
+                        const wxRect& rect)
+{
+    dc.SetPen(m_toolbar_border_pen);
+    wxPoint outline[9];
+    outline[0] = wxPoint(2, 0);
+    outline[1] = wxPoint(rect.width - 3, 0);
+    outline[2] = wxPoint(rect.width - 1, 2);
+    outline[3] = wxPoint(rect.width - 1, rect.height - 3);
+    outline[4] = wxPoint(rect.width - 3, rect.height - 1);
+    outline[5] = wxPoint(2, rect.height - 1);
+    outline[6] = wxPoint(0, rect.height - 3);
+    outline[7] = wxPoint(0, 2);
+    outline[8] = outline[0];
+
+    dc.DrawLines(sizeof(outline)/sizeof(wxPoint), outline, rect.x, rect.y);
+}
+
+void wxRibbonMSWArtProvider::DrawTool(
+                wxDC& dc,
+                wxWindow* WXUNUSED(wnd),
+                const wxRect& rect,
+                const wxBitmap& bitmap,
+                wxRibbonButtonKind kind,
+                long state)
+{
+    wxRect bg_rect(rect);
+    bg_rect.Deflate(1);
+    if((state & wxRIBBON_TOOLBAR_TOOL_LAST) == 0)
+        bg_rect.width++;
+    bool is_split_hybrid = (kind == wxRIBBON_BUTTON_HYBRID && (state &
+        (wxRIBBON_TOOLBAR_TOOL_HOVER_MASK | wxRIBBON_TOOLBAR_TOOL_ACTIVE_MASK)));
+
+    // Background
+    wxRect bg_rect_top(bg_rect);
+    bg_rect_top.height = (bg_rect_top.height * 2) / 5;
+    wxRect bg_rect_btm(bg_rect);
+    bg_rect_btm.y += bg_rect_top.height;
+    bg_rect_btm.height -= bg_rect_top.height;
+    wxColour bg_top_colour = m_tool_background_top_colour;
+    wxColour bg_top_grad_colour = m_tool_background_top_gradient_colour;
+    wxColour bg_colour = m_tool_background_colour;
+    wxColour bg_grad_colour = m_tool_background_gradient_colour;
+    if(state & wxRIBBON_TOOLBAR_TOOL_ACTIVE_MASK)
+    {
+        bg_top_colour = m_tool_active_background_top_colour;
+        bg_top_grad_colour = m_tool_active_background_top_gradient_colour;
+        bg_colour = m_tool_active_background_colour;
+        bg_grad_colour = m_tool_active_background_gradient_colour;
+    }
+    else if(state & wxRIBBON_TOOLBAR_TOOL_HOVER_MASK)
+    {
+        bg_top_colour = m_tool_hover_background_top_colour;
+        bg_top_grad_colour = m_tool_hover_background_top_gradient_colour;
+        bg_colour = m_tool_hover_background_colour;
+        bg_grad_colour = m_tool_hover_background_gradient_colour;
+    }
+    dc.GradientFillLinear(bg_rect_top, bg_top_colour, bg_top_grad_colour, wxSOUTH);
+    dc.GradientFillLinear(bg_rect_btm, bg_colour, bg_grad_colour, wxSOUTH);
+    if(is_split_hybrid)
+    {
+        wxRect nonrect(bg_rect);
+        if(state & (wxRIBBON_TOOLBAR_TOOL_DROPDOWN_HOVERED |
+            wxRIBBON_TOOLBAR_TOOL_DROPDOWN_ACTIVE))
+        {
+            nonrect.width -= 8;
+        }
+        else
+        {
+            nonrect.x += nonrect.width - 8;
+            nonrect.width = 8;
+        }
+        wxBrush B(m_tool_hover_background_top_colour);
+        dc.SetPen(*wxTRANSPARENT_PEN);
+        dc.SetBrush(B);
+        dc.DrawRectangle(nonrect.x, nonrect.y, nonrect.width, nonrect.height);
+    }
+    
+    // Border
+    dc.SetPen(m_toolbar_border_pen);
+    if(state & wxRIBBON_TOOLBAR_TOOL_FIRST)
+    {
+        dc.DrawPoint(rect.x + 1, rect.y + 1);
+        dc.DrawPoint(rect.x + 1, rect.y + rect.height - 2);
+    }
+    else
+        dc.DrawLine(rect.x, rect.y + 1, rect.x, rect.y + rect.height - 1);   
+
+    if(state & wxRIBBON_TOOLBAR_TOOL_LAST)
+    {
+        dc.DrawPoint(rect.x + rect.width - 2, rect.y + 1);
+        dc.DrawPoint(rect.x + rect.width - 2, rect.y + rect.height - 2);
+    }
+
+    // Foreground
+    int avail_width = bg_rect.GetWidth();
+    if(kind != wxRIBBON_BUTTON_NORMAL)
+    {
+        avail_width -= 8;
+        if(is_split_hybrid)
+        {
+            dc.DrawLine(rect.x + avail_width + 1, rect.y, 
+                rect.x + avail_width + 1, rect.y + rect.height);
+        }
+        dc.DrawBitmap(m_toolbar_drop_bitmap, bg_rect.x + avail_width + 2,
+            bg_rect.y + (bg_rect.height / 2) - 2, true);
+    }
+    dc.DrawBitmap(bitmap, bg_rect.x + (avail_width - bitmap.GetWidth()) / 2,
+        bg_rect.y + (bg_rect.height - bitmap.GetHeight()) / 2, true);
+}
+
+void wxRibbonMSWArtProvider::GetBarTabWidth(
+                        wxDC& dc,
+                        wxWindow* WXUNUSED(wnd),
+                        const wxString& label,
+                        const wxBitmap& bitmap,
+                        int* ideal,
+                        int* small_begin_need_separator,
+                        int* small_must_have_separator,
+                        int* minimum)
+{
+    int width = 0;
+    int min = 0;
+    if((m_flags & wxRIBBON_BAR_SHOW_PAGE_LABELS) && !label.IsEmpty())
+    {
+        dc.SetFont(m_tab_label_font);
+        width += dc.GetTextExtent(label).GetWidth();
+        min += wxMin(25, width); // enough for a few chars
+        if(bitmap.IsOk())
+        {
+            // gap between label and bitmap
+            width += 4;
+            min += 2;
+        }
+    }
+    if((m_flags & wxRIBBON_BAR_SHOW_PAGE_ICONS) && bitmap.IsOk())
+    {
+        width += bitmap.GetWidth();
+        min += bitmap.GetWidth();
+    }
+
+    if(ideal != NULL)
+    {
+        *ideal = width + 30;
+    }
+    if(small_begin_need_separator != NULL)
+    {
+        *small_begin_need_separator = width + 20;
+    }
+    if(small_must_have_separator != NULL)
+    {
+        *small_must_have_separator = width + 10;
+    }
+    if(minimum != NULL)
+    {
+        *minimum = min;
+    }
+}
+
+int wxRibbonMSWArtProvider::GetTabCtrlHeight(
+                        wxDC& dc,
+                        wxWindow* WXUNUSED(wnd),
+                        const wxRibbonPageTabInfoArray& pages)
+{
+    int text_height = 0;
+    int icon_height = 0;
+
+    if(pages.GetCount() <= 1 && (m_flags & wxRIBBON_BAR_ALWAYS_SHOW_TABS) == 0)
+    {
+        // To preserve space, a single tab need not be displayed. We still need
+        // two pixels of border / padding though.
+        return 2;
+    }
+
+    if(m_flags & wxRIBBON_BAR_SHOW_PAGE_LABELS)
+    {
+        dc.SetFont(m_tab_label_font);
+        text_height = dc.GetTextExtent(wxT("ABCDEFXj")).GetHeight() + 10;
+    }
+    if(m_flags & wxRIBBON_BAR_SHOW_PAGE_ICONS)
+    {
+        size_t numpages = pages.GetCount();
+        for(size_t i = 0; i < numpages; ++i)
+        {
+            const wxRibbonPageTabInfo& info = pages.Item(i);
+            if(info.page->GetIcon().IsOk())
+            {
+                icon_height = wxMax(icon_height, info.page->GetIcon().GetHeight() + 4);
+            }
+        }
+    }
+
+    return wxMax(text_height, icon_height);
+}
+
+wxSize wxRibbonMSWArtProvider::GetScrollButtonMinimumSize(
+                        wxDC& WXUNUSED(dc),
+                        wxWindow* WXUNUSED(wnd),
+                        long WXUNUSED(style))
+{
+    return wxSize(12, 12);
+}
+
+wxSize wxRibbonMSWArtProvider::GetPanelSize(
+                        wxDC& dc,
+                        const wxRibbonPanel* wnd,
+                        wxSize client_size,
+                        wxPoint* client_offset)
+{
+    dc.SetFont(m_panel_label_font);
+    wxSize label_size = dc.GetTextExtent(wnd->GetLabel());
+
+    client_size.IncBy(0, label_size.GetHeight());
+    if(m_flags & wxRIBBON_BAR_FLOW_VERTICAL)
+        client_size.IncBy(4, 8);
+    else
+        client_size.IncBy(6, 6);
+
+    if(client_offset != NULL)
+    {
+        if(m_flags & wxRIBBON_BAR_FLOW_VERTICAL)
+            *client_offset = wxPoint(2, 3);
+        else
+            *client_offset = wxPoint(3, 2);
+    }
+
+    return client_size;
+}
+
+wxSize wxRibbonMSWArtProvider::GetPanelClientSize(
+                        wxDC& dc,
+                        const wxRibbonPanel* wnd,
+                        wxSize size,
+                        wxPoint* client_offset)
+{
+    dc.SetFont(m_panel_label_font);
+    wxSize label_size = dc.GetTextExtent(wnd->GetLabel());
+
+    size.DecBy(0, label_size.GetHeight());
+    if(m_flags & wxRIBBON_BAR_FLOW_VERTICAL)
+        size.DecBy(4, 8);
+    else
+        size.DecBy(6, 6);
+
+    if(client_offset != NULL)
+    {
+        if(m_flags & wxRIBBON_BAR_FLOW_VERTICAL)
+            *client_offset = wxPoint(2, 3);
+        else
+            *client_offset = wxPoint(3, 2);
+    }
+
+    return size;
+}
+
+wxSize wxRibbonMSWArtProvider::GetGallerySize(
+                        wxDC& WXUNUSED(dc),
+                        const wxRibbonGallery* WXUNUSED(wnd),
+                        wxSize client_size)
+{
+    client_size.IncBy( 2, 1); // Left / top padding
+    if(m_flags & wxRIBBON_BAR_FLOW_VERTICAL)
+        client_size.IncBy(1, 16); // Right / bottom padding
+    else
+        client_size.IncBy(16, 1); // Right / bottom padding
+    return client_size;
+}
+
+wxSize wxRibbonMSWArtProvider::GetGalleryClientSize(
+                        wxDC& WXUNUSED(dc),
+                        const wxRibbonGallery* WXUNUSED(wnd),
+                        wxSize size,
+                        wxPoint* client_offset,
+                        wxRect* scroll_up_button,
+                        wxRect* scroll_down_button,
+                        wxRect* extension_button)
+{
+    wxRect scroll_up;
+    wxRect scroll_down;
+    wxRect extension;
+    if(m_flags & wxRIBBON_BAR_FLOW_VERTICAL)
+    {
+        // Flow is vertical - put buttons on bottom
+        scroll_up.y = size.GetHeight() - 15;
+        scroll_up.height = 15;
+        scroll_up.x = 0;
+        scroll_up.width = (size.GetWidth() + 2) / 3;
+        scroll_down.y = scroll_up.y;
+        scroll_down.height = scroll_up.height;
+        scroll_down.x = scroll_up.x + scroll_up.width;
+        scroll_down.width = scroll_up.width;        
+        extension.y = scroll_down.y;
+        extension.height = scroll_down.height;
+        extension.x = scroll_down.x + scroll_down.width;
+        extension.width = size.GetWidth() - scroll_up.width - scroll_down.width;
+        size.DecBy(1, 16);
+        size.DecBy( 2, 1);
+    }
+    else
+    {
+        // Flow is horizontal - put buttons on right
+        scroll_up.x = size.GetWidth() - 15;
+        scroll_up.width = 15;
+        scroll_up.y = 0;
+        scroll_up.height = (size.GetHeight() + 2) / 3;
+        scroll_down.x = scroll_up.x;
+        scroll_down.width = scroll_up.width;
+        scroll_down.y = scroll_up.y + scroll_up.height;
+        scroll_down.height = scroll_up.height;        
+        extension.x = scroll_down.x;
+        extension.width = scroll_down.width;
+        extension.y = scroll_down.y + scroll_down.height;
+        extension.height = size.GetHeight() - scroll_up.height - scroll_down.height;
+        size.DecBy(16, 1);
+        size.DecBy( 2, 1);
+    }
+    
+    if(client_offset != NULL)
+        *client_offset = wxPoint(2, 1);
+    if(scroll_up_button != NULL)
+        *scroll_up_button = scroll_up;
+    if(scroll_down_button != NULL)
+        *scroll_down_button = scroll_down;
+    if(extension_button != NULL)
+        *extension_button = extension;
+
+    return size;
+}
+
+wxRect wxRibbonMSWArtProvider::GetPageBackgroundRedrawArea(
+                        wxDC& WXUNUSED(dc),
+                        const wxRibbonPage* WXUNUSED(wnd),
+                        wxSize page_old_size,
+                        wxSize page_new_size)
+{
+    wxRect new_rect, old_rect;
+
+    if(page_new_size.GetWidth() != page_old_size.GetWidth())
+    {
+        if(page_new_size.GetHeight() != page_old_size.GetHeight())
+        {
+            // Width and height both changed - redraw everything
+            return wxRect(page_new_size);
+        }
+        else
+        {
+            // Only width changed - redraw right hand side
+            const int right_edge_width = 4;
+
+            new_rect = wxRect(page_new_size.GetWidth() - right_edge_width, 0, right_edge_width, page_new_size.GetHeight());
+            old_rect = wxRect(page_old_size.GetWidth() - right_edge_width, 0, right_edge_width, page_old_size.GetHeight());
+        }
+    }
+    else
+    {
+        if(page_new_size.GetHeight() == page_old_size.GetHeight())
+        {
+            // Nothing changed (should never happen) - redraw nothing
+            return wxRect(0, 0, 0, 0);
+        }
+        else
+        {
+            // Height changed - need to redraw everything (as the background
+            // gradient is done vertically).
+            return page_new_size;
+        }
+    }
+
+    new_rect.Union(old_rect);
+    new_rect.Intersect(wxRect(page_new_size));
+    return new_rect;
+}
+
+bool wxRibbonMSWArtProvider::GetButtonBarButtonSize(
+                        wxDC& dc,
+                        wxWindow* wnd,
+                        wxRibbonButtonKind kind,
+                        wxRibbonButtonBarButtonState size,
+                        const wxString& label,
+                        wxSize bitmap_size_large,
+                        wxSize bitmap_size_small,
+                        wxSize* button_size,
+                        wxRect* normal_region,
+                        wxRect* dropdown_region)
+{
+    const int drop_button_width = 8;
+
+    dc.SetFont(m_button_bar_label_font);
+    switch(size & wxRIBBON_BUTTONBAR_BUTTON_SIZE_MASK)
+    {
+    case wxRIBBON_BUTTONBAR_BUTTON_SMALL:
+        // Small bitmap, no label
+        *button_size = bitmap_size_small + wxSize(6, 4);
+        switch(kind)
+        {
+        case wxRIBBON_BUTTON_NORMAL:
+            *normal_region = wxRect(*button_size);
+            *dropdown_region = wxRect(0, 0, 0, 0);
+            break;
+        case wxRIBBON_BUTTON_DROPDOWN:
+            *button_size += wxSize(drop_button_width, 0);
+            *dropdown_region = wxRect(*button_size);
+            *normal_region = wxRect(0, 0, 0, 0);
+            break;
+        case wxRIBBON_BUTTON_HYBRID:
+            *normal_region = wxRect(*button_size);
+            *dropdown_region = wxRect(button_size->GetWidth(), 0,
+                drop_button_width, button_size->GetHeight());
+            *button_size += wxSize(drop_button_width, 0);
+            break;
+        }
+        break;
+    case wxRIBBON_BUTTONBAR_BUTTON_MEDIUM:
+        // Small bitmap, with label to the right
+        {
+            GetButtonBarButtonSize(dc, wnd, kind, wxRIBBON_BUTTONBAR_BUTTON_SMALL,
+                label, bitmap_size_large, bitmap_size_small, button_size,
+                normal_region, dropdown_region);
+            int text_size = dc.GetTextExtent(label).GetWidth();
+            button_size->SetWidth(button_size->GetWidth() + text_size);
+            switch(kind)
+            {
+            case wxRIBBON_BUTTON_DROPDOWN:
+                dropdown_region->SetWidth(dropdown_region->GetWidth() + text_size);
+                break;
+            case wxRIBBON_BUTTON_HYBRID:
+                dropdown_region->SetX(dropdown_region->GetX() + text_size);
+                // no break
+            case wxRIBBON_BUTTON_NORMAL:
+                normal_region->SetWidth(normal_region->GetWidth() + text_size);
+                break;
+            }
+            break;
+        }
+    case wxRIBBON_BUTTONBAR_BUTTON_LARGE:
+        // Large bitmap, with label below (possibly split over 2 lines)
+        {
+            wxSize icon_size(bitmap_size_large);
+            icon_size += wxSize(4, 4);
+            wxCoord label_height;
+            wxCoord best_width;
+            dc.GetTextExtent(label, &best_width, &label_height);
+            int best_num_lines = 1;
+            int last_line_extra_width = 0;
+            if(kind != wxRIBBON_BUTTON_NORMAL)
+            {
+                last_line_extra_width += 8;
+                best_num_lines = 2; // label on top line, button below
+            }
+            size_t i;
+            for(i = 0; i < label.Len(); ++i)
+            {
+                if(wxRibbonCanLabelBreakAtPosition(label, i))
+                {
+                    int width = wxMax(
+                        dc.GetTextExtent(label.Mid(0, i - 1)).GetWidth(),
+                        dc.GetTextExtent(label.Mid(i + 1)).GetWidth() + last_line_extra_width);
+                    if(width < best_width)
+                    {
+                        best_width = width;
+                        best_num_lines = 2;
+                    }
+                }
+            }
+            label_height *= 2; // Assume two lines even when only one is used
+                               // (to give all buttons a consistent height)
+            icon_size.SetWidth(wxMax(icon_size.GetWidth(), best_width) + 6);
+            icon_size.SetHeight(icon_size.GetHeight() + label_height);
+            *button_size = icon_size;
+            switch(kind)
+            {
+            case wxRIBBON_BUTTON_DROPDOWN:
+                *dropdown_region = wxRect(icon_size);
+                break;
+            case wxRIBBON_BUTTON_HYBRID:
+                *normal_region = wxRect(icon_size);
+                normal_region->height -= 2 + label_height;
+                dropdown_region->x = 0;
+                dropdown_region->y = normal_region->height;
+                dropdown_region->width = icon_size.GetWidth();
+                dropdown_region->height = icon_size.GetHeight() - normal_region->height;
+                break;
+            case wxRIBBON_BUTTON_NORMAL:
+                *normal_region = wxRect(icon_size);
+                break;
+            }
+            break;
+        }
+    };
+    return true;
+}
+
+wxSize wxRibbonMSWArtProvider::GetMinimisedPanelMinimumSize(
+                        wxDC& dc,
+                        const wxRibbonPanel* wnd,
+                        wxSize* desired_bitmap_size,
+                        wxDirection* expanded_panel_direction)
+{
+    if(desired_bitmap_size != NULL)
+    {
+        *desired_bitmap_size = wxSize(16, 16);
+    }
+    if(expanded_panel_direction != NULL)
+    {
+        if(m_flags & wxRIBBON_BAR_FLOW_VERTICAL)
+            *expanded_panel_direction = wxEAST;
+        else
+            *expanded_panel_direction = wxSOUTH;
+    }
+    wxSize base_size(42, 42);
+
+    dc.SetFont(m_panel_label_font);
+    wxSize label_size(dc.GetTextExtent(wnd->GetLabel()));
+    label_size.IncBy(2, 2); // Allow for differences between this DC and a paint DC
+    label_size.IncBy(6, 0); // Padding
+    label_size.y *= 2; // Second line for dropdown button
+
+    if(m_flags & wxRIBBON_BAR_FLOW_VERTICAL)
+    {
+        // Label alongside icon
+        return wxSize(base_size.x + label_size.x,
+            wxMax(base_size.y, label_size.y));
+    }
+    else
+    {
+        // Label beneath icon
+        return wxSize(wxMax(base_size.x, label_size.x),
+            base_size.y + label_size.y);
+    }
+}
+
+wxSize wxRibbonMSWArtProvider::GetToolSize(
+                        wxDC& WXUNUSED(dc),
+                        wxWindow* WXUNUSED(wnd),
+                        wxSize bitmap_size,
+                        wxRibbonButtonKind kind,
+                        bool WXUNUSED(is_first),
+                        bool is_last,
+                        wxRect* dropdown_region)
+{
+    wxSize size(bitmap_size);
+    size.IncBy(7, 6);
+    if(is_last)
+        size.IncBy(1, 0);
+    if(kind != wxRIBBON_BUTTON_NORMAL)
+    {
+        size.IncBy(8, 0);
+        if(dropdown_region)
+        {
+            if(kind == wxRIBBON_BUTTON_DROPDOWN)
+                *dropdown_region = size;
+            else
+                *dropdown_region = wxRect(size.GetWidth() - 8, 0, 8, size.GetHeight());
+        }
+    }
+    else
+    {
+        if(dropdown_region)
+            *dropdown_region = wxRect(0, 0, 0, 0);
+    }
+    return size;
+}
+
+#endif // wxUSE_RIBBON
diff --git a/src/ribbon/bar.cpp b/src/ribbon/bar.cpp
new file mode 100644 (file)
index 0000000..3aa3477
--- /dev/null
@@ -0,0 +1,964 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        src/ribbon/bar.cpp
+// Purpose:     Top-level component of the ribbon-bar-style interface
+// Author:      Peter Cawley
+// Modified by:
+// Created:     2009-05-23
+// RCS-ID:      $Id$
+// Copyright:   (C) Peter Cawley
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#include "wx/ribbon/bar.h"
+
+#if wxUSE_RIBBON
+
+#include "wx/ribbon/art.h"
+#include "wx/dcbuffer.h"
+
+#ifndef WX_PRECOMP
+#endif
+
+#ifdef __WXMSW__
+#include "wx/msw/private.h"
+#endif
+
+#include "wx/arrimpl.cpp"
+
+WX_DEFINE_USER_EXPORTED_OBJARRAY(wxRibbonPageTabInfoArray);
+
+wxDEFINE_EVENT(wxEVT_COMMAND_RIBBONBAR_PAGE_CHANGED, wxRibbonBarEvent);
+wxDEFINE_EVENT(wxEVT_COMMAND_RIBBONBAR_PAGE_CHANGING, wxRibbonBarEvent);
+wxDEFINE_EVENT(wxEVT_COMMAND_RIBBONBAR_TAB_MIDDLE_DOWN, wxRibbonBarEvent);
+wxDEFINE_EVENT(wxEVT_COMMAND_RIBBONBAR_TAB_MIDDLE_UP, wxRibbonBarEvent);
+wxDEFINE_EVENT(wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_DOWN, wxRibbonBarEvent);
+wxDEFINE_EVENT(wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_UP, wxRibbonBarEvent);
+
+IMPLEMENT_CLASS(wxRibbonBar, wxRibbonControl)
+IMPLEMENT_DYNAMIC_CLASS(wxRibbonBarEvent, wxNotifyEvent)
+
+BEGIN_EVENT_TABLE(wxRibbonBar, wxRibbonControl)
+  EVT_ERASE_BACKGROUND(wxRibbonBar::OnEraseBackground)
+  EVT_LEAVE_WINDOW(wxRibbonBar::OnMouseLeave)
+  EVT_LEFT_DOWN(wxRibbonBar::OnMouseLeftDown)
+  EVT_LEFT_UP(wxRibbonBar::OnMouseLeftUp)
+  EVT_MIDDLE_DOWN(wxRibbonBar::OnMouseMiddleDown)
+  EVT_MIDDLE_UP(wxRibbonBar::OnMouseMiddleUp)
+  EVT_MOTION(wxRibbonBar::OnMouseMove)
+  EVT_PAINT(wxRibbonBar::OnPaint)
+  EVT_RIGHT_DOWN(wxRibbonBar::OnMouseRightDown)
+  EVT_RIGHT_UP(wxRibbonBar::OnMouseRightUp)
+  EVT_SIZE(wxRibbonBar::OnSize)
+END_EVENT_TABLE()
+
+void wxRibbonBar::AddPage(wxRibbonPage *page)
+{
+    wxRibbonPageTabInfo info;
+
+    info.page = page;
+    info.active = false;
+    info.hovered = false;
+    // info.rect not set (intentional)
+
+    wxMemoryDC dcTemp;
+    wxString label = wxEmptyString;
+    if(m_flags & wxRIBBON_BAR_SHOW_PAGE_LABELS)
+        label = page->GetLabel();
+    wxBitmap icon = wxNullBitmap;
+    if(m_flags & wxRIBBON_BAR_SHOW_PAGE_ICONS)
+        icon = page->GetIcon();
+    m_art->GetBarTabWidth(dcTemp, this, label, icon,
+                          &info.ideal_width,
+                          &info.small_begin_need_separator_width,
+                          &info.small_must_have_separator_width,
+                          &info.minimum_width);
+
+    if(m_pages.IsEmpty())
+    {
+        m_tabs_total_width_ideal = info.ideal_width;
+        m_tabs_total_width_minimum = info.minimum_width;
+    }
+    else
+    {
+        int sep = m_art->GetMetric(wxRIBBON_ART_TAB_SEPARATION_SIZE);
+        m_tabs_total_width_ideal += sep + info.ideal_width;
+        m_tabs_total_width_minimum += sep + info.minimum_width;
+    }
+    m_pages.Add(info);
+
+    page->Hide(); // Most likely case is that this new page is not the active tab
+    page->SetArtProvider(m_art);
+
+    if(m_pages.GetCount() == 1)
+    {
+        SetActivePage((size_t)0);
+    }
+}
+
+bool wxRibbonBar::DismissExpandedPanel()
+{
+    if(m_current_page == -1)
+        return false;
+    return m_pages.Item(m_current_page).page->DismissExpandedPanel();
+}
+
+void wxRibbonBar::SetWindowStyleFlag(long style)
+{
+    m_flags = style;
+    if(m_art)
+        m_art->SetFlags(style);
+}
+
+long wxRibbonBar::GetWindowStyleFlag() const
+{
+    return m_flags;
+}
+
+bool wxRibbonBar::Realize()
+{
+    bool status = true;
+
+    wxMemoryDC dcTemp;
+    int sep = m_art->GetMetric(wxRIBBON_ART_TAB_SEPARATION_SIZE);
+    size_t numtabs = m_pages.GetCount();
+    size_t i;
+    for(i = 0; i < numtabs; ++i)
+    {
+        wxRibbonPageTabInfo& info = m_pages.Item(i);
+        RepositionPage(info.page);
+        if(!info.page->Realize())
+        {
+            status = false;
+        }
+        wxString label = wxEmptyString;
+        if(m_flags & wxRIBBON_BAR_SHOW_PAGE_LABELS)
+            label = info.page->GetLabel();
+        wxBitmap icon = wxNullBitmap;
+        if(m_flags & wxRIBBON_BAR_SHOW_PAGE_ICONS)
+            icon = info.page->GetIcon();
+        m_art->GetBarTabWidth(dcTemp, this, label, icon,
+                              &info.ideal_width,
+                              &info.small_begin_need_separator_width,
+                              &info.small_must_have_separator_width,
+                              &info.minimum_width);
+
+        if(i == 0)
+        {
+            m_tabs_total_width_ideal = info.ideal_width;
+            m_tabs_total_width_minimum = info.minimum_width;
+        }
+        else
+        {
+            m_tabs_total_width_ideal += sep + info.ideal_width;
+            m_tabs_total_width_minimum += sep + info.minimum_width;
+        }
+    }
+    m_tab_height = m_art->GetTabCtrlHeight(dcTemp, this, m_pages);
+
+    RecalculateMinSize();
+    RecalculateTabSizes();
+    Refresh();
+
+    return status;
+}
+
+void wxRibbonBar::OnMouseMove(wxMouseEvent& evt)
+{
+    int x = evt.GetX();
+    int y = evt.GetY();
+    int hovered_page = -1;
+    bool refresh_tabs = false;
+    if(y < m_tab_height)
+    {
+        // It is quite likely that the mouse moved a small amount and is still over the same tab
+        if(m_current_hovered_page != -1 && m_pages.Item((size_t)m_current_hovered_page).rect.Contains(x, y))
+        {
+            hovered_page = m_current_hovered_page;
+            // But be careful, if tabs can be scrolled, then parts of the tab rect may not be valid
+            if(m_tab_scroll_buttons_shown)
+            {
+                if(x >= m_tab_scroll_right_button_rect.GetX() || x < m_tab_scroll_left_button_rect.GetRight())
+                {
+                    hovered_page = -1;
+                }
+            }
+        }
+        else
+        {
+            HitTestTabs(evt.GetPosition(), &hovered_page);
+        }
+    }
+    if(hovered_page != m_current_hovered_page)
+    {
+        if(m_current_hovered_page != -1)
+        {
+            m_pages.Item((int)m_current_hovered_page).hovered = false;
+        }
+        m_current_hovered_page = hovered_page;
+        if(m_current_hovered_page != -1)
+        {
+            m_pages.Item((int)m_current_hovered_page).hovered = true;
+        }
+        refresh_tabs = true;
+    }
+    if(m_tab_scroll_buttons_shown)
+    {
+#define SET_FLAG(variable, flag) \
+    { if(((variable) & (flag)) != (flag)) variable |= (flag), refresh_tabs = true; }
+#define UNSET_FLAG(variable, flag) \
+    { if((variable) & (flag)) variable &= ~(flag), refresh_tabs = true; }
+
+        if(m_tab_scroll_left_button_rect.Contains(x, y))
+            SET_FLAG(m_tab_scroll_left_button_state, wxRIBBON_SCROLL_BTN_HOVERED)
+        else
+            UNSET_FLAG(m_tab_scroll_left_button_state, wxRIBBON_SCROLL_BTN_HOVERED)
+
+        if(m_tab_scroll_right_button_rect.Contains(x, y))
+            SET_FLAG(m_tab_scroll_right_button_state, wxRIBBON_SCROLL_BTN_HOVERED)
+        else
+            UNSET_FLAG(m_tab_scroll_right_button_state, wxRIBBON_SCROLL_BTN_HOVERED)
+#undef SET_FLAG
+#undef UNSET_FLAG
+    }
+    if(refresh_tabs)
+    {
+        RefreshTabBar();
+    }
+}
+
+void wxRibbonBar::OnMouseLeave(wxMouseEvent& WXUNUSED(evt))
+{
+    // The ribbon bar is (usually) at the top of a window, and at least on MSW, the mouse
+    // can leave the window quickly and leave a tab in the hovered state.
+    bool refresh_tabs = false;
+    if(m_current_hovered_page != -1)
+    {
+        m_pages.Item((int)m_current_hovered_page).hovered = false;
+        m_current_hovered_page = -1;
+        refresh_tabs = true;
+    }
+    if(m_tab_scroll_left_button_state & wxRIBBON_SCROLL_BTN_HOVERED)
+    {
+        m_tab_scroll_left_button_state &= ~wxRIBBON_SCROLL_BTN_HOVERED;
+        refresh_tabs = true;
+    }
+    if(m_tab_scroll_right_button_state & wxRIBBON_SCROLL_BTN_HOVERED)
+    {
+        m_tab_scroll_right_button_state &= ~wxRIBBON_SCROLL_BTN_HOVERED;
+        refresh_tabs = true;
+    }
+    if(refresh_tabs)
+    {
+        RefreshTabBar();
+    }
+}
+
+wxRibbonPage* wxRibbonBar::GetPage(int n)
+{
+    if(n < 0 || (size_t)n >= m_pages.GetCount())
+        return 0;
+    return m_pages.Item(n).page;
+}
+
+bool wxRibbonBar::SetActivePage(size_t page)
+{
+    if(m_current_page == (int)page)
+    {
+        return true;
+    }
+
+    if(page >= m_pages.GetCount())
+    {
+        return false;
+    }
+
+    if(m_current_page != -1)
+    {
+        m_pages.Item((size_t)m_current_page).active = false;
+        m_pages.Item((size_t)m_current_page).page->Hide();
+    }
+    m_current_page = (int)page;
+    m_pages.Item(page).active = true;
+    {
+        wxRibbonPage* wnd = m_pages.Item(page).page;
+        RepositionPage(wnd);
+        wnd->Layout();
+        wnd->Show();
+    }
+    Refresh();
+
+    return true;
+}
+
+bool wxRibbonBar::SetActivePage(wxRibbonPage* page)
+{
+    size_t numpages = m_pages.GetCount();
+    size_t i;
+    for(i = 0; i < numpages; ++i)
+    {
+        if(m_pages.Item(i).page == page)
+        {
+            return SetActivePage(i);
+        }
+    }
+    return false;
+}
+
+int wxRibbonBar::GetActivePage() const
+{
+    return m_current_page;
+}
+
+void wxRibbonBar::SetTabCtrlMargins(int left, int right)
+{
+    m_tab_margin_left = left;
+    m_tab_margin_right = right;
+
+    RecalculateTabSizes();
+}
+
+static int OrderPageTabInfoBySmallWidthAsc(wxRibbonPageTabInfo **first, wxRibbonPageTabInfo **second)
+{
+    return (**first).small_must_have_separator_width - (**second).small_must_have_separator_width;
+}
+
+void wxRibbonBar::RecalculateTabSizes()
+{
+    size_t numtabs = m_pages.GetCount();
+
+    if(numtabs == 0)
+        return;
+
+    int width = GetSize().GetWidth() - m_tab_margin_left - m_tab_margin_right;
+    int tabsep = m_art->GetMetric(wxRIBBON_ART_TAB_SEPARATION_SIZE);
+    int x = m_tab_margin_left;
+    const int y = 0;
+
+    if(width >= m_tabs_total_width_ideal)
+    {
+        // Simple case: everything at ideal width
+        size_t i;
+        for(i = 0; i < numtabs; ++i)
+        {
+            wxRibbonPageTabInfo& info = m_pages.Item(i);
+            info.rect.x = x;
+            info.rect.y = y;
+            info.rect.width = info.ideal_width;
+            info.rect.height = m_tab_height;
+            x += info.rect.width + tabsep;
+        }
+        m_tab_scroll_buttons_shown = false;
+        m_tab_scroll_left_button_rect.SetWidth(0);
+        m_tab_scroll_right_button_rect.SetWidth(0);
+    }
+    else if(width < m_tabs_total_width_minimum)
+    {
+        // Simple case: everything minimum with scrollbar
+        size_t i;
+        for(i = 0; i < numtabs; ++i)
+        {
+            wxRibbonPageTabInfo& info = m_pages.Item(i);
+            info.rect.x = x;
+            info.rect.y = y;
+            info.rect.width = info.minimum_width;
+            info.rect.height = m_tab_height;
+            x += info.rect.width + tabsep;
+        }
+        if(!m_tab_scroll_buttons_shown)
+        {
+            m_tab_scroll_left_button_state = wxRIBBON_SCROLL_BTN_NORMAL;
+            m_tab_scroll_right_button_state = wxRIBBON_SCROLL_BTN_NORMAL;
+            m_tab_scroll_buttons_shown = true;
+        }
+        {
+            wxMemoryDC temp_dc;
+            m_tab_scroll_left_button_rect.SetWidth(m_art->GetScrollButtonMinimumSize(temp_dc, this, wxRIBBON_SCROLL_BTN_LEFT | wxRIBBON_SCROLL_BTN_NORMAL | wxRIBBON_SCROLL_BTN_FOR_TABS).GetWidth());
+            m_tab_scroll_left_button_rect.SetHeight(m_tab_height);
+            m_tab_scroll_left_button_rect.SetX(m_tab_margin_left);
+            m_tab_scroll_left_button_rect.SetY(0);
+            m_tab_scroll_right_button_rect.SetWidth(m_art->GetScrollButtonMinimumSize(temp_dc, this, wxRIBBON_SCROLL_BTN_RIGHT | wxRIBBON_SCROLL_BTN_NORMAL | wxRIBBON_SCROLL_BTN_FOR_TABS).GetWidth());
+            m_tab_scroll_right_button_rect.SetHeight(m_tab_height);
+            m_tab_scroll_right_button_rect.SetX(GetClientSize().GetWidth() - m_tab_margin_right - m_tab_scroll_right_button_rect.GetWidth());
+            m_tab_scroll_right_button_rect.SetY(0);
+        }
+        if(m_tab_scroll_amount == 0)
+        {
+            m_tab_scroll_left_button_rect.SetWidth(0);
+        }
+        else if(m_tab_scroll_amount + width >= m_tabs_total_width_minimum)
+        {
+            m_tab_scroll_amount = m_tabs_total_width_minimum - width;
+            m_tab_scroll_right_button_rect.SetX(m_tab_scroll_right_button_rect.GetX() + m_tab_scroll_right_button_rect.GetWidth());
+            m_tab_scroll_right_button_rect.SetWidth(0);
+        }
+        for(i = 0; i < numtabs; ++i)
+        {
+            wxRibbonPageTabInfo& info = m_pages.Item(i);
+            info.rect.x -= m_tab_scroll_amount;
+        }
+    }
+    else
+    {
+        m_tab_scroll_buttons_shown = false;
+        m_tab_scroll_left_button_rect.SetWidth(0);
+        m_tab_scroll_right_button_rect.SetWidth(0);
+        // Complex case: everything sized such that: minimum <= width < ideal
+        /*
+           Strategy:
+             1) Uniformly reduce all tab widths from ideal to small_must_have_separator_width
+             2) Reduce the largest tab by 1 pixel, repeating until all tabs are same width (or at minimum)
+             3) Uniformly reduce all tabs down to their minimum width
+        */
+        int smallest_tab_width = INT_MAX;
+        int total_small_width = tabsep * (numtabs - 1);
+        size_t i;
+        for(i = 0; i < numtabs; ++i)
+        {
+            wxRibbonPageTabInfo& info = m_pages.Item(i);
+            if(info.small_must_have_separator_width < smallest_tab_width)
+            {
+                smallest_tab_width = info.small_must_have_separator_width;
+            }
+            total_small_width += info.small_must_have_separator_width;
+        }
+        if(width >= total_small_width)
+        {
+            // Do (1)
+            int total_delta = m_tabs_total_width_ideal - total_small_width;
+            total_small_width -= tabsep * (numtabs - 1);
+            width -= tabsep * (numtabs - 1);
+            for(i = 0; i < numtabs; ++i)
+            {
+                wxRibbonPageTabInfo& info = m_pages.Item(i);
+                int delta = info.ideal_width - info.small_must_have_separator_width;
+                info.rect.x = x;
+                info.rect.y = y;
+                info.rect.width = info.small_must_have_separator_width + delta * (width - total_small_width) / total_delta;
+                info.rect.height = m_tab_height;
+
+                x += info.rect.width + tabsep;
+                total_delta -= delta;
+                total_small_width -= info.small_must_have_separator_width;
+                width -= info.rect.width;
+            }
+        }
+        else
+        {
+            total_small_width = tabsep * (numtabs - 1);
+            for(i = 0; i < numtabs; ++i)
+            {
+                wxRibbonPageTabInfo& info = m_pages.Item(i);
+                if(info.minimum_width < smallest_tab_width)
+                {
+                    total_small_width += smallest_tab_width;
+                }
+                else
+                {
+                    total_small_width += info.minimum_width;
+                }
+            }
+            if(width >= total_small_width)
+            {
+                // Do (2)
+                wxRibbonPageTabInfoArray sorted_pages;
+                for(i = 0; i < numtabs; ++i)
+                {
+                    // Sneaky obj array trickery to not copy the tab descriptors
+                    sorted_pages.Add(&m_pages.Item(i));
+                }
+                sorted_pages.Sort(OrderPageTabInfoBySmallWidthAsc);
+                width -= tabsep * (numtabs - 1);
+                for(i = 0; i < numtabs; ++i)
+                {
+                    wxRibbonPageTabInfo& info = sorted_pages.Item(i);
+                    if(info.small_must_have_separator_width * (int)(numtabs - i) <= width)
+                    {
+                        info.rect.width = info.small_must_have_separator_width;;
+                    }
+                    else
+                    {
+                        info.rect.width = width / (numtabs - i);
+                    }
+                    width -= info.rect.width;
+                }
+                for(i = 0; i < numtabs; ++i)
+                {
+                    wxRibbonPageTabInfo& info = m_pages.Item(i);
+                    info.rect.x = x;
+                    info.rect.y = y;
+                    info.rect.height = m_tab_height;
+                    x += info.rect.width + tabsep;
+                    sorted_pages.Detach(numtabs - (i + 1));
+                }
+            }
+            else
+            {
+                // Do (3)
+                total_small_width = (smallest_tab_width + tabsep) * numtabs - tabsep;
+                int total_delta = total_small_width - m_tabs_total_width_minimum;
+                total_small_width = m_tabs_total_width_minimum - tabsep * (numtabs - 1);
+                width -= tabsep * (numtabs - 1);
+                for(i = 0; i < numtabs; ++i)
+                {
+                    wxRibbonPageTabInfo& info = m_pages.Item(i);
+                    int delta = smallest_tab_width - info.minimum_width;
+                    info.rect.x = x;
+                    info.rect.y = y;
+                    info.rect.width = info.minimum_width + delta * (width - total_small_width) / total_delta;
+                    info.rect.height = m_tab_height;
+
+                    x += info.rect.width + tabsep;
+                    total_delta -= delta;
+                    total_small_width -= info.minimum_width;
+                    width -= info.rect.width;
+                }
+            }
+        }
+    }
+}
+
+wxRibbonBar::wxRibbonBar()
+{
+    m_flags = 0;
+    m_tabs_total_width_ideal = 0;
+    m_tabs_total_width_minimum = 0;
+    m_tab_margin_left = 0;
+    m_tab_margin_right = 0;
+    m_tab_height = 0;
+    m_tab_scroll_amount = 0;
+    m_current_page = -1;
+    m_current_hovered_page = -1;
+    m_tab_scroll_left_button_state = wxRIBBON_SCROLL_BTN_NORMAL;
+    m_tab_scroll_right_button_state = wxRIBBON_SCROLL_BTN_NORMAL;
+    m_tab_scroll_buttons_shown = false;
+}
+
+wxRibbonBar::wxRibbonBar(wxWindow* parent,
+                         wxWindowID id,
+                         const wxPoint& pos,
+                         const wxSize& size,
+                         long style)
+    : wxRibbonControl(parent, id, pos, size, wxBORDER_NONE)
+{
+    CommonInit(style);
+}
+
+wxRibbonBar::~wxRibbonBar()
+{
+    SetArtProvider(NULL);
+}
+
+bool wxRibbonBar::Create(wxWindow* parent,
+                wxWindowID id,
+                const wxPoint& pos,
+                const wxSize& size,
+                long style)
+{
+    if(!wxRibbonControl::Create(parent, id, pos, size, wxBORDER_NONE))
+        return false;
+
+    CommonInit(style);
+
+    return true;
+}
+
+void wxRibbonBar::CommonInit(long style)
+{
+    SetName(wxT("wxRibbonBar"));
+
+    m_flags = style;
+    m_tabs_total_width_ideal = 0;
+    m_tabs_total_width_minimum = 0;
+    m_tab_margin_left = 50;
+    m_tab_margin_right = 20;
+    m_tab_height = 20; // initial guess
+    m_tab_scroll_amount = 0;
+    m_current_page = -1;
+    m_current_hovered_page = -1;
+    m_tab_scroll_left_button_state = wxRIBBON_SCROLL_BTN_NORMAL;
+    m_tab_scroll_right_button_state = wxRIBBON_SCROLL_BTN_NORMAL;
+    m_tab_scroll_buttons_shown = false;
+
+    if(m_art == NULL)
+    {
+        SetArtProvider(new wxRibbonDefaultArtProvider);
+    }
+    SetBackgroundStyle(wxBG_STYLE_CUSTOM);
+}
+
+void wxRibbonBar::SetArtProvider(wxRibbonArtProvider* art)
+{
+    wxRibbonArtProvider *old = m_art;
+    m_art = art;
+
+    if(art)
+    {
+        art->SetFlags(m_flags);
+    }
+    size_t numpages = m_pages.GetCount();
+    size_t i;
+    for(i = 0; i < numpages; ++i)
+    {
+        wxRibbonPage *page = m_pages.Item(i).page;
+        if(page->GetArtProvider() != art)
+        {
+            page->SetArtProvider(art);
+        }
+    }
+
+    delete old;
+}
+
+void wxRibbonBar::OnPaint(wxPaintEvent& WXUNUSED(evt))
+{
+    wxAutoBufferedPaintDC dc(this);
+
+    if(GetUpdateRegion().Contains(0, 0, GetClientSize().GetWidth(), m_tab_height) == wxOutRegion)
+    {
+        // Nothing to do in the tab area, and the page area is handled by the active page
+        return;
+    }
+
+    DoEraseBackground(dc);
+
+    size_t numtabs = m_pages.GetCount();
+    double sep_visibility = 0.0;
+    bool draw_sep = false;
+    wxRect tabs_rect(m_tab_margin_left, 0, GetClientSize().GetWidth() - m_tab_margin_left - m_tab_margin_right, m_tab_height);
+    if(m_tab_scroll_buttons_shown)
+    {
+        tabs_rect.x += m_tab_scroll_left_button_rect.GetWidth();
+        tabs_rect.width -= m_tab_scroll_left_button_rect.GetWidth() + m_tab_scroll_right_button_rect.GetWidth();
+    }
+    size_t i;
+    for(i = 0; i < numtabs; ++i)
+    {
+        wxRibbonPageTabInfo& info = m_pages.Item(i);
+
+        dc.DestroyClippingRegion();
+        if(m_tab_scroll_buttons_shown)
+        {
+            if(!tabs_rect.Intersects(info.rect))
+                continue;
+            dc.SetClippingRegion(tabs_rect);
+        }
+        dc.SetClippingRegion(info.rect);
+        m_art->DrawTab(dc, this, info);
+
+        if(info.rect.width < info.small_begin_need_separator_width)
+        {
+            draw_sep = true;
+            if(info.rect.width < info.small_must_have_separator_width)
+            {
+                sep_visibility += 1.0;
+            }
+            else
+            {
+                sep_visibility += (double)(info.small_begin_need_separator_width - info.rect.width) / (double)(info.small_begin_need_separator_width - info.small_must_have_separator_width);
+            }
+        }
+    }
+    if(draw_sep)
+    {
+        wxRect rect = m_pages.Item(0).rect;
+        rect.width = m_art->GetMetric(wxRIBBON_ART_TAB_SEPARATION_SIZE);
+        sep_visibility /= (double)numtabs;
+        for(i = 0; i < numtabs - 1; ++i)
+        {
+            wxRibbonPageTabInfo& info = m_pages.Item(i);
+            rect.x = info.rect.x + info.rect.width;
+
+            if(m_tab_scroll_buttons_shown && !tabs_rect.Intersects(rect))
+            {
+                continue;
+            }
+
+            dc.DestroyClippingRegion();
+            dc.SetClippingRegion(rect);
+            m_art->DrawTabSeparator(dc, this, rect, sep_visibility);
+        }
+    }
+    if(m_tab_scroll_buttons_shown)
+    {
+        dc.DestroyClippingRegion();
+        if(m_tab_scroll_left_button_rect.GetWidth() != 0)
+        {
+            m_art->DrawScrollButton(dc, this, m_tab_scroll_left_button_rect, wxRIBBON_SCROLL_BTN_LEFT | m_tab_scroll_left_button_state | wxRIBBON_SCROLL_BTN_FOR_TABS);
+        }
+        if(m_tab_scroll_right_button_rect.GetWidth() != 0)
+        {
+            m_art->DrawScrollButton(dc, this, m_tab_scroll_right_button_rect, wxRIBBON_SCROLL_BTN_RIGHT | m_tab_scroll_right_button_state | wxRIBBON_SCROLL_BTN_FOR_TABS);
+        }
+    }
+}
+
+void wxRibbonBar::OnEraseBackground(wxEraseEvent& WXUNUSED(evt))
+{
+    // Background painting done in main paint handler to reduce screen flicker
+}
+
+void wxRibbonBar::DoEraseBackground(wxDC& dc)
+{
+    wxRect tabs(GetSize());
+    tabs.height = m_tab_height;
+    m_art->DrawTabCtrlBackground(dc, this, tabs);
+}
+
+void wxRibbonBar::OnSize(wxSizeEvent& evt)
+{
+    RecalculateTabSizes();
+    if(m_current_page != -1)
+    {
+        RepositionPage(m_pages.Item(m_current_page).page);
+    }
+    RefreshTabBar();
+
+    evt.Skip();
+}
+
+void wxRibbonBar::RepositionPage(wxRibbonPage *page)
+{
+    int w, h;
+    GetSize(&w, &h);
+    page->SetSizeWithScrollButtonAdjustment(0, m_tab_height, w, h - m_tab_height);
+}
+
+wxRibbonPageTabInfo* wxRibbonBar::HitTestTabs(wxPoint position, int* index)
+{
+    wxRect tabs_rect(m_tab_margin_left, 0, GetClientSize().GetWidth() - m_tab_margin_left - m_tab_margin_right, m_tab_height);
+    if(m_tab_scroll_buttons_shown)
+    {
+        tabs_rect.SetX(tabs_rect.GetX() + m_tab_scroll_left_button_rect.GetWidth());
+        tabs_rect.SetWidth(tabs_rect.GetWidth() - m_tab_scroll_left_button_rect.GetWidth() - m_tab_scroll_right_button_rect.GetWidth());
+    }
+    if(tabs_rect.Contains(position))
+    {
+        size_t numtabs = m_pages.GetCount();
+        size_t i;
+        for(i = 0; i < numtabs; ++i)
+        {
+            wxRibbonPageTabInfo& info = m_pages.Item(i);
+            if(info.rect.Contains(position))
+            {
+                if(index != NULL)
+                {
+                    *index = (int)i;
+                }
+                return &info;
+            }
+        }
+    }
+    if(index != NULL)
+    {
+        *index = -1;
+    }
+    return NULL;
+}
+
+void wxRibbonBar::OnMouseLeftDown(wxMouseEvent& evt)
+{
+    wxRibbonPageTabInfo *tab = HitTestTabs(evt.GetPosition());
+    if(tab && tab != &m_pages.Item(m_current_page))
+    {
+        wxRibbonBarEvent query(wxEVT_COMMAND_RIBBONBAR_PAGE_CHANGING, GetId(), tab->page);
+        query.SetEventObject(this);
+        ProcessWindowEvent(query);
+        if(query.IsAllowed())
+        {
+            SetActivePage(query.GetPage());
+
+            wxRibbonBarEvent notification(wxEVT_COMMAND_RIBBONBAR_PAGE_CHANGED, GetId(), m_pages.Item(m_current_page).page);
+            notification.SetEventObject(this);
+            ProcessWindowEvent(notification);
+        }
+    }
+    else if(tab == NULL)
+    {
+        if(m_tab_scroll_left_button_rect.Contains(evt.GetPosition()))
+        {
+            m_tab_scroll_left_button_state |= wxRIBBON_SCROLL_BTN_ACTIVE | wxRIBBON_SCROLL_BTN_HOVERED;
+            RefreshTabBar();
+        }
+        else if(m_tab_scroll_right_button_rect.Contains(evt.GetPosition()))
+        {
+            m_tab_scroll_right_button_state |= wxRIBBON_SCROLL_BTN_ACTIVE | wxRIBBON_SCROLL_BTN_HOVERED;
+            RefreshTabBar();
+        }
+    }
+}
+
+void wxRibbonBar::OnMouseLeftUp(wxMouseEvent& WXUNUSED(evt))
+{
+    if(!m_tab_scroll_buttons_shown)
+    {
+        return;
+    }
+
+    int amount = 0;
+    if(m_tab_scroll_left_button_state & wxRIBBON_SCROLL_BTN_ACTIVE)
+    {
+        amount = -1;
+    }
+    else if(m_tab_scroll_right_button_state & wxRIBBON_SCROLL_BTN_ACTIVE)
+    {
+        amount = 1;
+    }
+    if(amount != 0)
+    {
+        m_tab_scroll_left_button_state &= ~wxRIBBON_SCROLL_BTN_ACTIVE;
+        m_tab_scroll_right_button_state &= ~wxRIBBON_SCROLL_BTN_ACTIVE;
+        ScrollTabBar(amount * 8);
+    }
+}
+
+void wxRibbonBar::ScrollTabBar(int amount)
+{
+    bool show_left = true;
+    bool show_right = true;
+    if(m_tab_scroll_amount + amount <= 0)
+    {
+        amount = -m_tab_scroll_amount;
+        show_left = false;
+    }
+    else if(m_tab_scroll_amount + amount + (GetClientSize().GetWidth() - m_tab_margin_left - m_tab_margin_right) >= m_tabs_total_width_minimum)
+    {
+        amount = m_tabs_total_width_minimum - m_tab_scroll_amount - (GetClientSize().GetWidth() - m_tab_margin_left - m_tab_margin_right);
+        show_right = false;
+    }
+    if(amount == 0)
+    {
+        return;
+    }
+    m_tab_scroll_amount += amount;
+    size_t numtabs = m_pages.GetCount();
+    size_t i;
+    for(i = 0; i < numtabs; ++i)
+    {
+        wxRibbonPageTabInfo& info = m_pages.Item(i);
+        info.rect.SetX(info.rect.GetX() - amount);
+    }
+    if(show_right != (m_tab_scroll_right_button_rect.GetWidth() != 0) ||
+        show_left != (m_tab_scroll_left_button_rect.GetWidth() != 0))
+    {
+        wxMemoryDC temp_dc;
+        if(show_left)
+        {
+            m_tab_scroll_left_button_rect.SetWidth(m_art->GetScrollButtonMinimumSize(temp_dc, this, wxRIBBON_SCROLL_BTN_LEFT | wxRIBBON_SCROLL_BTN_NORMAL | wxRIBBON_SCROLL_BTN_FOR_TABS).GetWidth());
+        }
+        else
+        {
+            m_tab_scroll_left_button_rect.SetWidth(0);
+        }
+
+        if(show_right)
+        {
+            if(m_tab_scroll_right_button_rect.GetWidth() == 0)
+            {
+                m_tab_scroll_right_button_rect.SetWidth(m_art->GetScrollButtonMinimumSize(temp_dc, this, wxRIBBON_SCROLL_BTN_RIGHT | wxRIBBON_SCROLL_BTN_NORMAL | wxRIBBON_SCROLL_BTN_FOR_TABS).GetWidth());
+                m_tab_scroll_right_button_rect.SetX(m_tab_scroll_right_button_rect.GetX() - m_tab_scroll_right_button_rect.GetWidth());
+            }
+        }
+        else
+        {
+            if(m_tab_scroll_right_button_rect.GetWidth() != 0)
+            {
+                m_tab_scroll_right_button_rect.SetX(m_tab_scroll_right_button_rect.GetX() + m_tab_scroll_right_button_rect.GetWidth());
+                m_tab_scroll_right_button_rect.SetWidth(0);
+            }
+        }
+    }
+
+    RefreshTabBar();
+}
+
+void wxRibbonBar::RefreshTabBar()
+{
+    wxRect tab_rect(0, 0, GetClientSize().GetWidth(), m_tab_height);
+    Refresh(false, &tab_rect);
+}
+
+void wxRibbonBar::OnMouseMiddleDown(wxMouseEvent& evt)
+{
+    DoMouseButtonCommon(evt, wxEVT_COMMAND_RIBBONBAR_TAB_MIDDLE_DOWN);
+}
+
+void wxRibbonBar::OnMouseMiddleUp(wxMouseEvent& evt)
+{
+    DoMouseButtonCommon(evt, wxEVT_COMMAND_RIBBONBAR_TAB_MIDDLE_UP);
+}
+
+void wxRibbonBar::OnMouseRightDown(wxMouseEvent& evt)
+{
+    DoMouseButtonCommon(evt, wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_DOWN);
+}
+
+void wxRibbonBar::OnMouseRightUp(wxMouseEvent& evt)
+{
+    DoMouseButtonCommon(evt, wxEVT_COMMAND_RIBBONBAR_TAB_RIGHT_UP);
+}
+
+void wxRibbonBar::DoMouseButtonCommon(wxMouseEvent& evt, wxEventType tab_event_type)
+{
+    wxRibbonPageTabInfo *tab = HitTestTabs(evt.GetPosition());
+    if(tab)
+    {
+        wxRibbonBarEvent notification(tab_event_type, GetId(), tab->page);
+        notification.SetEventObject(this);
+        ProcessWindowEvent(notification);
+    }
+}
+
+void wxRibbonBar::RecalculateMinSize()
+{
+    wxSize min_size(wxDefaultCoord, wxDefaultCoord);
+    size_t numtabs = m_pages.GetCount();
+    if(numtabs != 0)
+    {
+        min_size = m_pages.Item(0).page->GetMinSize();
+
+        size_t i;
+        for(i = 1; i < numtabs; ++i)
+        {
+            wxRibbonPageTabInfo& info = m_pages.Item(i);
+            wxSize page_min = info.page->GetMinSize();
+
+            min_size.x = wxMax(min_size.x, page_min.x);
+            min_size.y = wxMax(min_size.y, page_min.y);
+        }
+    }
+    if(min_size.y != wxDefaultCoord)
+    {
+        // TODO: Decide on best course of action when min height is unspecified
+        // - should we specify it to the tab minimum, or leave it unspecified?
+        min_size.IncBy(0, m_tab_height);
+    }
+
+    m_minWidth = min_size.GetWidth();
+    m_minHeight = min_size.GetHeight();
+}
+
+wxSize wxRibbonBar::DoGetBestSize() const
+{
+    wxSize best(0, 0);
+    if(m_current_page != -1)
+    {
+        best = m_pages.Item(m_current_page).page->GetBestSize();
+    }
+    if(best.GetHeight() == wxDefaultCoord)
+    {
+        best.SetHeight(m_tab_height);
+    }
+    else
+    {
+        best.IncBy(0, m_tab_height);
+    }
+    return best;
+}
+
+#endif // wxUSE_RIBBON
diff --git a/src/ribbon/buttonbar.cpp b/src/ribbon/buttonbar.cpp
new file mode 100644 (file)
index 0000000..b70f563
--- /dev/null
@@ -0,0 +1,998 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        src/ribbon/buttonbar.cpp
+// Purpose:     Ribbon control similar to a tool bar
+// Author:      Peter Cawley
+// Modified by:
+// Created:     2009-07-01
+// RCS-ID:      $Id$
+// Copyright:   (C) Peter Cawley
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#include "wx/ribbon/buttonbar.h"
+
+#if wxUSE_RIBBON
+
+#include "wx/ribbon/art.h"
+#include "wx/dcbuffer.h"
+
+#ifndef WX_PRECOMP
+#endif
+
+#ifdef __WXMSW__
+#include "wx/msw/private.h"
+#endif
+
+wxDEFINE_EVENT(wxEVT_COMMAND_RIBBONBUTTON_CLICKED, wxRibbonButtonBarEvent);
+wxDEFINE_EVENT(wxEVT_COMMAND_RIBBONBUTTON_DROPDOWN_CLICKED, wxRibbonButtonBarEvent);
+
+IMPLEMENT_DYNAMIC_CLASS(wxRibbonButtonBarEvent, wxCommandEvent)
+IMPLEMENT_CLASS(wxRibbonButtonBar, wxRibbonControl)
+
+BEGIN_EVENT_TABLE(wxRibbonButtonBar, wxRibbonControl)
+    EVT_ERASE_BACKGROUND(wxRibbonButtonBar::OnEraseBackground)
+    EVT_ENTER_WINDOW(wxRibbonButtonBar::OnMouseEnter)
+    EVT_LEAVE_WINDOW(wxRibbonButtonBar::OnMouseLeave)
+    EVT_MOTION(wxRibbonButtonBar::OnMouseMove)
+    EVT_PAINT(wxRibbonButtonBar::OnPaint)
+    EVT_SIZE(wxRibbonButtonBar::OnSize)
+    EVT_LEFT_DOWN(wxRibbonButtonBar::OnMouseDown)
+    EVT_LEFT_UP(wxRibbonButtonBar::OnMouseUp)
+END_EVENT_TABLE()
+
+class wxRibbonButtonBarButtonSizeInfo
+{
+public:
+    bool is_supported;
+    wxSize size;
+    wxRect normal_region;
+    wxRect dropdown_region;
+};
+
+class wxRibbonButtonBarButtonInstance
+{
+public:
+    wxPoint position;
+    wxRibbonButtonBarButtonBase* base;
+    wxRibbonButtonBarButtonState size;
+};
+
+class wxRibbonButtonBarButtonBase
+{
+public:
+    wxRibbonButtonBarButtonInstance NewInstance()
+    {
+        wxRibbonButtonBarButtonInstance i;
+        i.base = this;
+        return i;
+    }
+
+    wxRibbonButtonBarButtonState GetLargestSize()
+    {
+        if(sizes[wxRIBBON_BUTTONBAR_BUTTON_LARGE].is_supported)
+            return wxRIBBON_BUTTONBAR_BUTTON_LARGE;
+        if(sizes[wxRIBBON_BUTTONBAR_BUTTON_MEDIUM].is_supported)
+            return wxRIBBON_BUTTONBAR_BUTTON_MEDIUM;
+        wxASSERT(sizes[wxRIBBON_BUTTONBAR_BUTTON_SMALL].is_supported);
+        return wxRIBBON_BUTTONBAR_BUTTON_SMALL;
+    }
+
+    bool GetSmallerSize(
+        wxRibbonButtonBarButtonState* size, int n = 1)
+    {
+        for(; n > 0; --n)
+        {
+            switch(*size)
+            {
+            case wxRIBBON_BUTTONBAR_BUTTON_LARGE:
+                if(sizes[wxRIBBON_BUTTONBAR_BUTTON_MEDIUM].is_supported)
+                {
+                    *size = wxRIBBON_BUTTONBAR_BUTTON_MEDIUM;
+                    break;
+                }
+            case wxRIBBON_BUTTONBAR_BUTTON_MEDIUM:
+                if(sizes[wxRIBBON_BUTTONBAR_BUTTON_SMALL].is_supported)
+                {
+                    *size = wxRIBBON_BUTTONBAR_BUTTON_SMALL;
+                    break;
+                }
+            case wxRIBBON_BUTTONBAR_BUTTON_SMALL:
+            default:
+                return false;
+            }
+        }
+        return true;
+    }
+
+    wxString label;
+    wxString help_string;
+    wxBitmap bitmap_large;
+    wxBitmap bitmap_large_disabled;
+    wxBitmap bitmap_small;
+    wxBitmap bitmap_small_disabled;
+    wxRibbonButtonBarButtonSizeInfo sizes[3];
+    wxObject* client_data;
+    int id;
+    wxRibbonButtonKind kind;
+    long state;
+};
+
+WX_DECLARE_OBJARRAY(wxRibbonButtonBarButtonInstance, wxArrayRibbonButtonBarButtonInstance);
+#include <wx/arrimpl.cpp>
+WX_DEFINE_OBJARRAY(wxArrayRibbonButtonBarButtonInstance);
+
+class wxRibbonButtonBarLayout
+{
+public:
+    wxSize overall_size;
+    wxArrayRibbonButtonBarButtonInstance buttons;
+
+    void CalculateOverallSize()
+    {
+        overall_size = wxSize(0, 0);
+        size_t btn_count = buttons.Count();
+        size_t btn_i;
+        for(btn_i = 0; btn_i < btn_count; ++btn_i)
+        {
+            wxRibbonButtonBarButtonInstance& instance = buttons.Item(btn_i);
+            wxSize size = instance.base->sizes[instance.size].size;
+            int right = instance.position.x + size.GetWidth();
+            int bottom = instance.position.y + size.GetHeight();
+            if(right > overall_size.GetWidth())
+            {
+                overall_size.SetWidth(right);
+            }
+            if(bottom > overall_size.GetHeight())
+            {
+                overall_size.SetHeight(bottom);
+            }
+        }
+    }
+
+    wxRibbonButtonBarButtonInstance* FindSimilarInstance(
+        wxRibbonButtonBarButtonInstance* inst)
+    {
+        if(inst == NULL)
+        {
+            return NULL;
+        }
+        size_t btn_count = buttons.Count();
+        size_t btn_i;
+        for(btn_i = 0; btn_i < btn_count; ++btn_i)
+        {
+            wxRibbonButtonBarButtonInstance& instance = buttons.Item(btn_i);
+            if(instance.base == inst->base)
+            {
+                return &instance;
+            }
+        }
+        return NULL;
+    }
+};
+
+wxRibbonButtonBar::wxRibbonButtonBar()
+{
+    m_layouts_valid = false;
+}
+
+wxRibbonButtonBar::wxRibbonButtonBar(wxWindow* parent,
+                  wxWindowID id,
+                  const wxPoint& pos,
+                  const wxSize& size,
+                  long style)
+    : wxRibbonControl(parent, id, pos, size, wxBORDER_NONE)
+{
+    m_layouts_valid = false;
+
+    CommonInit(style);
+}
+
+wxRibbonButtonBar::~wxRibbonButtonBar()
+{
+    size_t count = m_buttons.GetCount();
+    size_t i;
+    for(i = 0; i < count; ++i)
+    {
+        wxRibbonButtonBarButtonBase* button = m_buttons.Item(i);
+        delete button;
+    }
+    m_buttons.Clear();
+
+    count = m_layouts.GetCount();
+    for(i = 0; i < count; ++i)
+    {
+        wxRibbonButtonBarLayout* layout = m_layouts.Item(i);
+        delete layout;
+    }
+    m_layouts.Clear();
+}
+
+bool wxRibbonButtonBar::Create(wxWindow* parent,
+                wxWindowID id,
+                const wxPoint& pos,
+                const wxSize& size,
+                long style)
+{
+    if(!wxRibbonControl::Create(parent, id, pos, size, wxBORDER_NONE))
+    {
+        return false;
+    }
+
+    CommonInit(style);
+    return true;
+}
+
+wxRibbonButtonBarButtonBase* wxRibbonButtonBar::AddButton(
+                int button_id,
+                const wxString& label,
+                const wxBitmap& bitmap,
+                const wxString& help_string,
+                wxRibbonButtonKind kind)
+{
+    return AddButton(button_id, label, bitmap, wxNullBitmap, wxNullBitmap,
+        wxNullBitmap, kind, help_string);
+}
+
+wxRibbonButtonBarButtonBase* wxRibbonButtonBar::AddDropdownButton(
+                int button_id,
+                const wxString& label,
+                const wxBitmap& bitmap,
+                const wxString& help_string)
+{
+    return AddButton(button_id, label, bitmap, help_string,
+        wxRIBBON_BUTTON_DROPDOWN);
+}
+
+wxRibbonButtonBarButtonBase* wxRibbonButtonBar::AddHybridButton(
+                int button_id,
+                const wxString& label,
+                const wxBitmap& bitmap,
+                const wxString& help_string)
+{
+    return AddButton(button_id, label, bitmap, help_string,
+        wxRIBBON_BUTTON_HYBRID);
+}
+    
+wxRibbonButtonBarButtonBase* wxRibbonButtonBar::AddButton(
+                int button_id,
+                const wxString& label,
+                const wxBitmap& bitmap,
+                const wxBitmap& bitmap_small,
+                const wxBitmap& bitmap_disabled,
+                const wxBitmap& bitmap_small_disabled,
+                wxRibbonButtonKind kind,
+                const wxString& help_string,
+                wxObject* client_data)
+{
+    wxASSERT(bitmap.IsOk() || bitmap_small.IsOk());
+    if(m_buttons.IsEmpty())
+    {
+        if(bitmap.IsOk())
+        {
+            m_bitmap_size_large = bitmap.GetSize();
+            if(!bitmap_small.IsOk())
+            {
+                m_bitmap_size_small = m_bitmap_size_large;
+                m_bitmap_size_small *= 0.5;
+            }
+        }
+        if(bitmap_small.IsOk())
+        {
+            m_bitmap_size_small = bitmap_small.GetSize();
+            if(!bitmap.IsOk())
+            {
+                m_bitmap_size_large = m_bitmap_size_small;
+                m_bitmap_size_large *= 2.0;
+            }
+        }
+    }
+
+    wxRibbonButtonBarButtonBase* base = new wxRibbonButtonBarButtonBase;
+    base->id = button_id;
+    base->label = label;
+    base->bitmap_large = bitmap;
+    if(!base->bitmap_large.IsOk())
+    {
+        base->bitmap_large = MakeResizedBitmap(base->bitmap_small,
+            m_bitmap_size_large);
+    }
+    else if(base->bitmap_large.GetSize() != m_bitmap_size_large)
+    {
+        base->bitmap_large = MakeResizedBitmap(base->bitmap_large,
+            m_bitmap_size_large);
+    }
+    base->bitmap_small = bitmap_small;
+    if(!base->bitmap_small.IsOk())
+    {
+        base->bitmap_small = MakeResizedBitmap(base->bitmap_large,
+            m_bitmap_size_small);
+    }
+    else if(base->bitmap_small.GetSize() != m_bitmap_size_small)
+    {
+        base->bitmap_small = MakeResizedBitmap(base->bitmap_small,
+            m_bitmap_size_small);
+    }
+    base->bitmap_large_disabled = bitmap_disabled;
+    if(!base->bitmap_large_disabled.IsOk())
+    {
+        base->bitmap_large_disabled = MakeDisabledBitmap(base->bitmap_large);
+    }
+    base->bitmap_small_disabled = bitmap_small_disabled;
+    if(!base->bitmap_small_disabled.IsOk())
+    {
+        base->bitmap_small_disabled = MakeDisabledBitmap(base->bitmap_small);
+    }
+    base->kind = kind;
+    base->help_string = help_string;
+    base->client_data = client_data;
+    base->state = 0;
+
+    wxMemoryDC temp_dc;
+    FetchButtonSizeInfo(base, wxRIBBON_BUTTONBAR_BUTTON_SMALL, temp_dc);
+    FetchButtonSizeInfo(base, wxRIBBON_BUTTONBAR_BUTTON_MEDIUM, temp_dc);
+    FetchButtonSizeInfo(base, wxRIBBON_BUTTONBAR_BUTTON_LARGE, temp_dc);
+
+    // TODO
+    m_buttons.Add(base);
+    m_layouts_valid = false;
+    return base;
+}
+
+void wxRibbonButtonBar::FetchButtonSizeInfo(wxRibbonButtonBarButtonBase* button,
+        wxRibbonButtonBarButtonState size, wxDC& dc)
+{
+    wxRibbonButtonBarButtonSizeInfo& info = button->sizes[size];
+    if(m_art)
+    {
+        info.is_supported = m_art->GetButtonBarButtonSize(dc, this,
+            button->kind, size, button->label, m_bitmap_size_large,
+            m_bitmap_size_small, &info.size, &info.normal_region,
+            &info.dropdown_region);
+    }
+    else
+        info.is_supported = false;
+}
+
+wxBitmap wxRibbonButtonBar::MakeResizedBitmap(const wxBitmap& original, wxSize size)
+{
+    wxImage img(original.ConvertToImage());
+    img.Rescale(size.GetWidth(), size.GetHeight(), wxIMAGE_QUALITY_HIGH);
+    return wxBitmap(img);
+}
+
+wxBitmap wxRibbonButtonBar::MakeDisabledBitmap(const wxBitmap& original)
+{
+    wxImage img(original.ConvertToImage());
+    return wxBitmap(img.ConvertToGreyscale());
+}
+
+bool wxRibbonButtonBar::Realize()
+{
+    if(!m_layouts_valid)
+    {
+        MakeLayouts();
+        m_layouts_valid = true;
+    }
+    return true;
+}
+
+void wxRibbonButtonBar::ClearButtons()
+{
+    m_layouts_valid = false;
+    size_t count = m_buttons.GetCount();
+    size_t i;
+    for(i = 0; i < count; ++i)
+    {
+        wxRibbonButtonBarButtonBase* button = m_buttons.Item(i);
+        delete button;
+    }
+    m_buttons.Clear();
+    Realize();
+}
+
+bool wxRibbonButtonBar::DeleteButton(int button_id)
+{
+    size_t count = m_buttons.GetCount();
+    size_t i;
+    for(i = 0; i < count; ++i)
+    {
+        wxRibbonButtonBarButtonBase* button = m_buttons.Item(i);
+        if(button->id == button_id)
+        {
+            m_layouts_valid = false;
+            m_buttons.RemoveAt(i);
+            Realize();
+            Refresh();
+            return true;
+        }
+    }
+    return false;
+}
+
+void wxRibbonButtonBar::EnableButton(int button_id, bool enable)
+{
+    size_t count = m_buttons.GetCount();
+    size_t i;
+    for(i = 0; i < count; ++i)
+    {
+        wxRibbonButtonBarButtonBase* button = m_buttons.Item(i);
+        if(button->id == button_id)
+        {
+            if(enable)
+            {
+                if(button->state & wxRIBBON_BUTTONBAR_BUTTON_DISABLED)
+                {
+                    button->state &= ~wxRIBBON_BUTTONBAR_BUTTON_DISABLED;
+                    Refresh();
+                }
+            }
+            else
+            {
+                if((button->state & wxRIBBON_BUTTONBAR_BUTTON_DISABLED) == 0)
+                {
+                    button->state |= wxRIBBON_BUTTONBAR_BUTTON_DISABLED;
+                    Refresh();
+                }
+            }
+            return;
+        }
+    }
+}
+
+void wxRibbonButtonBar::SetArtProvider(wxRibbonArtProvider* art)
+{
+    if(art == m_art)
+    {
+        return;
+    }
+
+    wxRibbonControl::SetArtProvider(art);
+
+    wxMemoryDC temp_dc;
+    size_t btn_count = m_buttons.Count();
+    size_t btn_i;
+    for(btn_i = 0; btn_i < btn_count; ++btn_i)
+    {
+        wxRibbonButtonBarButtonBase* base = m_buttons.Item(btn_i);
+
+        FetchButtonSizeInfo(base, wxRIBBON_BUTTONBAR_BUTTON_SMALL, temp_dc);
+        FetchButtonSizeInfo(base, wxRIBBON_BUTTONBAR_BUTTON_MEDIUM, temp_dc);
+        FetchButtonSizeInfo(base, wxRIBBON_BUTTONBAR_BUTTON_LARGE, temp_dc);
+    }
+
+    m_layouts_valid = false;
+    Realize();
+}
+
+bool wxRibbonButtonBar::IsSizingContinuous() const
+{
+    return false;
+}
+
+wxSize wxRibbonButtonBar::DoGetNextSmallerSize(wxOrientation direction,
+                                             wxSize result) const
+{
+    size_t nlayouts = m_layouts.GetCount();
+    size_t i;
+    for(i = 0; i < nlayouts; ++i)
+    {
+        wxRibbonButtonBarLayout* layout = m_layouts.Item(i);
+        wxSize size = layout->overall_size;
+        switch(direction)
+        {
+        case wxHORIZONTAL:
+            if(size.x < result.x && size.y <= result.y)
+            {
+                result.x = size.x;
+                break;
+            }
+            else
+                continue;
+        case wxVERTICAL:
+            if(size.x <= result.x && size.y < result.y)
+            {
+                result.y = size.y;
+                break;
+            }
+            else
+                continue;
+        case wxBOTH:
+            if(size.x < result.x && size.y < result.y)
+            {
+                result = size;
+                break;
+            }
+            else
+                continue;
+        }
+        break;
+    }
+    return result;
+}
+
+wxSize wxRibbonButtonBar::DoGetNextLargerSize(wxOrientation direction,
+                                            wxSize result) const
+{
+    size_t nlayouts = m_layouts.GetCount();
+    size_t i = nlayouts;
+    while(i > 0)
+    {
+        --i;
+        wxRibbonButtonBarLayout* layout = m_layouts.Item(i);
+        wxSize size = layout->overall_size;
+        switch(direction)
+        {
+        case wxHORIZONTAL:
+            if(size.x > result.x && size.y <= result.y)
+            {
+                result.x = size.x;
+                break;
+            }
+            else
+                continue;
+        case wxVERTICAL:
+            if(size.x <= result.x && size.y > result.y)
+            {
+                result.y = size.y;
+                break;
+            }
+            else
+                continue;
+        case wxBOTH:
+            if(size.x > result.x && size.y > result.y)
+            {
+                result = size;
+                break;
+            }
+            else
+                continue;
+        }
+        break;
+    }
+    return result;
+}
+
+void wxRibbonButtonBar::OnEraseBackground(wxEraseEvent& WXUNUSED(evt))
+{
+    // All painting done in main paint handler to minimise flicker
+}
+
+void wxRibbonButtonBar::OnPaint(wxPaintEvent& WXUNUSED(evt))
+{
+    wxAutoBufferedPaintDC dc(this);
+    m_art->DrawButtonBarBackground(dc, this, GetSize());
+
+    wxRibbonButtonBarLayout* layout = m_layouts.Item(m_current_layout);
+
+    size_t btn_count = layout->buttons.Count();
+    size_t btn_i;
+    for(btn_i = 0; btn_i < btn_count; ++btn_i)
+    {
+        wxRibbonButtonBarButtonInstance& button = layout->buttons.Item(btn_i);
+        wxRibbonButtonBarButtonBase* base = button.base;
+
+        wxBitmap* bitmap = &base->bitmap_large;
+        wxBitmap* bitmap_small = &base->bitmap_small;
+        if(base->state & wxRIBBON_BUTTONBAR_BUTTON_DISABLED)
+        {
+            bitmap = &base->bitmap_large_disabled;
+            bitmap_small = &base->bitmap_small_disabled;
+        }
+        wxRect rect(button.position + m_layout_offset, base->sizes[button.size].size);
+        
+        m_art->DrawButtonBarButton(dc, this, rect, base->kind,
+            base->state | button.size, base->label, *bitmap, *bitmap_small);
+    }
+}
+
+void wxRibbonButtonBar::OnSize(wxSizeEvent& evt)
+{
+    wxSize new_size = evt.GetSize();
+    size_t layout_count = m_layouts.GetCount();
+    size_t layout_i;
+    m_current_layout = layout_count - 1;
+    for(layout_i = 0; layout_i < layout_count; ++layout_i)
+    {
+        wxSize layout_size = m_layouts.Item(layout_i)->overall_size;
+        if(layout_size.x <= new_size.x && layout_size.y <= new_size.y)
+        {
+            m_layout_offset.x = (new_size.x - layout_size.x) / 2;
+            m_layout_offset.y = (new_size.y - layout_size.y) / 2;
+            m_current_layout = layout_i;
+            break;
+        }
+    }
+    m_hovered_button = m_layouts.Item(m_current_layout)->FindSimilarInstance(m_hovered_button);
+    Refresh();
+}
+
+void wxRibbonButtonBar::CommonInit(long WXUNUSED(style))
+{
+    m_bitmap_size_large = wxSize(32, 32);
+    m_bitmap_size_small = wxSize(16, 16);
+
+    wxRibbonButtonBarLayout* placeholder_layout = new wxRibbonButtonBarLayout;
+    placeholder_layout->overall_size = wxSize(20, 20);
+    m_layouts.Add(placeholder_layout);
+    m_current_layout = 0;
+    m_layout_offset = wxPoint(0, 0);
+    m_hovered_button = NULL;
+    m_active_button = NULL;
+    m_lock_active_state = false;
+
+    SetBackgroundStyle(wxBG_STYLE_CUSTOM);
+};
+
+wxSize wxRibbonButtonBar::GetMinSize() const
+{
+    return m_layouts.Last()->overall_size;
+}
+
+wxSize wxRibbonButtonBar::DoGetBestSize() const
+{
+    return m_layouts.Item(0)->overall_size;
+}
+
+void wxRibbonButtonBar::MakeLayouts()
+{
+    if(m_layouts_valid || m_art == NULL)
+    {
+        return;
+    }
+    {
+        // Clear existing layouts
+        if(m_hovered_button)
+        {
+            m_hovered_button->base->state &= ~wxRIBBON_BUTTONBAR_BUTTON_HOVER_MASK;
+            m_hovered_button = NULL;
+        }
+        if(m_active_button)
+        {
+            m_active_button->base->state &= ~wxRIBBON_BUTTONBAR_BUTTON_ACTIVE_MASK;
+            m_active_button = NULL;
+        }
+        size_t count = m_layouts.GetCount();
+        size_t i;
+        for(i = 0; i < count; ++i)
+        {
+            wxRibbonButtonBarLayout* layout = m_layouts.Item(i);
+            delete layout;
+        }
+        m_layouts.Clear();
+    }
+    size_t btn_count = m_buttons.Count();
+    size_t btn_i;
+    {
+        // Best layout : all buttons large, stacking horizontally
+        wxRibbonButtonBarLayout* layout = new wxRibbonButtonBarLayout;
+        wxPoint cursor(0, 0);
+        layout->overall_size.SetHeight(0);
+        for(btn_i = 0; btn_i < btn_count; ++btn_i)
+        {
+            wxRibbonButtonBarButtonBase* button = m_buttons.Item(btn_i);
+            wxRibbonButtonBarButtonInstance instance = button->NewInstance();
+            instance.position = cursor;
+            instance.size = button->GetLargestSize();
+            wxSize& size = button->sizes[instance.size].size;
+            cursor.x += size.GetWidth();
+            layout->overall_size.SetHeight(wxMax(layout->overall_size.GetHeight(),
+                size.GetHeight()));
+            layout->buttons.Add(instance);
+        }
+        layout->overall_size.SetWidth(cursor.x);
+        m_layouts.Add(layout);
+    }
+    if(btn_count >= 2)
+    {
+        // Collapse the rightmost buttons and stack them vertically
+        size_t iLast = btn_count - 1;
+        while(TryCollapseLayout(m_layouts.Last(), iLast, &iLast) && iLast > 0)
+        {
+            --iLast;
+        }
+    }
+}
+
+bool wxRibbonButtonBar::TryCollapseLayout(wxRibbonButtonBarLayout* original,
+                                          size_t first_btn, size_t* last_button)
+{
+    size_t btn_count = m_buttons.Count();
+    size_t btn_i;
+    int used_height = 0;
+    int used_width = 0;
+    int available_width = 0;
+    int available_height = 0;
+
+    for(btn_i = first_btn + 1; btn_i > 0; /* decrement is inside loop */)
+    {
+        --btn_i;
+        wxRibbonButtonBarButtonBase* button = m_buttons.Item(btn_i);
+        wxRibbonButtonBarButtonState large_size_class = button->GetLargestSize();
+        wxSize large_size = button->sizes[large_size_class].size;
+        int t_available_height = wxMax(available_height,
+            large_size.GetHeight());
+        int t_available_width = available_width + large_size.GetWidth();
+        wxRibbonButtonBarButtonState small_size_class = large_size_class;
+        if(!button->GetSmallerSize(&small_size_class))
+        {
+            return false;
+        }
+        wxSize small_size = button->sizes[small_size_class].size;
+        int t_used_height = used_height + small_size.GetHeight();
+        int t_used_width = wxMax(used_width, small_size.GetWidth());
+
+        if(t_used_height > t_available_height)
+        {
+            ++btn_i;
+            break;
+        }
+        else
+        {
+            used_height = t_used_height;
+            used_width = t_used_width;
+            available_width = t_available_width;
+            available_height = t_available_height;
+        }
+    }
+
+    if(btn_i >= first_btn || used_width >= available_width)
+    {
+        return false;
+    }
+    if(last_button != NULL)
+    {
+        *last_button = btn_i;
+    }
+
+    wxRibbonButtonBarLayout* layout = new wxRibbonButtonBarLayout;
+    WX_APPEND_ARRAY(layout->buttons, original->buttons);
+    wxPoint cursor(layout->buttons.Item(btn_i).position);
+    bool preserve_height = false;
+    if(btn_i == 0)
+    {
+        // If height isn't preserved (i.e. it is reduced), then the minimum
+        // size for the button bar will decrease, preventing the original
+        // layout from being used (in some cases).
+        // It may be a good idea to always preverse the height, but for now
+        // it is only done when the first button is involved in a collapse.
+        preserve_height = true;
+    }
+
+    for(; btn_i <= first_btn; ++btn_i)
+    {
+        wxRibbonButtonBarButtonInstance& instance = layout->buttons.Item(btn_i);
+        instance.base->GetSmallerSize(&instance.size);
+        instance.position = cursor;
+        cursor.y += instance.base->sizes[instance.size].size.GetHeight();
+    }
+
+    int x_adjust = available_width - used_width;
+
+    for(; btn_i < btn_count; ++btn_i)
+    {
+        wxRibbonButtonBarButtonInstance& instance = layout->buttons.Item(btn_i);
+        instance.position.x -= x_adjust;
+    }
+
+    layout->CalculateOverallSize();
+
+    // Sanity check
+    if(layout->overall_size.GetWidth() >= original->overall_size.GetWidth() ||
+        layout->overall_size.GetHeight() > original->overall_size.GetHeight())
+    {
+        delete layout;
+        wxASSERT_MSG(false, wxT("Layout collapse resulted in increased size"));
+        return false;
+    }
+
+    if(preserve_height)
+    {
+        layout->overall_size.SetHeight(original->overall_size.GetHeight());
+    }
+
+    m_layouts.Add(layout);
+    return true;
+}
+
+void wxRibbonButtonBar::OnMouseMove(wxMouseEvent& evt)
+{
+    wxPoint cursor(evt.GetPosition());
+    wxRibbonButtonBarButtonInstance* new_hovered = NULL;
+    long new_hovered_state = 0;
+
+    wxRibbonButtonBarLayout* layout = m_layouts.Item(m_current_layout);
+    size_t btn_count = layout->buttons.Count();
+    size_t btn_i;
+    for(btn_i = 0; btn_i < btn_count; ++btn_i)
+    {
+        wxRibbonButtonBarButtonInstance& instance = layout->buttons.Item(btn_i);
+        wxRibbonButtonBarButtonSizeInfo& size = instance.base->sizes[instance.size];
+        wxRect btn_rect;
+        btn_rect.SetTopLeft(m_layout_offset + instance.position);
+        btn_rect.SetSize(size.size);
+        if(btn_rect.Contains(cursor))
+        {
+            new_hovered = &instance;
+            new_hovered_state = instance.base->state;
+            new_hovered_state &= ~wxRIBBON_BUTTONBAR_BUTTON_HOVER_MASK;
+            wxPoint offset(cursor);
+            offset -= btn_rect.GetTopLeft();
+            if(size.normal_region.Contains(offset))
+            {
+                new_hovered_state |= wxRIBBON_BUTTONBAR_BUTTON_NORMAL_HOVERED;
+            }
+            if(size.dropdown_region.Contains(offset))
+            {
+                new_hovered_state |= wxRIBBON_BUTTONBAR_BUTTON_DROPDOWN_HOVERED;
+            }
+            break;
+        }
+    }
+
+    if(new_hovered != m_hovered_button || (m_hovered_button != NULL &&
+        new_hovered_state != m_hovered_button->base->state))
+    {
+        if(m_hovered_button != NULL)
+        {
+            m_hovered_button->base->state &= ~wxRIBBON_BUTTONBAR_BUTTON_HOVER_MASK;
+        }
+        m_hovered_button = new_hovered;
+        if(m_hovered_button != NULL)
+        {
+            m_hovered_button->base->state = new_hovered_state;
+        }
+        Refresh(false);
+    }
+
+    if(m_active_button && !m_lock_active_state)
+    {
+        long new_active_state = m_active_button->base->state;
+        new_active_state &= ~wxRIBBON_BUTTONBAR_BUTTON_ACTIVE_MASK;
+        wxRibbonButtonBarButtonSizeInfo& size =
+            m_active_button->base->sizes[m_active_button->size];
+        wxRect btn_rect;
+        btn_rect.SetTopLeft(m_layout_offset + m_active_button->position);
+        btn_rect.SetSize(size.size);
+        if(btn_rect.Contains(cursor))
+        {
+            wxPoint offset(cursor);
+            offset -= btn_rect.GetTopLeft();
+            if(size.normal_region.Contains(offset))
+            {
+                new_active_state |= wxRIBBON_BUTTONBAR_BUTTON_NORMAL_ACTIVE;
+            }
+            if(size.dropdown_region.Contains(offset))
+            {
+                new_active_state |= wxRIBBON_BUTTONBAR_BUTTON_DROPDOWN_ACTIVE;
+            }
+        }
+        if(new_active_state != m_active_button->base->state)
+        {
+            m_active_button->base->state = new_active_state;
+            Refresh(false);
+        }
+    }
+}
+
+void wxRibbonButtonBar::OnMouseDown(wxMouseEvent& evt)
+{
+    wxPoint cursor(evt.GetPosition());
+    m_active_button = NULL;
+
+    wxRibbonButtonBarLayout* layout = m_layouts.Item(m_current_layout);
+    size_t btn_count = layout->buttons.Count();
+    size_t btn_i;
+    for(btn_i = 0; btn_i < btn_count; ++btn_i)
+    {
+        wxRibbonButtonBarButtonInstance& instance = layout->buttons.Item(btn_i);
+        wxRibbonButtonBarButtonSizeInfo& size = instance.base->sizes[instance.size];
+        wxRect btn_rect;
+        btn_rect.SetTopLeft(m_layout_offset + instance.position);
+        btn_rect.SetSize(size.size);
+        if(btn_rect.Contains(cursor))
+        {
+            m_active_button = &instance;
+            cursor -= btn_rect.GetTopLeft();
+            long state = 0;
+            if(size.normal_region.Contains(cursor))
+                state = wxRIBBON_BUTTONBAR_BUTTON_NORMAL_ACTIVE;
+            else if(size.dropdown_region.Contains(cursor))
+                state = wxRIBBON_BUTTONBAR_BUTTON_DROPDOWN_ACTIVE;
+            instance.base->state |= state;
+            Refresh(false);
+            break;
+        }
+    }
+}
+
+void wxRibbonButtonBar::OnMouseUp(wxMouseEvent& evt)
+{
+    wxPoint cursor(evt.GetPosition());
+
+    if(m_active_button)
+    {
+        wxRibbonButtonBarButtonSizeInfo& size =
+            m_active_button->base->sizes[m_active_button->size];
+        wxRect btn_rect;
+        btn_rect.SetTopLeft(m_layout_offset + m_active_button->position);
+        btn_rect.SetSize(size.size);
+        if(btn_rect.Contains(cursor))
+        {
+            int id = m_active_button->base->id;
+            cursor -= btn_rect.GetTopLeft();
+            wxEventType event_type;
+            do
+            {
+                if(size.normal_region.Contains(cursor))
+                    event_type = wxEVT_COMMAND_RIBBONBUTTON_CLICKED;
+                else if(size.dropdown_region.Contains(cursor))
+                    event_type = wxEVT_COMMAND_RIBBONBUTTON_DROPDOWN_CLICKED;
+                else
+                    break;
+                wxRibbonButtonBarEvent notification(event_type, id);
+                notification.SetEventObject(this);
+                notification.SetBar(this);
+                m_lock_active_state = true;
+                ProcessWindowEvent(notification);
+                m_lock_active_state = false;
+            } while(false);
+            if(m_active_button) // may have been NULLed by event handler
+            {
+                m_active_button->base->state &= ~wxRIBBON_BUTTONBAR_BUTTON_ACTIVE_MASK;
+                m_active_button = NULL;
+            }
+            Refresh(false);
+        }
+    }
+}
+
+void wxRibbonButtonBar::OnMouseEnter(wxMouseEvent& evt)
+{
+    if(m_active_button && !evt.LeftIsDown())
+    {
+        m_active_button = NULL;
+    }
+}
+
+void wxRibbonButtonBar::OnMouseLeave(wxMouseEvent& WXUNUSED(evt))
+{
+    bool repaint = false;
+    if(m_hovered_button != NULL)
+    {
+        m_hovered_button->base->state &= ~wxRIBBON_BUTTONBAR_BUTTON_HOVER_MASK;
+        m_hovered_button = NULL;
+        repaint = true;
+    }
+    if(m_active_button != NULL && !m_lock_active_state)
+    {
+        m_active_button->base->state &= ~wxRIBBON_BUTTONBAR_BUTTON_ACTIVE_MASK;
+        repaint = true;
+    }
+    if(repaint)
+        Refresh(false);
+}
+
+bool wxRibbonButtonBarEvent::PopupMenu(wxMenu* menu)
+{
+    wxPoint pos = wxDefaultPosition;
+    if(m_bar->m_active_button)
+    {
+        wxRibbonButtonBarButtonSizeInfo& size =
+            m_bar->m_active_button->base->sizes[m_bar->m_active_button->size];
+        wxRect btn_rect;
+        btn_rect.SetTopLeft(m_bar->m_layout_offset +
+            m_bar->m_active_button->position);
+        btn_rect.SetSize(size.size);
+        pos = btn_rect.GetBottomLeft();
+        pos.y++;
+    }
+    return m_bar->PopupMenu(menu, pos);
+}
+
+#endif // wxUSE_RIBBON
diff --git a/src/ribbon/control.cpp b/src/ribbon/control.cpp
new file mode 100644 (file)
index 0000000..a963a6c
--- /dev/null
@@ -0,0 +1,109 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        src/ribbon/control.cpp
+// Purpose:     Extension of wxControl with common ribbon methods
+// Author:      Peter Cawley
+// Modified by:
+// Created:     2009-06-05
+// RCS-ID:      $Id$
+// Copyright:   (C) Peter Cawley
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#include "wx/ribbon/control.h"
+
+#if wxUSE_RIBBON
+
+#ifndef WX_PRECOMP
+#endif
+
+#ifdef __WXMSW__
+#include "wx/msw/private.h"
+#endif
+
+IMPLEMENT_CLASS(wxRibbonControl, wxControl)
+
+wxRibbonControl::wxRibbonControl(wxWindow *parent, wxWindowID id,
+                    const wxPoint& pos,
+                    const wxSize& size, long style,
+                    const wxValidator& validator,
+                    const wxString& name)
+    : wxControl(parent, id, pos, size, style, validator, name)
+{
+    m_art = NULL;
+
+    wxRibbonControl *ribbon_parent = wxDynamicCast(parent, wxRibbonControl);
+    if(ribbon_parent)
+    {
+        m_art = ribbon_parent->GetArtProvider();
+    }
+}
+
+void wxRibbonControl::SetArtProvider(wxRibbonArtProvider* art)
+{
+    m_art = art;
+}
+
+wxSize wxRibbonControl::DoGetNextSmallerSize(wxOrientation direction,
+                                           wxSize size) const
+{
+    // Dummy implementation for code which doesn't check for IsSizingContinuous() == true
+    wxSize minimum(GetMinSize());
+    if((direction & wxHORIZONTAL) && size.x > minimum.x)
+    {
+        size.x--;
+    }
+    if((direction & wxVERTICAL) && size.y > minimum.y)
+    {
+        size.y--;
+    }
+    return size;
+}
+
+wxSize wxRibbonControl::DoGetNextLargerSize(wxOrientation direction,
+                                          wxSize size) const
+{
+    // Dummy implementation for code which doesn't check for IsSizingContinuous() == true
+    if(direction & wxHORIZONTAL)
+    {
+        size.x++;
+    }
+    if(direction & wxVERTICAL)
+    {
+        size.y++;
+    }
+    return size;
+}
+
+wxSize wxRibbonControl::GetNextSmallerSize(wxOrientation direction,
+                                           wxSize relative_to) const
+{
+    return DoGetNextSmallerSize(direction, relative_to);
+}
+
+wxSize wxRibbonControl::GetNextLargerSize(wxOrientation direction,
+                                          wxSize relative_to) const
+{
+    return DoGetNextLargerSize(direction, relative_to);
+}
+
+wxSize wxRibbonControl::GetNextSmallerSize(wxOrientation direction) const
+{
+    return DoGetNextSmallerSize(direction, GetSize());
+}
+
+wxSize wxRibbonControl::GetNextLargerSize(wxOrientation direction) const
+{
+    return DoGetNextLargerSize(direction, GetSize());
+}
+
+bool wxRibbonControl::Realize()
+{
+    return true;
+}
+
+#endif // wxUSE_RIBBON
diff --git a/src/ribbon/gallery.cpp b/src/ribbon/gallery.cpp
new file mode 100644 (file)
index 0000000..440455e
--- /dev/null
@@ -0,0 +1,830 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        src/ribbon/gallery.cpp
+// Purpose:     Ribbon control which displays a gallery of items to choose from
+// Author:      Peter Cawley
+// Modified by:
+// Created:     2009-07-22
+// RCS-ID:      $Id$
+// Copyright:   (C) Peter Cawley
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#include "wx/ribbon/gallery.h"
+
+#if wxUSE_RIBBON
+
+#include "wx/ribbon/art.h"
+#include "wx/ribbon/bar.h"
+#include "wx/dcbuffer.h"
+#include "wx/clntdata.h"
+
+#ifndef WX_PRECOMP
+#endif
+
+#ifdef __WXMSW__
+#include "wx/msw/private.h"
+#endif
+
+wxDEFINE_EVENT(wxEVT_COMMAND_RIBBONGALLERY_HOVER_CHANGED, wxRibbonGalleryEvent);
+wxDEFINE_EVENT(wxEVT_COMMAND_RIBBONGALLERY_SELECTED, wxRibbonGalleryEvent);
+
+IMPLEMENT_DYNAMIC_CLASS(wxRibbonGalleryEvent, wxCommandEvent)
+IMPLEMENT_CLASS(wxRibbonGallery, wxRibbonControl)
+
+class wxRibbonGalleryItem
+{
+public:
+    wxRibbonGalleryItem()
+    {
+        m_id = 0;
+        m_is_visible = false;
+    }
+
+    void SetId(int id) {m_id = id;}
+    void SetBitmap(const wxBitmap& bitmap) {m_bitmap = bitmap;}
+    const wxBitmap& GetBitmap() const {return m_bitmap;}
+    void SetIsVisible(bool visible) {m_is_visible = visible;}
+    void SetPosition(int x, int y, const wxSize& size)
+    {
+        m_position = wxRect(wxPoint(x, y), size);
+    }
+    bool IsVisible() const {return m_is_visible;}
+    const wxRect& GetPosition() const {return m_position;}
+
+    void SetClientObject(wxClientData *data) {m_client_data.SetClientObject(data);}
+    wxClientData *GetClientObject() const {return m_client_data.GetClientObject();}
+    void SetClientData(void *data) {m_client_data.SetClientData(data);}
+    void *GetClientData() const {return m_client_data.GetClientData();}
+
+protected:
+    wxBitmap m_bitmap;
+    wxClientDataContainer m_client_data;
+    wxRect m_position;
+    int m_id;
+    bool m_is_visible;
+};
+
+BEGIN_EVENT_TABLE(wxRibbonGallery, wxRibbonControl)
+    EVT_ENTER_WINDOW(wxRibbonGallery::OnMouseEnter)
+    EVT_ERASE_BACKGROUND(wxRibbonGallery::OnEraseBackground)
+    EVT_LEAVE_WINDOW(wxRibbonGallery::OnMouseLeave)
+    EVT_LEFT_DOWN(wxRibbonGallery::OnMouseDown)
+    EVT_LEFT_UP(wxRibbonGallery::OnMouseUp)
+    EVT_MOTION(wxRibbonGallery::OnMouseMove)
+    EVT_PAINT(wxRibbonGallery::OnPaint)
+    EVT_SIZE(wxRibbonGallery::OnSize)
+END_EVENT_TABLE()
+
+wxRibbonGallery::wxRibbonGallery()
+{
+}
+
+wxRibbonGallery::wxRibbonGallery(wxWindow* parent,
+                  wxWindowID id,
+                  const wxPoint& pos,
+                  const wxSize& size,
+                  long style)
+    : wxRibbonControl(parent, id, pos, size, wxBORDER_NONE)
+{
+    CommonInit(style);
+}
+
+wxRibbonGallery::~wxRibbonGallery()
+{
+    Clear();
+}
+
+bool wxRibbonGallery::Create(wxWindow* parent,
+                wxWindowID id,
+                const wxPoint& pos,
+                const wxSize& size,
+                long style)
+{
+    if(!wxRibbonControl::Create(parent, id, pos, size, wxBORDER_NONE))
+    {
+        return false;
+    }
+
+    CommonInit(style);
+    return true;
+}
+
+void wxRibbonGallery::CommonInit(long WXUNUSED(style))
+{
+    m_selected_item = NULL;
+    m_hovered_item = NULL;
+    m_active_item = NULL;
+    m_scroll_up_button_rect = wxRect(0, 0, 0, 0);
+    m_scroll_down_button_rect = wxRect(0, 0, 0, 0);
+    m_extension_button_rect = wxRect(0, 0, 0, 0);
+    m_mouse_active_rect = NULL;
+    m_bitmap_size = wxSize(64, 32);
+    m_bitmap_padded_size = m_bitmap_size;
+    m_item_separation_x = 0;
+    m_item_separation_y = 0;
+    m_scroll_amount = 0;
+    m_scroll_limit = 0;
+    m_up_button_state = wxRIBBON_GALLERY_BUTTON_DISABLED;
+    m_down_button_state = wxRIBBON_GALLERY_BUTTON_NORMAL;
+    m_extension_button_state = wxRIBBON_GALLERY_BUTTON_NORMAL;
+    m_hovered = false;
+
+    SetBackgroundStyle(wxBG_STYLE_CUSTOM);
+}
+
+void wxRibbonGallery::OnMouseEnter(wxMouseEvent& evt)
+{
+    m_hovered = true;
+    if(m_mouse_active_rect != NULL && !evt.LeftIsDown())
+    {
+        m_mouse_active_rect = NULL;
+        m_active_item = NULL;
+    }
+    Refresh(false);
+}
+
+void wxRibbonGallery::OnMouseMove(wxMouseEvent& evt)
+{
+    bool refresh = false;
+    wxPoint pos = evt.GetPosition();
+
+    if(TestButtonHover(m_scroll_up_button_rect, pos, &m_up_button_state))
+        refresh = true;
+    if(TestButtonHover(m_scroll_down_button_rect, pos, &m_down_button_state))
+        refresh = true;
+    if(TestButtonHover(m_extension_button_rect, pos, &m_extension_button_state))
+        refresh = true;
+
+    wxRibbonGalleryItem *hovered_item = NULL;
+    wxRibbonGalleryItem *active_item = NULL;
+    if(m_client_rect.Contains(pos))
+    {
+        if(m_art && m_art->GetFlags() & wxRIBBON_BAR_FLOW_VERTICAL)
+            pos.x += m_scroll_amount;
+        else
+            pos.y += m_scroll_amount;
+
+        size_t item_count = m_items.Count();
+        size_t item_i;
+        for(item_i = 0; item_i < item_count; ++item_i)
+        {
+            wxRibbonGalleryItem *item = m_items.Item(item_i);
+            if(!item->IsVisible())
+                continue;
+
+            if(item->GetPosition().Contains(pos))
+            {
+                if(m_mouse_active_rect == &item->GetPosition())
+                    active_item = item;
+                hovered_item = item;
+                break;
+            }
+        }
+    }
+    if(active_item != m_active_item)
+    {
+        m_active_item = active_item;
+        refresh = true;
+    }
+    if(hovered_item != m_hovered_item)
+    {
+        m_hovered_item = hovered_item;
+        wxRibbonGalleryEvent notification(
+            wxEVT_COMMAND_RIBBONGALLERY_HOVER_CHANGED, GetId());
+        notification.SetEventObject(this);
+        notification.SetGallery(this);
+        notification.SetGalleryItem(hovered_item);
+        ProcessWindowEvent(notification);
+        refresh = true;
+    }
+
+    if(refresh)
+        Refresh(false);
+}
+
+bool wxRibbonGallery::TestButtonHover(const wxRect& rect, wxPoint pos,
+        wxRibbonGalleryButtonState* state)
+{
+    if(*state == wxRIBBON_GALLERY_BUTTON_DISABLED)
+        return false;
+
+    wxRibbonGalleryButtonState new_state;
+    if(rect.Contains(pos))
+    {
+        if(m_mouse_active_rect == &rect)
+            new_state = wxRIBBON_GALLERY_BUTTON_ACTIVE;
+        else
+            new_state = wxRIBBON_GALLERY_BUTTON_HOVERED;
+    }
+    else
+        new_state = wxRIBBON_GALLERY_BUTTON_NORMAL;
+
+    if(new_state != *state)
+    {
+        *state = new_state;
+        return true;
+    }
+    else
+    {
+        return false;
+    }
+}
+
+void wxRibbonGallery::OnMouseLeave(wxMouseEvent& WXUNUSED(evt))
+{
+    m_hovered = false;
+    m_active_item = NULL;
+    if(m_up_button_state != wxRIBBON_GALLERY_BUTTON_DISABLED)
+        m_up_button_state = wxRIBBON_GALLERY_BUTTON_NORMAL;
+    if(m_down_button_state != wxRIBBON_GALLERY_BUTTON_DISABLED)
+        m_down_button_state = wxRIBBON_GALLERY_BUTTON_NORMAL;
+    if(m_extension_button_state != wxRIBBON_GALLERY_BUTTON_DISABLED)
+        m_extension_button_state = wxRIBBON_GALLERY_BUTTON_NORMAL;
+    if(m_hovered_item != NULL)
+    {
+        m_hovered_item = NULL;
+        wxRibbonGalleryEvent notification(
+            wxEVT_COMMAND_RIBBONGALLERY_HOVER_CHANGED, GetId());
+        notification.SetEventObject(this);
+        notification.SetGallery(this);
+        ProcessWindowEvent(notification);
+    }
+    Refresh(false);
+}
+
+void wxRibbonGallery::OnMouseDown(wxMouseEvent& evt)
+{
+    wxPoint pos = evt.GetPosition();
+    m_mouse_active_rect = NULL;
+    if(m_client_rect.Contains(pos))
+    {
+        if(m_art && m_art->GetFlags() & wxRIBBON_BAR_FLOW_VERTICAL)
+            pos.x += m_scroll_amount;
+        else
+            pos.y += m_scroll_amount;
+        size_t item_count = m_items.Count();
+        size_t item_i;
+        for(item_i = 0; item_i < item_count; ++item_i)
+        {
+            wxRibbonGalleryItem *item = m_items.Item(item_i);
+            if(!item->IsVisible())
+                continue;
+
+            const wxRect& rect = item->GetPosition();
+            if(rect.Contains(pos))
+            {
+                m_active_item = item;
+                m_mouse_active_rect = &rect;
+                break;
+            }
+        }
+    }
+    else if(m_scroll_up_button_rect.Contains(pos))
+    {
+        if(m_up_button_state != wxRIBBON_GALLERY_BUTTON_DISABLED)
+        {
+            m_mouse_active_rect = &m_scroll_up_button_rect;
+            m_up_button_state = wxRIBBON_GALLERY_BUTTON_ACTIVE;
+        }
+    }
+    else if(m_scroll_down_button_rect.Contains(pos))
+    {
+        if(m_down_button_state != wxRIBBON_GALLERY_BUTTON_DISABLED)
+        {
+            m_mouse_active_rect = &m_scroll_down_button_rect;
+            m_down_button_state = wxRIBBON_GALLERY_BUTTON_ACTIVE;
+        }
+    }
+    else if(m_extension_button_rect.Contains(pos))
+    {
+        if(m_extension_button_state != wxRIBBON_GALLERY_BUTTON_DISABLED)
+        {
+            m_mouse_active_rect = &m_extension_button_rect;
+            m_extension_button_state = wxRIBBON_GALLERY_BUTTON_ACTIVE;
+        }
+    }
+    if(m_mouse_active_rect != NULL)
+        Refresh(false);
+}
+
+void wxRibbonGallery::OnMouseUp(wxMouseEvent& evt)
+{
+    if(m_mouse_active_rect != NULL)
+    {
+        wxPoint pos = evt.GetPosition();
+        if(m_active_item)
+        {
+            if(m_art && m_art->GetFlags() & wxRIBBON_BAR_FLOW_VERTICAL)
+                pos.x += m_scroll_amount;
+            else
+                pos.y += m_scroll_amount;
+        }
+        if(m_mouse_active_rect->Contains(pos))
+        {
+            if(m_mouse_active_rect == &m_scroll_up_button_rect)
+            {
+                m_up_button_state = wxRIBBON_GALLERY_BUTTON_HOVERED;
+                ScrollLines(-1);
+            }
+            else if(m_mouse_active_rect == &m_scroll_down_button_rect)
+            {
+                m_down_button_state = wxRIBBON_GALLERY_BUTTON_HOVERED;
+                ScrollLines(1);
+            }
+            else if(m_mouse_active_rect == &m_extension_button_rect)
+            {
+                m_extension_button_state = wxRIBBON_GALLERY_BUTTON_HOVERED;
+                wxCommandEvent notification(wxEVT_COMMAND_BUTTON_CLICKED,
+                    GetId());
+                notification.SetEventObject(this);
+                ProcessWindowEvent(notification);
+            }
+            else if(m_active_item != NULL)
+            {
+                if(m_selected_item != m_active_item)
+                {
+                    m_selected_item = m_active_item;
+                    wxRibbonGalleryEvent notification(
+                        wxEVT_COMMAND_RIBBONGALLERY_SELECTED, GetId());
+                    notification.SetEventObject(this);
+                    notification.SetGallery(this);
+                    notification.SetGalleryItem(m_selected_item);
+                    ProcessWindowEvent(notification);
+                }
+            }
+        }
+        m_mouse_active_rect = NULL;
+        m_active_item = NULL;
+        Refresh(false);
+    }
+}
+
+void wxRibbonGallery::SetItemClientObject(wxRibbonGalleryItem* itm,
+                                          wxClientData* data)
+{
+    itm->SetClientObject(data);
+}
+
+wxClientData* wxRibbonGallery::GetItemClientObject(const wxRibbonGalleryItem* itm) const
+{
+    return itm->GetClientObject();
+}
+
+void wxRibbonGallery::SetItemClientData(wxRibbonGalleryItem* itm, void* data)
+{
+    itm->SetClientData(data);
+}
+
+void* wxRibbonGallery::GetItemClientData(const wxRibbonGalleryItem* itm) const
+{
+    return itm->GetClientData();
+}
+
+bool wxRibbonGallery::ScrollLines(int lines)
+{
+    if(m_scroll_limit == 0 || m_art == NULL)
+        return false;
+
+    int line_size = m_bitmap_padded_size.GetHeight();
+    if(m_art->GetFlags() & wxRIBBON_BAR_FLOW_VERTICAL)
+        line_size = m_bitmap_padded_size.GetWidth();
+    if(lines < 0)
+    {
+        if(m_scroll_amount > 0)
+        {
+            m_scroll_amount += lines * line_size;
+            if(m_scroll_amount <= 0)
+            {
+                m_scroll_amount = 0;
+                m_up_button_state = wxRIBBON_GALLERY_BUTTON_DISABLED;
+            }
+            else if(m_up_button_state == wxRIBBON_GALLERY_BUTTON_DISABLED)
+                m_up_button_state = wxRIBBON_GALLERY_BUTTON_NORMAL;
+            if(m_down_button_state == wxRIBBON_GALLERY_BUTTON_DISABLED)
+                m_down_button_state = wxRIBBON_GALLERY_BUTTON_NORMAL;
+            return true;
+        }
+    }
+    else if(lines > 0)
+    {
+        if(m_scroll_amount < m_scroll_limit)
+        {
+            m_scroll_amount += lines * line_size;
+            if(m_scroll_amount >= m_scroll_limit)
+            {
+                m_scroll_amount = m_scroll_limit;
+                m_down_button_state = wxRIBBON_GALLERY_BUTTON_DISABLED;
+            }
+            else if(m_down_button_state == wxRIBBON_GALLERY_BUTTON_DISABLED)
+                m_down_button_state = wxRIBBON_GALLERY_BUTTON_NORMAL;
+            if(m_up_button_state == wxRIBBON_GALLERY_BUTTON_DISABLED)
+                m_up_button_state = wxRIBBON_GALLERY_BUTTON_NORMAL;
+            return true;
+        }
+    }
+    return false;
+}
+
+void wxRibbonGallery::EnsureVisible(const wxRibbonGalleryItem* item)
+{
+    if(item == NULL || !item->IsVisible() || IsEmpty())
+        return;
+
+    int y = item->GetPosition().GetTop();
+    int base_y = m_items.Item(0)->GetPosition().GetTop();
+    int delta = y - base_y - m_scroll_amount;
+    ScrollLines(delta / m_bitmap_padded_size.GetHeight());
+}
+
+bool wxRibbonGallery::IsHovered() const
+{
+    return m_hovered;
+}
+
+void wxRibbonGallery::OnEraseBackground(wxEraseEvent& WXUNUSED(evt))
+{
+    // All painting done in main paint handler to minimise flicker
+}
+
+void wxRibbonGallery::OnPaint(wxPaintEvent& WXUNUSED(evt))
+{
+    wxAutoBufferedPaintDC dc(this);
+    if(m_art == NULL)
+        return;
+
+    wxSize cur_size = GetSize();
+    wxSize min_size = GetMinSize();
+
+    m_art->DrawGalleryBackground(dc, this, GetSize());
+
+    int padding_top = m_art->GetMetric(wxRIBBON_ART_GALLERY_BITMAP_PADDING_TOP_SIZE);
+    int padding_left = m_art->GetMetric(wxRIBBON_ART_GALLERY_BITMAP_PADDING_LEFT_SIZE);
+
+    dc.SetClippingRegion(m_client_rect);
+
+    bool offset_vertical = true;
+    if(m_art->GetFlags() & wxRIBBON_BAR_FLOW_VERTICAL)
+        offset_vertical = false;
+    size_t item_count = m_items.Count();
+    size_t item_i;
+    for(item_i = 0; item_i < item_count; ++item_i)
+    {
+        wxRibbonGalleryItem *item = m_items.Item(item_i);
+        if(!item->IsVisible())
+            continue;
+
+        const wxRect& pos = item->GetPosition();
+        wxRect offset_pos(pos);
+        if(offset_vertical)
+            offset_pos.SetTop(offset_pos.GetTop() - m_scroll_amount);
+        else
+            offset_pos.SetLeft(offset_pos.GetLeft() - m_scroll_amount);
+        m_art->DrawGalleryItemBackground(dc, this, offset_pos, item);
+        dc.DrawBitmap(item->GetBitmap(), offset_pos.GetLeft() + padding_left,
+            offset_pos.GetTop() + padding_top);
+    }
+}
+
+void wxRibbonGallery::OnSize(wxSizeEvent& WXUNUSED(evt))
+{
+    Layout();
+}
+
+wxRibbonGalleryItem* wxRibbonGallery::Append(const wxBitmap& bitmap, int id)
+{
+    wxASSERT(bitmap.IsOk());
+    if(m_items.IsEmpty())
+    {
+        m_bitmap_size = bitmap.GetSize();
+        CalculateMinSize();
+    }
+    else
+    {
+        wxASSERT(bitmap.GetSize() == m_bitmap_size);
+    }
+
+    wxRibbonGalleryItem *item = new wxRibbonGalleryItem;
+    item->SetId(id);
+    item->SetBitmap(bitmap);
+    m_items.Add(item);
+    return item;
+}
+
+wxRibbonGalleryItem* wxRibbonGallery::Append(const wxBitmap& bitmap, int id,
+                                             void* clientData)
+{
+    wxRibbonGalleryItem *item = Append(bitmap, id);
+    item->SetClientData(clientData);
+    return item;
+}
+
+wxRibbonGalleryItem* wxRibbonGallery::Append(const wxBitmap& bitmap, int id,
+                                             wxClientData* clientData)
+{
+    wxRibbonGalleryItem *item = Append(bitmap, id);
+    item->SetClientObject(clientData);
+    return item;
+}
+
+void wxRibbonGallery::Clear()
+{
+    size_t item_count = m_items.Count();
+    size_t item_i;
+    for(item_i = 0; item_i < item_count; ++item_i)
+    {
+        wxRibbonGalleryItem *item = m_items.Item(item_i);
+        delete item;
+    }
+    m_items.Clear();
+}
+
+bool wxRibbonGallery::IsSizingContinuous() const
+{
+    return false;
+}
+
+void wxRibbonGallery::CalculateMinSize()
+{
+    if(m_art == NULL || !m_bitmap_size.IsFullySpecified())
+    {
+        SetMinSize(wxSize(20, 20));
+    }
+    else
+    {
+        m_bitmap_padded_size = m_bitmap_size;
+        m_bitmap_padded_size.IncBy(
+            m_art->GetMetric(wxRIBBON_ART_GALLERY_BITMAP_PADDING_LEFT_SIZE) +
+            m_art->GetMetric(wxRIBBON_ART_GALLERY_BITMAP_PADDING_RIGHT_SIZE),
+            m_art->GetMetric(wxRIBBON_ART_GALLERY_BITMAP_PADDING_TOP_SIZE) +
+            m_art->GetMetric(wxRIBBON_ART_GALLERY_BITMAP_PADDING_BOTTOM_SIZE));
+
+        wxMemoryDC dc;
+        SetMinSize(m_art->GetGallerySize(dc, this, m_bitmap_padded_size));
+
+        // The best size is displaying several items
+        m_best_size = m_bitmap_padded_size;
+        m_best_size.x *= 3;
+        m_best_size = m_art->GetGallerySize(dc, this, m_best_size);
+    }
+}
+
+bool wxRibbonGallery::Realize()
+{
+    CalculateMinSize();
+    return Layout();
+}
+
+bool wxRibbonGallery::Layout()
+{
+    if(m_art == NULL)
+        return false;
+
+    wxMemoryDC dc;
+    wxPoint origin;
+    wxSize client_size = m_art->GetGalleryClientSize(dc, this, GetSize(),
+        &origin, &m_scroll_up_button_rect, &m_scroll_down_button_rect,
+        &m_extension_button_rect);
+    m_client_rect = wxRect(origin, client_size);
+
+    int x_cursor = 0;
+    int y_cursor = 0;
+
+    size_t item_count = m_items.Count();
+    size_t item_i;
+    long art_flags = m_art->GetFlags();
+    for(item_i = 0; item_i < item_count; ++item_i)
+    {
+        wxRibbonGalleryItem *item = m_items.Item(item_i);
+        item->SetIsVisible(true);
+        if(art_flags & wxRIBBON_BAR_FLOW_VERTICAL)
+        {
+            if(y_cursor + m_bitmap_padded_size.y > client_size.GetHeight())
+            {
+                if(y_cursor == 0)
+                    break;
+                y_cursor = 0;
+                x_cursor += m_bitmap_padded_size.x;
+            }
+            item->SetPosition(origin.x + x_cursor, origin.y + y_cursor,
+                m_bitmap_padded_size);
+            y_cursor += m_bitmap_padded_size.y;
+        }
+        else
+        {
+            if(x_cursor + m_bitmap_padded_size.x > client_size.GetWidth())
+            {
+                if(x_cursor == 0)
+                    break;
+                x_cursor = 0;
+                y_cursor += m_bitmap_padded_size.y;
+            }
+            item->SetPosition(origin.x + x_cursor, origin.y + y_cursor,
+                m_bitmap_padded_size);
+            x_cursor += m_bitmap_padded_size.x;
+        }
+    }
+    for(; item_i < item_count; ++item_i)
+    {
+        wxRibbonGalleryItem *item = m_items.Item(item_i);
+        item->SetIsVisible(false);
+    }
+    if(art_flags & wxRIBBON_BAR_FLOW_VERTICAL)
+        m_scroll_limit = x_cursor;
+    else
+        m_scroll_limit = y_cursor;
+    if(m_scroll_amount >= m_scroll_limit)
+    {
+        m_scroll_amount = m_scroll_limit;
+        m_down_button_state = wxRIBBON_GALLERY_BUTTON_DISABLED;
+    }
+    else if(m_down_button_state == wxRIBBON_GALLERY_BUTTON_DISABLED)
+        m_down_button_state = wxRIBBON_GALLERY_BUTTON_NORMAL;
+
+    if(m_scroll_amount <= 0)
+    {
+        m_scroll_amount = 0;
+        m_up_button_state = wxRIBBON_GALLERY_BUTTON_DISABLED;
+    }
+    else if(m_up_button_state == wxRIBBON_GALLERY_BUTTON_DISABLED)
+        m_up_button_state = wxRIBBON_GALLERY_BUTTON_NORMAL;
+
+    return true;
+}
+
+wxSize wxRibbonGallery::DoGetBestSize() const
+{
+    return m_best_size;
+}
+
+wxSize wxRibbonGallery::DoGetNextSmallerSize(wxOrientation direction,
+                                        wxSize relative_to) const
+{
+    if(m_art == NULL)
+        return relative_to;
+
+    wxMemoryDC dc;
+
+    wxSize client = m_art->GetGalleryClientSize(dc, this, relative_to, NULL,
+        NULL, NULL, NULL);
+    switch(direction)
+    {
+    case wxHORIZONTAL:
+        client.DecBy(1, 0);
+        break;
+    case wxVERTICAL:
+        client.DecBy(0, 1);
+        break;
+    case wxBOTH:
+        client.DecBy(1, 1);
+        break;
+    }
+    if(client.GetWidth() < 0 || client.GetHeight() < 0)
+        return relative_to;
+
+    client.x = (client.x / m_bitmap_padded_size.x) * m_bitmap_padded_size.x;
+    client.y = (client.y / m_bitmap_padded_size.y) * m_bitmap_padded_size.y;
+
+    wxSize size = m_art->GetGallerySize(dc, this, client);
+    wxSize minimum = GetMinSize();
+
+    if(size.GetWidth() < minimum.GetWidth() ||
+        size.GetHeight() < minimum.GetHeight())
+    {
+        return relative_to;
+    }
+
+    switch(direction)
+    {
+    case wxHORIZONTAL:
+        size.SetHeight(relative_to.GetHeight());
+        break;
+    case wxVERTICAL:
+        size.SetWidth(relative_to.GetWidth());
+        break;
+    default:
+        break;
+    }
+
+    return size;
+}
+
+wxSize wxRibbonGallery::DoGetNextLargerSize(wxOrientation direction,
+                                       wxSize relative_to) const
+{
+    if(m_art == NULL)
+        return relative_to;
+
+    wxMemoryDC dc;
+
+    wxSize client = m_art->GetGalleryClientSize(dc, this, relative_to, NULL,
+        NULL, NULL, NULL);
+
+    // No need to grow if the given size can already display every item
+    int nitems = (client.GetWidth() / m_bitmap_padded_size.x) *
+        (client.GetHeight() / m_bitmap_padded_size.y);
+    if(nitems >= (int)m_items.GetCount())
+        return relative_to;
+
+    switch(direction)
+    {
+    case wxHORIZONTAL:
+        client.IncBy(m_bitmap_padded_size.x, 0);
+        break;
+    case wxVERTICAL:
+        client.IncBy(0, m_bitmap_padded_size.y);
+        break;
+    case wxBOTH:
+        client.IncBy(m_bitmap_padded_size);
+        break;
+    }
+
+    client.x = (client.x / m_bitmap_padded_size.x) * m_bitmap_padded_size.x;
+    client.y = (client.y / m_bitmap_padded_size.y) * m_bitmap_padded_size.y;
+
+    wxSize size = m_art->GetGallerySize(dc, this, client);
+    wxSize minimum = GetMinSize();
+
+    if(size.GetWidth() < minimum.GetWidth() ||
+        size.GetHeight() < minimum.GetHeight())
+    {
+        return relative_to;
+    }
+
+    switch(direction)
+    {
+    case wxHORIZONTAL:
+        size.SetHeight(relative_to.GetHeight());
+        break;
+    case wxVERTICAL:
+        size.SetWidth(relative_to.GetWidth());
+        break;
+    default:
+        break;
+    }
+
+    return size;
+}
+
+bool wxRibbonGallery::IsEmpty() const
+{
+    return m_items.IsEmpty();
+}
+
+unsigned int wxRibbonGallery::GetCount() const
+{
+    return (unsigned int)m_items.GetCount();
+}
+
+wxRibbonGalleryItem* wxRibbonGallery::GetItem(unsigned int n)
+{
+    if(n >= GetCount())
+        return NULL;
+    return m_items.Item(n);
+}
+
+void wxRibbonGallery::SetSelection(wxRibbonGalleryItem* item)
+{
+    if(item != m_selected_item)
+    {
+        m_selected_item = item;
+        Refresh(false);
+    }
+}
+
+wxRibbonGalleryItem* wxRibbonGallery::GetSelection() const
+{
+    return m_selected_item;
+}
+
+wxRibbonGalleryItem* wxRibbonGallery::GetHoveredItem() const
+{
+    return m_hovered_item;
+}
+
+wxRibbonGalleryItem* wxRibbonGallery::GetActiveItem() const
+{
+    return m_active_item;
+}
+
+wxRibbonGalleryButtonState wxRibbonGallery::GetUpButtonState() const
+{
+    return m_up_button_state;
+}
+
+wxRibbonGalleryButtonState wxRibbonGallery::GetDownButtonState() const
+{
+    return m_down_button_state;
+}
+
+wxRibbonGalleryButtonState wxRibbonGallery::GetExtensionButtonState() const
+{
+    return m_extension_button_state;
+}
+
+#endif // wxUSE_RIBBON
diff --git a/src/ribbon/page.cpp b/src/ribbon/page.cpp
new file mode 100644 (file)
index 0000000..812d0da
--- /dev/null
@@ -0,0 +1,1037 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        src/ribbon/page.cpp
+// Purpose:     Container for ribbon-bar-style interface panels
+// Author:      Peter Cawley
+// Modified by:
+// Created:     2009-05-25
+// RCS-ID:      $Id$
+// Copyright:   (C) Peter Cawley
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#include "wx/ribbon/page.h"
+
+#if wxUSE_RIBBON
+
+#include "wx/ribbon/art.h"
+#include "wx/ribbon/bar.h"
+#include "wx/dcbuffer.h"
+
+#ifndef WX_PRECOMP
+#endif
+
+#ifdef __WXMSW__
+#include "wx/msw/private.h"
+#endif
+
+static int GetSizeInOrientation(wxSize size, wxOrientation orientation);
+
+// As scroll buttons need to be rendered on top of a page's child windows, the
+// buttons themselves have to be proper child windows (rather than just painted
+// onto the page). In order to get proper clipping of a page's children (with
+// regard to the scroll button), the scroll buttons are created as children of
+// the ribbon bar rather than children of the page. This could not have been
+// achieved by creating buttons as children of the page and then doing some Z-order
+// manipulation, as this causes problems on win32 due to ribbon panels having the
+// transparent flag set.
+class wxRibbonPageScrollButton : public wxRibbonControl
+{
+public:
+    wxRibbonPageScrollButton(wxRibbonPage* sibling,
+                 wxWindowID id = wxID_ANY,
+                 const wxPoint& pos = wxDefaultPosition,
+                 const wxSize& size = wxDefaultSize,
+                 long style = 0);
+
+    virtual ~wxRibbonPageScrollButton();
+
+protected:
+    virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
+
+    void OnEraseBackground(wxEraseEvent& evt);
+    void OnPaint(wxPaintEvent& evt);
+    void OnMouseEnter(wxMouseEvent& evt);
+    void OnMouseLeave(wxMouseEvent& evt);
+    void OnMouseDown(wxMouseEvent& evt);
+    void OnMouseUp(wxMouseEvent& evt);
+
+    wxRibbonPage* m_sibling;
+    long m_flags;
+
+    DECLARE_CLASS(wxRibbonPageScrollButton)
+    DECLARE_EVENT_TABLE()
+};
+
+IMPLEMENT_CLASS(wxRibbonPageScrollButton, wxRibbonControl)
+
+BEGIN_EVENT_TABLE(wxRibbonPageScrollButton, wxRibbonControl)
+    EVT_ENTER_WINDOW(wxRibbonPageScrollButton::OnMouseEnter)
+    EVT_ERASE_BACKGROUND(wxRibbonPageScrollButton::OnEraseBackground)
+    EVT_LEAVE_WINDOW(wxRibbonPageScrollButton::OnMouseLeave)
+    EVT_LEFT_DOWN(wxRibbonPageScrollButton::OnMouseDown)
+    EVT_LEFT_UP(wxRibbonPageScrollButton::OnMouseUp)
+    EVT_PAINT(wxRibbonPageScrollButton::OnPaint)
+END_EVENT_TABLE()
+
+wxRibbonPageScrollButton::wxRibbonPageScrollButton(wxRibbonPage* sibling,
+                 wxWindowID id,
+                 const wxPoint& pos,
+                 const wxSize& size,
+                 long style) : wxRibbonControl(sibling->GetParent(), id, pos, size, wxBORDER_NONE)
+{
+    SetBackgroundStyle(wxBG_STYLE_CUSTOM);
+    m_sibling = sibling;
+    m_flags = (style & wxRIBBON_SCROLL_BTN_DIRECTION_MASK) | wxRIBBON_SCROLL_BTN_FOR_PAGE;
+}
+
+wxRibbonPageScrollButton::~wxRibbonPageScrollButton()
+{
+}
+
+void wxRibbonPageScrollButton::OnEraseBackground(wxEraseEvent& WXUNUSED(evt))
+{
+    // Do nothing - all painting done in main paint handler
+}
+
+void wxRibbonPageScrollButton::OnPaint(wxPaintEvent& WXUNUSED(evt))
+{
+    wxAutoBufferedPaintDC dc(this);
+    if(m_art)
+    {
+        m_art->DrawScrollButton(dc, this, GetSize(), m_flags);
+    }
+}
+
+void wxRibbonPageScrollButton::OnMouseEnter(wxMouseEvent& WXUNUSED(evt))
+{
+    m_flags |= wxRIBBON_SCROLL_BTN_HOVERED;
+    Refresh(false);
+}
+
+void wxRibbonPageScrollButton::OnMouseLeave(wxMouseEvent& WXUNUSED(evt))
+{
+    m_flags &= ~wxRIBBON_SCROLL_BTN_HOVERED;
+    m_flags &= ~wxRIBBON_SCROLL_BTN_ACTIVE;
+    Refresh(false);
+}
+
+void wxRibbonPageScrollButton::OnMouseDown(wxMouseEvent& WXUNUSED(evt))
+{
+    m_flags |= wxRIBBON_SCROLL_BTN_ACTIVE;
+    Refresh(false);
+}
+
+void wxRibbonPageScrollButton::OnMouseUp(wxMouseEvent& WXUNUSED(evt))
+{
+    if(m_flags & wxRIBBON_SCROLL_BTN_ACTIVE)
+    {
+        m_flags &= ~wxRIBBON_SCROLL_BTN_ACTIVE;
+        Refresh(false);
+        switch(m_flags & wxRIBBON_SCROLL_BTN_DIRECTION_MASK)
+        {
+        case wxRIBBON_SCROLL_BTN_DOWN:
+        case wxRIBBON_SCROLL_BTN_RIGHT:
+            m_sibling->ScrollLines(1);
+            break;
+        case wxRIBBON_SCROLL_BTN_UP:
+        case wxRIBBON_SCROLL_BTN_LEFT:
+            m_sibling->ScrollLines(-1);
+            break;
+        default:
+            break;
+        }
+    }
+}
+
+IMPLEMENT_CLASS(wxRibbonPage, wxRibbonControl)
+
+BEGIN_EVENT_TABLE(wxRibbonPage, wxRibbonControl)
+    EVT_ERASE_BACKGROUND(wxRibbonPage::OnEraseBackground)
+    EVT_PAINT(wxRibbonPage::OnPaint)
+    EVT_SIZE(wxRibbonPage::OnSize)
+END_EVENT_TABLE()
+
+wxRibbonPage::wxRibbonPage()
+{
+    m_scroll_left_btn = NULL;
+    m_scroll_right_btn = NULL;
+    m_scroll_amount = 0;
+    m_scroll_buttons_visible = false;
+}
+
+wxRibbonPage::wxRibbonPage(wxRibbonBar* parent,
+                   wxWindowID id,
+                   const wxString& label,
+                   const wxBitmap& icon,
+                   long WXUNUSED(style))
+    : wxRibbonControl(parent, id, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE)
+{
+    CommonInit(label, icon);
+}
+
+wxRibbonPage::~wxRibbonPage()
+{
+}
+
+bool wxRibbonPage::Create(wxRibbonBar* parent,
+                wxWindowID id,
+                const wxString& label,
+                const wxBitmap& icon,
+                long WXUNUSED(style))
+{
+    if(!wxRibbonControl::Create(parent, id, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE))
+        return false;
+
+    CommonInit(label, icon);
+
+    return true;
+}
+
+void wxRibbonPage::CommonInit(const wxString& label, const wxBitmap& icon)
+{
+    SetName(label);
+
+    SetLabel(label);
+    m_old_size = wxSize(0, 0);
+    m_icon = icon;
+    m_scroll_left_btn = NULL;
+    m_scroll_right_btn = NULL;
+    m_scroll_amount = 0;
+    m_scroll_buttons_visible = false;
+
+    SetBackgroundStyle(wxBG_STYLE_CUSTOM);
+
+    wxDynamicCast(GetParent(), wxRibbonBar)->AddPage(this);
+}
+
+void wxRibbonPage::SetArtProvider(wxRibbonArtProvider* art)
+{
+    m_art = art;
+    for ( wxWindowList::compatibility_iterator node = GetChildren().GetFirst();
+          node;
+          node = node->GetNext() )
+    {
+        wxWindow* child = node->GetData();
+        wxRibbonControl* ribbon_child = wxDynamicCast(child, wxRibbonControl);
+        if(ribbon_child)
+        {
+            ribbon_child->SetArtProvider(art);
+        }
+    }
+}
+
+void wxRibbonPage::AdjustRectToIncludeScrollButtons(wxRect* rect) const
+{
+    if(m_scroll_buttons_visible)
+    {
+        if(GetMajorAxis() == wxVERTICAL)
+        {
+            if(m_scroll_left_btn)
+            {
+                rect->SetY(rect->GetY() -
+                    m_scroll_left_btn->GetSize().GetHeight());
+                rect->SetHeight(rect->GetHeight() +
+                    m_scroll_left_btn->GetSize().GetHeight());
+            }
+            if(m_scroll_right_btn)
+            {
+                rect->SetHeight(rect->GetHeight() +
+                    m_scroll_right_btn->GetSize().GetHeight());
+            }
+        }
+        else
+        {
+            if(m_scroll_left_btn)
+            {
+                rect->SetX(rect->GetX() -
+                    m_scroll_left_btn->GetSize().GetWidth());
+                rect->SetWidth(rect->GetWidth() +
+                    m_scroll_left_btn->GetSize().GetWidth());
+            }
+            if(m_scroll_right_btn)
+            {
+                rect->SetWidth(rect->GetWidth() +
+                    m_scroll_right_btn->GetSize().GetWidth());
+            }
+        }
+    }
+}
+
+void wxRibbonPage::OnEraseBackground(wxEraseEvent& WXUNUSED(evt))
+{
+    // All painting done in main paint handler to minimise flicker
+}
+
+void wxRibbonPage::OnPaint(wxPaintEvent& WXUNUSED(evt))
+{
+    // No foreground painting done by the page itself, but a paint DC
+    // must be created anyway.
+    wxAutoBufferedPaintDC dc(this);
+    wxRect rect(GetSize());
+    AdjustRectToIncludeScrollButtons(&rect);
+    m_art->DrawPageBackground(dc, this, rect);
+}
+
+wxOrientation wxRibbonPage::GetMajorAxis() const
+{
+    if(m_art && (m_art->GetFlags() & wxRIBBON_BAR_FLOW_VERTICAL))
+    {
+        return wxVERTICAL;
+    }
+    else
+    {
+        return wxHORIZONTAL;
+    }
+}
+
+bool wxRibbonPage::ScrollLines(int lines)
+{
+    return ScrollPixels(lines * 8);
+}
+
+bool wxRibbonPage::ScrollPixels(int pixels)
+{
+    if(pixels < 0)
+    {
+        if(m_scroll_amount == 0)
+            return false;
+        if(m_scroll_amount < -pixels)
+            pixels = -m_scroll_amount;
+    }
+    else if(pixels > 0)
+    {
+        if(m_scroll_amount == m_scroll_amount_limit)
+            return false;
+        if(m_scroll_amount + pixels > m_scroll_amount_limit)
+            pixels = m_scroll_amount_limit - m_scroll_amount;
+    }
+    else
+        return false;
+
+    m_scroll_amount += pixels;
+
+    for ( wxWindowList::compatibility_iterator node = GetChildren().GetFirst();
+              node;
+              node = node->GetNext() )
+    {
+        wxWindow* child = node->GetData();
+        int x, y;
+        child->GetPosition(&x, &y);
+        if(GetMajorAxis() == wxHORIZONTAL)
+            x -= pixels;
+        else
+            y -= pixels;
+        child->SetPosition(wxPoint(x, y));
+    }
+
+    ShowScrollButtons();
+    Refresh();
+    return true;
+}
+
+void wxRibbonPage::SetSizeWithScrollButtonAdjustment(int x, int y, int width, int height)
+{
+    if(m_scroll_buttons_visible)
+    {
+        if(GetMajorAxis() == wxHORIZONTAL)
+        {
+            if(m_scroll_left_btn)
+            {
+                int w = m_scroll_left_btn->GetSize().GetWidth();
+                m_scroll_left_btn->SetPosition(wxPoint(x, y));
+                x += w;
+                width -= w;
+            }
+            if(m_scroll_right_btn)
+            {
+                int w = m_scroll_right_btn->GetSize().GetWidth();
+                width -= w;
+                m_scroll_right_btn->SetPosition(wxPoint(x + width, y));
+            }
+        }
+        else
+        {
+            if(m_scroll_left_btn)
+            {
+                int h = m_scroll_left_btn->GetSize().GetHeight();
+                m_scroll_left_btn->SetPosition(wxPoint(x, y));
+                y += h;
+                height -= h;
+            }
+            if(m_scroll_right_btn)
+            {
+                int h = m_scroll_right_btn->GetSize().GetHeight();
+                height -= h;
+                m_scroll_right_btn->SetPosition(wxPoint(x, y + height));
+            }
+        }
+    }
+    SetSize(x, y, width, height);
+}
+
+void wxRibbonPage::DoSetSize(int x, int y, int width, int height, int sizeFlags)
+{
+    // When a resize triggers the scroll buttons to become visible, the page is resized.
+    // This resize from within a resize event can cause (MSW) wxWidgets some confusion,
+    // and report the 1st size to the 2nd size event. Hence the most recent size is
+    // remembered internally and used in Layout() where appropiate.
+
+    if(GetMajorAxis() == wxHORIZONTAL)
+        m_size_in_major_axis_for_children = width;
+    else
+        m_size_in_major_axis_for_children = height;
+
+    wxRibbonControl::DoSetSize(x, y, width, height, sizeFlags);
+}
+
+void wxRibbonPage::OnSize(wxSizeEvent& evt)
+{
+    wxSize new_size = evt.GetSize();
+
+    wxMemoryDC temp_dc;
+    wxRect invalid_rect = m_art->GetPageBackgroundRedrawArea(temp_dc, this, m_old_size, new_size);
+    Refresh(true, &invalid_rect);
+
+    m_old_size = new_size;
+
+    if(new_size.GetX() > 0 && new_size.GetY() > 0)
+    {
+        Layout();
+    }
+    else
+    {
+        // Simplify other calculations by pretending new size is zero in both
+        // X and Y
+        new_size.Set(0, 0);
+        // When size == 0, no point in doing any layout
+    }
+
+    evt.Skip();
+}
+
+void wxRibbonPage::RemoveChild(wxWindowBase *child)
+{
+    // Remove all references to the child from the collapse stack
+    size_t count = m_collapse_stack.GetCount();
+    size_t src, dst;
+    for(src = 0, dst = 0; src < count; ++src, ++dst)
+    {
+        wxRibbonControl *item = m_collapse_stack.Item(src);
+        if(item == child)
+        {
+            ++src;
+            if(src == count)
+            {
+                break;
+            }
+        }
+        if(src != dst)
+        {
+            m_collapse_stack.Item(dst) = item;
+        }
+    }
+    if(src > dst)
+    {
+        m_collapse_stack.RemoveAt(dst, src - dst);
+    }
+
+    // ... and then proceed as normal
+    wxRibbonControl::RemoveChild(child);
+}
+
+bool wxRibbonPage::Realize()
+{
+    bool status = true;
+
+    m_collapse_stack.Clear();
+    for (wxWindowList::compatibility_iterator node = GetChildren().GetFirst();
+                  node;
+                  node = node->GetNext())
+    {
+        wxRibbonControl* child = wxDynamicCast(node->GetData(), wxRibbonControl);
+        if(child == NULL)
+        {
+            continue;
+        }
+        if(!child->Realize())
+        {
+            status = false;
+        }
+        child->SetSize(child->GetMinSize());
+    }
+
+    if(GetSize().GetX() > 0 && GetSize().GetY() > 0)
+    {
+        status = Layout() && status;
+    }
+
+    return status;
+}
+
+bool wxRibbonPage::Layout()
+{
+    if(GetChildren().GetCount() == 0)
+    {
+        return true;
+    }
+
+    wxPoint origin_(m_art->GetMetric(wxRIBBON_ART_PAGE_BORDER_LEFT_SIZE), m_art->GetMetric(wxRIBBON_ART_PAGE_BORDER_TOP_SIZE));
+    wxOrientation major_axis = GetMajorAxis();
+    if(m_scroll_buttons_visible)
+    {
+        if(major_axis == wxHORIZONTAL)
+        {
+            origin_.x -= m_scroll_amount;
+            if(m_scroll_left_btn)
+                origin_.x -= m_scroll_left_btn->GetSize().GetWidth();
+        }
+        else
+        {
+            origin_.y -= m_scroll_amount;
+            if(m_scroll_left_btn)
+                origin_.y -= m_scroll_left_btn->GetSize().GetHeight();
+        }
+    }
+    wxPoint origin(origin_);
+    int gap;
+    int minor_axis_size;
+    if(major_axis == wxHORIZONTAL)
+    {
+        gap = m_art->GetMetric(wxRIBBON_ART_PANEL_X_SEPARATION_SIZE);
+        minor_axis_size = GetSize().GetHeight() - origin.y - m_art->GetMetric(wxRIBBON_ART_PAGE_BORDER_BOTTOM_SIZE);
+    }
+    else
+    {
+        gap = m_art->GetMetric(wxRIBBON_ART_PANEL_Y_SEPARATION_SIZE);
+        minor_axis_size = GetSize().GetWidth() - origin.x - m_art->GetMetric(wxRIBBON_ART_PAGE_BORDER_RIGHT_SIZE);
+    }
+
+    for(int iteration = 1; iteration <= 2; ++iteration)
+    {
+        for ( wxWindowList::compatibility_iterator node = GetChildren().GetFirst();
+              node;
+              node = node->GetNext() )
+        {
+            wxWindow* child = node->GetData();
+            int w, h;
+            child->GetSize(&w, &h);
+            if(major_axis == wxHORIZONTAL)
+            {
+                child->SetSize(origin.x, origin.y, w, minor_axis_size);
+                origin.x += w + gap;
+            }
+            else
+            {
+                child->SetSize(origin.x, origin.y, minor_axis_size, h);
+                origin.y += h + gap;
+            }
+        }
+        if(iteration == 1)
+        {
+            int available_space;
+            if(major_axis == wxHORIZONTAL)
+                available_space = m_size_in_major_axis_for_children - m_art->GetMetric(wxRIBBON_ART_PAGE_BORDER_RIGHT_SIZE) - origin.x + gap;
+            else
+                available_space = m_size_in_major_axis_for_children - m_art->GetMetric(wxRIBBON_ART_PAGE_BORDER_BOTTOM_SIZE) - origin.y + gap;
+            if(m_scroll_buttons_visible)
+            {
+                available_space -= m_scroll_amount;
+                if(m_scroll_right_btn != NULL)
+                    available_space += GetSizeInOrientation(m_scroll_right_btn->GetSize(), major_axis);
+            }
+            if(available_space > 0)
+            {
+                if(m_scroll_buttons_visible)
+                {
+                    HideScrollButtons();
+                    break;
+                }
+
+                if(!ExpandPanels(major_axis, available_space))
+                    break;
+            }
+            else if(available_space < 0)
+            {
+                if(m_scroll_buttons_visible)
+                {
+                    // Scroll buttons already visible - not going to be able to downsize any more
+                    m_scroll_amount_limit = -available_space;
+                    if(m_scroll_amount > m_scroll_amount_limit)
+                    {
+                        ScrollPixels(m_scroll_amount_limit - m_scroll_amount);
+                    }
+                }
+                else
+                {
+                    if(!CollapsePanels(major_axis, -available_space))
+                    {
+                        m_scroll_amount = 0;
+                        m_scroll_amount_limit = -available_space;
+                        ShowScrollButtons();
+                        break;
+                    }
+                }
+            }
+            else
+            {
+                break;
+            }
+            origin = origin_; // Reset the origin
+        }
+    }
+
+    return true;
+}
+
+bool wxRibbonPage::Show(bool show)
+{
+    if(m_scroll_left_btn)
+        m_scroll_left_btn->Show(show);
+    if(m_scroll_right_btn)
+        m_scroll_right_btn->Show(show);
+    return wxRibbonControl::Show(show);
+}
+
+void wxRibbonPage::HideScrollButtons()
+{
+    m_scroll_amount = 0;
+    m_scroll_amount_limit = 0;
+    ShowScrollButtons();
+}
+
+void wxRibbonPage::ShowScrollButtons()
+{
+    bool show_left = true;
+    bool show_right = true;
+    bool reposition = false;
+    if(m_scroll_amount == 0)
+    {
+        show_left = false;
+    }
+    if(m_scroll_amount >= m_scroll_amount_limit)
+    {
+        show_right = false;
+        m_scroll_amount = m_scroll_amount_limit;
+    }
+    m_scroll_buttons_visible = show_left || show_right;
+
+    if(show_left)
+    {
+        if(m_scroll_left_btn == NULL)
+        {
+            wxMemoryDC temp_dc;
+            wxSize size;
+            long direction;
+            if(GetMajorAxis() == wxHORIZONTAL)
+            {
+                direction = wxRIBBON_SCROLL_BTN_LEFT;
+                size = m_art->GetScrollButtonMinimumSize(temp_dc, GetParent(), direction);
+                size.SetHeight(GetSize().GetHeight());
+            }
+            else
+            {
+                direction = wxRIBBON_SCROLL_BTN_UP;
+                size = m_art->GetScrollButtonMinimumSize(temp_dc, GetParent(), direction);
+                size.SetWidth(GetSize().GetWidth());
+            }
+            m_scroll_left_btn = new wxRibbonPageScrollButton(this, wxID_ANY, GetPosition(), size, direction);
+            if(!IsShown())
+            {
+                m_scroll_left_btn->Hide();
+            }
+            reposition = true;
+        }
+    }
+    else
+    {
+        if(m_scroll_left_btn != NULL)
+        {
+            m_scroll_left_btn->Destroy();
+            m_scroll_left_btn = NULL;
+            reposition = true;
+        }
+    }
+
+    if(show_right)
+    {
+        if(m_scroll_right_btn == NULL)
+        {
+            wxMemoryDC temp_dc;
+            wxSize size;
+            long direction;
+            if(GetMajorAxis() == wxHORIZONTAL)
+            {
+                direction = wxRIBBON_SCROLL_BTN_RIGHT;
+                size = m_art->GetScrollButtonMinimumSize(temp_dc, GetParent(), direction);
+                size.SetHeight(GetSize().GetHeight());
+            }
+            else
+            {
+                direction = wxRIBBON_SCROLL_BTN_DOWN;
+                size = m_art->GetScrollButtonMinimumSize(temp_dc, GetParent(), direction);
+                size.SetWidth(GetSize().GetWidth());
+            }
+            wxPoint initial_pos = GetPosition() + GetSize() - size;
+            m_scroll_right_btn = new wxRibbonPageScrollButton(this, wxID_ANY, initial_pos, size, direction);
+            if(!IsShown())
+            {
+                m_scroll_right_btn->Hide();
+            }
+            reposition = true;
+        }
+    }
+    else
+    {
+        if(m_scroll_right_btn != NULL)
+        {
+            m_scroll_right_btn->Destroy();
+            m_scroll_right_btn = NULL;
+            reposition = true;
+        }
+    }
+
+    if(reposition)
+    {
+        wxDynamicCast(GetParent(), wxRibbonBar)->RepositionPage(this);
+    }
+}
+
+static int GetSizeInOrientation(wxSize size, wxOrientation orientation)
+{
+    switch(orientation)
+    {
+    case wxHORIZONTAL: return size.GetWidth();
+    case wxVERTICAL: return size.GetHeight();
+    case wxBOTH: return size.GetWidth() * size.GetHeight();
+    default: return 0;
+    }
+}
+
+bool wxRibbonPage::ExpandPanels(wxOrientation direction, int maximum_amount)
+{
+    bool expanded_something = false;
+    while(maximum_amount > 0)
+    {
+        int smallest_size = INT_MAX;
+        wxRibbonPanel* smallest_panel = NULL;
+        for ( wxWindowList::compatibility_iterator node = GetChildren().GetFirst();
+                  node;
+                  node = node->GetNext() )
+        {
+            wxRibbonPanel* panel = wxDynamicCast(node->GetData(), wxRibbonPanel);
+            if(panel == NULL)
+            {
+                continue;
+            }
+            if(panel->IsSizingContinuous())
+            {
+                int size = GetSizeInOrientation(panel->GetSize(), direction);
+                if(size < smallest_size)
+                {
+                    smallest_size = size;
+                    smallest_panel = panel;
+                }
+            }
+            else
+            {
+                wxSize current = panel->GetSize();
+                int size = GetSizeInOrientation(current, direction);
+                if(size < smallest_size)
+                {
+                    wxSize larger = panel->GetNextLargerSize(direction);
+                    if(larger != current && GetSizeInOrientation(larger, direction) > size)
+                    {
+                        smallest_size = size;
+                        smallest_panel = panel;
+                    }
+                }
+            }
+        }
+        if(smallest_panel != NULL)
+        {
+            if(smallest_panel->IsSizingContinuous())
+            {
+                wxSize size = smallest_panel->GetSize();
+                int amount = maximum_amount;
+                if(amount > 32)
+                {
+                    // For "large" growth, grow this panel a bit, and then re-allocate
+                    // the remainder (which may come to this panel again anyway)
+                    amount = 32;
+                }
+                if(direction & wxHORIZONTAL)
+                {
+                    size.x += amount;
+                }
+                if(direction & wxVERTICAL)
+                {
+                    size.y += amount;
+                }
+                smallest_panel->SetSize(size);
+                maximum_amount -= amount;
+                m_collapse_stack.Add(smallest_panel);
+                expanded_something = true;
+            }
+            else
+            {
+                wxSize current = smallest_panel->GetSize();
+                wxSize larger = smallest_panel->GetNextLargerSize(direction);
+                wxSize delta = larger - current;
+                if(GetSizeInOrientation(delta, direction) <= maximum_amount)
+                {
+                    smallest_panel->SetSize(larger);
+                    maximum_amount -= GetSizeInOrientation(delta, direction);
+                    m_collapse_stack.Add(smallest_panel);
+                    expanded_something = true;
+                }
+                else
+                {
+                    break;
+                }
+            }
+        }
+        else
+        {
+            break;
+        }
+    }
+    if(expanded_something)
+    {
+        Refresh();
+        return true;
+    }
+    else
+    {
+        return false;
+    }
+}
+
+bool wxRibbonPage::CollapsePanels(wxOrientation direction, int minimum_amount)
+{
+    bool collapsed_something = false;
+    while(minimum_amount > 0)
+    {
+        int largest_size = 0;
+        wxRibbonPanel* largest_panel = NULL;
+        if(!m_collapse_stack.IsEmpty())
+        {
+            // For a more consistent panel layout, try to collapse panels which
+            // were recently expanded.
+            largest_panel = wxDynamicCast(m_collapse_stack.Last(), wxRibbonPanel);
+            m_collapse_stack.RemoveAt(m_collapse_stack.GetCount() - 1);
+        }
+        else
+        {
+            for(wxWindowList::compatibility_iterator node = GetChildren().GetFirst();
+                      node;
+                      node = node->GetNext() )
+            {
+                wxRibbonPanel* panel = wxDynamicCast(node->GetData(), wxRibbonPanel);
+                if(panel == NULL)
+                {
+                    continue;
+                }
+                if(panel->IsSizingContinuous())
+                {
+                    int size = GetSizeInOrientation(panel->GetSize(), direction);
+                    if(size > largest_size)
+                    {
+                        largest_size = size;
+                        largest_panel = panel;
+                    }
+                }
+                else
+                {
+                    wxSize current = panel->GetSize();
+                    int size = GetSizeInOrientation(current, direction);
+                    if(size > largest_size)
+                    {
+                        wxSize smaller = panel->GetNextSmallerSize(direction);
+                        if(smaller != current &&
+                            GetSizeInOrientation(smaller, direction) < size)
+                        {
+                            largest_size = size;
+                            largest_panel = panel;
+                        }
+                    }
+                }
+            }
+        }
+        if(largest_panel != NULL)
+        {
+            if(largest_panel->IsSizingContinuous())
+            {
+                wxSize size = largest_panel->GetSize();
+                int amount = minimum_amount;
+                if(amount > 32)
+                {
+                    // For "large" contraction, reduce this panel a bit, and
+                    // then re-allocate the remainder of the quota (which may
+                    // come to this panel again anyway)
+                    amount = 32;
+                }
+                if(direction & wxHORIZONTAL)
+                {
+                    size.x -= amount;
+                }
+                if(direction & wxVERTICAL)
+                {
+                    size.y -= amount;
+                }
+                largest_panel->SetSize(size);
+                minimum_amount -= amount;
+                collapsed_something = true;
+            }
+            else
+            {
+                wxSize current = largest_panel->GetSize();
+                wxSize smaller = largest_panel->GetNextSmallerSize(direction);
+                wxSize delta = current - smaller;
+                largest_panel->SetSize(smaller);
+                minimum_amount -= GetSizeInOrientation(delta, direction);
+                collapsed_something = true;
+            }
+        }
+        else
+        {
+            break;
+        }
+    }
+    if(collapsed_something)
+    {
+        Refresh();
+        return true;
+    }
+    else
+    {
+        return false;
+    }
+}
+
+bool wxRibbonPage::DismissExpandedPanel()
+{
+    for ( wxWindowList::compatibility_iterator node = GetChildren().GetFirst();
+              node;
+              node = node->GetNext() )
+    {
+        wxRibbonPanel* panel = wxDynamicCast(node->GetData(), wxRibbonPanel);
+        if(panel == NULL)
+        {
+            continue;
+        }
+        if(panel->GetExpandedPanel() != NULL)
+        {
+            return panel->HideExpanded();
+        }
+    }
+    return false;
+}
+
+wxSize wxRibbonPage::GetMinSize() const
+{
+    wxSize min(wxDefaultCoord, wxDefaultCoord);
+
+    for ( wxWindowList::compatibility_iterator node = GetChildren().GetFirst();
+          node;
+          node = node->GetNext() )
+    {
+        wxWindow* child = node->GetData();
+        wxSize child_min(child->GetMinSize());
+
+        min.x = wxMax(min.x, child_min.x);
+        min.y = wxMax(min.y, child_min.y);
+    }
+
+    if(GetMajorAxis() == wxHORIZONTAL)
+    {
+        min.x = wxDefaultCoord;
+        if(min.y != wxDefaultCoord)
+        {
+            min.y += m_art->GetMetric(wxRIBBON_ART_PAGE_BORDER_TOP_SIZE) + m_art->GetMetric(wxRIBBON_ART_PAGE_BORDER_BOTTOM_SIZE);
+        }
+    }
+    else
+    {
+        if(min.x != wxDefaultCoord)
+        {
+            min.x += m_art->GetMetric(wxRIBBON_ART_PAGE_BORDER_LEFT_SIZE) + m_art->GetMetric(wxRIBBON_ART_PAGE_BORDER_RIGHT_SIZE);
+        }
+        min.y = wxDefaultCoord;
+    }
+
+    return min;
+}
+
+wxSize wxRibbonPage::DoGetBestSize() const
+{
+    wxSize best(0, 0);
+    size_t count = 0;
+
+    if(GetMajorAxis() == wxHORIZONTAL)
+    {
+        best.y = wxDefaultCoord;
+
+        for ( wxWindowList::compatibility_iterator node = GetChildren().GetFirst();
+          node;
+          node = node->GetNext() )
+        {
+            wxWindow* child = node->GetData();
+            wxSize child_best(child->GetBestSize());
+
+            if(child_best.x != wxDefaultCoord)
+            {
+                best.IncBy(child_best.x, 0);
+            }
+            best.y = wxMax(best.y, child_best.y);
+
+            ++count;
+        }
+
+        if(count > 1)
+        {
+            best.IncBy((count - 1) * m_art->GetMetric(wxRIBBON_ART_PANEL_X_SEPARATION_SIZE), 0);
+        }
+    }
+    else
+    {
+        best.x = wxDefaultCoord;
+
+        for ( wxWindowList::compatibility_iterator node = GetChildren().GetFirst();
+          node;
+          node = node->GetNext() )
+        {
+            wxWindow* child = node->GetData();
+            wxSize child_best(child->GetBestSize());
+
+            best.x = wxMax(best.x, child_best.x);
+            if(child_best.y != wxDefaultCoord)
+            {
+                best.IncBy(0, child_best.y);
+            }
+
+            ++count;
+        }
+
+        if(count > 1)
+        {
+            best.IncBy(0, (count - 1) * m_art->GetMetric(wxRIBBON_ART_PANEL_Y_SEPARATION_SIZE));
+        }
+    }
+
+    if(best.x != wxDefaultCoord)
+    {
+        best.x += m_art->GetMetric(wxRIBBON_ART_PAGE_BORDER_LEFT_SIZE) + m_art->GetMetric(wxRIBBON_ART_PAGE_BORDER_RIGHT_SIZE);
+    }
+    if(best.y != wxDefaultCoord)
+    {
+        best.y += m_art->GetMetric(wxRIBBON_ART_PAGE_BORDER_TOP_SIZE) + m_art->GetMetric(wxRIBBON_ART_PAGE_BORDER_BOTTOM_SIZE);
+    }
+    return best;
+}
+
+#endif // wxUSE_RIBBON
diff --git a/src/ribbon/panel.cpp b/src/ribbon/panel.cpp
new file mode 100644 (file)
index 0000000..69225d3
--- /dev/null
@@ -0,0 +1,903 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        src/ribbon/panel.cpp
+// Purpose:     Ribbon-style container for a group of related tools / controls
+// Author:      Peter Cawley
+// Modified by:
+// Created:     2009-05-25
+// RCS-ID:      $Id$
+// Copyright:   (C) Peter Cawley
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#include "wx/ribbon/art.h"
+#include "wx/ribbon/bar.h"
+#include "wx/ribbon/panel.h"
+#include "wx/dcbuffer.h"
+#include "wx/display.h"
+
+#if wxUSE_RIBBON
+
+#ifndef WX_PRECOMP
+#endif
+
+#ifdef __WXMSW__
+#include "wx/msw/private.h"
+#endif
+
+IMPLEMENT_CLASS(wxRibbonPanel, wxRibbonControl)
+
+BEGIN_EVENT_TABLE(wxRibbonPanel, wxRibbonControl)
+    EVT_ENTER_WINDOW(wxRibbonPanel::OnMouseEnter)
+    EVT_ERASE_BACKGROUND(wxRibbonPanel::OnEraseBackground)
+    EVT_KILL_FOCUS(wxRibbonPanel::OnKillFocus)
+    EVT_LEAVE_WINDOW(wxRibbonPanel::OnMouseLeave)
+    EVT_LEFT_DOWN(wxRibbonPanel::OnMouseClick)
+    EVT_PAINT(wxRibbonPanel::OnPaint)
+    EVT_SIZE(wxRibbonPanel::OnSize)
+END_EVENT_TABLE()
+
+wxRibbonPanel::wxRibbonPanel()
+{
+}
+
+wxRibbonPanel::wxRibbonPanel(wxWindow* parent,
+                  wxWindowID id,
+                  const wxString& label,
+                  const wxBitmap& minimised_icon,
+                  const wxPoint& pos,
+                  const wxSize& size,
+                  long style)
+    : wxRibbonControl(parent, id, pos, size, wxBORDER_NONE)
+{
+    CommonInit(label, minimised_icon, style);
+}
+
+wxRibbonPanel::~wxRibbonPanel()
+{
+    if(m_expanded_panel)
+    {
+        m_expanded_panel->m_expanded_dummy = NULL;
+        m_expanded_panel->GetParent()->Destroy();
+    }
+}
+
+bool wxRibbonPanel::Create(wxWindow* parent,
+                wxWindowID id,
+                const wxString& label,
+                const wxBitmap& icon,
+                const wxPoint& pos,
+                const wxSize& size,
+                long style)
+{
+    if(!wxRibbonControl::Create(parent, id, pos, size, wxBORDER_NONE))
+    {
+        return false;
+    }
+
+    CommonInit(label, icon, style);
+
+    return true;
+}
+
+void wxRibbonPanel::SetArtProvider(wxRibbonArtProvider* art)
+{
+    m_art = art;
+    for ( wxWindowList::compatibility_iterator node = GetChildren().GetFirst();
+          node;
+          node = node->GetNext() )
+    {
+        wxWindow* child = node->GetData();
+        wxRibbonControl* ribbon_child = wxDynamicCast(child, wxRibbonControl);
+        if(ribbon_child)
+        {
+            ribbon_child->SetArtProvider(art);
+        }
+    }
+    if(m_expanded_panel)
+        m_expanded_panel->SetArtProvider(art);
+}
+
+void wxRibbonPanel::CommonInit(const wxString& label, const wxBitmap& icon, long style)
+{
+    SetName(label);
+    SetLabel(label);
+
+    m_minimised_size = wxDefaultSize; // Unknown / none
+    m_smallest_unminimised_size = wxSize(INT_MAX, INT_MAX); // Unknown / none
+    m_preferred_expand_direction = wxSOUTH;
+    m_expanded_dummy = NULL;
+    m_expanded_panel = NULL;
+    m_flags = style;
+    m_minimised_icon = icon;
+    m_minimised = false;
+    m_hovered = false;
+
+    if(m_art == NULL)
+    {
+        wxRibbonControl* parent = wxDynamicCast(GetParent(), wxRibbonControl);
+        if(parent != NULL)
+        {
+            m_art = parent->GetArtProvider();
+        }
+    }
+
+    SetAutoLayout(true);
+    SetBackgroundStyle(wxBG_STYLE_CUSTOM);
+    SetMinSize(wxSize(20, 20));
+}
+
+bool wxRibbonPanel::IsMinimised() const
+{
+    return m_minimised;
+}
+
+bool wxRibbonPanel::IsHovered() const
+{
+    return m_hovered;
+}
+
+void wxRibbonPanel::OnMouseEnter(wxMouseEvent& evt)
+{
+    TestPositionForHover(evt.GetPosition());
+}
+
+void wxRibbonPanel::OnMouseEnterChild(wxMouseEvent& evt)
+{
+    wxPoint pos = evt.GetPosition();
+    wxWindow *child = wxDynamicCast(evt.GetEventObject(), wxWindow);
+    if(child)
+    {
+        pos += child->GetPosition();
+        TestPositionForHover(pos);
+    }
+    evt.Skip();
+}
+
+void wxRibbonPanel::OnMouseLeave(wxMouseEvent& evt)
+{
+    TestPositionForHover(evt.GetPosition());
+}
+
+void wxRibbonPanel::OnMouseLeaveChild(wxMouseEvent& evt)
+{
+    wxPoint pos = evt.GetPosition();
+    wxWindow *child = wxDynamicCast(evt.GetEventObject(), wxWindow);
+    if(child)
+    {
+        pos += child->GetPosition();
+        TestPositionForHover(pos);
+    }
+    evt.Skip();
+}
+
+void wxRibbonPanel::TestPositionForHover(const wxPoint& pos)
+{
+    bool hovered = false;
+    if(pos.x >= 0 && pos.y >= 0)
+    {
+        wxSize size = GetSize();
+        if(pos.x < size.GetWidth() && pos.y < size.GetHeight())
+        {
+            hovered = true;
+        }
+    }
+    if(hovered != m_hovered)
+    {
+        m_hovered = hovered;
+        Refresh(false);
+    }
+}
+
+void wxRibbonPanel::AddChild(wxWindowBase *child)
+{
+    wxRibbonControl::AddChild(child);
+
+    // Window enter / leave events count for only the window in question, not
+    // for children of the window. The panel wants to be in the hovered state
+    // whenever the mouse cursor is within its boundary, so the events need to
+    // be attached to children too.
+    child->Connect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)&wxRibbonPanel::OnMouseEnterChild, NULL, this);
+    child->Connect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)&wxRibbonPanel::OnMouseLeaveChild, NULL, this);
+}
+
+void wxRibbonPanel::RemoveChild(wxWindowBase *child)
+{
+    child->Disconnect(wxEVT_ENTER_WINDOW, (wxObjectEventFunction)&wxRibbonPanel::OnMouseEnterChild, NULL, this);
+    child->Disconnect(wxEVT_LEAVE_WINDOW, (wxObjectEventFunction)&wxRibbonPanel::OnMouseLeaveChild, NULL, this);
+
+    wxRibbonControl::RemoveChild(child);
+}
+
+void wxRibbonPanel::OnSize(wxSizeEvent& evt)
+{
+    if(GetAutoLayout())
+        Layout();
+
+    evt.Skip();
+}
+
+void wxRibbonPanel::DoSetSize(int x, int y, int width, int height, int sizeFlags)
+{
+    // At least on MSW, changing the size of a window will cause GetSize() to
+    // report the new size, but a size event may not be handled immediately.
+    // If this minimised check was performed in the OnSize handler, then
+    // GetSize() could return a size much larger than the minimised size while
+    // IsMinimised() returns true. This would then affect layout, as the panel
+    // will refuse to grow any larger while in limbo between minimised and non.
+
+    bool minimised = (m_flags & wxRIBBON_PANEL_NO_AUTO_MINIMISE) == 0 &&
+        IsMinimised(wxSize(width, height));
+    if(minimised != m_minimised)
+    {
+        m_minimised = minimised;
+
+        for (wxWindowList::compatibility_iterator node = GetChildren().GetFirst();
+                  node;
+                  node = node->GetNext())
+        {
+            node->GetData()->Show(!minimised);
+        }
+
+        Refresh();
+    }
+    
+    wxRibbonControl::DoSetSize(x, y, width, height, sizeFlags);
+}
+
+bool wxRibbonPanel::IsMinimised(wxSize at_size) const
+{
+    if(!m_minimised_size.IsFullySpecified())
+        return false;
+
+    return (at_size.GetX() <= m_minimised_size.GetX() &&
+        at_size.GetY() <= m_minimised_size.GetY()) || 
+        at_size.GetX() < m_smallest_unminimised_size.GetX() ||
+        at_size.GetY() < m_smallest_unminimised_size.GetY();
+}
+
+void wxRibbonPanel::OnEraseBackground(wxEraseEvent& WXUNUSED(evt))
+{
+    // All painting done in main paint handler to minimise flicker
+}
+
+void wxRibbonPanel::OnPaint(wxPaintEvent& WXUNUSED(evt))
+{
+    wxAutoBufferedPaintDC dc(this);
+
+    if(m_art != NULL)
+    {
+        if(IsMinimised())
+        {
+            m_art->DrawMinimisedPanel(dc, this, GetSize(), m_minimised_icon_resized);
+        }
+        else
+        {
+            m_art->DrawPanelBackground(dc, this, GetSize());
+        }
+    }
+}
+
+bool wxRibbonPanel::IsSizingContinuous() const
+{
+    // A panel never sizes continuously, even if all of its children can,
+    // as it would appear out of place along side non-continuous panels.
+    return false;
+}
+
+wxSize wxRibbonPanel::DoGetNextSmallerSize(wxOrientation direction,
+                                         wxSize relative_to) const
+{
+    if(m_expanded_panel != NULL)
+    {
+        // Next size depends upon children, who are currently in the
+        // expanded panel
+        return m_expanded_panel->DoGetNextSmallerSize(direction, relative_to);
+    }
+
+    // TODO: Check for, and delegate to, a sizer
+
+    // Simple (and common) case of single ribbon child
+    if(GetChildren().GetCount() == 1)
+    {
+        wxWindow* child = GetChildren().Item(0)->GetData();
+        wxRibbonControl* ribbon_child = wxDynamicCast(child, wxRibbonControl);
+        if(m_art != NULL && ribbon_child != NULL)
+        {
+            wxMemoryDC dc;
+            wxSize child_relative = m_art->GetPanelClientSize(dc, this, relative_to, NULL);
+            wxSize smaller = ribbon_child->GetNextSmallerSize(direction, child_relative);
+            if(smaller == child_relative)
+            {
+                if(CanAutoMinimise())
+                {
+                    wxSize minimised = m_minimised_size;
+                    switch(direction)
+                    {
+                    case wxHORIZONTAL:
+                        minimised.SetHeight(relative_to.GetHeight());
+                        break;
+                    case wxVERTICAL:
+                        minimised.SetWidth(relative_to.GetWidth());
+                        break;
+                    default:
+                        break;
+                    }
+                    return minimised;
+                }
+                else
+                {
+                    return relative_to;
+                }
+            }
+            else
+            {
+                return m_art->GetPanelSize(dc, this, smaller, NULL);
+            }
+        }
+    }
+
+    // Fallback: Decrease by 20% (or minimum size, whichever larger)
+    wxSize current(relative_to);
+    wxSize minimum(GetMinSize());
+    if(direction & wxHORIZONTAL)
+    {
+        current.x = (current.x * 4) / 5;
+        if(current.x < minimum.x)
+        {
+            current.x = minimum.x;
+        }
+    }
+    if(direction & wxVERTICAL)
+    {
+        current.y = (current.y * 4) / 5;
+        if(current.y < minimum.y)
+        {
+            current.y = minimum.y;
+        }
+    }
+    return current;
+}
+
+wxSize wxRibbonPanel::DoGetNextLargerSize(wxOrientation direction,
+                                        wxSize relative_to) const
+{
+    if(m_expanded_panel != NULL)
+    {
+        // Next size depends upon children, who are currently in the
+        // expanded panel
+        return m_expanded_panel->DoGetNextLargerSize(direction, relative_to);
+    }
+
+    if(IsMinimised(relative_to))
+    {
+        wxSize current = relative_to;
+        wxSize min_size = GetMinNotMinimisedSize();
+        switch(direction)
+        {
+        case wxHORIZONTAL:
+            if(min_size.x > current.x && min_size.y == current.y)
+                return min_size;
+            break;
+        case wxVERTICAL:
+            if(min_size.x == current.x && min_size.y > current.y)
+                return min_size;
+            break;
+        case wxBOTH:
+            if(min_size.x > current.x && min_size.y > current.y)
+                return min_size;
+            break;
+        default:
+            break;
+        }
+    }
+
+    // TODO: Check for, and delegate to, a sizer
+
+    // Simple (and common) case of single ribbon child
+    if(GetChildren().GetCount() == 1)
+    {
+        wxWindow* child = GetChildren().Item(0)->GetData();
+        wxRibbonControl* ribbon_child = wxDynamicCast(child, wxRibbonControl);
+        if(ribbon_child != NULL)
+        {
+            wxMemoryDC dc;
+            wxSize child_relative = m_art->GetPanelClientSize(dc, this, relative_to, NULL);
+            wxSize larger = ribbon_child->GetNextLargerSize(direction, child_relative);
+            if(larger == child_relative)
+            {
+                return relative_to;
+            }
+            else
+            {
+                wxMemoryDC dc;
+                return m_art->GetPanelSize(dc, this, larger, NULL);
+            }
+        }
+    }
+
+    // Fallback: Increase by 25% (equal to a prior or subsequent 20% decrease)
+    // Note that due to rounding errors, this increase may not exactly equal a
+    // matching decrease - an ideal solution would not have these errors, but
+    // avoiding them is non-trivial unless an increase is by 100% rather than
+    // a fractional amount. This would then be non-ideal as the resizes happen
+    // at very large intervals.
+    wxSize current(relative_to);
+    if(direction & wxHORIZONTAL)
+    {
+        current.x = (current.x * 5 + 3) / 4;
+    }
+    if(direction & wxVERTICAL)
+    {
+        current.y = (current.y * 5 + 3) / 4;
+    }
+    return current;
+}
+
+bool wxRibbonPanel::CanAutoMinimise() const
+{
+    return (m_flags & wxRIBBON_PANEL_NO_AUTO_MINIMISE) == 0
+        && m_minimised_size.IsFullySpecified();
+}
+
+wxSize wxRibbonPanel::GetMinSize() const
+{
+    if(m_expanded_panel != NULL)
+    {
+        // Minimum size depends upon children, who are currently in the
+        // expanded panel
+        return m_expanded_panel->GetMinSize();
+    }
+
+    if(CanAutoMinimise())
+    {
+        return m_minimised_size;
+    }
+    else
+    {
+        return GetMinNotMinimisedSize();
+    }
+}
+
+wxSize wxRibbonPanel::GetMinNotMinimisedSize() const
+{
+    // TODO: Ask sizer
+
+    // Common case of no sizer and single child taking up the entire panel
+    if(GetChildren().GetCount() == 1)
+    {
+        wxWindow* child = GetChildren().Item(0)->GetData();
+        wxMemoryDC dc;
+        return m_art->GetPanelSize(dc, this, child->GetMinSize(), NULL);
+    }
+
+    return wxRibbonControl::GetMinSize();
+}
+
+wxSize wxRibbonPanel::DoGetBestSize() const
+{
+    // TODO: Ask sizer
+
+    // Common case of no sizer and single child taking up the entire panel
+    if(GetChildren().GetCount() == 1)
+    {
+        wxWindow* child = GetChildren().Item(0)->GetData();
+        wxMemoryDC dc;
+        return m_art->GetPanelSize(dc, this, child->GetBestSize(), NULL);
+    }
+
+    return wxRibbonControl::DoGetBestSize();
+}
+
+bool wxRibbonPanel::Realize()
+{
+    bool status = true;
+
+    for (wxWindowList::compatibility_iterator node = GetChildren().GetFirst();
+                  node;
+                  node = node->GetNext())
+    {
+        wxRibbonControl* child = wxDynamicCast(node->GetData(), wxRibbonControl);
+        if(child == NULL)
+        {
+            continue;
+        }
+        if(!child->Realize())
+        {
+            status = false;
+        }
+    }
+
+    wxSize minimum_children_size(0, 0);
+    // TODO: Ask sizer if there is one
+    if(GetChildren().GetCount() == 1)
+    {
+        minimum_children_size = GetChildren().GetFirst()->GetData()->GetMinSize();
+    }
+
+    if(m_art != NULL)
+    {
+        wxMemoryDC temp_dc;
+
+        m_smallest_unminimised_size =
+            m_art->GetPanelSize(temp_dc, this, minimum_children_size, NULL);
+
+        wxSize bitmap_size;
+        wxSize panel_min_size = GetMinNotMinimisedSize();
+        m_minimised_size = m_art->GetMinimisedPanelMinimumSize(temp_dc, this,
+            &bitmap_size, &m_preferred_expand_direction);
+        if(m_minimised_icon.IsOk() && m_minimised_icon.GetSize() != bitmap_size)
+        {
+            wxImage img(m_minimised_icon.ConvertToImage());
+            img.Rescale(bitmap_size.GetWidth(), bitmap_size.GetHeight(), wxIMAGE_QUALITY_HIGH);
+            m_minimised_icon_resized = wxBitmap(img);
+        }
+        else
+        {
+            m_minimised_icon_resized = m_minimised_icon;
+        }
+        if(m_minimised_size.x > panel_min_size.x &&
+            m_minimised_size.y > panel_min_size.y)
+        {
+            // No point in having a minimised size which is larger than the
+            // minimum size which the children can go to.
+            m_minimised_size = wxSize(-1, -1);
+        }
+        else
+        {
+            if(m_art->GetFlags() & wxRIBBON_BAR_FLOW_VERTICAL)
+            {
+                m_minimised_size.x = panel_min_size.x;
+            }
+            else
+            {
+                m_minimised_size.y = panel_min_size.y;
+            }
+        }
+    }
+    else
+    {
+        m_minimised_size = wxSize(-1, -1);
+    }
+
+    return Layout() && status;
+}
+
+bool wxRibbonPanel::Layout()
+{
+    if(IsMinimised())
+    {
+        // Children are all invisible when minimised
+        return true;
+    }
+
+    // TODO: Delegate to a sizer
+
+    // Common case of no sizer and single child taking up the entire panel
+    if(GetChildren().GetCount() == 1)
+    {
+        wxWindow* child = GetChildren().Item(0)->GetData();
+        wxPoint position;
+        wxMemoryDC dc;
+        wxSize size = m_art->GetPanelClientSize(dc, this, GetSize(), &position);
+        child->SetSize(position.x, position.y, size.GetWidth(), size.GetHeight());
+    }
+    return true;
+}
+
+void wxRibbonPanel::OnMouseClick(wxMouseEvent& WXUNUSED(evt))
+{
+    if(IsMinimised())
+    {
+        if(m_expanded_panel != NULL)
+        {
+            HideExpanded();
+        }
+        else
+        {
+            ShowExpanded();
+        }
+    }
+}
+
+wxRibbonPanel* wxRibbonPanel::GetExpandedDummy()
+{
+    return m_expanded_dummy;
+}
+
+wxRibbonPanel* wxRibbonPanel::GetExpandedPanel()
+{
+    return m_expanded_panel;
+}
+
+bool wxRibbonPanel::ShowExpanded()
+{
+    if(!IsMinimised())
+    {
+        return false;
+    }
+    if(m_expanded_dummy != NULL || m_expanded_panel != NULL)
+    {
+        return false;
+    }
+
+    wxSize size = GetBestSize();
+    wxPoint pos = GetExpandedPosition(wxRect(GetScreenPosition(), GetSize()),
+        size, m_preferred_expand_direction).GetTopLeft();
+
+    // Need a top-level frame to contain the expanded panel
+    wxFrame *container = new wxFrame(NULL, wxID_ANY, GetLabel(),
+        pos, size, wxFRAME_NO_TASKBAR | wxBORDER_NONE);
+
+    m_expanded_panel = new wxRibbonPanel(container, wxID_ANY,
+        GetLabel(), m_minimised_icon, wxPoint(0, 0), size, m_flags);
+
+    m_expanded_panel->SetArtProvider(m_art);
+    m_expanded_panel->m_expanded_dummy = this;
+
+    // Move all children to the new panel.
+    // Conceptually it might be simpler to reparent this entire panel to the
+    // container and create a new panel to sit in its place while expanded.
+    // This approach has a problem though - when the panel is reinserted into
+    // its original parent, it'll be at a different position in the child list
+    // and thus assume a new position.
+    // NB: Children iterators not used as behaviour is not well defined
+    // when iterating over a container which is being emptied
+    while(!GetChildren().IsEmpty())
+    {
+        wxWindow *child = GetChildren().GetFirst()->GetData();
+        child->Reparent(m_expanded_panel);
+        child->Show();
+    }
+
+    // TODO: Move sizer to new panel
+
+    m_expanded_panel->Realize();
+    Refresh();
+    container->Show();
+    m_expanded_panel->SetFocus();
+
+    return true;
+}
+
+bool wxRibbonPanel::ShouldSendEventToDummy(wxEvent& evt)
+{
+    // For an expanded panel, filter events between being sent up to the
+    // floating top level window or to the dummy panel sitting in the ribbon
+    // bar.
+
+    // Child focus events should not be redirected, as the child would not be a
+    // child of the window the event is redirected to. All other command events
+    // seem to be suitable for redirecting.
+    return evt.IsCommandEvent() && evt.GetEventType() != wxEVT_CHILD_FOCUS;
+}
+
+bool wxRibbonPanel::TryAfter(wxEvent& evt)
+{
+    if(m_expanded_dummy && ShouldSendEventToDummy(evt))
+    {
+        wxPropagateOnce propagateOnce(evt);
+        return m_expanded_dummy->GetEventHandler()->ProcessEvent(evt);
+    }
+    else
+    {
+        return wxRibbonControl::TryAfter(evt);
+    }
+}
+
+static bool IsAncestorOf(wxWindow *ancestor, wxWindow *window)
+{
+    while(window != NULL)
+    {
+        wxWindow *parent = window->GetParent();
+        if(parent == ancestor)
+            return true;
+        else
+            window = parent;
+    }
+    return false;
+}
+
+void wxRibbonPanel::OnKillFocus(wxFocusEvent& evt)
+{
+    if(m_expanded_dummy)
+    {
+        wxWindow *receiver = evt.GetWindow();
+        if(IsAncestorOf(this, receiver))
+        {
+            m_child_with_focus = receiver;
+            receiver->Connect(wxEVT_KILL_FOCUS,
+                wxFocusEventHandler(wxRibbonPanel::OnChildKillFocus),
+                NULL, this);
+        }
+        else if(receiver == NULL || receiver != m_expanded_dummy)
+        {
+            HideExpanded();
+        }
+    }
+}
+
+void wxRibbonPanel::OnChildKillFocus(wxFocusEvent& evt)
+{
+    if(m_child_with_focus == NULL)
+        return; // Should never happen, but a check can't hurt
+
+    m_child_with_focus->Disconnect(wxEVT_KILL_FOCUS,
+      wxFocusEventHandler(wxRibbonPanel::OnChildKillFocus), NULL, this);
+    m_child_with_focus = NULL;
+
+    wxWindow *receiver = evt.GetWindow();
+    if(receiver == this || IsAncestorOf(this, receiver))
+    {
+        m_child_with_focus = receiver;
+        receiver->Connect(wxEVT_KILL_FOCUS,
+            wxFocusEventHandler(wxRibbonPanel::OnChildKillFocus), NULL, this);
+        evt.Skip();
+    }
+    else if(receiver == NULL || receiver != m_expanded_dummy)
+    {
+        HideExpanded();
+        // Do not skip event, as the panel has been de-expanded, causing the
+        // child with focus to be reparented (and hidden). If the event
+        // continues propogation then bad things happen.
+    }
+    else
+    {
+        evt.Skip();
+    }
+}
+
+bool wxRibbonPanel::HideExpanded()
+{
+    if(m_expanded_dummy == NULL)
+    {
+        if(m_expanded_panel)
+        {
+            return m_expanded_panel->HideExpanded();
+        }
+        else
+        {
+            return false;
+        }
+    }
+
+    // Move children back to original panel
+    // NB: Children iterators not used as behaviour is not well defined
+    // when iterating over a container which is being emptied
+    while(!GetChildren().IsEmpty())
+    {
+        wxWindow *child = GetChildren().GetFirst()->GetData();
+        child->Reparent(m_expanded_dummy);
+        child->Hide();
+    }
+
+    // TODO: Move sizer back
+
+    m_expanded_dummy->m_expanded_panel = NULL;
+    m_expanded_dummy->Realize();
+    m_expanded_dummy->Refresh();
+    wxWindow *parent = GetParent();
+    Destroy();
+    parent->Destroy();
+
+    return true;
+}
+
+wxRect wxRibbonPanel::GetExpandedPosition(wxRect panel,
+                                          wxSize expanded_size,
+                                          wxDirection direction)
+{
+    // Strategy:
+    // 1) Determine primary position based on requested direction
+    // 2) Move the position so that it sits entirely within a display
+    //    (for single monitor systems, this moves it into the display region,
+    //     but for multiple monitors, it does so without splitting it over
+    //     more than one display)
+    // 2.1) Move in the primary axis
+    // 2.2) Move in the secondary axis
+
+    wxPoint pos;
+    bool primary_x = false;
+    int secondary_x = 0;
+    int secondary_y = 0;
+    switch(direction)
+    {
+    case wxNORTH:
+        pos.x = panel.GetX() + (panel.GetWidth() - expanded_size.GetWidth()) / 2;
+        pos.y = panel.GetY() - expanded_size.GetHeight();
+        primary_x = true;
+        secondary_y = 1;
+        break;
+    case wxEAST:
+        pos.x = panel.GetRight();
+        pos.y = panel.GetY() + (panel.GetHeight() - expanded_size.GetHeight()) / 2;
+        secondary_x = -1;
+        break;
+    case wxSOUTH:
+        pos.x = panel.GetX() + (panel.GetWidth() - expanded_size.GetWidth()) / 2;
+        pos.y = panel.GetBottom();
+        primary_x = true;
+        secondary_y = -1;
+        break;
+    case wxWEST:
+    default:
+        pos.x = panel.GetX() - expanded_size.GetWidth();
+        pos.y = panel.GetY() + (panel.GetHeight() - expanded_size.GetHeight()) / 2;
+        secondary_x = 1;
+        break;
+    }
+    wxRect expanded(pos, expanded_size);
+
+    wxRect best(expanded);
+    int best_distance = INT_MAX;
+
+    const unsigned display_n = wxDisplay::GetCount();
+    unsigned display_i;
+    for(display_i = 0; display_i < display_n; ++display_i)
+    {
+        wxRect display = wxDisplay(display_i).GetGeometry();
+
+        if(display.Contains(expanded))
+        {
+            return expanded;
+        }
+        else if(display.Intersects(expanded))
+        {
+            wxRect new_rect(expanded);
+            int distance = 0;
+
+            if(primary_x)
+            {
+                if(expanded.GetRight() > display.GetRight())
+                {
+                    distance = expanded.GetRight() - display.GetRight();
+                    new_rect.x -= distance;
+                }
+                else if(expanded.GetLeft() < display.GetLeft())
+                {
+                    distance = display.GetLeft() - expanded.GetLeft();
+                    new_rect.x += distance;
+                }
+            }
+            else
+            {
+                if(expanded.GetBottom() > display.GetBottom())
+                {
+                    distance = expanded.GetBottom() - display.GetBottom();
+                    new_rect.y -= distance;
+                }
+                else if(expanded.GetTop() < display.GetTop())
+                {
+                    distance = display.GetTop() - expanded.GetTop();
+                    new_rect.y += distance;
+                }
+            }
+            if(!display.Contains(new_rect))
+            {
+                // Tried moving in primary axis, but failed.
+                // Hence try moving in the secondary axis.
+                int dx = secondary_x * (panel.GetWidth() + expanded_size.GetWidth());
+                int dy = secondary_y * (panel.GetHeight() + expanded_size.GetHeight());
+                new_rect.x += dx;
+                new_rect.y += dy;
+
+                // Squaring makes secondary moves more expensive (and also
+                // prevents a negative cost)
+                distance += dx * dx + dy * dy;
+            }
+            if(display.Contains(new_rect) && distance < best_distance)
+            {
+                best = new_rect;
+                best_distance = distance;
+            }
+        }
+    }
+
+    return best;
+}
+
+#endif // wxUSE_RIBBON
diff --git a/src/ribbon/toolbar.cpp b/src/ribbon/toolbar.cpp
new file mode 100644 (file)
index 0000000..945204f
--- /dev/null
@@ -0,0 +1,707 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        src/ribbon/toolbar.cpp
+// Purpose:     Ribbon-style tool bar
+// Author:      Peter Cawley
+// Modified by:
+// Created:     2009-07-06
+// RCS-ID:      $Id$
+// Copyright:   (C) Peter Cawley
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#include "wx/ribbon/toolbar.h"
+
+#if wxUSE_RIBBON
+
+#include "wx/ribbon/art.h"
+#include "wx/ribbon/bar.h"
+#include "wx/dcbuffer.h"
+
+#ifndef WX_PRECOMP
+#endif
+
+#ifdef __WXMSW__
+#include "wx/msw/private.h"
+#endif
+
+class wxRibbonToolBarToolBase
+{
+public:
+    wxString help_string;
+    wxBitmap bitmap;
+    wxBitmap bitmap_disabled;
+    wxRect dropdown;
+    wxPoint position;
+    wxSize size;
+    wxObject* client_data;
+    int id;
+    wxRibbonButtonKind kind;
+    long state;
+};
+
+WX_DEFINE_ARRAY(wxRibbonToolBarToolBase*, wxArrayRibbonToolBarToolBase);
+
+class wxRibbonToolBarToolGroup
+{
+public:
+    // To identify the group as a wxRibbonToolBarToolBase*
+    wxRibbonToolBarToolBase dummy_tool;
+
+    wxArrayRibbonToolBarToolBase tools;
+    wxPoint position;
+    wxSize size;
+};
+
+wxDEFINE_EVENT(wxEVT_COMMAND_RIBBONTOOL_CLICKED, wxRibbonToolBarEvent);
+wxDEFINE_EVENT(wxEVT_COMMAND_RIBBONTOOL_DROPDOWN_CLICKED, wxRibbonToolBarEvent);
+
+IMPLEMENT_DYNAMIC_CLASS(wxRibbonToolBarEvent, wxCommandEvent)
+IMPLEMENT_CLASS(wxRibbonToolBar, wxRibbonControl)
+
+BEGIN_EVENT_TABLE(wxRibbonToolBar, wxRibbonControl)
+    EVT_ENTER_WINDOW(wxRibbonToolBar::OnMouseEnter)
+    EVT_ERASE_BACKGROUND(wxRibbonToolBar::OnEraseBackground)
+    EVT_LEAVE_WINDOW(wxRibbonToolBar::OnMouseLeave)
+    EVT_LEFT_DOWN(wxRibbonToolBar::OnMouseDown)
+    EVT_LEFT_UP(wxRibbonToolBar::OnMouseUp)
+    EVT_MOTION(wxRibbonToolBar::OnMouseMove)
+    EVT_PAINT(wxRibbonToolBar::OnPaint)
+    EVT_SIZE(wxRibbonToolBar::OnSize)
+END_EVENT_TABLE()
+
+wxRibbonToolBar::wxRibbonToolBar()
+{
+}
+
+wxRibbonToolBar::wxRibbonToolBar(wxWindow* parent,
+                  wxWindowID id,
+                  const wxPoint& pos,
+                  const wxSize& size,
+                  long style)
+    : wxRibbonControl(parent, id, pos, size, wxBORDER_NONE)
+{
+    CommonInit(style);
+}
+
+bool wxRibbonToolBar::Create(wxWindow* parent,
+                wxWindowID id,
+                const wxPoint& pos,
+                const wxSize& size,
+                long style)
+{
+    if(!wxRibbonControl::Create(parent, id, pos, size, wxBORDER_NONE))
+    {
+        return false;
+    }
+
+    CommonInit(style);
+    return true;
+}
+
+void wxRibbonToolBar::CommonInit(long WXUNUSED(style))
+{
+    AppendGroup();
+    m_hover_tool = NULL;
+    m_active_tool = NULL;
+    m_nrows_min = 1;
+    m_nrows_max = 1;
+    m_sizes = new wxSize[1];
+    m_sizes[0] = wxSize(0, 0);
+    SetBackgroundStyle(wxBG_STYLE_CUSTOM);
+}
+
+wxRibbonToolBar::~wxRibbonToolBar()
+{
+    size_t count = m_groups.GetCount();
+    size_t i, t;
+    for(i = 0; i < count; ++i)
+    {
+        wxRibbonToolBarToolGroup* group = m_groups.Item(i);
+        size_t tool_count = group->tools.GetCount();
+        for(t = 0; t < tool_count; ++t)
+        {
+            wxRibbonToolBarToolBase* tool = group->tools.Item(t);
+            delete tool;
+        }
+        delete group;
+    }
+    m_groups.Clear();
+    delete[] m_sizes;
+}
+
+wxRibbonToolBarToolBase* wxRibbonToolBar::AddTool(
+                int tool_id,
+                const wxBitmap& bitmap,
+                const wxString& help_string,
+                wxRibbonButtonKind kind)
+{
+    return AddTool(tool_id, bitmap, wxNullBitmap, help_string, kind, NULL);
+}
+
+wxRibbonToolBarToolBase* wxRibbonToolBar::AddDropdownTool(
+            int tool_id,
+            const wxBitmap& bitmap,
+            const wxString& help_string)
+{
+    return AddTool(tool_id, bitmap, wxNullBitmap, help_string,
+        wxRIBBON_BUTTON_DROPDOWN, NULL);
+}
+
+wxRibbonToolBarToolBase* wxRibbonToolBar::AddHybridTool(
+            int tool_id,
+            const wxBitmap& bitmap,
+            const wxString& help_string)
+{
+    return AddTool(tool_id, bitmap, wxNullBitmap, help_string,
+        wxRIBBON_BUTTON_HYBRID, NULL);
+}
+
+wxRibbonToolBarToolBase* wxRibbonToolBar::AddTool(
+            int tool_id,
+            const wxBitmap& bitmap,
+            const wxBitmap& bitmap_disabled,
+            const wxString& help_string,
+            wxRibbonButtonKind kind,
+            wxObject* client_data)
+{
+    wxASSERT(bitmap.IsOk());
+
+    wxRibbonToolBarToolBase* tool = new wxRibbonToolBarToolBase;
+    tool->id = tool_id;
+    tool->bitmap = bitmap;
+    if(bitmap_disabled.IsOk())
+    {
+        wxASSERT(bitmap.GetSize() == bitmap_disabled.GetSize());
+        tool->bitmap_disabled = bitmap_disabled;
+    }
+    else
+        tool->bitmap_disabled = MakeDisabledBitmap(bitmap);
+    tool->help_string = help_string;
+    tool->kind = kind;
+    tool->client_data = client_data;
+    tool->position = wxPoint(0, 0);
+    tool->size = wxSize(0, 0);
+    tool->state = 0;
+
+    m_groups.Last()->tools.Add(tool);
+    return tool;
+}
+
+wxRibbonToolBarToolBase* wxRibbonToolBar::AddSeparator()
+{
+    if(m_groups.Last()->tools.IsEmpty())
+        return NULL;
+
+    AppendGroup();
+    return &m_groups.Last()->dummy_tool;
+}
+
+wxBitmap wxRibbonToolBar::MakeDisabledBitmap(const wxBitmap& original)
+{
+    wxImage img(original.ConvertToImage());
+    return wxBitmap(img.ConvertToGreyscale());
+}
+
+void wxRibbonToolBar::AppendGroup()
+{
+    wxRibbonToolBarToolGroup* group = new wxRibbonToolBarToolGroup;
+    group->position = wxPoint(0, 0);
+    group->size = wxSize(0, 0);
+    m_groups.Add(group);
+}
+
+bool wxRibbonToolBar::IsSizingContinuous() const
+{
+    return false;
+}
+
+static int GetSizeInOrientation(wxSize size, wxOrientation orientation)
+{
+    switch(orientation)
+    {
+    case wxHORIZONTAL: return size.GetWidth();
+    case wxVERTICAL: return size.GetHeight();
+    case wxBOTH: return size.GetWidth() * size.GetHeight();
+    default: return 0;
+    }
+}
+
+wxSize wxRibbonToolBar::DoGetNextSmallerSize(wxOrientation direction,
+                                      wxSize relative_to) const
+{
+    wxSize result(relative_to);
+    int area = 0;
+    int nrows;
+    for(nrows = m_nrows_min; nrows <= m_nrows_max; ++nrows)
+    {
+        wxSize size(m_sizes[nrows - m_nrows_min]);
+        wxSize original(size);
+        switch(direction)
+        {
+        case wxHORIZONTAL:
+            if(size.GetWidth() < relative_to.GetWidth()
+                && size.GetHeight() <= relative_to.GetHeight())
+            {
+                size.SetHeight(relative_to.GetHeight());
+                break;
+            }
+            continue;
+        case wxVERTICAL:
+            if(size.GetWidth() <= relative_to.GetWidth()
+                && size.GetHeight() < relative_to.GetHeight())
+            {
+                size.SetWidth(relative_to.GetWidth());
+                break;
+            }
+            continue;
+        case wxBOTH:
+            if(size.GetWidth() < relative_to.GetWidth()
+                && size.GetHeight() < relative_to.GetHeight())
+            {
+                break;
+            }
+            continue;
+        }
+        if(GetSizeInOrientation(original, direction) > area)
+        {
+            result = size;
+            area = GetSizeInOrientation(original, direction);
+        }
+    }
+    return result;
+}
+
+wxSize wxRibbonToolBar::DoGetNextLargerSize(wxOrientation direction,
+                                 wxSize relative_to) const
+{
+    // Pick the smallest of our sizes which are larger than the given size
+    wxSize result(relative_to);
+    int area = INT_MAX;
+    int nrows;
+    for(nrows = m_nrows_min; nrows <= m_nrows_max; ++nrows)
+    {
+        wxSize size(m_sizes[nrows - m_nrows_min]);
+        wxSize original(size);
+        switch(direction)
+        {
+        case wxHORIZONTAL:
+            if(size.GetWidth() > relative_to.GetWidth()
+                && size.GetHeight() <= relative_to.GetHeight())
+            {
+                size.SetHeight(relative_to.GetHeight());
+                break;
+            }
+            continue;
+        case wxVERTICAL:
+            if(size.GetWidth() <= relative_to.GetWidth()
+                && size.GetHeight() > relative_to.GetHeight())
+            {
+                size.SetWidth(relative_to.GetWidth());
+                break;
+            }
+            continue;
+        case wxBOTH:
+            if(size.GetWidth() > relative_to.GetWidth()
+                && size.GetHeight() > relative_to.GetHeight())
+            {
+                break;
+            }
+            continue;
+        }
+        if(GetSizeInOrientation(original, direction) < area)
+        {
+            result = size;
+            area = GetSizeInOrientation(original, direction);
+        }
+    }
+
+    return result;
+}
+
+void wxRibbonToolBar::SetRows(int nMin, int nMax)
+{
+    if(nMax == -1)
+        nMax = nMin;
+
+    wxASSERT(1 <= nMin);
+    wxASSERT(nMin <= nMax);
+
+    m_nrows_min = nMin;
+    m_nrows_max = nMax;
+
+    delete[] m_sizes;
+    m_sizes = new wxSize[m_nrows_max - m_nrows_min + 1];
+    for(int i = m_nrows_min; i <= m_nrows_max; ++i)
+        m_sizes[i - m_nrows_min] = wxSize(0, 0);
+
+    Realize();
+}
+
+bool wxRibbonToolBar::Realize()
+{
+    if(m_art == NULL)
+        return false;
+
+    // Calculate the size of each group and the position/size of each tool
+    wxMemoryDC temp_dc;
+    size_t group_count = m_groups.GetCount();
+    size_t g, t;
+    for(g = 0; g < group_count; ++g)
+    {
+        wxRibbonToolBarToolBase* prev = NULL;
+        wxRibbonToolBarToolGroup* group = m_groups.Item(g);
+        size_t tool_count = group->tools.GetCount();
+        int tallest = 0;
+        for(t = 0; t < tool_count; ++t)
+        {
+            wxRibbonToolBarToolBase* tool = group->tools.Item(t);
+            tool->size = m_art->GetToolSize(temp_dc, this,
+                tool->bitmap.GetSize(), tool->kind, t == 0,
+                t == (tool_count - 1), &tool->dropdown);
+            tool->state = tool->state & ~wxRIBBON_TOOLBAR_TOOL_DISABLED;
+            if(t == 0)
+                tool->state |= wxRIBBON_TOOLBAR_TOOL_FIRST;
+            if(t == tool_count - 1)
+                tool->state |= wxRIBBON_TOOLBAR_TOOL_LAST;
+            if(tool->size.GetHeight() > tallest)
+                tallest = tool->size.GetHeight();
+            if(prev)
+            {
+                tool->position = prev->position;
+                tool->position.x += prev->size.x;
+            }
+            else
+            {
+                tool->position = wxPoint(0, 0);
+            }
+            prev = tool;
+        }
+        if(tool_count == 0)
+            group->size = wxSize(0, 0);
+        else
+        {
+            group->size = wxSize(prev->position.x + prev->size.x, tallest);
+            for(t = 0; t < tool_count; ++t)
+                group->tools.Item(t)->size.SetHeight(tallest);
+        }
+    }
+
+    // Calculate the minimum size for each possible number of rows
+    int nrows, r;
+    int sep = m_art->GetMetric(wxRIBBON_ART_TOOL_GROUP_SEPARATION_SIZE);
+    int smallest_area = INT_MAX;
+    wxSize* row_sizes = new wxSize[m_nrows_max];
+    wxOrientation major_axis = m_art->GetFlags() & wxRIBBON_BAR_FLOW_VERTICAL ?
+        wxVERTICAL : wxHORIZONTAL;
+    SetMinSize(wxSize(0, 0));
+    for(nrows = m_nrows_min; nrows <= m_nrows_max; ++nrows)
+    {
+        for(r = 0; r < nrows; ++r)
+            row_sizes[r] = wxSize(0, 0);
+        for(g = 0; g < group_count; ++g)
+        {
+            wxRibbonToolBarToolGroup* group = m_groups.Item(g);
+            int shortest_row = 0;
+            for(r = 1; r < nrows; ++r)
+            {
+                if(row_sizes[r].GetWidth() < row_sizes[shortest_row].GetWidth())
+                    shortest_row = r;
+            }
+            row_sizes[shortest_row].x += group->size.x + sep;
+            if(group->size.y > row_sizes[shortest_row].y)
+                row_sizes[shortest_row].y = group->size.y;
+        }
+        wxSize size(0, 0);
+        for(r = 0; r < nrows; ++r)
+        {
+            if(row_sizes[r].GetWidth() != 0)
+                row_sizes[r].DecBy(sep, 0);
+            if(row_sizes[r].GetWidth() > size.GetWidth())
+                size.SetWidth(row_sizes[r].GetWidth());
+            size.IncBy(0, row_sizes[r].y);
+        }
+        m_sizes[nrows - m_nrows_min] = size;
+        if(GetSizeInOrientation(size, major_axis) < smallest_area)
+        {
+            SetMinSize(size);
+            smallest_area = GetSizeInOrientation(size, major_axis);
+        }
+    }
+
+    // Position the groups
+    wxSizeEvent dummy_event(GetSize());
+    OnSize(dummy_event);
+
+    return true;
+}
+
+void wxRibbonToolBar::OnSize(wxSizeEvent& evt)
+{
+    if(m_art == NULL)
+        return;
+
+    // Choose row count with largest possible area
+    wxSize size = evt.GetSize();
+    int row_count = m_nrows_max;
+    wxOrientation major_axis = m_art->GetFlags() & wxRIBBON_BAR_FLOW_VERTICAL ?
+        wxVERTICAL : wxHORIZONTAL;
+    if(m_nrows_max != m_nrows_min)
+    {
+        int area = 0;
+        for(int i = 0; i <= m_nrows_max - m_nrows_min; ++i)
+        {
+            if(m_sizes[i].x <= size.x && m_sizes[i].y <= size.y &&
+                GetSizeInOrientation(m_sizes[i], major_axis) > area)
+            {
+                area = GetSizeInOrientation(m_sizes[i], major_axis);
+                row_count = m_nrows_min + i;
+            }
+        }
+    }
+
+    // Assign groups to rows and calculate row widths
+    wxSize* row_sizes = new wxSize[row_count];
+    int sep = m_art->GetMetric(wxRIBBON_ART_TOOL_GROUP_SEPARATION_SIZE);
+
+    int r;
+    for(r = 0; r < row_count; ++r)
+        row_sizes[r] = wxSize(0, 0);
+    size_t g;
+    size_t group_count = m_groups.GetCount();
+    for(g = 0; g < group_count; ++g)
+    {
+        wxRibbonToolBarToolGroup* group = m_groups.Item(g);
+        int shortest_row = 0;
+        for(r = 1; r < row_count; ++r)
+        {
+            if(row_sizes[r].GetWidth() < row_sizes[shortest_row].GetWidth())
+                shortest_row = r;
+        }
+        group->position = wxPoint(row_sizes[shortest_row].x, shortest_row);
+        row_sizes[shortest_row].x += group->size.x + sep;
+        if(group->size.y > row_sizes[shortest_row].y)
+            row_sizes[shortest_row].y = group->size.y;
+    }
+
+    // Calculate row positions
+    int total_height = 0;
+    for(r = 0; r < row_count; ++r)
+        total_height += row_sizes[r].GetHeight();
+    int rowsep = (size.GetHeight() - total_height) / (row_count + 1);
+    int* rowypos = new int[row_count];
+    rowypos[0] = rowsep;
+    for(r = 1; r < row_count; ++r)
+    {
+        rowypos[r] = rowypos[r - 1] + row_sizes[r - 1].GetHeight() + rowsep;
+    }
+
+    // Set group y positions
+    for(g = 0; g < group_count; ++g)
+    {
+        wxRibbonToolBarToolGroup* group = m_groups.Item(g);
+        group->position.y = rowypos[group->position.y];
+    }
+
+    delete[] rowypos;
+    delete[] row_sizes;
+}
+
+wxSize wxRibbonToolBar::DoGetBestSize() const
+{
+    return GetMinSize();
+}
+
+void wxRibbonToolBar::OnEraseBackground(wxEraseEvent& WXUNUSED(evt))
+{
+    // All painting done in main paint handler to minimise flicker
+}
+
+void wxRibbonToolBar::OnPaint(wxPaintEvent& WXUNUSED(evt))
+{
+    wxAutoBufferedPaintDC dc(this);
+    if(m_art == NULL)
+        return;
+
+    m_art->DrawToolBarBackground(dc, this, GetSize());
+
+    size_t group_count = m_groups.GetCount();
+    size_t g, t;
+    for(g = 0; g < group_count; ++g)
+    {
+        wxRibbonToolBarToolGroup* group = m_groups.Item(g);
+        size_t tool_count = group->tools.GetCount();
+        if(tool_count != 0)
+        {
+            m_art->DrawToolGroupBackground(dc, this,
+                wxRect(group->position, group->size));
+            for(t = 0; t < tool_count; ++t)
+            {
+                wxRibbonToolBarToolBase* tool = group->tools.Item(t);
+                wxRect rect(group->position + tool->position, tool->size);
+                m_art->DrawTool(dc, this, rect, tool->bitmap, tool->kind,
+                    tool->state);
+            }
+        }
+    }
+}
+
+void wxRibbonToolBar::OnMouseMove(wxMouseEvent& evt)
+{
+    wxPoint pos(evt.GetPosition());
+    wxRibbonToolBarToolBase *new_hover = NULL;
+
+    size_t group_count = m_groups.GetCount();
+    size_t g, t;
+    for(g = 0; g < group_count; ++g)
+    {
+        wxRibbonToolBarToolGroup* group = m_groups.Item(g);
+        if(group->position.x <= pos.x && pos.x < group->position.x + group->size.x
+            && group->position.y <= pos.y && pos.y < group->position.y + group->size.y)
+        {
+            size_t tool_count = group->tools.GetCount();
+            pos -= group->position;
+            for(t = 0; t < tool_count; ++t)
+            {
+                wxRibbonToolBarToolBase* tool = group->tools.Item(t);
+                if(tool->position.x <= pos.x && pos.x < tool->position.x + tool->size.x
+                    && tool->position.y <= pos.y && pos.y < tool->position.y + tool->size.y)
+                {
+                    pos -= tool->position;
+                    new_hover = tool;
+                    break;
+                }
+            }
+            break;
+        }
+    }
+
+    if(new_hover != m_hover_tool)
+    {
+        if(m_hover_tool)
+        {
+            m_hover_tool->state &= ~(wxRIBBON_TOOLBAR_TOOL_HOVER_MASK
+                | wxRIBBON_TOOLBAR_TOOL_ACTIVE_MASK);
+        }
+        m_hover_tool = new_hover;
+        if(new_hover)
+        {
+            long what = wxRIBBON_TOOLBAR_TOOL_NORMAL_HOVERED;
+            if(new_hover->dropdown.Contains(pos))
+                what = wxRIBBON_TOOLBAR_TOOL_DROPDOWN_HOVERED;
+
+            new_hover->state |= what;
+            
+            if(new_hover == m_active_tool)
+            {
+                new_hover->state &= ~wxRIBBON_TOOLBAR_TOOL_ACTIVE_MASK;
+                new_hover->state |= (what << 2);
+            }
+        }
+        Refresh(false);
+    }
+    else if(m_hover_tool && m_hover_tool->kind == wxRIBBON_BUTTON_HYBRID)
+    {
+        long newstate = m_hover_tool->state &~wxRIBBON_TOOLBAR_TOOL_HOVER_MASK;
+        long what = wxRIBBON_TOOLBAR_TOOL_NORMAL_HOVERED;
+        if(m_hover_tool->dropdown.Contains(pos))
+            what = wxRIBBON_TOOLBAR_TOOL_DROPDOWN_HOVERED;
+        newstate |= what;
+        if(newstate != m_hover_tool->state)
+        {
+            m_hover_tool->state = newstate;
+            if(m_hover_tool == m_active_tool)
+            {
+                m_hover_tool->state &= ~wxRIBBON_TOOLBAR_TOOL_ACTIVE_MASK;
+                m_hover_tool->state |= (what << 2);
+            }
+            Refresh(false);
+        }
+    }
+}
+
+void wxRibbonToolBar::OnMouseDown(wxMouseEvent& evt)
+{
+    OnMouseMove(evt);
+    if(m_hover_tool)
+    {
+        m_active_tool = m_hover_tool;
+        m_active_tool->state |=
+            (m_active_tool->state & wxRIBBON_TOOLBAR_TOOL_HOVER_MASK) << 2;
+        Refresh(false);
+    }
+}
+
+void wxRibbonToolBar::OnMouseLeave(wxMouseEvent& WXUNUSED(evt))
+{
+    if(m_hover_tool)
+    {
+        m_hover_tool->state &= ~wxRIBBON_TOOLBAR_TOOL_HOVER_MASK;
+        m_hover_tool = NULL;
+        Refresh(false);
+    }
+}
+
+void wxRibbonToolBar::OnMouseUp(wxMouseEvent& WXUNUSED(evt))
+{
+    if(m_active_tool)
+    {
+        if(m_active_tool->state & wxRIBBON_TOOLBAR_TOOL_ACTIVE_MASK)
+        {
+            wxEventType evt_type = wxEVT_COMMAND_RIBBONTOOL_CLICKED;
+            if(m_active_tool->state & wxRIBBON_TOOLBAR_TOOL_DROPDOWN_ACTIVE)
+                evt_type = wxEVT_COMMAND_RIBBONTOOL_DROPDOWN_CLICKED;
+            wxRibbonToolBarEvent notification(evt_type, m_active_tool->id);
+            notification.SetEventObject(this);
+            notification.SetBar(this);
+            ProcessEvent(notification);
+        }
+        m_active_tool->state &= ~wxRIBBON_TOOLBAR_TOOL_ACTIVE_MASK;
+        m_active_tool = NULL;
+        Refresh(false);
+    }
+}
+
+void wxRibbonToolBar::OnMouseEnter(wxMouseEvent& evt)
+{
+    if(m_active_tool && !evt.LeftIsDown())
+    {
+        m_active_tool = NULL;
+    }
+}
+
+bool wxRibbonToolBarEvent::PopupMenu(wxMenu* menu)
+{
+    wxPoint pos = wxDefaultPosition;
+    if(m_bar->m_active_tool)
+    {
+        // Find the group which contains the tool
+        size_t group_count = m_bar->m_groups.GetCount();
+        size_t g, t;
+        for(g = 0; g < group_count; ++g)
+        {
+            wxRibbonToolBarToolGroup* group = m_bar->m_groups.Item(g);
+            size_t tool_count = group->tools.GetCount();
+            for(t = 0; t < tool_count; ++t)
+            {
+                wxRibbonToolBarToolBase* tool = group->tools.Item(t);
+                if(tool == m_bar->m_active_tool)
+                {
+                    pos = group->position;
+                    pos += tool->position;
+                    pos.y += tool->size.GetHeight();
+                    g = group_count;
+                    break;
+                }
+            }
+        }
+    }
+    return m_bar->PopupMenu(menu, pos);
+}
+
+#endif // wxUSE_RIBBON
index dbc96d8fce86337c6bcd30c1c3f7136ee41d9ed1..019ffc904bf5779170d155648dc1600ce65b9be1 100644 (file)
@@ -1,6 +1,6 @@
 # =========================================================================
 #     This makefile was generated by
-#     Bakefile 0.2.6 (http://www.bakefile.org)
+#     Bakefile 0.2.5 (http://www.bakefile.org)
 #     Do not modify, all changes will be overwritten!
 # =========================================================================
 
index 471f64ec9dfd2a8b334535b51a37a1ca634ee7f8..837c9b866850341b6780e34cc643f96a7989e572 100644 (file)
@@ -1,6 +1,6 @@
 # =========================================================================
 #     This makefile was generated by
-#     Bakefile 0.2.6 (http://www.bakefile.org)
+#     Bakefile 0.2.5 (http://www.bakefile.org)
 #     Do not modify, all changes will be overwritten!
 # =========================================================================
 
@@ -28,9 +28,9 @@ MAKEARGS = -DCC="$(CC)" -DCXX="$(CXX)" -DCFLAGS="$(CFLAGS)" \
        -DDEBUG_INFO="$(DEBUG_INFO)" -DDEBUG_FLAG="$(DEBUG_FLAG)" \
        -DMONOLITHIC="$(MONOLITHIC)" -DUSE_GUI="$(USE_GUI)" \
        -DUSE_HTML="$(USE_HTML)" -DUSE_MEDIA="$(USE_MEDIA)" -DUSE_XRC="$(USE_XRC)" \
-       -DUSE_AUI="$(USE_AUI)" -DUSE_PROPGRID="$(USE_PROPGRID)" \
-       -DUSE_RICHTEXT="$(USE_RICHTEXT)" -DUSE_STC="$(USE_STC)" \
-       -DUSE_OPENGL="$(USE_OPENGL)" -DUSE_QA="$(USE_QA)" \
+       -DUSE_AUI="$(USE_AUI)" -DUSE_RIBBON="$(USE_RIBBON)" \
+       -DUSE_PROPGRID="$(USE_PROPGRID)" -DUSE_RICHTEXT="$(USE_RICHTEXT)" \
+       -DUSE_STC="$(USE_STC)" -DUSE_OPENGL="$(USE_OPENGL)" -DUSE_QA="$(USE_QA)" \
        -DUSE_EXCEPTIONS="$(USE_EXCEPTIONS)" -DUSE_RTTI="$(USE_RTTI)" \
        -DUSE_THREADS="$(USE_THREADS)" -DUSE_GDIPLUS="$(USE_GDIPLUS)" \
        -DOFFICIAL_BUILD="$(OFFICIAL_BUILD)" -DVENDOR="$(VENDOR)" \
index aa8fd05129d16dff42a56618d869a29952b21a60..f50740d24b93e7249b4ad41c2cc4cde0218f96dc 100644 (file)
@@ -1,6 +1,6 @@
 # =========================================================================
 #     This makefile was generated by
-#     Bakefile 0.2.6 (http://www.bakefile.org)
+#     Bakefile 0.2.5 (http://www.bakefile.org)
 #     Do not modify, all changes will be overwritten!
 # =========================================================================
 
@@ -20,8 +20,9 @@ MAKEARGS = LINK_DLL_FLAGS="$(LINK_DLL_FLAGS)" \
        DEBUG_INFO="$(DEBUG_INFO)" DEBUG_FLAG="$(DEBUG_FLAG)" \
        MONOLITHIC="$(MONOLITHIC)" USE_GUI="$(USE_GUI)" USE_HTML="$(USE_HTML)" \
        USE_MEDIA="$(USE_MEDIA)" USE_XRC="$(USE_XRC)" USE_AUI="$(USE_AUI)" \
-       USE_PROPGRID="$(USE_PROPGRID)" USE_RICHTEXT="$(USE_RICHTEXT)" \
-       USE_STC="$(USE_STC)" USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" \
+       USE_RIBBON="$(USE_RIBBON)" USE_PROPGRID="$(USE_PROPGRID)" \
+       USE_RICHTEXT="$(USE_RICHTEXT)" USE_STC="$(USE_STC)" \
+       USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" \
        USE_EXCEPTIONS="$(USE_EXCEPTIONS)" USE_RTTI="$(USE_RTTI)" \
        USE_THREADS="$(USE_THREADS)" USE_GDIPLUS="$(USE_GDIPLUS)" \
        OFFICIAL_BUILD="$(OFFICIAL_BUILD)" VENDOR="$(VENDOR)" \
index ca1a53032adda5ec37fab587322400b0e84c9196..7124d4faaa79ac57b4cb5ead0b30a3aac7e32a83 100644 (file)
@@ -1,6 +1,6 @@
 # =========================================================================
 #     This makefile was generated by
-#     Bakefile 0.2.6 (http://www.bakefile.org)
+#     Bakefile 0.2.5 (http://www.bakefile.org)
 #     Do not modify, all changes will be overwritten!
 # =========================================================================
 
@@ -19,8 +19,9 @@ MAKEARGS = CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \
        DEBUG_FLAG="$(DEBUG_FLAG)" DEBUG_RUNTIME_LIBS="$(DEBUG_RUNTIME_LIBS)" \
        MONOLITHIC="$(MONOLITHIC)" USE_GUI="$(USE_GUI)" USE_HTML="$(USE_HTML)" \
        USE_MEDIA="$(USE_MEDIA)" USE_XRC="$(USE_XRC)" USE_AUI="$(USE_AUI)" \
-       USE_PROPGRID="$(USE_PROPGRID)" USE_RICHTEXT="$(USE_RICHTEXT)" \
-       USE_STC="$(USE_STC)" USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" \
+       USE_RIBBON="$(USE_RIBBON)" USE_PROPGRID="$(USE_PROPGRID)" \
+       USE_RICHTEXT="$(USE_RICHTEXT)" USE_STC="$(USE_STC)" \
+       USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" \
        USE_EXCEPTIONS="$(USE_EXCEPTIONS)" USE_RTTI="$(USE_RTTI)" \
        USE_THREADS="$(USE_THREADS)" USE_GDIPLUS="$(USE_GDIPLUS)" \
        OFFICIAL_BUILD="$(OFFICIAL_BUILD)" VENDOR="$(VENDOR)" \
index a8b1517d6ab40c9a4454df972593024e5ccb52b7..be1a97cac60c954a8e23276662b17d47bad472f4 100644 (file)
@@ -1,6 +1,6 @@
 # =========================================================================
 #     This makefile was generated by
-#     Bakefile 0.2.6 (http://www.bakefile.org)
+#     Bakefile 0.2.5 (http://www.bakefile.org)
 #     Do not modify, all changes will be overwritten!
 # =========================================================================
 
 !  loaddll wpp      wppdi86
 !  loaddll wppaxp   wppdaxp
 !  loaddll wpp386   wppd386
-! if $(__VERSION__) >= 1280
-!  loaddll wlink    wlinkd
-! else
 !  loaddll wlink    wlink
-! endif
 !  loaddll wlib     wlibd
 !endif
 
@@ -40,8 +36,9 @@ MAKEARGS = CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" &
        DEBUG_INFO="$(DEBUG_INFO)" DEBUG_FLAG="$(DEBUG_FLAG)" &
        MONOLITHIC="$(MONOLITHIC)" USE_GUI="$(USE_GUI)" USE_HTML="$(USE_HTML)" &
        USE_MEDIA="$(USE_MEDIA)" USE_XRC="$(USE_XRC)" USE_AUI="$(USE_AUI)" &
-       USE_PROPGRID="$(USE_PROPGRID)" USE_RICHTEXT="$(USE_RICHTEXT)" &
-       USE_STC="$(USE_STC)" USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" &
+       USE_RIBBON="$(USE_RIBBON)" USE_PROPGRID="$(USE_PROPGRID)" &
+       USE_RICHTEXT="$(USE_RICHTEXT)" USE_STC="$(USE_STC)" &
+       USE_OPENGL="$(USE_OPENGL)" USE_QA="$(USE_QA)" &
        USE_EXCEPTIONS="$(USE_EXCEPTIONS)" USE_RTTI="$(USE_RTTI)" &
        USE_THREADS="$(USE_THREADS)" USE_GDIPLUS="$(USE_GDIPLUS)" &
        OFFICIAL_BUILD="$(OFFICIAL_BUILD)" VENDOR="$(VENDOR)" &