From ae2047c32a7a90f7b0e0b600b3e88a5ef9ff1fe0 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Mon, 22 Aug 2011 12:18:56 +0000 Subject: [PATCH] Add XRC handler for wxBannerWindow and a test for it to the xrc sample. Also document the new XRC format elements. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68840 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- Makefile.in | 17 ++++++ build/bakefiles/files.bkl | 2 + build/msw/makefile.bcc | 16 +++++ build/msw/makefile.gcc | 16 +++++ build/msw/makefile.vc | 16 +++++ build/msw/makefile.wat | 16 +++++ build/msw/wx_core.dsp | 4 ++ build/msw/wx_vc7_core.vcproj | 3 + build/msw/wx_vc7_xrc.vcproj | 6 ++ build/msw/wx_vc8_core.vcproj | 4 ++ build/msw/wx_vc8_xrc.vcproj | 8 +++ build/msw/wx_vc9_core.vcproj | 4 ++ build/msw/wx_vc9_xrc.vcproj | 8 +++ build/msw/wx_xrc.dsp | 8 +++ docs/doxygen/overviews/xrc_format.h | 21 +++++++ include/wx/xrc/xh_all.h | 1 + include/wx/xrc/xh_bannerwindow.h | 31 ++++++++++ samples/xrc/rc/controls.xrc | 62 ++++++++++++++++++++ samples/xrc/rc/wxbanner.gif | Bin 0 -> 16326 bytes src/xrc/xh_bannerwindow.cpp | 88 ++++++++++++++++++++++++++++ src/xrc/xmlrsall.cpp | 3 + 21 files changed, 334 insertions(+) create mode 100644 include/wx/xrc/xh_bannerwindow.h create mode 100644 samples/xrc/rc/wxbanner.gif create mode 100644 src/xrc/xh_bannerwindow.cpp diff --git a/Makefile.in b/Makefile.in index 7f8608caa8..6d0ed4894e 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1662,6 +1662,7 @@ XRCDLL_CXXFLAGS = $(__xrcdll_PCH_INC) -D__WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p) \ XRCDLL_OBJECTS = \ $(__xrcdll___win32rc) \ xrcdll_xh_animatctrl.o \ + xrcdll_xh_bannerwindow.o \ xrcdll_xh_bmp.o \ xrcdll_xh_bmpcbox.o \ xrcdll_xh_bmpbt.o \ @@ -1732,6 +1733,7 @@ XRCLIB_CXXFLAGS = $(__xrclib_PCH_INC) -D__WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p) \ $(__INC_EXPAT_p) $(CXXWARNINGS) $(CPPFLAGS) $(CXXFLAGS) XRCLIB_OBJECTS = \ xrclib_xh_animatctrl.o \ + xrclib_xh_bannerwindow.o \ xrclib_xh_bmp.o \ xrclib_xh_bmpcbox.o \ xrclib_xh_bmpbt.o \ @@ -4089,6 +4091,7 @@ COND_USE_GUI_1_ALL_GUI_HEADERS = \ wx/debugrpt.h \ wx/xrc/xh_all.h \ wx/xrc/xh_animatctrl.h \ + wx/xrc/xh_bannerwindow.h \ wx/xrc/xh_bmpbt.h \ wx/xrc/xh_bmp.h \ wx/xrc/xh_bmpcbox.h \ @@ -4396,6 +4399,7 @@ COND_USE_GUI_1___MONOLIB_GUI_SRC_OBJECTS = \ monodll_debugrpt.o \ monodll_dbgrptg.o \ monodll_xh_animatctrl.o \ + monodll_xh_bannerwindow.o \ monodll_xh_bmp.o \ monodll_xh_bmpcbox.o \ monodll_xh_bmpbt.o \ @@ -6328,6 +6332,7 @@ COND_USE_GUI_1___MONOLIB_GUI_SRC_OBJECTS_1 = \ monolib_debugrpt.o \ monolib_dbgrptg.o \ monolib_xh_animatctrl.o \ + monolib_xh_bannerwindow.o \ monolib_xh_bmp.o \ monolib_xh_bmpcbox.o \ monolib_xh_bmpbt.o \ @@ -17163,6 +17168,9 @@ monodll_dbgrptg.o: $(srcdir)/src/generic/dbgrptg.cpp $(MONODLL_ODEP) monodll_xh_animatctrl.o: $(srcdir)/src/xrc/xh_animatctrl.cpp $(MONODLL_ODEP) $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/xrc/xh_animatctrl.cpp +monodll_xh_bannerwindow.o: $(srcdir)/src/xrc/xh_bannerwindow.cpp $(MONODLL_ODEP) + $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/xrc/xh_bannerwindow.cpp + monodll_xh_bmp.o: $(srcdir)/src/xrc/xh_bmp.cpp $(MONODLL_ODEP) $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/xrc/xh_bmp.cpp @@ -22491,6 +22499,9 @@ monolib_dbgrptg.o: $(srcdir)/src/generic/dbgrptg.cpp $(MONOLIB_ODEP) monolib_xh_animatctrl.o: $(srcdir)/src/xrc/xh_animatctrl.cpp $(MONOLIB_ODEP) $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_animatctrl.cpp +monolib_xh_bannerwindow.o: $(srcdir)/src/xrc/xh_bannerwindow.cpp $(MONOLIB_ODEP) + $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_bannerwindow.cpp + monolib_xh_bmp.o: $(srcdir)/src/xrc/xh_bmp.cpp $(MONOLIB_ODEP) $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_bmp.cpp @@ -36171,6 +36182,9 @@ xrcdll_version_rc.o: $(srcdir)/src/msw/version.rc $(XRCDLL_ODEP) xrcdll_xh_animatctrl.o: $(srcdir)/src/xrc/xh_animatctrl.cpp $(XRCDLL_ODEP) $(CXXC) -c -o $@ $(XRCDLL_CXXFLAGS) $(srcdir)/src/xrc/xh_animatctrl.cpp +xrcdll_xh_bannerwindow.o: $(srcdir)/src/xrc/xh_bannerwindow.cpp $(XRCDLL_ODEP) + $(CXXC) -c -o $@ $(XRCDLL_CXXFLAGS) $(srcdir)/src/xrc/xh_bannerwindow.cpp + xrcdll_xh_bmp.o: $(srcdir)/src/xrc/xh_bmp.cpp $(XRCDLL_ODEP) $(CXXC) -c -o $@ $(XRCDLL_CXXFLAGS) $(srcdir)/src/xrc/xh_bmp.cpp @@ -36360,6 +36374,9 @@ xrcdll_xmlrsall.o: $(srcdir)/src/xrc/xmlrsall.cpp $(XRCDLL_ODEP) xrclib_xh_animatctrl.o: $(srcdir)/src/xrc/xh_animatctrl.cpp $(XRCLIB_ODEP) $(CXXC) -c -o $@ $(XRCLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_animatctrl.cpp +xrclib_xh_bannerwindow.o: $(srcdir)/src/xrc/xh_bannerwindow.cpp $(XRCLIB_ODEP) + $(CXXC) -c -o $@ $(XRCLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_bannerwindow.cpp + xrclib_xh_bmp.o: $(srcdir)/src/xrc/xh_bmp.cpp $(XRCLIB_ODEP) $(CXXC) -c -o $@ $(XRCLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_bmp.cpp diff --git a/build/bakefiles/files.bkl b/build/bakefiles/files.bkl index 38fbc2d7e5..5340ade4b2 100644 --- a/build/bakefiles/files.bkl +++ b/build/bakefiles/files.bkl @@ -3357,6 +3357,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! src/xrc/xh_animatctrl.cpp + src/xrc/xh_bannerwindow.cpp src/xrc/xh_bmp.cpp src/xrc/xh_bmpcbox.cpp src/xrc/xh_bmpbt.cpp @@ -3425,6 +3426,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! wx/xrc/xh_all.h wx/xrc/xh_animatctrl.h + wx/xrc/xh_bannerwindow.h wx/xrc/xh_bmpbt.h wx/xrc/xh_bmp.h wx/xrc/xh_bmpcbox.h diff --git a/build/msw/makefile.bcc b/build/msw/makefile.bcc index 1d39fdb2a2..53c1e4a69d 100644 --- a/build/msw/makefile.bcc +++ b/build/msw/makefile.bcc @@ -1136,6 +1136,7 @@ XRCDLL_CXXFLAGS = $(__RUNTIME_LIBS) -I$(BCCDIR)\include $(__DEBUGINFO) \ XRCDLL_OBJECTS = \ $(OBJS)\xrcdll_dummy.obj \ $(OBJS)\xrcdll_xh_animatctrl.obj \ + $(OBJS)\xrcdll_xh_bannerwindow.obj \ $(OBJS)\xrcdll_xh_bmp.obj \ $(OBJS)\xrcdll_xh_bmpcbox.obj \ $(OBJS)\xrcdll_xh_bmpbt.obj \ @@ -1210,6 +1211,7 @@ XRCLIB_CXXFLAGS = $(__RUNTIME_LIBS) -I$(BCCDIR)\include $(__DEBUGINFO) \ XRCLIB_OBJECTS = \ $(OBJS)\xrclib_dummy.obj \ $(OBJS)\xrclib_xh_animatctrl.obj \ + $(OBJS)\xrclib_xh_bannerwindow.obj \ $(OBJS)\xrclib_xh_bmp.obj \ $(OBJS)\xrclib_xh_bmpcbox.obj \ $(OBJS)\xrclib_xh_bmpbt.obj \ @@ -1578,6 +1580,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_debugrpt.obj \ $(OBJS)\monodll_dbgrptg.obj \ $(OBJS)\monodll_xh_animatctrl.obj \ + $(OBJS)\monodll_xh_bannerwindow.obj \ $(OBJS)\monodll_xh_bmp.obj \ $(OBJS)\monodll_xh_bmpcbox.obj \ $(OBJS)\monodll_xh_bmpbt.obj \ @@ -2344,6 +2347,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_debugrpt.obj \ $(OBJS)\monolib_dbgrptg.obj \ $(OBJS)\monolib_xh_animatctrl.obj \ + $(OBJS)\monolib_xh_bannerwindow.obj \ $(OBJS)\monolib_xh_bmp.obj \ $(OBJS)\monolib_xh_bmpcbox.obj \ $(OBJS)\monolib_xh_bmpbt.obj \ @@ -6706,6 +6710,9 @@ $(OBJS)\monodll_dbgrptg.obj: ..\..\src\generic\dbgrptg.cpp $(OBJS)\monodll_xh_animatctrl.obj: ..\..\src\xrc\xh_animatctrl.cpp $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_animatctrl.cpp +$(OBJS)\monodll_xh_bannerwindow.obj: ..\..\src\xrc\xh_bannerwindow.cpp + $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_bannerwindow.cpp + $(OBJS)\monodll_xh_bmp.obj: ..\..\src\xrc\xh_bmp.cpp $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_bmp.cpp @@ -9062,6 +9069,9 @@ $(OBJS)\monolib_dbgrptg.obj: ..\..\src\generic\dbgrptg.cpp $(OBJS)\monolib_xh_animatctrl.obj: ..\..\src\xrc\xh_animatctrl.cpp $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_animatctrl.cpp +$(OBJS)\monolib_xh_bannerwindow.obj: ..\..\src\xrc\xh_bannerwindow.cpp + $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_bannerwindow.cpp + $(OBJS)\monolib_xh_bmp.obj: ..\..\src\xrc\xh_bmp.cpp $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_bmp.cpp @@ -14705,6 +14715,9 @@ $(OBJS)\xrcdll_version.res: ..\..\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 +$(OBJS)\xrcdll_xh_bannerwindow.obj: ..\..\src\xrc\xh_bannerwindow.cpp + $(CXX) -q -c -P -o$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_bannerwindow.cpp + $(OBJS)\xrcdll_xh_bmp.obj: ..\..\src\xrc\xh_bmp.cpp $(CXX) -q -c -P -o$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_bmp.cpp @@ -14897,6 +14910,9 @@ $(OBJS)\xrclib_dummy.obj: ..\..\src\common\dummy.cpp $(OBJS)\xrclib_xh_animatctrl.obj: ..\..\src\xrc\xh_animatctrl.cpp $(CXX) -q -c -P -o$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_animatctrl.cpp +$(OBJS)\xrclib_xh_bannerwindow.obj: ..\..\src\xrc\xh_bannerwindow.cpp + $(CXX) -q -c -P -o$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_bannerwindow.cpp + $(OBJS)\xrclib_xh_bmp.obj: ..\..\src\xrc\xh_bmp.cpp $(CXX) -q -c -P -o$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_bmp.cpp diff --git a/build/msw/makefile.gcc b/build/msw/makefile.gcc index 656b0327de..5cc712209a 100644 --- a/build/msw/makefile.gcc +++ b/build/msw/makefile.gcc @@ -1134,6 +1134,7 @@ XRCDLL_OBJECTS = \ $(OBJS)\xrcdll_dummy.o \ $(OBJS)\xrcdll_version_rc.o \ $(OBJS)\xrcdll_xh_animatctrl.o \ + $(OBJS)\xrcdll_xh_bannerwindow.o \ $(OBJS)\xrcdll_xh_bmp.o \ $(OBJS)\xrcdll_xh_bmpcbox.o \ $(OBJS)\xrcdll_xh_bmpbt.o \ @@ -1207,6 +1208,7 @@ XRCLIB_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) $(GCCFLAGS) XRCLIB_OBJECTS = \ $(OBJS)\xrclib_dummy.o \ $(OBJS)\xrclib_xh_animatctrl.o \ + $(OBJS)\xrclib_xh_bannerwindow.o \ $(OBJS)\xrclib_xh_bmp.o \ $(OBJS)\xrclib_xh_bmpcbox.o \ $(OBJS)\xrclib_xh_bmpbt.o \ @@ -1588,6 +1590,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_debugrpt.o \ $(OBJS)\monodll_dbgrptg.o \ $(OBJS)\monodll_xh_animatctrl.o \ + $(OBJS)\monodll_xh_bannerwindow.o \ $(OBJS)\monodll_xh_bmp.o \ $(OBJS)\monodll_xh_bmpcbox.o \ $(OBJS)\monodll_xh_bmpbt.o \ @@ -2360,6 +2363,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_debugrpt.o \ $(OBJS)\monolib_dbgrptg.o \ $(OBJS)\monolib_xh_animatctrl.o \ + $(OBJS)\monolib_xh_bannerwindow.o \ $(OBJS)\monolib_xh_bmp.o \ $(OBJS)\monolib_xh_bmpcbox.o \ $(OBJS)\monolib_xh_bmpbt.o \ @@ -6856,6 +6860,9 @@ $(OBJS)\monodll_dbgrptg.o: ../../src/generic/dbgrptg.cpp $(OBJS)\monodll_xh_animatctrl.o: ../../src/xrc/xh_animatctrl.cpp $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< +$(OBJS)\monodll_xh_bannerwindow.o: ../../src/xrc/xh_bannerwindow.cpp + $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< + $(OBJS)\monodll_xh_bmp.o: ../../src/xrc/xh_bmp.cpp $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< @@ -9212,6 +9219,9 @@ $(OBJS)\monolib_dbgrptg.o: ../../src/generic/dbgrptg.cpp $(OBJS)\monolib_xh_animatctrl.o: ../../src/xrc/xh_animatctrl.cpp $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< +$(OBJS)\monolib_xh_bannerwindow.o: ../../src/xrc/xh_bannerwindow.cpp + $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< + $(OBJS)\monolib_xh_bmp.o: ../../src/xrc/xh_bmp.cpp $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< @@ -14855,6 +14865,9 @@ $(OBJS)\xrcdll_version_rc.o: ../../src/msw/version.rc $(OBJS)\xrcdll_xh_animatctrl.o: ../../src/xrc/xh_animatctrl.cpp $(CXX) -c -o $@ $(XRCDLL_CXXFLAGS) $(CPPDEPS) $< +$(OBJS)\xrcdll_xh_bannerwindow.o: ../../src/xrc/xh_bannerwindow.cpp + $(CXX) -c -o $@ $(XRCDLL_CXXFLAGS) $(CPPDEPS) $< + $(OBJS)\xrcdll_xh_bmp.o: ../../src/xrc/xh_bmp.cpp $(CXX) -c -o $@ $(XRCDLL_CXXFLAGS) $(CPPDEPS) $< @@ -15047,6 +15060,9 @@ $(OBJS)\xrclib_dummy.o: ../../src/common/dummy.cpp $(OBJS)\xrclib_xh_animatctrl.o: ../../src/xrc/xh_animatctrl.cpp $(CXX) -c -o $@ $(XRCLIB_CXXFLAGS) $(CPPDEPS) $< +$(OBJS)\xrclib_xh_bannerwindow.o: ../../src/xrc/xh_bannerwindow.cpp + $(CXX) -c -o $@ $(XRCLIB_CXXFLAGS) $(CPPDEPS) $< + $(OBJS)\xrclib_xh_bmp.o: ../../src/xrc/xh_bmp.cpp $(CXX) -c -o $@ $(XRCLIB_CXXFLAGS) $(CPPDEPS) $< diff --git a/build/msw/makefile.vc b/build/msw/makefile.vc index 7948df179b..23cf9f1399 100644 --- a/build/msw/makefile.vc +++ b/build/msw/makefile.vc @@ -1211,6 +1211,7 @@ XRCDLL_CXXFLAGS = /M$(__RUNTIME_LIBS_395)$(__DEBUGRUNTIME) /DWIN32 \ XRCDLL_OBJECTS = \ $(OBJS)\xrcdll_dummy.obj \ $(OBJS)\xrcdll_xh_animatctrl.obj \ + $(OBJS)\xrcdll_xh_bannerwindow.obj \ $(OBJS)\xrcdll_xh_bmp.obj \ $(OBJS)\xrcdll_xh_bmpcbox.obj \ $(OBJS)\xrcdll_xh_bmpbt.obj \ @@ -1289,6 +1290,7 @@ XRCLIB_CXXFLAGS = /M$(__RUNTIME_LIBS_410)$(__DEBUGRUNTIME) /DWIN32 \ XRCLIB_OBJECTS = \ $(OBJS)\xrclib_dummy.obj \ $(OBJS)\xrclib_xh_animatctrl.obj \ + $(OBJS)\xrclib_xh_bannerwindow.obj \ $(OBJS)\xrclib_xh_bmp.obj \ $(OBJS)\xrclib_xh_bmpcbox.obj \ $(OBJS)\xrclib_xh_bmpbt.obj \ @@ -1786,6 +1788,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_debugrpt.obj \ $(OBJS)\monodll_dbgrptg.obj \ $(OBJS)\monodll_xh_animatctrl.obj \ + $(OBJS)\monodll_xh_bannerwindow.obj \ $(OBJS)\monodll_xh_bmp.obj \ $(OBJS)\monodll_xh_bmpcbox.obj \ $(OBJS)\monodll_xh_bmpbt.obj \ @@ -2558,6 +2561,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_debugrpt.obj \ $(OBJS)\monolib_dbgrptg.obj \ $(OBJS)\monolib_xh_animatctrl.obj \ + $(OBJS)\monolib_xh_bannerwindow.obj \ $(OBJS)\monolib_xh_bmp.obj \ $(OBJS)\monolib_xh_bmpcbox.obj \ $(OBJS)\monolib_xh_bmpbt.obj \ @@ -7286,6 +7290,9 @@ $(OBJS)\monodll_dbgrptg.obj: ..\..\src\generic\dbgrptg.cpp $(OBJS)\monodll_xh_animatctrl.obj: ..\..\src\xrc\xh_animatctrl.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_animatctrl.cpp +$(OBJS)\monodll_xh_bannerwindow.obj: ..\..\src\xrc\xh_bannerwindow.cpp + $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_bannerwindow.cpp + $(OBJS)\monodll_xh_bmp.obj: ..\..\src\xrc\xh_bmp.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_bmp.cpp @@ -9642,6 +9649,9 @@ $(OBJS)\monolib_dbgrptg.obj: ..\..\src\generic\dbgrptg.cpp $(OBJS)\monolib_xh_animatctrl.obj: ..\..\src\xrc\xh_animatctrl.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_animatctrl.cpp +$(OBJS)\monolib_xh_bannerwindow.obj: ..\..\src\xrc\xh_bannerwindow.cpp + $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_bannerwindow.cpp + $(OBJS)\monolib_xh_bmp.obj: ..\..\src\xrc\xh_bmp.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_bmp.cpp @@ -15285,6 +15295,9 @@ $(OBJS)\xrcdll_version.res: ..\..\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 +$(OBJS)\xrcdll_xh_bannerwindow.obj: ..\..\src\xrc\xh_bannerwindow.cpp + $(CXX) /c /nologo /TP /Fo$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_bannerwindow.cpp + $(OBJS)\xrcdll_xh_bmp.obj: ..\..\src\xrc\xh_bmp.cpp $(CXX) /c /nologo /TP /Fo$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_bmp.cpp @@ -15477,6 +15490,9 @@ $(OBJS)\xrclib_dummy.obj: ..\..\src\common\dummy.cpp $(OBJS)\xrclib_xh_animatctrl.obj: ..\..\src\xrc\xh_animatctrl.cpp $(CXX) /c /nologo /TP /Fo$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_animatctrl.cpp +$(OBJS)\xrclib_xh_bannerwindow.obj: ..\..\src\xrc\xh_bannerwindow.cpp + $(CXX) /c /nologo /TP /Fo$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_bannerwindow.cpp + $(OBJS)\xrclib_xh_bmp.obj: ..\..\src\xrc\xh_bmp.cpp $(CXX) /c /nologo /TP /Fo$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_bmp.cpp diff --git a/build/msw/makefile.wat b/build/msw/makefile.wat index 9f2d8525e1..0eee311b67 100644 --- a/build/msw/makefile.wat +++ b/build/msw/makefile.wat @@ -138,6 +138,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = & $(OBJS)\monodll_debugrpt.obj & $(OBJS)\monodll_dbgrptg.obj & $(OBJS)\monodll_xh_animatctrl.obj & + $(OBJS)\monodll_xh_bannerwindow.obj & $(OBJS)\monodll_xh_bmp.obj & $(OBJS)\monodll_xh_bmpcbox.obj & $(OBJS)\monodll_xh_bmpbt.obj & @@ -915,6 +916,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = & $(OBJS)\monolib_debugrpt.obj & $(OBJS)\monolib_dbgrptg.obj & $(OBJS)\monolib_xh_animatctrl.obj & + $(OBJS)\monolib_xh_bannerwindow.obj & $(OBJS)\monolib_xh_bmp.obj & $(OBJS)\monolib_xh_bmpcbox.obj & $(OBJS)\monolib_xh_bmpbt.obj & @@ -4568,6 +4570,7 @@ XRCDLL_CXXFLAGS = -bd $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) & XRCDLL_OBJECTS = & $(OBJS)\xrcdll_dummy.obj & $(OBJS)\xrcdll_xh_animatctrl.obj & + $(OBJS)\xrcdll_xh_bannerwindow.obj & $(OBJS)\xrcdll_xh_bmp.obj & $(OBJS)\xrcdll_xh_bmpcbox.obj & $(OBJS)\xrcdll_xh_bmpbt.obj & @@ -4642,6 +4645,7 @@ XRCLIB_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) & XRCLIB_OBJECTS = & $(OBJS)\xrclib_dummy.obj & $(OBJS)\xrclib_xh_animatctrl.obj & + $(OBJS)\xrclib_xh_bannerwindow.obj & $(OBJS)\xrclib_xh_bmp.obj & $(OBJS)\xrclib_xh_bmpcbox.obj & $(OBJS)\xrclib_xh_bmpbt.obj & @@ -7115,6 +7119,9 @@ $(OBJS)\monodll_dbgrptg.obj : .AUTODEPEND ..\..\src\generic\dbgrptg.cpp $(OBJS)\monodll_xh_animatctrl.obj : .AUTODEPEND ..\..\src\xrc\xh_animatctrl.cpp $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $< +$(OBJS)\monodll_xh_bannerwindow.obj : .AUTODEPEND ..\..\src\xrc\xh_bannerwindow.cpp + $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $< + $(OBJS)\monodll_xh_bmp.obj : .AUTODEPEND ..\..\src\xrc\xh_bmp.cpp $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $< @@ -9471,6 +9478,9 @@ $(OBJS)\monolib_dbgrptg.obj : .AUTODEPEND ..\..\src\generic\dbgrptg.cpp $(OBJS)\monolib_xh_animatctrl.obj : .AUTODEPEND ..\..\src\xrc\xh_animatctrl.cpp $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $< +$(OBJS)\monolib_xh_bannerwindow.obj : .AUTODEPEND ..\..\src\xrc\xh_bannerwindow.cpp + $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $< + $(OBJS)\monolib_xh_bmp.obj : .AUTODEPEND ..\..\src\xrc\xh_bmp.cpp $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $< @@ -15114,6 +15124,9 @@ $(OBJS)\xrcdll_version.res : .AUTODEPEND ..\..\src\msw\version.rc $(OBJS)\xrcdll_xh_animatctrl.obj : .AUTODEPEND ..\..\src\xrc\xh_animatctrl.cpp $(CXX) -bt=nt -zq -fo=$^@ $(XRCDLL_CXXFLAGS) $< +$(OBJS)\xrcdll_xh_bannerwindow.obj : .AUTODEPEND ..\..\src\xrc\xh_bannerwindow.cpp + $(CXX) -bt=nt -zq -fo=$^@ $(XRCDLL_CXXFLAGS) $< + $(OBJS)\xrcdll_xh_bmp.obj : .AUTODEPEND ..\..\src\xrc\xh_bmp.cpp $(CXX) -bt=nt -zq -fo=$^@ $(XRCDLL_CXXFLAGS) $< @@ -15306,6 +15319,9 @@ $(OBJS)\xrclib_dummy.obj : .AUTODEPEND ..\..\src\common\dummy.cpp $(OBJS)\xrclib_xh_animatctrl.obj : .AUTODEPEND ..\..\src\xrc\xh_animatctrl.cpp $(CXX) -bt=nt -zq -fo=$^@ $(XRCLIB_CXXFLAGS) $< +$(OBJS)\xrclib_xh_bannerwindow.obj : .AUTODEPEND ..\..\src\xrc\xh_bannerwindow.cpp + $(CXX) -bt=nt -zq -fo=$^@ $(XRCLIB_CXXFLAGS) $< + $(OBJS)\xrclib_xh_bmp.obj : .AUTODEPEND ..\..\src\xrc\xh_bmp.cpp $(CXX) -bt=nt -zq -fo=$^@ $(XRCLIB_CXXFLAGS) $< diff --git a/build/msw/wx_core.dsp b/build/msw/wx_core.dsp index 995d25ffa7..38ab8b52e0 100644 --- a/build/msw/wx_core.dsp +++ b/build/msw/wx_core.dsp @@ -6996,6 +6996,10 @@ SOURCE=..\..\include\wx\xrc\xh_animatctrl.h # End Source File # Begin Source File +SOURCE=..\..\include\wx\xrc\xh_bannerwindow.h +# End Source File +# Begin Source File + SOURCE=..\..\include\wx\xrc\xh_bmp.h # End Source File # Begin Source File diff --git a/build/msw/wx_vc7_core.vcproj b/build/msw/wx_vc7_core.vcproj index d25e53cc90..3c9f272d85 100644 --- a/build/msw/wx_vc7_core.vcproj +++ b/build/msw/wx_vc7_core.vcproj @@ -5823,6 +5823,9 @@ RelativePath="..\..\include\wx\xrc\xh_animatctrl.h"> + + + + + + + + diff --git a/build/msw/wx_vc8_xrc.vcproj b/build/msw/wx_vc8_xrc.vcproj index 08681c2d25..a5af2d1002 100644 --- a/build/msw/wx_vc8_xrc.vcproj +++ b/build/msw/wx_vc8_xrc.vcproj @@ -1059,6 +1059,10 @@ > + + @@ -1309,6 +1313,10 @@ > + + diff --git a/build/msw/wx_vc9_core.vcproj b/build/msw/wx_vc9_core.vcproj index 6b1255c1d2..a2ebc1ddfd 100644 --- a/build/msw/wx_vc9_core.vcproj +++ b/build/msw/wx_vc9_core.vcproj @@ -7780,6 +7780,10 @@ > + + diff --git a/build/msw/wx_vc9_xrc.vcproj b/build/msw/wx_vc9_xrc.vcproj index 293c02e231..60ae208560 100644 --- a/build/msw/wx_vc9_xrc.vcproj +++ b/build/msw/wx_vc9_xrc.vcproj @@ -1055,6 +1055,10 @@ > + + @@ -1305,6 +1309,10 @@ > + + diff --git a/build/msw/wx_xrc.dsp b/build/msw/wx_xrc.dsp index f231d43d1b..7c65856699 100644 --- a/build/msw/wx_xrc.dsp +++ b/build/msw/wx_xrc.dsp @@ -538,6 +538,10 @@ SOURCE=..\..\include\wx\xrc\xh_animatctrl.h # End Source File # Begin Source File +SOURCE=..\..\include\wx\xrc\xh_bannerwindow.h +# End Source File +# Begin Source File + SOURCE=..\..\include\wx\xrc\xh_bmp.h # End Source File # Begin Source File @@ -786,6 +790,10 @@ SOURCE=..\..\src\xrc\xh_animatctrl.cpp # End Source File # Begin Source File +SOURCE=..\..\src\xrc\xh_bannerwindow.cpp +# End Source File +# Begin Source File + SOURCE=..\..\src\xrc\xh_bmp.cpp # End Source File # Begin Source File diff --git a/docs/doxygen/overviews/xrc_format.h b/docs/doxygen/overviews/xrc_format.h index 88e32f791c..72d5405f4a 100644 --- a/docs/doxygen/overviews/xrc_format.h +++ b/docs/doxygen/overviews/xrc_format.h @@ -526,6 +526,27 @@ controls cannot have children. @endTable +@subsubsection xrc_wxanimationctrl wxBannerWindow + +@beginTable +@hdr3col{property, type, description} +@row3col{direction, @c wxLEFT|wxRIGHT|wxTOP|wxBOTTOM, + The side along which the banner will be positioned.} +@row3col{bitmap, @ref overview_xrcformat_type_bitmap, + Bitmap to use as the banner background.} +@row3col{title, @ref overview_xrcformat_type_text, + Banner title, should be single line.} +@row3col{message, @ref overview_xrcformat_type_text, + Possibly multi-line banner message.} +@row3col{gradient-start, @ref overview_xrcformat_type_colour, + Starting colour of the gradient used as banner background. Can't be used if + a valid bitmap is specified.} +@row3col{gradient-end, @ref overview_xrcformat_type_colour, + End colour of the gradient used as banner background. Can't be used if + a valid bitmap is specified.} +@endTable + + @subsubsection xrc_wxbitmapbutton wxBitmapButton @beginTable diff --git a/include/wx/xrc/xh_all.h b/include/wx/xrc/xh_all.h index 21bd620de8..7825a72b31 100644 --- a/include/wx/xrc/xh_all.h +++ b/include/wx/xrc/xh_all.h @@ -15,6 +15,7 @@ // Existing handlers: #include "wx/xrc/xh_animatctrl.h" +#include "wx/xrc/xh_bannerwindow.h" #include "wx/xrc/xh_bmp.h" #include "wx/xrc/xh_bmpbt.h" #include "wx/xrc/xh_bmpcbox.h" diff --git a/include/wx/xrc/xh_bannerwindow.h b/include/wx/xrc/xh_bannerwindow.h new file mode 100644 index 0000000000..bc4a53d381 --- /dev/null +++ b/include/wx/xrc/xh_bannerwindow.h @@ -0,0 +1,31 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: wx/xrc/xh_bannerwindow.h +// Purpose: Declaration of wxBannerWindow XRC handler. +// Author: Vadim Zeitlin +// Created: 2011-08-16 +// RCS-ID: $Id$ +// Copyright: (c) 2011 Vadim Zeitlin +// Licence: wxWindows licence +/////////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_XH_BANNERWINDOW_H_ +#define _WX_XH_BANNERWINDOW_H_ + +#include "wx/xrc/xmlres.h" + +#if wxUSE_XRC && wxUSE_BANNERWINDOW + +class WXDLLIMPEXP_XRC wxBannerWindowXmlHandler : public wxXmlResourceHandler +{ +public: + wxBannerWindowXmlHandler(); + + virtual wxObject *DoCreateResource(); + virtual bool CanHandle(wxXmlNode *node); + + wxDECLARE_DYNAMIC_CLASS(wxBannerWindowXmlHandler); +}; + +#endif // wxUSE_XRC && wxUSE_BANNERWINDOW + +#endif // _WX_XH_BANNERWINDOW_H_ diff --git a/samples/xrc/rc/controls.xrc b/samples/xrc/rc/controls.xrc index b50afb8112..f0ad8ffac1 100644 --- a/samples/xrc/rc/controls.xrc +++ b/samples/xrc/rc/controls.xrc @@ -54,6 +54,68 @@ + + + + + wxHORIZONTAL + + + wxEXPAND + + Welcome to banner demo page! + This is a default wxLEFT banner with some text.\nThe banner on the top uses a bitmap. + + + + + wxEXPAND|wxLEFT|wxRIGHT + + 15 + + wxVERTICAL + + + wxEXPAND + + wxTOP + wxbanner.gif + yellow + + Tip: + You can also use text\n and bitmap together. + + + + + + + + + wxEXPAND + + wxBOTTOM + A word of advice: + You probably shouldn't use banners\non all four sides at once. + + + + + + + wxEXPAND + + wxRIGHT + Custom Banner + You can change the gradient colours. + #7f7f7f + #ffffff + + + + + + diff --git a/samples/xrc/rc/wxbanner.gif b/samples/xrc/rc/wxbanner.gif new file mode 100644 index 0000000000000000000000000000000000000000..466d970f03f1adc36ecc17dd7d9711312fc5b4b7 GIT binary patch literal 16326 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 +// Licence: wxWindows licence +/////////////////////////////////////////////////////////////////////////////// + +// For compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ + #pragma hdrstop +#endif + +#if wxUSE_XRC && wxUSE_BANNERWINDOW + +#include "wx/xrc/xh_bannerwindow.h" +#include "wx/bannerwindow.h" + +wxIMPLEMENT_DYNAMIC_CLASS(wxBannerWindowXmlHandler, wxXmlResourceHandler) + +wxBannerWindowXmlHandler::wxBannerWindowXmlHandler() + : wxXmlResourceHandler() +{ + AddWindowStyles(); +} + +wxObject *wxBannerWindowXmlHandler::DoCreateResource() +{ + XRC_MAKE_INSTANCE(banner, wxBannerWindow) + + banner->Create(m_parentAsWindow, + GetID(), + GetDirection(wxS("direction")), + GetPosition(), + GetSize(), + GetStyle(wxS("style")), + GetName()); + + SetupWindow(banner); + + const wxColour colStart = GetColour(wxS("gradient-start")); + const wxColour colEnd = GetColour(wxS("gradient-end")); + if ( colStart.IsOk() || colEnd.IsOk() ) + { + if ( !colStart.IsOk() || !colEnd.IsOk() ) + { + ReportError + ( + "Both start and end gradient colours must be " + "specified if either one is." + ); + } + else + { + banner->SetGradient(colStart, colEnd); + } + } + + wxBitmap bitmap = GetBitmap(); + if ( bitmap.IsOk() ) + { + if ( colStart.IsOk() || colEnd.IsOk() ) + { + ReportError + ( + "Gradient colours are ignored by wxBannerWindow " + "if the background bitmap is specified." + ); + } + + banner->SetBitmap(bitmap); + } + + banner->SetText(GetText(wxS("title")), GetText(wxS("message"))); + + return banner; +} + +bool wxBannerWindowXmlHandler::CanHandle(wxXmlNode *node) +{ + return IsOfClass(node, wxS("wxBannerWindow")); +} + +#endif // wxUSE_XRC && wxUSE_BANNERWINDOW diff --git a/src/xrc/xmlrsall.cpp b/src/xrc/xmlrsall.cpp index b116c5d994..993b8de982 100644 --- a/src/xrc/xmlrsall.cpp +++ b/src/xrc/xmlrsall.cpp @@ -38,6 +38,9 @@ void wxXmlResource::InitAllHandlers() #if wxUSE_ANIMATIONCTRL AddHandler(new wxAnimationCtrlXmlHandler); #endif +#if wxUSE_BANNERWINDOW + AddHandler(new wxBannerWindowXmlHandler); +#endif #if wxUSE_BITMAPCOMBOBOX AddHandler(new wxBitmapComboBoxXmlHandler); #endif -- 2.45.2