diff --git a/Makefile.in b/Makefile.in index ddb2a298ba..dadc0cd866 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1761,6 +1761,7 @@ XRCDLL_OBJECTS = \ xrcdll_xh_grid.o \ xrcdll_xh_html.o \ xrcdll_xh_hyperlink.o \ + xrcdll_xh_infobar.o \ xrcdll_xh_listb.o \ xrcdll_xh_listbk.o \ xrcdll_xh_listc.o \ @@ -1836,6 +1837,7 @@ XRCLIB_OBJECTS = \ xrclib_xh_grid.o \ xrclib_xh_html.o \ xrclib_xh_hyperlink.o \ + xrclib_xh_infobar.o \ xrclib_xh_listb.o \ xrclib_xh_listbk.o \ xrclib_xh_listc.o \ @@ -4016,6 +4018,7 @@ COND_USE_GUI_1_ALL_GUI_HEADERS = \ wx/xrc/xh_grid.h \ wx/xrc/xh_html.h \ wx/xrc/xh_hyperlink.h \ + wx/xrc/xh_infobar.h \ wx/xrc/xh_listb.h \ wx/xrc/xh_listbk.h \ wx/xrc/xh_listc.h \ @@ -4323,6 +4326,7 @@ COND_USE_GUI_1___MONOLIB_GUI_SRC_OBJECTS = \ monodll_xh_grid.o \ monodll_xh_html.o \ monodll_xh_hyperlink.o \ + monodll_xh_infobar.o \ monodll_xh_listb.o \ monodll_xh_listbk.o \ monodll_xh_listc.o \ @@ -6309,6 +6313,7 @@ COND_USE_GUI_1___MONOLIB_GUI_SRC_OBJECTS_1 = \ monolib_xh_grid.o \ monolib_xh_html.o \ monolib_xh_hyperlink.o \ + monolib_xh_infobar.o \ monolib_xh_listb.o \ monolib_xh_listbk.o \ monolib_xh_listc.o \ @@ -17218,6 +17223,9 @@ monodll_xh_html.o: $(srcdir)/src/xrc/xh_html.cpp $(MONODLL_ODEP) monodll_xh_hyperlink.o: $(srcdir)/src/xrc/xh_hyperlink.cpp $(MONODLL_ODEP) $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/xrc/xh_hyperlink.cpp +monodll_xh_infobar.o: $(srcdir)/src/xrc/xh_infobar.cpp $(MONODLL_ODEP) + $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/xrc/xh_infobar.cpp + monodll_xh_listb.o: $(srcdir)/src/xrc/xh_listb.cpp $(MONODLL_ODEP) $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/xrc/xh_listb.cpp @@ -22486,6 +22494,9 @@ monolib_xh_html.o: $(srcdir)/src/xrc/xh_html.cpp $(MONOLIB_ODEP) monolib_xh_hyperlink.o: $(srcdir)/src/xrc/xh_hyperlink.cpp $(MONOLIB_ODEP) $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_hyperlink.cpp +monolib_xh_infobar.o: $(srcdir)/src/xrc/xh_infobar.cpp $(MONOLIB_ODEP) + $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_infobar.cpp + monolib_xh_listb.o: $(srcdir)/src/xrc/xh_listb.cpp $(MONOLIB_ODEP) $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_listb.cpp @@ -36094,6 +36105,9 @@ xrcdll_xh_html.o: $(srcdir)/src/xrc/xh_html.cpp $(XRCDLL_ODEP) xrcdll_xh_hyperlink.o: $(srcdir)/src/xrc/xh_hyperlink.cpp $(XRCDLL_ODEP) $(CXXC) -c -o $@ $(XRCDLL_CXXFLAGS) $(srcdir)/src/xrc/xh_hyperlink.cpp +xrcdll_xh_infobar.o: $(srcdir)/src/xrc/xh_infobar.cpp $(XRCDLL_ODEP) + $(CXXC) -c -o $@ $(XRCDLL_CXXFLAGS) $(srcdir)/src/xrc/xh_infobar.cpp + xrcdll_xh_listb.o: $(srcdir)/src/xrc/xh_listb.cpp $(XRCDLL_ODEP) $(CXXC) -c -o $@ $(XRCDLL_CXXFLAGS) $(srcdir)/src/xrc/xh_listb.cpp @@ -36298,6 +36312,9 @@ xrclib_xh_html.o: $(srcdir)/src/xrc/xh_html.cpp $(XRCLIB_ODEP) xrclib_xh_hyperlink.o: $(srcdir)/src/xrc/xh_hyperlink.cpp $(XRCLIB_ODEP) $(CXXC) -c -o $@ $(XRCLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_hyperlink.cpp +xrclib_xh_infobar.o: $(srcdir)/src/xrc/xh_infobar.cpp $(XRCLIB_ODEP) + $(CXXC) -c -o $@ $(XRCLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_infobar.cpp + xrclib_xh_listb.o: $(srcdir)/src/xrc/xh_listb.cpp $(XRCLIB_ODEP) $(CXXC) -c -o $@ $(XRCLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_listb.cpp diff --git a/build/bakefiles/files.bkl b/build/bakefiles/files.bkl index c96d44bfad..01e9201a68 100644 --- a/build/bakefiles/files.bkl +++ b/build/bakefiles/files.bkl @@ -3096,6 +3096,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! src/xrc/xh_grid.cpp src/xrc/xh_html.cpp src/xrc/xh_hyperlink.cpp + src/xrc/xh_infobar.cpp src/xrc/xh_listb.cpp src/xrc/xh_listbk.cpp src/xrc/xh_listc.cpp @@ -3168,6 +3169,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! wx/xrc/xh_grid.h wx/xrc/xh_html.h wx/xrc/xh_hyperlink.h + wx/xrc/xh_infobar.h wx/xrc/xh_listb.h wx/xrc/xh_listbk.h wx/xrc/xh_listc.h diff --git a/build/cmake/files.cmake b/build/cmake/files.cmake index 068d7076a2..9ab246ab81 100644 --- a/build/cmake/files.cmake +++ b/build/cmake/files.cmake @@ -2911,6 +2911,7 @@ set(XRC_SRC src/xrc/xh_grid.cpp src/xrc/xh_html.cpp src/xrc/xh_hyperlink.cpp + src/xrc/xh_infobar.cpp src/xrc/xh_listb.cpp src/xrc/xh_listbk.cpp src/xrc/xh_listc.cpp @@ -2984,6 +2985,7 @@ set(XRC_HDR wx/xrc/xh_grid.h wx/xrc/xh_html.h wx/xrc/xh_hyperlink.h + wx/xrc/xh_infobar.h wx/xrc/xh_listb.h wx/xrc/xh_listbk.h wx/xrc/xh_listc.h diff --git a/build/files b/build/files index 81488f00b6..e07a42fbc7 100644 --- a/build/files +++ b/build/files @@ -2855,6 +2855,7 @@ XRC_SRC = src/xrc/xh_grid.cpp src/xrc/xh_html.cpp src/xrc/xh_hyperlink.cpp + src/xrc/xh_infobar.cpp src/xrc/xh_listb.cpp src/xrc/xh_listbk.cpp src/xrc/xh_listc.cpp @@ -2926,6 +2927,7 @@ XRC_HDR = wx/xrc/xh_grid.h wx/xrc/xh_html.h wx/xrc/xh_hyperlink.h + wx/xrc/xh_infobar.h wx/xrc/xh_listb.h wx/xrc/xh_listbk.h wx/xrc/xh_listc.h diff --git a/build/msw/makefile.bcc b/build/msw/makefile.bcc index fb6231dad8..17b5d734a9 100644 --- a/build/msw/makefile.bcc +++ b/build/msw/makefile.bcc @@ -1238,6 +1238,7 @@ XRCDLL_OBJECTS = \ $(OBJS)\xrcdll_xh_grid.obj \ $(OBJS)\xrcdll_xh_html.obj \ $(OBJS)\xrcdll_xh_hyperlink.obj \ + $(OBJS)\xrcdll_xh_infobar.obj \ $(OBJS)\xrcdll_xh_listb.obj \ $(OBJS)\xrcdll_xh_listbk.obj \ $(OBJS)\xrcdll_xh_listc.obj \ @@ -1316,6 +1317,7 @@ XRCLIB_OBJECTS = \ $(OBJS)\xrclib_xh_grid.obj \ $(OBJS)\xrclib_xh_html.obj \ $(OBJS)\xrclib_xh_hyperlink.obj \ + $(OBJS)\xrclib_xh_infobar.obj \ $(OBJS)\xrclib_xh_listb.obj \ $(OBJS)\xrclib_xh_listbk.obj \ $(OBJS)\xrclib_xh_listc.obj \ @@ -1710,6 +1712,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_xh_grid.obj \ $(OBJS)\monodll_xh_html.obj \ $(OBJS)\monodll_xh_hyperlink.obj \ + $(OBJS)\monodll_xh_infobar.obj \ $(OBJS)\monodll_xh_listb.obj \ $(OBJS)\monodll_xh_listbk.obj \ $(OBJS)\monodll_xh_listc.obj \ @@ -2542,6 +2545,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_xh_grid.obj \ $(OBJS)\monolib_xh_html.obj \ $(OBJS)\monolib_xh_hyperlink.obj \ + $(OBJS)\monolib_xh_infobar.obj \ $(OBJS)\monolib_xh_listb.obj \ $(OBJS)\monolib_xh_listbk.obj \ $(OBJS)\monolib_xh_listc.obj \ @@ -7338,6 +7342,9 @@ $(OBJS)\monodll_xh_html.obj: ..\..\src\xrc\xh_html.cpp $(OBJS)\monodll_xh_hyperlink.obj: ..\..\src\xrc\xh_hyperlink.cpp $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_hyperlink.cpp +$(OBJS)\monodll_xh_infobar.obj: ..\..\src\xrc\xh_infobar.cpp + $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_infobar.cpp + $(OBJS)\monodll_xh_listb.obj: ..\..\src\xrc\xh_listb.cpp $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_listb.cpp @@ -9887,6 +9894,9 @@ $(OBJS)\monolib_xh_html.obj: ..\..\src\xrc\xh_html.cpp $(OBJS)\monolib_xh_hyperlink.obj: ..\..\src\xrc\xh_hyperlink.cpp $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_hyperlink.cpp +$(OBJS)\monolib_xh_infobar.obj: ..\..\src\xrc\xh_infobar.cpp + $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_infobar.cpp + $(OBJS)\monolib_xh_listb.obj: ..\..\src\xrc\xh_listb.cpp $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_listb.cpp @@ -16136,6 +16146,9 @@ $(OBJS)\xrcdll_xh_html.obj: ..\..\src\xrc\xh_html.cpp $(OBJS)\xrcdll_xh_hyperlink.obj: ..\..\src\xrc\xh_hyperlink.cpp $(CXX) -q -c -P -o$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_hyperlink.cpp +$(OBJS)\xrcdll_xh_infobar.obj: ..\..\src\xrc\xh_infobar.cpp + $(CXX) -q -c -P -o$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_infobar.cpp + $(OBJS)\xrcdll_xh_listb.obj: ..\..\src\xrc\xh_listb.cpp $(CXX) -q -c -P -o$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_listb.cpp @@ -16343,6 +16356,9 @@ $(OBJS)\xrclib_xh_html.obj: ..\..\src\xrc\xh_html.cpp $(OBJS)\xrclib_xh_hyperlink.obj: ..\..\src\xrc\xh_hyperlink.cpp $(CXX) -q -c -P -o$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_hyperlink.cpp +$(OBJS)\xrclib_xh_infobar.obj: ..\..\src\xrc\xh_infobar.cpp + $(CXX) -q -c -P -o$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_infobar.cpp + $(OBJS)\xrclib_xh_listb.obj: ..\..\src\xrc\xh_listb.cpp $(CXX) -q -c -P -o$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_listb.cpp diff --git a/build/msw/makefile.gcc b/build/msw/makefile.gcc index fd29216354..ed6ef1c1b5 100644 --- a/build/msw/makefile.gcc +++ b/build/msw/makefile.gcc @@ -1245,6 +1245,7 @@ XRCDLL_OBJECTS = \ $(OBJS)\xrcdll_xh_grid.o \ $(OBJS)\xrcdll_xh_html.o \ $(OBJS)\xrcdll_xh_hyperlink.o \ + $(OBJS)\xrcdll_xh_infobar.o \ $(OBJS)\xrcdll_xh_listb.o \ $(OBJS)\xrcdll_xh_listbk.o \ $(OBJS)\xrcdll_xh_listc.o \ @@ -1323,6 +1324,7 @@ XRCLIB_OBJECTS = \ $(OBJS)\xrclib_xh_grid.o \ $(OBJS)\xrclib_xh_html.o \ $(OBJS)\xrclib_xh_hyperlink.o \ + $(OBJS)\xrclib_xh_infobar.o \ $(OBJS)\xrclib_xh_listb.o \ $(OBJS)\xrclib_xh_listbk.o \ $(OBJS)\xrclib_xh_listc.o \ @@ -1735,6 +1737,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_xh_grid.o \ $(OBJS)\monodll_xh_html.o \ $(OBJS)\monodll_xh_hyperlink.o \ + $(OBJS)\monodll_xh_infobar.o \ $(OBJS)\monodll_xh_listb.o \ $(OBJS)\monodll_xh_listbk.o \ $(OBJS)\monodll_xh_listc.o \ @@ -2573,6 +2576,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_xh_grid.o \ $(OBJS)\monolib_xh_html.o \ $(OBJS)\monolib_xh_hyperlink.o \ + $(OBJS)\monolib_xh_infobar.o \ $(OBJS)\monolib_xh_listb.o \ $(OBJS)\monolib_xh_listbk.o \ $(OBJS)\monolib_xh_listc.o \ @@ -7520,6 +7524,9 @@ $(OBJS)\monodll_xh_html.o: ../../src/xrc/xh_html.cpp $(OBJS)\monodll_xh_hyperlink.o: ../../src/xrc/xh_hyperlink.cpp $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< +$(OBJS)\monodll_xh_infobar.o: ../../src/xrc/xh_infobar.cpp + $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< + $(OBJS)\monodll_xh_listb.o: ../../src/xrc/xh_listb.cpp $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< @@ -10069,6 +10076,9 @@ $(OBJS)\monolib_xh_html.o: ../../src/xrc/xh_html.cpp $(OBJS)\monolib_xh_hyperlink.o: ../../src/xrc/xh_hyperlink.cpp $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< +$(OBJS)\monolib_xh_infobar.o: ../../src/xrc/xh_infobar.cpp + $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< + $(OBJS)\monolib_xh_listb.o: ../../src/xrc/xh_listb.cpp $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< @@ -16318,6 +16328,9 @@ $(OBJS)\xrcdll_xh_html.o: ../../src/xrc/xh_html.cpp $(OBJS)\xrcdll_xh_hyperlink.o: ../../src/xrc/xh_hyperlink.cpp $(CXX) -c -o $@ $(XRCDLL_CXXFLAGS) $(CPPDEPS) $< +$(OBJS)\xrcdll_xh_infobar.o: ../../src/xrc/xh_infobar.cpp + $(CXX) -c -o $@ $(XRCDLL_CXXFLAGS) $(CPPDEPS) $< + $(OBJS)\xrcdll_xh_listb.o: ../../src/xrc/xh_listb.cpp $(CXX) -c -o $@ $(XRCDLL_CXXFLAGS) $(CPPDEPS) $< @@ -16525,6 +16538,9 @@ $(OBJS)\xrclib_xh_html.o: ../../src/xrc/xh_html.cpp $(OBJS)\xrclib_xh_hyperlink.o: ../../src/xrc/xh_hyperlink.cpp $(CXX) -c -o $@ $(XRCLIB_CXXFLAGS) $(CPPDEPS) $< +$(OBJS)\xrclib_xh_infobar.o: ../../src/xrc/xh_infobar.cpp + $(CXX) -c -o $@ $(XRCLIB_CXXFLAGS) $(CPPDEPS) $< + $(OBJS)\xrclib_xh_listb.o: ../../src/xrc/xh_listb.cpp $(CXX) -c -o $@ $(XRCLIB_CXXFLAGS) $(CPPDEPS) $< diff --git a/build/msw/makefile.vc b/build/msw/makefile.vc index 4fa82decac..885bcf42ff 100644 --- a/build/msw/makefile.vc +++ b/build/msw/makefile.vc @@ -1375,6 +1375,7 @@ XRCDLL_OBJECTS = \ $(OBJS)\xrcdll_xh_grid.obj \ $(OBJS)\xrcdll_xh_html.obj \ $(OBJS)\xrcdll_xh_hyperlink.obj \ + $(OBJS)\xrcdll_xh_infobar.obj \ $(OBJS)\xrcdll_xh_listb.obj \ $(OBJS)\xrcdll_xh_listbk.obj \ $(OBJS)\xrcdll_xh_listc.obj \ @@ -1459,6 +1460,7 @@ XRCLIB_OBJECTS = \ $(OBJS)\xrclib_xh_grid.obj \ $(OBJS)\xrclib_xh_html.obj \ $(OBJS)\xrclib_xh_hyperlink.obj \ + $(OBJS)\xrclib_xh_infobar.obj \ $(OBJS)\xrclib_xh_listb.obj \ $(OBJS)\xrclib_xh_listbk.obj \ $(OBJS)\xrclib_xh_listc.obj \ @@ -2027,6 +2029,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_xh_grid.obj \ $(OBJS)\monodll_xh_html.obj \ $(OBJS)\monodll_xh_hyperlink.obj \ + $(OBJS)\monodll_xh_infobar.obj \ $(OBJS)\monodll_xh_listb.obj \ $(OBJS)\monodll_xh_listbk.obj \ $(OBJS)\monodll_xh_listc.obj \ @@ -2865,6 +2868,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_xh_grid.obj \ $(OBJS)\monolib_xh_html.obj \ $(OBJS)\monolib_xh_hyperlink.obj \ + $(OBJS)\monolib_xh_infobar.obj \ $(OBJS)\monolib_xh_listb.obj \ $(OBJS)\monolib_xh_listbk.obj \ $(OBJS)\monolib_xh_listc.obj \ @@ -8047,6 +8051,9 @@ $(OBJS)\monodll_xh_html.obj: ..\..\src\xrc\xh_html.cpp $(OBJS)\monodll_xh_hyperlink.obj: ..\..\src\xrc\xh_hyperlink.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_hyperlink.cpp +$(OBJS)\monodll_xh_infobar.obj: ..\..\src\xrc\xh_infobar.cpp + $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_infobar.cpp + $(OBJS)\monodll_xh_listb.obj: ..\..\src\xrc\xh_listb.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_listb.cpp @@ -10596,6 +10603,9 @@ $(OBJS)\monolib_xh_html.obj: ..\..\src\xrc\xh_html.cpp $(OBJS)\monolib_xh_hyperlink.obj: ..\..\src\xrc\xh_hyperlink.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_hyperlink.cpp +$(OBJS)\monolib_xh_infobar.obj: ..\..\src\xrc\xh_infobar.cpp + $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_infobar.cpp + $(OBJS)\monolib_xh_listb.obj: ..\..\src\xrc\xh_listb.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_listb.cpp @@ -16845,6 +16855,9 @@ $(OBJS)\xrcdll_xh_html.obj: ..\..\src\xrc\xh_html.cpp $(OBJS)\xrcdll_xh_hyperlink.obj: ..\..\src\xrc\xh_hyperlink.cpp $(CXX) /c /nologo /TP /Fo$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_hyperlink.cpp +$(OBJS)\xrcdll_xh_infobar.obj: ..\..\src\xrc\xh_infobar.cpp + $(CXX) /c /nologo /TP /Fo$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_infobar.cpp + $(OBJS)\xrcdll_xh_listb.obj: ..\..\src\xrc\xh_listb.cpp $(CXX) /c /nologo /TP /Fo$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_listb.cpp @@ -17052,6 +17065,9 @@ $(OBJS)\xrclib_xh_html.obj: ..\..\src\xrc\xh_html.cpp $(OBJS)\xrclib_xh_hyperlink.obj: ..\..\src\xrc\xh_hyperlink.cpp $(CXX) /c /nologo /TP /Fo$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_hyperlink.cpp +$(OBJS)\xrclib_xh_infobar.obj: ..\..\src\xrc\xh_infobar.cpp + $(CXX) /c /nologo /TP /Fo$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_infobar.cpp + $(OBJS)\xrclib_xh_listb.obj: ..\..\src\xrc\xh_listb.cpp $(CXX) /c /nologo /TP /Fo$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_listb.cpp diff --git a/build/msw/wx_vc7_core.vcproj b/build/msw/wx_vc7_core.vcproj index 4bf5be7495..ed6ea66d7d 100644 --- a/build/msw/wx_vc7_core.vcproj +++ b/build/msw/wx_vc7_core.vcproj @@ -3014,6 +3014,9 @@ + + diff --git a/build/msw/wx_vc7_xrc.vcproj b/build/msw/wx_vc7_xrc.vcproj index 4460f3eb32..e9c12e9a17 100644 --- a/build/msw/wx_vc7_xrc.vcproj +++ b/build/msw/wx_vc7_xrc.vcproj @@ -512,6 +512,9 @@ + + @@ -715,6 +718,9 @@ + + diff --git a/build/msw/wx_vc8_core.vcproj b/build/msw/wx_vc8_core.vcproj index 65148aa4c8..b342f06437 100644 --- a/build/msw/wx_vc8_core.vcproj +++ b/build/msw/wx_vc8_core.vcproj @@ -4520,6 +4520,10 @@ RelativePath="..\..\include\wx\xrc\xh_hyperlink.h" > + + diff --git a/build/msw/wx_vc8_xrc.vcproj b/build/msw/wx_vc8_xrc.vcproj index 59bfca1714..c2e0401293 100644 --- a/build/msw/wx_vc8_xrc.vcproj +++ b/build/msw/wx_vc8_xrc.vcproj @@ -1185,6 +1185,10 @@ RelativePath="..\..\include\wx\xrc\xh_hyperlink.h" > + + @@ -1455,6 +1459,10 @@ RelativePath="..\..\src\xrc\xh_hyperlink.cpp" > + + diff --git a/build/msw/wx_vc9_core.vcproj b/build/msw/wx_vc9_core.vcproj index 7fa0fffc0b..7f19366ef6 100644 --- a/build/msw/wx_vc9_core.vcproj +++ b/build/msw/wx_vc9_core.vcproj @@ -4516,6 +4516,10 @@ RelativePath="..\..\include\wx\xrc\xh_hyperlink.h" > + + diff --git a/build/msw/wx_vc9_xrc.vcproj b/build/msw/wx_vc9_xrc.vcproj index 40fc608339..0a0fc1e3bb 100644 --- a/build/msw/wx_vc9_xrc.vcproj +++ b/build/msw/wx_vc9_xrc.vcproj @@ -1181,6 +1181,10 @@ RelativePath="..\..\include\wx\xrc\xh_hyperlink.h" > + + @@ -1451,6 +1455,10 @@ RelativePath="..\..\src\xrc\xh_hyperlink.cpp" > + + diff --git a/build/msw/wx_xrc.vcxproj b/build/msw/wx_xrc.vcxproj index 4ef27464de..90b73196f4 100644 --- a/build/msw/wx_xrc.vcxproj +++ b/build/msw/wx_xrc.vcxproj @@ -486,6 +486,7 @@ + @@ -585,6 +586,7 @@ + @@ -625,4 +627,4 @@ - + \ No newline at end of file diff --git a/build/msw/wx_xrc.vcxproj.filters b/build/msw/wx_xrc.vcxproj.filters index 10cf2674ba..f6da18c850 100644 --- a/build/msw/wx_xrc.vcxproj.filters +++ b/build/msw/wx_xrc.vcxproj.filters @@ -121,6 +121,9 @@ Source Files + + Source Files + Source Files @@ -335,6 +338,9 @@ Common Headers + + Common Headers + Common Headers diff --git a/build/osx/wxcocoa.xcodeproj/project.pbxproj b/build/osx/wxcocoa.xcodeproj/project.pbxproj index aa3402905e..69cf2c48ae 100644 --- a/build/osx/wxcocoa.xcodeproj/project.pbxproj +++ b/build/osx/wxcocoa.xcodeproj/project.pbxproj @@ -2286,6 +2286,9 @@ CE32C5250F2834D4B81BE898 /* appprogress.mm in Sources */ = {isa = PBXBuildFile; fileRef = BD91A34971FB3D0299B894A5 /* appprogress.mm */; }; CE32C5250F2834D4B81BE899 /* appprogress.mm in Sources */ = {isa = PBXBuildFile; fileRef = BD91A34971FB3D0299B894A5 /* appprogress.mm */; }; CE32C5250F2834D4B81BE89A /* appprogress.mm in Sources */ = {isa = PBXBuildFile; fileRef = BD91A34971FB3D0299B894A5 /* appprogress.mm */; }; + EA10DA3199813E90B39C70D3 /* xh_infobar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 45C65E309F3A39598C043657 /* xh_infobar.cpp */; }; + EA10DA3199813E90B39C70D4 /* xh_infobar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 45C65E309F3A39598C043657 /* xh_infobar.cpp */; }; + EA10DA3199813E90B39C70D5 /* xh_infobar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 45C65E309F3A39598C043657 /* xh_infobar.cpp */; }; CEBAAB0C77983358A601BFFE /* jdmaster.c in Sources */ = {isa = PBXBuildFile; fileRef = ED19EF377E653F71B1876259 /* jdmaster.c */; }; CEBAAB0C77983358A601BFFF /* jdmaster.c in Sources */ = {isa = PBXBuildFile; fileRef = ED19EF377E653F71B1876259 /* jdmaster.c */; }; CEBAAB0C77983358A601C000 /* jdmaster.c in Sources */ = {isa = PBXBuildFile; fileRef = ED19EF377E653F71B1876259 /* jdmaster.c */; }; @@ -4629,6 +4632,7 @@ CD72950967F33809931D4968 /* LexAbaqus.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexAbaqus.cxx; path = ../../src/stc/scintilla/lexers/LexAbaqus.cxx; sourceTree = ""; }; CDA232B9FFD33B7482E69B58 /* xh_tglbtn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_tglbtn.cpp; path = ../../src/xrc/xh_tglbtn.cpp; sourceTree = ""; }; CDB4AB7CDABA3A54B4F8207B /* imaggif.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = imaggif.cpp; path = ../../src/common/imaggif.cpp; sourceTree = ""; }; + 45C65E309F3A39598C043657 /* xh_infobar.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = xh_infobar.cpp; path = ../../src/xrc/xh_infobar.cpp; sourceTree = ""; }; CF23AF3EFC5731B2A5BCF4A3 /* choicdgg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = choicdgg.cpp; path = ../../src/generic/choicdgg.cpp; sourceTree = ""; }; CF4F4F5211933057824B5621 /* button_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = button_osx.cpp; path = ../../src/osx/button_osx.cpp; sourceTree = ""; }; CF502E0E4D853CBBBEC885EF /* LexerSimple.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexerSimple.cxx; path = ../../src/stc/scintilla/lexlib/LexerSimple.cxx; sourceTree = ""; }; @@ -5776,6 +5780,7 @@ 93B77251C0E0382D9A8E113D /* xh_grid.cpp */, 889FFA9573A835F280A21CB4 /* xh_html.cpp */, B4E4032CA9883CA4B25BE082 /* xh_hyperlink.cpp */, + 45C65E309F3A39598C043657 /* xh_infobar.cpp */, B4DCCF66D880330A9EE9B6B2 /* xh_listb.cpp */, 57EB0085AFB93BFC88AC6FFC /* xh_listbk.cpp */, 5F5D02D60DCA35358B2780C7 /* xh_listc.cpp */, @@ -7943,6 +7948,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + EA10DA3199813E90B39C70D5 /* xh_infobar.cpp in Sources */, 8F949B9010863F66A58FFEF3 /* xh_activityindicator.cpp in Sources */, FBE4DB30865D3177B3A9993D /* xh_animatctrl.cpp in Sources */, 702616D38A5B345D9CC87116 /* xh_bannerwindow.cpp in Sources */, @@ -8151,6 +8157,7 @@ 9FB1E1763EFA334CA0C07C4A /* tarstrm.cpp in Sources */, 2E4747E0736B30569ACD5423 /* textbuf.cpp in Sources */, 6167245C417A32179EC37D2E /* textfile.cpp in Sources */, + EA10DA3199813E90B39C70D4 /* xh_infobar.cpp in Sources */, B20B7313102232A4B3E01ABB /* threadinfo.cpp in Sources */, 98AD7D0478BA36249B03C624 /* time.cpp in Sources */, 7FC3D17B3C853FE58841002E /* timercmn.cpp in Sources */, @@ -9378,6 +9385,7 @@ 9FB1E1763EFA334CA0C07C49 /* tarstrm.cpp in Sources */, 2E4747E0736B30569ACD5422 /* textbuf.cpp in Sources */, 6167245C417A32179EC37D2D /* textfile.cpp in Sources */, + EA10DA3199813E90B39C70D3 /* xh_infobar.cpp in Sources */, B20B7313102232A4B3E01ABA /* threadinfo.cpp in Sources */, 98AD7D0478BA36249B03C623 /* time.cpp in Sources */, 7FC3D17B3C853FE58841002D /* timercmn.cpp in Sources */, diff --git a/build/osx/wxiphone.xcodeproj/project.pbxproj b/build/osx/wxiphone.xcodeproj/project.pbxproj index 0b90d8c331..f1f6b7986b 100644 --- a/build/osx/wxiphone.xcodeproj/project.pbxproj +++ b/build/osx/wxiphone.xcodeproj/project.pbxproj @@ -685,6 +685,7 @@ CDC0FF253B503BA19693D68D /* xh_propdlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 49BF55FA3427335097F99A2C /* xh_propdlg.cpp */; }; CE17002B5B7E375582747639 /* xh_choic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 89EC3C6F9AEF3F6DA7CEB3B3 /* xh_choic.cpp */; }; CE2C937117FE3AB599DD30B9 /* sound_osx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9B2316B32653DA0939A372D /* sound_osx.cpp */; }; + EA10DA3199813E90B39C70D3 /* xh_infobar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 45C65E309F3A39598C043657 /* xh_infobar.cpp */; }; CEBAAB0C77983358A601BFFE /* jdmaster.c in Sources */ = {isa = PBXBuildFile; fileRef = ED19EF377E653F71B1876259 /* jdmaster.c */; }; CEC6430AEB6E3200BFA75D07 /* jfdctint.c in Sources */ = {isa = PBXBuildFile; fileRef = 90EC2A5B80EE3031BA4087B9 /* jfdctint.c */; }; CEE0D7A7D5D8323B9957A780 /* notifmsgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 924AA3A156F834BCA1A57976 /* notifmsgg.cpp */; }; @@ -1556,6 +1557,7 @@ CD72950967F33809931D4968 /* LexAbaqus.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexAbaqus.cxx; path = ../../src/stc/scintilla/lexers/LexAbaqus.cxx; sourceTree = ""; }; CDA232B9FFD33B7482E69B58 /* xh_tglbtn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_tglbtn.cpp; path = ../../src/xrc/xh_tglbtn.cpp; sourceTree = ""; }; CDB4AB7CDABA3A54B4F8207B /* imaggif.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = imaggif.cpp; path = ../../src/common/imaggif.cpp; sourceTree = ""; }; + 45C65E309F3A39598C043657 /* xh_infobar.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = xh_infobar.cpp; path = ../../src/xrc/xh_infobar.cpp; sourceTree = ""; }; CF23AF3EFC5731B2A5BCF4A3 /* choicdgg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = choicdgg.cpp; path = ../../src/generic/choicdgg.cpp; sourceTree = ""; }; CF4F4F5211933057824B5621 /* button_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = button_osx.cpp; path = ../../src/osx/button_osx.cpp; sourceTree = ""; }; CF502E0E4D853CBBBEC885EF /* LexerSimple.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexerSimple.cxx; path = ../../src/stc/scintilla/lexlib/LexerSimple.cxx; sourceTree = ""; }; @@ -2330,6 +2332,7 @@ 60328E6EA3793DA990E18FC1 /* xrc */ = { isa = PBXGroup; children = ( + 45C65E309F3A39598C043657 /* xh_infobar.cpp */, BB60FA0E3524391D8581AD7C /* xh_activityindicator.cpp */, 8C1E755F2408363288B2CE69 /* xh_animatctrl.cpp */, 3116006345D833509865FF7F /* xh_bannerwindow.cpp */, @@ -3345,6 +3348,7 @@ F3AC352D6DAE3A12A5664768 /* styleparams.cpp in Sources */, 2A7640E4210334AC93366900 /* winpars.cpp in Sources */, 87AA9C5D887B3C31A2AFB49D /* htmllbox.cpp in Sources */, + EA10DA3199813E90B39C70D3 /* xh_infobar.cpp in Sources */, 8F949B9010863F66A58FFEF1 /* xh_activityindicator.cpp in Sources */, FBE4DB30865D3177B3A9993B /* xh_animatctrl.cpp in Sources */, 702616D38A5B345D9CC87114 /* xh_bannerwindow.cpp in Sources */, diff --git a/docs/doxygen/overviews/xrc_format.h b/docs/doxygen/overviews/xrc_format.h index 83b8d7681a..6dcf45c947 100644 --- a/docs/doxygen/overviews/xrc_format.h +++ b/docs/doxygen/overviews/xrc_format.h @@ -392,6 +392,16 @@ Examples: @endcode +@subsection overview_xrcformat_type_showeffect Show Effect + +One of the @ref wxShowEffect values. + +Example: +@code +wxSHOW_EFFECT_EXPAND +@endcode + + @subsection overview_xrcformat_type_font Font XRC uses similar, but more flexible, abstract description of fonts to that @@ -1221,6 +1231,40 @@ page. @endTable +@subsubsection xrc_wxinfobar wxInfoBar + +@beginTable +@hdr3col{property, type, description} +@row3col{showeffect, @ref overview_xrcformat_type_showeffect, + The effect to use when showing the bar (optional).} +@row3col{hideeffect, @ref overview_xrcformat_type_showeffect, + The effect to use when hiding the bar (optional).} +@row3col{effectduration, integer, + The duration of the animation used when showing or hiding the bar + (optional).} +@row3col{button, object, + Add a button to be shown in the info bar (see wxInfoBar::AddButton); + this property is of class "button" has name (can be one of standard + button ID) and has optional label property. If no buttons are added + to the info bar, the default "Close" button will be shown.} +@endTable + +Example: +@code + + 1000 + wxSHOW_EFFECT_EXPAND + wxSHOW_EFFECT_SLIDE_TO_RIGHT + + + + + +@endcode + +@since 3.1.3 + + @subsubsection xrc_wxlistbox wxListBox @beginTable diff --git a/include/wx/xrc/xh_all.h b/include/wx/xrc/xh_all.h index c61a389238..df10787b6d 100644 --- a/include/wx/xrc/xh_all.h +++ b/include/wx/xrc/xh_all.h @@ -45,6 +45,7 @@ #include "wx/xrc/xh_html.h" #include "wx/xrc/xh_htmllbox.h" #include "wx/xrc/xh_hyperlink.h" +#include "wx/xrc/xh_infobar.h" #include "wx/xrc/xh_listb.h" #include "wx/xrc/xh_listc.h" #include "wx/xrc/xh_listbk.h" diff --git a/include/wx/xrc/xh_infobar.h b/include/wx/xrc/xh_infobar.h new file mode 100644 index 0000000000..7c60437991 --- /dev/null +++ b/include/wx/xrc/xh_infobar.h @@ -0,0 +1,36 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: wx/xrc/xh_infobar.h +// Purpose: XML resource handler for wxInfoBar +// Author: Ilya Sinitsyn +// Created: 2019-09-25 +// Copyright: (c) 2019 TT-Solutions SARL +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_XH_INFOBAR_H_ +#define _WX_XH_INFOBAR_H_ + +#include "wx/xrc/xmlres.h" + +#if wxUSE_XRC && wxUSE_INFOBAR + +class WXDLLIMPEXP_XRC wxInfoBarXmlHandler : public wxXmlResourceHandler +{ + wxDECLARE_DYNAMIC_CLASS(wxInfoBarXmlHandler); + +public: + wxInfoBarXmlHandler(); + virtual wxObject *DoCreateResource() wxOVERRIDE; + virtual bool CanHandle(wxXmlNode *node) wxOVERRIDE; + +private: + wxShowEffect GetShowEffect(wxString const& param); + + bool m_insideBar; + + wxString m_effectNames[wxSHOW_EFFECT_MAX]; +}; + +#endif // wxUSE_XRC && wxUSE_INFOBAR + +#endif // _WX_XH_INFOBAR_H_ diff --git a/misc/schema/xrc_schema.rnc b/misc/schema/xrc_schema.rnc index 3716e3bc18..7c8d5db492 100644 --- a/misc/schema/xrc_schema.rnc +++ b/misc/schema/xrc_schema.rnc @@ -193,6 +193,7 @@ builtinWindowClasses = | wxGrid | wxHtmlWindow | wxHyperlinkCtrl + | wxInfoBar | wxListBox | wxListbook | wxListCtrl @@ -293,6 +294,7 @@ builtinClassesNames = | "wxGrid" | "wxHtmlWindow" | "wxHyperlinkCtrl" + | "wxInfoBar" | "wxListBox" | "wxListbook" | "wxListCtrl" @@ -444,6 +446,12 @@ t_unsigned = xsd:nonNegativeInteger t_float = xsd:float t_direction = "wxLEFT" | "wxRIGHT" | "wxTOP" | "wxBOTTOM" t_style = xsd:string { pattern = "(wx[A-Z0-9_]+)( *\| *(wx[A-Z0-9_]+))*" } +t_showeffect = "wxSHOW_EFFECT_NONE" | "wxSHOW_EFFECT_ROLL_TO_LEFT" | + "wxSHOW_EFFECT_ROLL_TO_RIGHT" | "wxSHOW_EFFECT_ROLL_TO_TOP" | + "wxSHOW_EFFECT_ROLL_TO_BOTTOM" | "wxSHOW_EFFECT_SLIDE_TO_LEFT" | + "wxSHOW_EFFECT_SLIDE_TO_RIGHT" | "wxSHOW_EFFECT_SLIDE_TO_TOP" | + "wxSHOW_EFFECT_SLIDE_TO_BOTTOM" | "wxSHOW_EFFECT_BLEND" | + "wxSHOW_EFFECT_EXPAND" t_url = string t_colour = xsd:string { pattern = "#[0-9a-zA-Z][0-9a-zA-Z][0-9a-zA-Z][0-9a-zA-Z][0-9a-zA-Z][0-9a-zA-Z]" } | @@ -1020,6 +1028,23 @@ wxHyperlinkCtrl = } +wxInfoBar = + element object { + attribute class { "wxInfoBar" } & + stdObjectNodeAttributes & + stdWindowProperties & + [xrc:p="o"] element effectduration {_, t_integer }* & + [xrc:p="o"] element showeffect {_, t_showeffect }* & + [xrc:p="o"] element hideeffect {_, t_showeffect }* & + element object { + attribute class { "button" } & + attribute name { t_identifier }? & + platform & + [xrc:p="o"] element label {_, t_text }* + }* + } + + wxListBox = element object { attribute class { "wxListBox" } & diff --git a/samples/xrc/myframe.cpp b/samples/xrc/myframe.cpp index f09eea2fdc..7fcf80ccbb 100644 --- a/samples/xrc/myframe.cpp +++ b/samples/xrc/myframe.cpp @@ -52,6 +52,7 @@ #include "objrefdlg.h" // For functions to manipulate the corresponding controls. #include "wx/animate.h" +#include "wx/infobar.h" #include "wx/treectrl.h" #include "wx/listctrl.h" @@ -265,6 +266,12 @@ void MyFrame::OnControlsToolOrMenuCommand(wxCommandEvent& WXUNUSED(event)) XRCID("controls_animation_button_play")); #endif +#if wxUSE_INFOBAR + // Show the message on button click + dlg.Bind(wxEVT_BUTTON, &MyFrame::OnInfoBarShowMessage, this, + XRCID("controls_infobar_button_message")); +#endif + // All done. Show the dialog. dlg.ShowModal(); } @@ -405,3 +412,18 @@ void MyFrame::OnAboutToolOrMenuCommand(wxCommandEvent& WXUNUSED(event)) wxMessageBox(msg, _("About XML resources demo"), wxOK | wxICON_INFORMATION, this); } + +void MyFrame::OnInfoBarShowMessage(wxCommandEvent& event) +{ +#if wxUSE_INFOBAR + // get the pointers we need + wxButton *btn = wxDynamicCast(event.GetEventObject(), wxButton); + if ( !btn || !btn->GetParent() ) + return; + + wxWindow *win = btn->GetParent(); + wxInfoBar *ctrl = XRCCTRL(*win, "controls_infobar", wxInfoBar); + ctrl->ShowMessage("Message", wxICON_QUESTION); +#endif + +} diff --git a/samples/xrc/myframe.h b/samples/xrc/myframe.h index c4e88deba9..5315e0bd0d 100644 --- a/samples/xrc/myframe.h +++ b/samples/xrc/myframe.h @@ -52,6 +52,7 @@ private: void OnVariants(wxCommandEvent& event); void OnRecursiveLoad(wxCommandEvent& event); void OnAnimationCtrlPlay(wxCommandEvent& event); + void OnInfoBarShowMessage(wxCommandEvent& event); // Any class wishing to process wxWidgets events must use this macro wxDECLARE_EVENT_TABLE(); diff --git a/samples/xrc/rc/controls.xrc b/samples/xrc/rc/controls.xrc index 40083a8379..993b2a2441 100644 --- a/samples/xrc/rc/controls.xrc +++ b/samples/xrc/rc/controls.xrc @@ -547,6 +547,39 @@ lay them out using wxSizers, absolute positioning, everything you like! + + + + + wxVERTICAL + + + wxALIGN_CENTRE|wxALL + 5 + + + + + + + + + + + wxEXPAND + + 1000 + wxSHOW_EFFECT_EXPAND + wxSHOW_EFFECT_SLIDE_TO_RIGHT + + + + + + + + + diff --git a/src/xrc/descrip.mms b/src/xrc/descrip.mms index 6deb8c4474..b147e4e754 100644 --- a/src/xrc/descrip.mms +++ b/src/xrc/descrip.mms @@ -59,7 +59,7 @@ OBJECTS=xh_bmp.obj,xh_bmpbt.obj,xh_bttn.obj,xh_cald.obj,xh_chckb.obj,\ xh_filectrl.obj,xh_cmdlinkbn.obj,xh_toolbk.obj,xh_bannerwindow.obj,\ xh_timectrl.obj,xmlreshandler.obj,xh_ribbon.obj,xh_auitoolb.obj,\ xh_aui.obj,xh_simplebook.obj,xh_activityindicator.obj,\ - xh_dataview.obj + xh_dataview.obj,xh_infobar.obj SOURCES =xh_bmp.cpp,xh_bmpbt.cpp,xh_bttn.cpp,xh_cald.cpp,xh_chckb.cpp,\ xh_chckl.cpp,xh_choic.cpp,xh_combo.cpp,xh_dlg.cpp,xh_frame.cpp,\ @@ -77,7 +77,7 @@ SOURCES =xh_bmp.cpp,xh_bmpbt.cpp,xh_bttn.cpp,xh_cald.cpp,xh_chckb.cpp,\ xh_filectrl.cpp,xh_cmdlinkbn.cpp,xh_toolbk.cpp,xh_bannerwindow.cpp,\ xh_timectrl.cpp,xmlreshandler.cpp,xh_ribbon.cpp,xh_auitoolb.cpp,\ xh_aui.cpp,xh_simplebook.cpp,xh_activityindicator.cpp,\ - xh_dataview.cpp + xh_dataview.cpp,xh_infobar.cpp all : $(SOURCES) $(MMS)$(MMSQUALIFIERS) $(OBJECTS) @@ -143,6 +143,7 @@ xh_listbk.obj : xh_listbk.cpp xh_choicbk.obj : xh_choicbk.cpp xh_dirpicker.obj : xh_dirpicker.cpp xh_hyperlink.obj : xh_hyperlink.cpp +xh_infobar.obj : xh_infobar.cpp xh_filepicker.obj : xh_filepicker.cpp xh_fontpicker.obj : xh_fontpicker.cpp xh_clrpicker.obj : xh_clrpicker.cpp diff --git a/src/xrc/xh_infobar.cpp b/src/xrc/xh_infobar.cpp new file mode 100644 index 0000000000..23d95efc85 --- /dev/null +++ b/src/xrc/xh_infobar.cpp @@ -0,0 +1,111 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: src/xrc/xh_infobar.cpp +// Purpose: XML resource handler for wxInfoBar +// Author: Ilya Sinitsyn +// Created: 2019-09-25 +// Copyright: (c) 2019 TT-Solutions SARL +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +// For compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ + #pragma hdrstop +#endif + +#if wxUSE_XRC && wxUSE_INFOBAR + +#include "wx/xrc/xh_infobar.h" + +#include "wx/infobar.h" +#include "wx/xml/xml.h" + +wxIMPLEMENT_DYNAMIC_CLASS(wxInfoBarXmlHandler, wxXmlResourceHandler); + +#define XRC_ADD_SHOW_EFFECT(style) m_effectNames[style] = #style; + +wxInfoBarXmlHandler::wxInfoBarXmlHandler() + : wxXmlResourceHandler(), m_insideBar(false) +{ + XRC_ADD_SHOW_EFFECT(wxSHOW_EFFECT_NONE); + XRC_ADD_SHOW_EFFECT(wxSHOW_EFFECT_ROLL_TO_LEFT); + XRC_ADD_SHOW_EFFECT(wxSHOW_EFFECT_ROLL_TO_RIGHT); + XRC_ADD_SHOW_EFFECT(wxSHOW_EFFECT_ROLL_TO_TOP); + XRC_ADD_SHOW_EFFECT(wxSHOW_EFFECT_ROLL_TO_BOTTOM); + XRC_ADD_SHOW_EFFECT(wxSHOW_EFFECT_SLIDE_TO_LEFT); + XRC_ADD_SHOW_EFFECT(wxSHOW_EFFECT_SLIDE_TO_RIGHT); + XRC_ADD_SHOW_EFFECT(wxSHOW_EFFECT_SLIDE_TO_TOP); + XRC_ADD_SHOW_EFFECT(wxSHOW_EFFECT_SLIDE_TO_BOTTOM); + XRC_ADD_SHOW_EFFECT(wxSHOW_EFFECT_BLEND); + XRC_ADD_SHOW_EFFECT(wxSHOW_EFFECT_EXPAND); +} + +wxObject *wxInfoBarXmlHandler::DoCreateResource() +{ + if ( m_class == "wxInfoBar" ) + { + XRC_MAKE_INSTANCE(control, wxInfoBar) + + control->Create(m_parentAsWindow, GetID()); + + SetupWindow(control); + + wxShowEffect showEffect = GetShowEffect("showeffect"); + wxShowEffect hideEffect = GetShowEffect("hideeffect"); + + if ( showEffect != wxSHOW_EFFECT_NONE || hideEffect != wxSHOW_EFFECT_NONE ) + control->SetShowHideEffects(showEffect, hideEffect); + + if ( HasParam("effectduration") ) + control->SetEffectDuration(GetLong("effectduration")); + + m_insideBar = true; + CreateChildrenPrivately(control); + m_insideBar = false; + + return control; + } + else + { + // inside the element now, + // handle buttons + + wxInfoBar * const infoBar = wxDynamicCast(m_parentAsWindow, wxInfoBar); + wxCHECK_MSG(infoBar, NULL, "must have wxInfoBar parent"); + + infoBar->AddButton(GetID(), GetText("label")); + + return NULL; + } +} + +bool wxInfoBarXmlHandler::CanHandle(wxXmlNode *node) +{ + return (IsOfClass(node, "wxInfoBar") || + (m_insideBar && IsOfClass(node, "button"))); +} + +wxShowEffect wxInfoBarXmlHandler::GetShowEffect(wxString const& param) +{ + if ( !HasParam(param) ) + return wxSHOW_EFFECT_NONE; + + wxString const& value = GetParamValue(param); + + for ( int i = 0; i < wxSHOW_EFFECT_MAX; ++i ) + { + if ( value == m_effectNames[i] ) + return static_cast(i); + } + + ReportParamError + ( + param, + wxString::Format("unknown show effect \"%s\"", value) + ); + + return wxSHOW_EFFECT_NONE; +} + +#endif // wxUSE_XRC && wxUSE_INFOBAR diff --git a/src/xrc/xmlrsall.cpp b/src/xrc/xmlrsall.cpp index 988d4402ba..93596fad65 100644 --- a/src/xrc/xmlrsall.cpp +++ b/src/xrc/xmlrsall.cpp @@ -123,6 +123,9 @@ void wxXmlResource::InitAllHandlers() #if wxUSE_HYPERLINKCTRL AddHandler( new wxHyperlinkCtrlXmlHandler); #endif +#if wxUSE_INFOBAR + AddHandler(new wxInfoBarXmlHandler); +#endif #if wxUSE_LISTBOOK AddHandler(new wxListbookXmlHandler); #endif