From 53cdd2c11d11b6286936b93158b157610b169edd Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Wed, 20 Oct 2010 23:11:20 +0000 Subject: [PATCH] Add XRC handler for wxCommandLinkButton. Added a handler for wxCommandLinkButton class and a demo of it in the xrc sample. Closes #12593. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65856 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 | 17 ++++++++ include/wx/xrc/xh_all.h | 1 + include/wx/xrc/xh_cmdlinkbn.h | 32 +++++++++++++++ samples/xrc/rc/controls.xrc | 15 ++++++++ src/xrc/xh_cmdlinkbn.cpp | 60 +++++++++++++++++++++++++++++ src/xrc/xmlrsall.cpp | 3 ++ 20 files changed, 256 insertions(+) create mode 100644 include/wx/xrc/xh_cmdlinkbn.h create mode 100644 src/xrc/xh_cmdlinkbn.cpp diff --git a/Makefile.in b/Makefile.in index 1ee4d397b8..a075aad300 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1651,6 +1651,7 @@ XRCDLL_OBJECTS = \ xrcdll_xh_choic.o \ xrcdll_xh_choicbk.o \ xrcdll_xh_clrpicker.o \ + xrcdll_xh_cmdlinkbn.o \ xrcdll_xh_collpane.o \ xrcdll_xh_combo.o \ xrcdll_xh_comboctrl.o \ @@ -1719,6 +1720,7 @@ XRCLIB_OBJECTS = \ xrclib_xh_choic.o \ xrclib_xh_choicbk.o \ xrclib_xh_clrpicker.o \ + xrclib_xh_cmdlinkbn.o \ xrclib_xh_collpane.o \ xrclib_xh_combo.o \ xrclib_xh_comboctrl.o \ @@ -4052,6 +4054,7 @@ COND_USE_GUI_1_ALL_GUI_HEADERS = \ wx/xrc/xh_choic.h \ wx/xrc/xh_choicbk.h \ wx/xrc/xh_clrpicker.h \ + wx/xrc/xh_cmdlinkbn.h \ wx/xrc/xh_collpane.h \ wx/xrc/xh_combo.h \ wx/xrc/xh_comboctrl.h \ @@ -4346,6 +4349,7 @@ COND_USE_GUI_1___MONOLIB_GUI_SRC_OBJECTS = \ monodll_xh_choic.o \ monodll_xh_choicbk.o \ monodll_xh_clrpicker.o \ + monodll_xh_cmdlinkbn.o \ monodll_xh_collpane.o \ monodll_xh_combo.o \ monodll_xh_comboctrl.o \ @@ -6220,6 +6224,7 @@ COND_USE_GUI_1___MONOLIB_GUI_SRC_OBJECTS_1 = \ monolib_xh_choic.o \ monolib_xh_choicbk.o \ monolib_xh_clrpicker.o \ + monolib_xh_cmdlinkbn.o \ monolib_xh_collpane.o \ monolib_xh_combo.o \ monolib_xh_comboctrl.o \ @@ -16904,6 +16909,9 @@ monodll_xh_choicbk.o: $(srcdir)/src/xrc/xh_choicbk.cpp $(MONODLL_ODEP) monodll_xh_clrpicker.o: $(srcdir)/src/xrc/xh_clrpicker.cpp $(MONODLL_ODEP) $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/xrc/xh_clrpicker.cpp +monodll_xh_cmdlinkbn.o: $(srcdir)/src/xrc/xh_cmdlinkbn.cpp $(MONODLL_ODEP) + $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/xrc/xh_cmdlinkbn.cpp + monodll_xh_collpane.o: $(srcdir)/src/xrc/xh_collpane.cpp $(MONODLL_ODEP) $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/xrc/xh_collpane.cpp @@ -22127,6 +22135,9 @@ monolib_xh_choicbk.o: $(srcdir)/src/xrc/xh_choicbk.cpp $(MONOLIB_ODEP) monolib_xh_clrpicker.o: $(srcdir)/src/xrc/xh_clrpicker.cpp $(MONOLIB_ODEP) $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_clrpicker.cpp +monolib_xh_cmdlinkbn.o: $(srcdir)/src/xrc/xh_cmdlinkbn.cpp $(MONOLIB_ODEP) + $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_cmdlinkbn.cpp + monolib_xh_collpane.o: $(srcdir)/src/xrc/xh_collpane.cpp $(MONOLIB_ODEP) $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_collpane.cpp @@ -35519,6 +35530,9 @@ xrcdll_xh_choicbk.o: $(srcdir)/src/xrc/xh_choicbk.cpp $(XRCDLL_ODEP) xrcdll_xh_clrpicker.o: $(srcdir)/src/xrc/xh_clrpicker.cpp $(XRCDLL_ODEP) $(CXXC) -c -o $@ $(XRCDLL_CXXFLAGS) $(srcdir)/src/xrc/xh_clrpicker.cpp +xrcdll_xh_cmdlinkbn.o: $(srcdir)/src/xrc/xh_cmdlinkbn.cpp $(XRCDLL_ODEP) + $(CXXC) -c -o $@ $(XRCDLL_CXXFLAGS) $(srcdir)/src/xrc/xh_cmdlinkbn.cpp + xrcdll_xh_collpane.o: $(srcdir)/src/xrc/xh_collpane.cpp $(XRCDLL_ODEP) $(CXXC) -c -o $@ $(XRCDLL_CXXFLAGS) $(srcdir)/src/xrc/xh_collpane.cpp @@ -35702,6 +35716,9 @@ xrclib_xh_choicbk.o: $(srcdir)/src/xrc/xh_choicbk.cpp $(XRCLIB_ODEP) xrclib_xh_clrpicker.o: $(srcdir)/src/xrc/xh_clrpicker.cpp $(XRCLIB_ODEP) $(CXXC) -c -o $@ $(XRCLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_clrpicker.cpp +xrclib_xh_cmdlinkbn.o: $(srcdir)/src/xrc/xh_cmdlinkbn.cpp $(XRCLIB_ODEP) + $(CXXC) -c -o $@ $(XRCLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_cmdlinkbn.cpp + xrclib_xh_collpane.o: $(srcdir)/src/xrc/xh_collpane.cpp $(XRCLIB_ODEP) $(CXXC) -c -o $@ $(XRCLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_collpane.cpp diff --git a/build/bakefiles/files.bkl b/build/bakefiles/files.bkl index 3b0b289b24..fd9adf79ab 100644 --- a/build/bakefiles/files.bkl +++ b/build/bakefiles/files.bkl @@ -3312,6 +3312,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! src/xrc/xh_choic.cpp src/xrc/xh_choicbk.cpp src/xrc/xh_clrpicker.cpp + src/xrc/xh_cmdlinkbn.cpp src/xrc/xh_collpane.cpp src/xrc/xh_combo.cpp src/xrc/xh_comboctrl.cpp @@ -3378,6 +3379,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! wx/xrc/xh_choic.h wx/xrc/xh_choicbk.h wx/xrc/xh_clrpicker.h + wx/xrc/xh_cmdlinkbn.h wx/xrc/xh_collpane.h wx/xrc/xh_combo.h wx/xrc/xh_comboctrl.h diff --git a/build/msw/makefile.bcc b/build/msw/makefile.bcc index ba00f19f07..0c5e38322b 100644 --- a/build/msw/makefile.bcc +++ b/build/msw/makefile.bcc @@ -1144,6 +1144,7 @@ XRCDLL_OBJECTS = \ $(OBJS)\xrcdll_xh_choic.obj \ $(OBJS)\xrcdll_xh_choicbk.obj \ $(OBJS)\xrcdll_xh_clrpicker.obj \ + $(OBJS)\xrcdll_xh_cmdlinkbn.obj \ $(OBJS)\xrcdll_xh_collpane.obj \ $(OBJS)\xrcdll_xh_combo.obj \ $(OBJS)\xrcdll_xh_comboctrl.obj \ @@ -1216,6 +1217,7 @@ XRCLIB_OBJECTS = \ $(OBJS)\xrclib_xh_choic.obj \ $(OBJS)\xrclib_xh_choicbk.obj \ $(OBJS)\xrclib_xh_clrpicker.obj \ + $(OBJS)\xrclib_xh_cmdlinkbn.obj \ $(OBJS)\xrclib_xh_collpane.obj \ $(OBJS)\xrclib_xh_combo.obj \ $(OBJS)\xrclib_xh_comboctrl.obj \ @@ -1582,6 +1584,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_xh_choic.obj \ $(OBJS)\monodll_xh_choicbk.obj \ $(OBJS)\monodll_xh_clrpicker.obj \ + $(OBJS)\monodll_xh_cmdlinkbn.obj \ $(OBJS)\monodll_xh_collpane.obj \ $(OBJS)\monodll_xh_combo.obj \ $(OBJS)\monodll_xh_comboctrl.obj \ @@ -2303,6 +2306,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_xh_choic.obj \ $(OBJS)\monolib_xh_choicbk.obj \ $(OBJS)\monolib_xh_clrpicker.obj \ + $(OBJS)\monolib_xh_cmdlinkbn.obj \ $(OBJS)\monolib_xh_collpane.obj \ $(OBJS)\monolib_xh_combo.obj \ $(OBJS)\monolib_xh_comboctrl.obj \ @@ -6548,6 +6552,9 @@ $(OBJS)\monodll_xh_choicbk.obj: ..\..\src\xrc\xh_choicbk.cpp $(OBJS)\monodll_xh_clrpicker.obj: ..\..\src\xrc\xh_clrpicker.cpp $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_clrpicker.cpp +$(OBJS)\monodll_xh_cmdlinkbn.obj: ..\..\src\xrc\xh_cmdlinkbn.cpp + $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_cmdlinkbn.cpp + $(OBJS)\monodll_xh_collpane.obj: ..\..\src\xrc\xh_collpane.cpp $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_collpane.cpp @@ -8786,6 +8793,9 @@ $(OBJS)\monolib_xh_choicbk.obj: ..\..\src\xrc\xh_choicbk.cpp $(OBJS)\monolib_xh_clrpicker.obj: ..\..\src\xrc\xh_clrpicker.cpp $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_clrpicker.cpp +$(OBJS)\monolib_xh_cmdlinkbn.obj: ..\..\src\xrc\xh_cmdlinkbn.cpp + $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_cmdlinkbn.cpp + $(OBJS)\monolib_xh_collpane.obj: ..\..\src\xrc\xh_collpane.cpp $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_collpane.cpp @@ -14103,6 +14113,9 @@ $(OBJS)\xrcdll_xh_choicbk.obj: ..\..\src\xrc\xh_choicbk.cpp $(OBJS)\xrcdll_xh_clrpicker.obj: ..\..\src\xrc\xh_clrpicker.cpp $(CXX) -q -c -P -o$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_clrpicker.cpp +$(OBJS)\xrcdll_xh_cmdlinkbn.obj: ..\..\src\xrc\xh_cmdlinkbn.cpp + $(CXX) -q -c -P -o$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_cmdlinkbn.cpp + $(OBJS)\xrcdll_xh_collpane.obj: ..\..\src\xrc\xh_collpane.cpp $(CXX) -q -c -P -o$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_collpane.cpp @@ -14289,6 +14302,9 @@ $(OBJS)\xrclib_xh_choicbk.obj: ..\..\src\xrc\xh_choicbk.cpp $(OBJS)\xrclib_xh_clrpicker.obj: ..\..\src\xrc\xh_clrpicker.cpp $(CXX) -q -c -P -o$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_clrpicker.cpp +$(OBJS)\xrclib_xh_cmdlinkbn.obj: ..\..\src\xrc\xh_cmdlinkbn.cpp + $(CXX) -q -c -P -o$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_cmdlinkbn.cpp + $(OBJS)\xrclib_xh_collpane.obj: ..\..\src\xrc\xh_collpane.cpp $(CXX) -q -c -P -o$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_collpane.cpp diff --git a/build/msw/makefile.gcc b/build/msw/makefile.gcc index e49c3a6292..7b5e90e629 100644 --- a/build/msw/makefile.gcc +++ b/build/msw/makefile.gcc @@ -1142,6 +1142,7 @@ XRCDLL_OBJECTS = \ $(OBJS)\xrcdll_xh_choic.o \ $(OBJS)\xrcdll_xh_choicbk.o \ $(OBJS)\xrcdll_xh_clrpicker.o \ + $(OBJS)\xrcdll_xh_cmdlinkbn.o \ $(OBJS)\xrcdll_xh_collpane.o \ $(OBJS)\xrcdll_xh_combo.o \ $(OBJS)\xrcdll_xh_comboctrl.o \ @@ -1213,6 +1214,7 @@ XRCLIB_OBJECTS = \ $(OBJS)\xrclib_xh_choic.o \ $(OBJS)\xrclib_xh_choicbk.o \ $(OBJS)\xrclib_xh_clrpicker.o \ + $(OBJS)\xrclib_xh_cmdlinkbn.o \ $(OBJS)\xrclib_xh_collpane.o \ $(OBJS)\xrclib_xh_combo.o \ $(OBJS)\xrclib_xh_comboctrl.o \ @@ -1592,6 +1594,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_xh_choic.o \ $(OBJS)\monodll_xh_choicbk.o \ $(OBJS)\monodll_xh_clrpicker.o \ + $(OBJS)\monodll_xh_cmdlinkbn.o \ $(OBJS)\monodll_xh_collpane.o \ $(OBJS)\monodll_xh_combo.o \ $(OBJS)\monodll_xh_comboctrl.o \ @@ -2319,6 +2322,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_xh_choic.o \ $(OBJS)\monolib_xh_choicbk.o \ $(OBJS)\monolib_xh_clrpicker.o \ + $(OBJS)\monolib_xh_cmdlinkbn.o \ $(OBJS)\monolib_xh_collpane.o \ $(OBJS)\monolib_xh_combo.o \ $(OBJS)\monolib_xh_comboctrl.o \ @@ -6698,6 +6702,9 @@ $(OBJS)\monodll_xh_choicbk.o: ../../src/xrc/xh_choicbk.cpp $(OBJS)\monodll_xh_clrpicker.o: ../../src/xrc/xh_clrpicker.cpp $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< +$(OBJS)\monodll_xh_cmdlinkbn.o: ../../src/xrc/xh_cmdlinkbn.cpp + $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< + $(OBJS)\monodll_xh_collpane.o: ../../src/xrc/xh_collpane.cpp $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< @@ -8936,6 +8943,9 @@ $(OBJS)\monolib_xh_choicbk.o: ../../src/xrc/xh_choicbk.cpp $(OBJS)\monolib_xh_clrpicker.o: ../../src/xrc/xh_clrpicker.cpp $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< +$(OBJS)\monolib_xh_cmdlinkbn.o: ../../src/xrc/xh_cmdlinkbn.cpp + $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< + $(OBJS)\monolib_xh_collpane.o: ../../src/xrc/xh_collpane.cpp $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< @@ -14253,6 +14263,9 @@ $(OBJS)\xrcdll_xh_choicbk.o: ../../src/xrc/xh_choicbk.cpp $(OBJS)\xrcdll_xh_clrpicker.o: ../../src/xrc/xh_clrpicker.cpp $(CXX) -c -o $@ $(XRCDLL_CXXFLAGS) $(CPPDEPS) $< +$(OBJS)\xrcdll_xh_cmdlinkbn.o: ../../src/xrc/xh_cmdlinkbn.cpp + $(CXX) -c -o $@ $(XRCDLL_CXXFLAGS) $(CPPDEPS) $< + $(OBJS)\xrcdll_xh_collpane.o: ../../src/xrc/xh_collpane.cpp $(CXX) -c -o $@ $(XRCDLL_CXXFLAGS) $(CPPDEPS) $< @@ -14439,6 +14452,9 @@ $(OBJS)\xrclib_xh_choicbk.o: ../../src/xrc/xh_choicbk.cpp $(OBJS)\xrclib_xh_clrpicker.o: ../../src/xrc/xh_clrpicker.cpp $(CXX) -c -o $@ $(XRCLIB_CXXFLAGS) $(CPPDEPS) $< +$(OBJS)\xrclib_xh_cmdlinkbn.o: ../../src/xrc/xh_cmdlinkbn.cpp + $(CXX) -c -o $@ $(XRCLIB_CXXFLAGS) $(CPPDEPS) $< + $(OBJS)\xrclib_xh_collpane.o: ../../src/xrc/xh_collpane.cpp $(CXX) -c -o $@ $(XRCLIB_CXXFLAGS) $(CPPDEPS) $< diff --git a/build/msw/makefile.vc b/build/msw/makefile.vc index af9255f2a1..7b61305f92 100644 --- a/build/msw/makefile.vc +++ b/build/msw/makefile.vc @@ -1219,6 +1219,7 @@ XRCDLL_OBJECTS = \ $(OBJS)\xrcdll_xh_choic.obj \ $(OBJS)\xrcdll_xh_choicbk.obj \ $(OBJS)\xrcdll_xh_clrpicker.obj \ + $(OBJS)\xrcdll_xh_cmdlinkbn.obj \ $(OBJS)\xrcdll_xh_collpane.obj \ $(OBJS)\xrcdll_xh_combo.obj \ $(OBJS)\xrcdll_xh_comboctrl.obj \ @@ -1295,6 +1296,7 @@ XRCLIB_OBJECTS = \ $(OBJS)\xrclib_xh_choic.obj \ $(OBJS)\xrclib_xh_choicbk.obj \ $(OBJS)\xrclib_xh_clrpicker.obj \ + $(OBJS)\xrclib_xh_cmdlinkbn.obj \ $(OBJS)\xrclib_xh_collpane.obj \ $(OBJS)\xrclib_xh_combo.obj \ $(OBJS)\xrclib_xh_comboctrl.obj \ @@ -1790,6 +1792,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_xh_choic.obj \ $(OBJS)\monodll_xh_choicbk.obj \ $(OBJS)\monodll_xh_clrpicker.obj \ + $(OBJS)\monodll_xh_cmdlinkbn.obj \ $(OBJS)\monodll_xh_collpane.obj \ $(OBJS)\monodll_xh_combo.obj \ $(OBJS)\monodll_xh_comboctrl.obj \ @@ -2517,6 +2520,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_xh_choic.obj \ $(OBJS)\monolib_xh_choicbk.obj \ $(OBJS)\monolib_xh_clrpicker.obj \ + $(OBJS)\monolib_xh_cmdlinkbn.obj \ $(OBJS)\monolib_xh_collpane.obj \ $(OBJS)\monolib_xh_combo.obj \ $(OBJS)\monolib_xh_comboctrl.obj \ @@ -7128,6 +7132,9 @@ $(OBJS)\monodll_xh_choicbk.obj: ..\..\src\xrc\xh_choicbk.cpp $(OBJS)\monodll_xh_clrpicker.obj: ..\..\src\xrc\xh_clrpicker.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_clrpicker.cpp +$(OBJS)\monodll_xh_cmdlinkbn.obj: ..\..\src\xrc\xh_cmdlinkbn.cpp + $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_cmdlinkbn.cpp + $(OBJS)\monodll_xh_collpane.obj: ..\..\src\xrc\xh_collpane.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_collpane.cpp @@ -9366,6 +9373,9 @@ $(OBJS)\monolib_xh_choicbk.obj: ..\..\src\xrc\xh_choicbk.cpp $(OBJS)\monolib_xh_clrpicker.obj: ..\..\src\xrc\xh_clrpicker.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_clrpicker.cpp +$(OBJS)\monolib_xh_cmdlinkbn.obj: ..\..\src\xrc\xh_cmdlinkbn.cpp + $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_cmdlinkbn.cpp + $(OBJS)\monolib_xh_collpane.obj: ..\..\src\xrc\xh_collpane.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_collpane.cpp @@ -14683,6 +14693,9 @@ $(OBJS)\xrcdll_xh_choicbk.obj: ..\..\src\xrc\xh_choicbk.cpp $(OBJS)\xrcdll_xh_clrpicker.obj: ..\..\src\xrc\xh_clrpicker.cpp $(CXX) /c /nologo /TP /Fo$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_clrpicker.cpp +$(OBJS)\xrcdll_xh_cmdlinkbn.obj: ..\..\src\xrc\xh_cmdlinkbn.cpp + $(CXX) /c /nologo /TP /Fo$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_cmdlinkbn.cpp + $(OBJS)\xrcdll_xh_collpane.obj: ..\..\src\xrc\xh_collpane.cpp $(CXX) /c /nologo /TP /Fo$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_collpane.cpp @@ -14869,6 +14882,9 @@ $(OBJS)\xrclib_xh_choicbk.obj: ..\..\src\xrc\xh_choicbk.cpp $(OBJS)\xrclib_xh_clrpicker.obj: ..\..\src\xrc\xh_clrpicker.cpp $(CXX) /c /nologo /TP /Fo$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_clrpicker.cpp +$(OBJS)\xrclib_xh_cmdlinkbn.obj: ..\..\src\xrc\xh_cmdlinkbn.cpp + $(CXX) /c /nologo /TP /Fo$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_cmdlinkbn.cpp + $(OBJS)\xrclib_xh_collpane.obj: ..\..\src\xrc\xh_collpane.cpp $(CXX) /c /nologo /TP /Fo$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_collpane.cpp diff --git a/build/msw/makefile.wat b/build/msw/makefile.wat index d7d68c40ca..de6c794ab1 100644 --- a/build/msw/makefile.wat +++ b/build/msw/makefile.wat @@ -148,6 +148,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = & $(OBJS)\monodll_xh_choic.obj & $(OBJS)\monodll_xh_choicbk.obj & $(OBJS)\monodll_xh_clrpicker.obj & + $(OBJS)\monodll_xh_cmdlinkbn.obj & $(OBJS)\monodll_xh_collpane.obj & $(OBJS)\monodll_xh_combo.obj & $(OBJS)\monodll_xh_comboctrl.obj & @@ -880,6 +881,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = & $(OBJS)\monolib_xh_choic.obj & $(OBJS)\monolib_xh_choicbk.obj & $(OBJS)\monolib_xh_clrpicker.obj & + $(OBJS)\monolib_xh_cmdlinkbn.obj & $(OBJS)\monolib_xh_collpane.obj & $(OBJS)\monolib_xh_combo.obj & $(OBJS)\monolib_xh_comboctrl.obj & @@ -4400,6 +4402,7 @@ XRCDLL_OBJECTS = & $(OBJS)\xrcdll_xh_choic.obj & $(OBJS)\xrcdll_xh_choicbk.obj & $(OBJS)\xrcdll_xh_clrpicker.obj & + $(OBJS)\xrcdll_xh_cmdlinkbn.obj & $(OBJS)\xrcdll_xh_collpane.obj & $(OBJS)\xrcdll_xh_combo.obj & $(OBJS)\xrcdll_xh_comboctrl.obj & @@ -4472,6 +4475,7 @@ XRCLIB_OBJECTS = & $(OBJS)\xrclib_xh_choic.obj & $(OBJS)\xrclib_xh_choicbk.obj & $(OBJS)\xrclib_xh_clrpicker.obj & + $(OBJS)\xrclib_xh_cmdlinkbn.obj & $(OBJS)\xrclib_xh_collpane.obj & $(OBJS)\xrclib_xh_combo.obj & $(OBJS)\xrclib_xh_comboctrl.obj & @@ -6957,6 +6961,9 @@ $(OBJS)\monodll_xh_choicbk.obj : .AUTODEPEND ..\..\src\xrc\xh_choicbk.cpp $(OBJS)\monodll_xh_clrpicker.obj : .AUTODEPEND ..\..\src\xrc\xh_clrpicker.cpp $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $< +$(OBJS)\monodll_xh_cmdlinkbn.obj : .AUTODEPEND ..\..\src\xrc\xh_cmdlinkbn.cpp + $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $< + $(OBJS)\monodll_xh_collpane.obj : .AUTODEPEND ..\..\src\xrc\xh_collpane.cpp $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $< @@ -9195,6 +9202,9 @@ $(OBJS)\monolib_xh_choicbk.obj : .AUTODEPEND ..\..\src\xrc\xh_choicbk.cpp $(OBJS)\monolib_xh_clrpicker.obj : .AUTODEPEND ..\..\src\xrc\xh_clrpicker.cpp $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $< +$(OBJS)\monolib_xh_cmdlinkbn.obj : .AUTODEPEND ..\..\src\xrc\xh_cmdlinkbn.cpp + $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $< + $(OBJS)\monolib_xh_collpane.obj : .AUTODEPEND ..\..\src\xrc\xh_collpane.cpp $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $< @@ -14512,6 +14522,9 @@ $(OBJS)\xrcdll_xh_choicbk.obj : .AUTODEPEND ..\..\src\xrc\xh_choicbk.cpp $(OBJS)\xrcdll_xh_clrpicker.obj : .AUTODEPEND ..\..\src\xrc\xh_clrpicker.cpp $(CXX) -bt=nt -zq -fo=$^@ $(XRCDLL_CXXFLAGS) $< +$(OBJS)\xrcdll_xh_cmdlinkbn.obj : .AUTODEPEND ..\..\src\xrc\xh_cmdlinkbn.cpp + $(CXX) -bt=nt -zq -fo=$^@ $(XRCDLL_CXXFLAGS) $< + $(OBJS)\xrcdll_xh_collpane.obj : .AUTODEPEND ..\..\src\xrc\xh_collpane.cpp $(CXX) -bt=nt -zq -fo=$^@ $(XRCDLL_CXXFLAGS) $< @@ -14698,6 +14711,9 @@ $(OBJS)\xrclib_xh_choicbk.obj : .AUTODEPEND ..\..\src\xrc\xh_choicbk.cpp $(OBJS)\xrclib_xh_clrpicker.obj : .AUTODEPEND ..\..\src\xrc\xh_clrpicker.cpp $(CXX) -bt=nt -zq -fo=$^@ $(XRCLIB_CXXFLAGS) $< +$(OBJS)\xrclib_xh_cmdlinkbn.obj : .AUTODEPEND ..\..\src\xrc\xh_cmdlinkbn.cpp + $(CXX) -bt=nt -zq -fo=$^@ $(XRCLIB_CXXFLAGS) $< + $(OBJS)\xrclib_xh_collpane.obj : .AUTODEPEND ..\..\src\xrc\xh_collpane.cpp $(CXX) -bt=nt -zq -fo=$^@ $(XRCLIB_CXXFLAGS) $< diff --git a/build/msw/wx_core.dsp b/build/msw/wx_core.dsp index c928a10c6d..8f83352bfc 100644 --- a/build/msw/wx_core.dsp +++ b/build/msw/wx_core.dsp @@ -6821,6 +6821,10 @@ SOURCE=..\..\include\wx\xrc\xh_clrpicker.h # End Source File # Begin Source File +SOURCE=..\..\include\wx\xrc\xh_cmdlinkbn.h +# End Source File +# Begin Source File + SOURCE=..\..\include\wx\xrc\xh_collpane.h # End Source File # Begin Source File diff --git a/build/msw/wx_vc7_core.vcproj b/build/msw/wx_vc7_core.vcproj index ca414ca1a5..949ee780d6 100644 --- a/build/msw/wx_vc7_core.vcproj +++ b/build/msw/wx_vc7_core.vcproj @@ -5710,6 +5710,9 @@ + + diff --git a/build/msw/wx_vc7_xrc.vcproj b/build/msw/wx_vc7_xrc.vcproj index 1720c9531f..6cc172baf9 100644 --- a/build/msw/wx_vc7_xrc.vcproj +++ b/build/msw/wx_vc7_xrc.vcproj @@ -815,6 +815,9 @@ + + @@ -997,6 +1000,9 @@ + + diff --git a/build/msw/wx_vc8_core.vcproj b/build/msw/wx_vc8_core.vcproj index 6546f94c0a..de949701a2 100644 --- a/build/msw/wx_vc8_core.vcproj +++ b/build/msw/wx_vc8_core.vcproj @@ -7631,6 +7631,10 @@ RelativePath="..\..\include\wx\xrc\xh_clrpicker.h" > + + diff --git a/build/msw/wx_vc8_xrc.vcproj b/build/msw/wx_vc8_xrc.vcproj index b70d0b21cf..bcc388e70d 100644 --- a/build/msw/wx_vc8_xrc.vcproj +++ b/build/msw/wx_vc8_xrc.vcproj @@ -1106,6 +1106,10 @@ RelativePath="..\..\include\wx\xrc\xh_clrpicker.h" > + + @@ -1348,6 +1352,10 @@ RelativePath="..\..\src\xrc\xh_clrpicker.cpp" > + + diff --git a/build/msw/wx_vc9_core.vcproj b/build/msw/wx_vc9_core.vcproj index 9d3c2c5e41..0761bb0df4 100644 --- a/build/msw/wx_vc9_core.vcproj +++ b/build/msw/wx_vc9_core.vcproj @@ -7627,6 +7627,10 @@ RelativePath="..\..\include\wx\xrc\xh_clrpicker.h" > + + diff --git a/build/msw/wx_vc9_xrc.vcproj b/build/msw/wx_vc9_xrc.vcproj index 8bbc5859cb..5d64235b2c 100644 --- a/build/msw/wx_vc9_xrc.vcproj +++ b/build/msw/wx_vc9_xrc.vcproj @@ -1102,6 +1102,10 @@ RelativePath="..\..\include\wx\xrc\xh_clrpicker.h" > + + @@ -1344,6 +1348,10 @@ RelativePath="..\..\src\xrc\xh_clrpicker.cpp" > + + diff --git a/build/msw/wx_xrc.dsp b/build/msw/wx_xrc.dsp index 9871b6a54b..f25fce836b 100644 --- a/build/msw/wx_xrc.dsp +++ b/build/msw/wx_xrc.dsp @@ -578,6 +578,10 @@ SOURCE=..\..\include\wx\xrc\xh_clrpicker.h # End Source File # Begin Source File +SOURCE=..\..\include\wx\xrc\xh_cmdlinkbn.h +# End Source File +# Begin Source File + SOURCE=..\..\include\wx\xrc\xh_collpane.h # End Source File # Begin Source File @@ -818,6 +822,10 @@ SOURCE=..\..\src\xrc\xh_clrpicker.cpp # End Source File # Begin Source File +SOURCE=..\..\src\xrc\xh_cmdlinkbn.cpp +# End Source File +# Begin Source File + SOURCE=..\..\src\xrc\xh_collpane.cpp # End Source File # Begin Source File diff --git a/docs/doxygen/overviews/xrc_format.h b/docs/doxygen/overviews/xrc_format.h index 15c82b3a79..75ec8c814b 100644 --- a/docs/doxygen/overviews/xrc_format.h +++ b/docs/doxygen/overviews/xrc_format.h @@ -694,6 +694,23 @@ pseudo-class (similarly to @ref xrc_wxnotebook "wxNotebook" and its Each @c choicebookpage has exactly one non-toplevel window as its child. +@subsubsection xrc_wxcommandlinkbutton wxCommandLinkButton + +The wxCommandLinkButton contains a main title-like @c label and an optional +@c note for longer description. The main @c label and the @c note can be +concatenated into a single string using a new line character between them +(notice that the @c note part can have more new lines in it). + +@beginTable +@hdr3col{property, type, description} +@row3col{label, @ref overview_xrcformat_type_text, + First line of text on the button, typically the label of an action that + will be made when the button is pressed. } +@row3col{note, @ref overview_xrcformat_type_text, + Second line of text describing the action performed when the button is pressed. } +@endTable + + @subsubsection xrc_wxcollapsiblepane wxCollapsiblePane @beginTable diff --git a/include/wx/xrc/xh_all.h b/include/wx/xrc/xh_all.h index 5c37387524..8c48afb37f 100644 --- a/include/wx/xrc/xh_all.h +++ b/include/wx/xrc/xh_all.h @@ -25,6 +25,7 @@ #include "wx/xrc/xh_choic.h" #include "wx/xrc/xh_choicbk.h" #include "wx/xrc/xh_clrpicker.h" +#include "wx/xrc/xh_cmdlinkbn.h" #include "wx/xrc/xh_collpane.h" #include "wx/xrc/xh_combo.h" #include "wx/xrc/xh_comboctrl.h" diff --git a/include/wx/xrc/xh_cmdlinkbn.h b/include/wx/xrc/xh_cmdlinkbn.h new file mode 100644 index 0000000000..3dbf6ba5a1 --- /dev/null +++ b/include/wx/xrc/xh_cmdlinkbn.h @@ -0,0 +1,32 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: wx/xrc/xh_cmdlinkbn.h +// Purpose: XML resource handler for command link buttons +// Author: Kinaou Herve +// Created: 2010-10-20 +// RCS-ID: $Id:$ +// Copyright: (c) 2010 wxWidgets development team +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_XH_CMDLINKBN_H_ +#define _WX_XH_CMDLINKBN_H_ + +#include "wx/xrc/xmlres.h" + +#if wxUSE_XRC && wxUSE_COMMANDLINKBUTTON + +class WXDLLIMPEXP_XRC wxCommandLinkButtonXmlHandler : public wxXmlResourceHandler +{ +public: + wxCommandLinkButtonXmlHandler(); + + virtual wxObject *DoCreateResource(); + virtual bool CanHandle(wxXmlNode *node); + +private: + wxDECLARE_DYNAMIC_CLASS(wxCommandLinkButtonXmlHandler); +}; + +#endif // wxUSE_XRC && wxUSE_COMMANDLINKBUTTON + +#endif // _WX_XH_CMDLINKBN_H_ diff --git a/samples/xrc/rc/controls.xrc b/samples/xrc/rc/controls.xrc index ea41b0869c..44979fa767 100644 --- a/samples/xrc/rc/controls.xrc +++ b/samples/xrc/rc/controls.xrc @@ -255,6 +255,21 @@ controls.xpm + + wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL + 5 + + + + + + wxALIGN_CENTRE|wxALL + 5 + + + Whatever it might be + + diff --git a/src/xrc/xh_cmdlinkbn.cpp b/src/xrc/xh_cmdlinkbn.cpp new file mode 100644 index 0000000000..29ec197b28 --- /dev/null +++ b/src/xrc/xh_cmdlinkbn.cpp @@ -0,0 +1,60 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: src/xrc/xh_cmdlinkbn.cpp +// Purpose: XRC resource for command link buttons +// Author: Kinaou Herve +// Created: 2010/10/20 +// RCS-ID: $Id:$ +// Copyright: +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +// For compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ + #pragma hdrstop +#endif + +#if wxUSE_XRC && wxUSE_COMMANDLINKBUTTON + +#include "wx/xrc/xh_cmdlinkbn.h" + +#include "wx/commandlinkbutton.h" + +IMPLEMENT_DYNAMIC_CLASS(wxCommandLinkButtonXmlHandler, wxXmlResourceHandler) + +wxCommandLinkButtonXmlHandler::wxCommandLinkButtonXmlHandler() + : wxXmlResourceHandler() +{ + XRC_ADD_STYLE(wxBU_LEFT); + XRC_ADD_STYLE(wxBU_RIGHT); + XRC_ADD_STYLE(wxBU_TOP); + XRC_ADD_STYLE(wxBU_BOTTOM); + XRC_ADD_STYLE(wxBU_EXACTFIT); + AddWindowStyles(); +} + +wxObject *wxCommandLinkButtonXmlHandler::DoCreateResource() +{ + XRC_MAKE_INSTANCE(button, wxCommandLinkButton) + + button->Create(m_parentAsWindow, + GetID(), + GetText(wxS("label")), + GetText(wxS("note")), + GetPosition(), GetSize(), + GetStyle(), + wxDefaultValidator, + GetName()); + + SetupWindow(button); + + return button; +} + +bool wxCommandLinkButtonXmlHandler::CanHandle(wxXmlNode *node) +{ + return IsOfClass(node, wxS("wxCommandLinkButton")); +} + +#endif // wxUSE_XRC && wxUSE_COMMANDLINKBUTTON diff --git a/src/xrc/xmlrsall.cpp b/src/xrc/xmlrsall.cpp index 038901da60..a8e7ab2f2b 100644 --- a/src/xrc/xmlrsall.cpp +++ b/src/xrc/xmlrsall.cpp @@ -78,6 +78,9 @@ void wxXmlResource::InitAllHandlers() #if wxUSE_COMBOCTRL AddHandler(new wxComboCtrlXmlHandler); #endif +#if wxUSE_COMMANDLINKBUTTON + AddHandler(new wxCommandLinkButtonXmlHandler); +#endif #if wxUSE_DATEPICKCTRL AddHandler(new wxDateCtrlXmlHandler); #endif -- 2.45.2