diff --git a/Makefile.in b/Makefile.in
index 6dfa3cb782..baa823c0b9 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1747,6 +1747,7 @@ XRCDLL_OBJECTS = \
xrcdll_xh_collpane.o \
xrcdll_xh_combo.o \
xrcdll_xh_comboctrl.o \
+ xrcdll_xh_dataview.o \
xrcdll_xh_datectrl.o \
xrcdll_xh_dirpicker.o \
xrcdll_xh_dlg.o \
@@ -1821,6 +1822,7 @@ XRCLIB_OBJECTS = \
xrclib_xh_collpane.o \
xrclib_xh_combo.o \
xrclib_xh_comboctrl.o \
+ xrclib_xh_dataview.o \
xrclib_xh_datectrl.o \
xrclib_xh_dirpicker.o \
xrclib_xh_dlg.o \
@@ -3998,6 +4000,7 @@ COND_USE_GUI_1_ALL_GUI_HEADERS = \
wx/xrc/xh_collpane.h \
wx/xrc/xh_combo.h \
wx/xrc/xh_comboctrl.h \
+ wx/xrc/xh_dataview.h \
wx/xrc/xh_datectrl.h \
wx/xrc/xh_dirpicker.h \
wx/xrc/xh_dlg.h \
@@ -4305,6 +4308,7 @@ COND_USE_GUI_1___MONOLIB_GUI_SRC_OBJECTS = \
monodll_xh_collpane.o \
monodll_xh_combo.o \
monodll_xh_comboctrl.o \
+ monodll_xh_dataview.o \
monodll_xh_datectrl.o \
monodll_xh_dirpicker.o \
monodll_xh_dlg.o \
@@ -6289,6 +6293,7 @@ COND_USE_GUI_1___MONOLIB_GUI_SRC_OBJECTS_1 = \
monolib_xh_collpane.o \
monolib_xh_combo.o \
monolib_xh_comboctrl.o \
+ monolib_xh_dataview.o \
monolib_xh_datectrl.o \
monolib_xh_dirpicker.o \
monolib_xh_dlg.o \
@@ -17163,6 +17168,9 @@ monodll_xh_combo.o: $(srcdir)/src/xrc/xh_combo.cpp $(MONODLL_ODEP)
monodll_xh_comboctrl.o: $(srcdir)/src/xrc/xh_comboctrl.cpp $(MONODLL_ODEP)
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/xrc/xh_comboctrl.cpp
+monodll_xh_dataview.o: $(srcdir)/src/xrc/xh_dataview.cpp $(MONODLL_ODEP)
+ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/xrc/xh_dataview.cpp
+
monodll_xh_datectrl.o: $(srcdir)/src/xrc/xh_datectrl.cpp $(MONODLL_ODEP)
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/xrc/xh_datectrl.cpp
@@ -22425,6 +22433,9 @@ monolib_xh_combo.o: $(srcdir)/src/xrc/xh_combo.cpp $(MONOLIB_ODEP)
monolib_xh_comboctrl.o: $(srcdir)/src/xrc/xh_comboctrl.cpp $(MONOLIB_ODEP)
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_comboctrl.cpp
+monolib_xh_dataview.o: $(srcdir)/src/xrc/xh_dataview.cpp $(MONOLIB_ODEP)
+ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_dataview.cpp
+
monolib_xh_datectrl.o: $(srcdir)/src/xrc/xh_datectrl.cpp $(MONOLIB_ODEP)
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_datectrl.cpp
@@ -36024,6 +36035,9 @@ xrcdll_xh_combo.o: $(srcdir)/src/xrc/xh_combo.cpp $(XRCDLL_ODEP)
xrcdll_xh_comboctrl.o: $(srcdir)/src/xrc/xh_comboctrl.cpp $(XRCDLL_ODEP)
$(CXXC) -c -o $@ $(XRCDLL_CXXFLAGS) $(srcdir)/src/xrc/xh_comboctrl.cpp
+xrcdll_xh_dataview.o: $(srcdir)/src/xrc/xh_dataview.cpp $(XRCDLL_ODEP)
+ $(CXXC) -c -o $@ $(XRCDLL_CXXFLAGS) $(srcdir)/src/xrc/xh_dataview.cpp
+
xrcdll_xh_datectrl.o: $(srcdir)/src/xrc/xh_datectrl.cpp $(XRCDLL_ODEP)
$(CXXC) -c -o $@ $(XRCDLL_CXXFLAGS) $(srcdir)/src/xrc/xh_datectrl.cpp
@@ -36225,6 +36239,9 @@ xrclib_xh_combo.o: $(srcdir)/src/xrc/xh_combo.cpp $(XRCLIB_ODEP)
xrclib_xh_comboctrl.o: $(srcdir)/src/xrc/xh_comboctrl.cpp $(XRCLIB_ODEP)
$(CXXC) -c -o $@ $(XRCLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_comboctrl.cpp
+xrclib_xh_dataview.o: $(srcdir)/src/xrc/xh_dataview.cpp $(XRCLIB_ODEP)
+ $(CXXC) -c -o $@ $(XRCLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_dataview.cpp
+
xrclib_xh_datectrl.o: $(srcdir)/src/xrc/xh_datectrl.cpp $(XRCLIB_ODEP)
$(CXXC) -c -o $@ $(XRCLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_datectrl.cpp
diff --git a/build/bakefiles/files.bkl b/build/bakefiles/files.bkl
index d8040db5e4..fef9dcca65 100644
--- a/build/bakefiles/files.bkl
+++ b/build/bakefiles/files.bkl
@@ -3081,6 +3081,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
src/xrc/xh_collpane.cpp
src/xrc/xh_combo.cpp
src/xrc/xh_comboctrl.cpp
+ src/xrc/xh_dataview.cpp
src/xrc/xh_datectrl.cpp
src/xrc/xh_dirpicker.cpp
src/xrc/xh_dlg.cpp
@@ -3151,6 +3152,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
wx/xrc/xh_collpane.h
wx/xrc/xh_combo.h
wx/xrc/xh_comboctrl.h
+ wx/xrc/xh_dataview.h
wx/xrc/xh_datectrl.h
wx/xrc/xh_dirpicker.h
wx/xrc/xh_dlg.h
diff --git a/build/cmake/files.cmake b/build/cmake/files.cmake
index db51714b9e..9127a77413 100644
--- a/build/cmake/files.cmake
+++ b/build/cmake/files.cmake
@@ -2946,6 +2946,7 @@ set(XRC_SRC
src/xrc/xmlres.cpp
src/xrc/xmladv.cpp
src/xrc/xmlrsall.cpp
+ src/xrc/xh_dataview.cpp
)
set(XRC_HDR
@@ -3015,6 +3016,7 @@ set(XRC_HDR
wx/xrc/xh_unkwn.h
wx/xrc/xh_wizrd.h
wx/xrc/xmlres.h
+ wx/xrc/xh_dataview.h
)
set(XML_SRC
diff --git a/build/files b/build/files
index 9db1570b85..9e48fc3ff9 100644
--- a/build/files
+++ b/build/files
@@ -2839,6 +2839,7 @@ XRC_SRC =
src/xrc/xh_collpane.cpp
src/xrc/xh_combo.cpp
src/xrc/xh_comboctrl.cpp
+ src/xrc/xh_dataview.cpp
src/xrc/xh_datectrl.cpp
src/xrc/xh_dirpicker.cpp
src/xrc/xh_dlg.cpp
@@ -2908,6 +2909,7 @@ XRC_HDR =
wx/xrc/xh_collpane.h
wx/xrc/xh_combo.h
wx/xrc/xh_comboctrl.h
+ wx/xrc/xh_dataview.h
wx/xrc/xh_datectrl.h
wx/xrc/xh_dirpicker.h
wx/xrc/xh_dlg.h
diff --git a/build/msw/makefile.bcc b/build/msw/makefile.bcc
index 4b00f027de..fb6231dad8 100644
--- a/build/msw/makefile.bcc
+++ b/build/msw/makefile.bcc
@@ -1224,6 +1224,7 @@ XRCDLL_OBJECTS = \
$(OBJS)\xrcdll_xh_collpane.obj \
$(OBJS)\xrcdll_xh_combo.obj \
$(OBJS)\xrcdll_xh_comboctrl.obj \
+ $(OBJS)\xrcdll_xh_dataview.obj \
$(OBJS)\xrcdll_xh_datectrl.obj \
$(OBJS)\xrcdll_xh_dirpicker.obj \
$(OBJS)\xrcdll_xh_dlg.obj \
@@ -1301,6 +1302,7 @@ XRCLIB_OBJECTS = \
$(OBJS)\xrclib_xh_collpane.obj \
$(OBJS)\xrclib_xh_combo.obj \
$(OBJS)\xrclib_xh_comboctrl.obj \
+ $(OBJS)\xrclib_xh_dataview.obj \
$(OBJS)\xrclib_xh_datectrl.obj \
$(OBJS)\xrclib_xh_dirpicker.obj \
$(OBJS)\xrclib_xh_dlg.obj \
@@ -1694,6 +1696,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_xh_collpane.obj \
$(OBJS)\monodll_xh_combo.obj \
$(OBJS)\monodll_xh_comboctrl.obj \
+ $(OBJS)\monodll_xh_dataview.obj \
$(OBJS)\monodll_xh_datectrl.obj \
$(OBJS)\monodll_xh_dirpicker.obj \
$(OBJS)\monodll_xh_dlg.obj \
@@ -2525,6 +2528,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_xh_collpane.obj \
$(OBJS)\monolib_xh_combo.obj \
$(OBJS)\monolib_xh_comboctrl.obj \
+ $(OBJS)\monolib_xh_dataview.obj \
$(OBJS)\monolib_xh_datectrl.obj \
$(OBJS)\monolib_xh_dirpicker.obj \
$(OBJS)\monolib_xh_dlg.obj \
@@ -7292,6 +7296,9 @@ $(OBJS)\monodll_xh_combo.obj: ..\..\src\xrc\xh_combo.cpp
$(OBJS)\monodll_xh_comboctrl.obj: ..\..\src\xrc\xh_comboctrl.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_comboctrl.cpp
+$(OBJS)\monodll_xh_dataview.obj: ..\..\src\xrc\xh_dataview.cpp
+ $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_dataview.cpp
+
$(OBJS)\monodll_xh_datectrl.obj: ..\..\src\xrc\xh_datectrl.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_datectrl.cpp
@@ -9838,6 +9845,9 @@ $(OBJS)\monolib_xh_combo.obj: ..\..\src\xrc\xh_combo.cpp
$(OBJS)\monolib_xh_comboctrl.obj: ..\..\src\xrc\xh_comboctrl.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_comboctrl.cpp
+$(OBJS)\monolib_xh_dataview.obj: ..\..\src\xrc\xh_dataview.cpp
+ $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_dataview.cpp
+
$(OBJS)\monolib_xh_datectrl.obj: ..\..\src\xrc\xh_datectrl.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_datectrl.cpp
@@ -16084,6 +16094,9 @@ $(OBJS)\xrcdll_xh_combo.obj: ..\..\src\xrc\xh_combo.cpp
$(OBJS)\xrcdll_xh_comboctrl.obj: ..\..\src\xrc\xh_comboctrl.cpp
$(CXX) -q -c -P -o$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_comboctrl.cpp
+$(OBJS)\xrcdll_xh_dataview.obj: ..\..\src\xrc\xh_dataview.cpp
+ $(CXX) -q -c -P -o$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_dataview.cpp
+
$(OBJS)\xrcdll_xh_datectrl.obj: ..\..\src\xrc\xh_datectrl.cpp
$(CXX) -q -c -P -o$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_datectrl.cpp
@@ -16288,6 +16301,9 @@ $(OBJS)\xrclib_xh_combo.obj: ..\..\src\xrc\xh_combo.cpp
$(OBJS)\xrclib_xh_comboctrl.obj: ..\..\src\xrc\xh_comboctrl.cpp
$(CXX) -q -c -P -o$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_comboctrl.cpp
+$(OBJS)\xrclib_xh_dataview.obj: ..\..\src\xrc\xh_dataview.cpp
+ $(CXX) -q -c -P -o$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_dataview.cpp
+
$(OBJS)\xrclib_xh_datectrl.obj: ..\..\src\xrc\xh_datectrl.cpp
$(CXX) -q -c -P -o$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_datectrl.cpp
diff --git a/build/msw/makefile.gcc b/build/msw/makefile.gcc
index e96d680d75..fd29216354 100644
--- a/build/msw/makefile.gcc
+++ b/build/msw/makefile.gcc
@@ -1231,6 +1231,7 @@ XRCDLL_OBJECTS = \
$(OBJS)\xrcdll_xh_collpane.o \
$(OBJS)\xrcdll_xh_combo.o \
$(OBJS)\xrcdll_xh_comboctrl.o \
+ $(OBJS)\xrcdll_xh_dataview.o \
$(OBJS)\xrcdll_xh_datectrl.o \
$(OBJS)\xrcdll_xh_dirpicker.o \
$(OBJS)\xrcdll_xh_dlg.o \
@@ -1308,6 +1309,7 @@ XRCLIB_OBJECTS = \
$(OBJS)\xrclib_xh_collpane.o \
$(OBJS)\xrclib_xh_combo.o \
$(OBJS)\xrclib_xh_comboctrl.o \
+ $(OBJS)\xrclib_xh_dataview.o \
$(OBJS)\xrclib_xh_datectrl.o \
$(OBJS)\xrclib_xh_dirpicker.o \
$(OBJS)\xrclib_xh_dlg.o \
@@ -1719,6 +1721,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_xh_collpane.o \
$(OBJS)\monodll_xh_combo.o \
$(OBJS)\monodll_xh_comboctrl.o \
+ $(OBJS)\monodll_xh_dataview.o \
$(OBJS)\monodll_xh_datectrl.o \
$(OBJS)\monodll_xh_dirpicker.o \
$(OBJS)\monodll_xh_dlg.o \
@@ -2556,6 +2559,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_xh_collpane.o \
$(OBJS)\monolib_xh_combo.o \
$(OBJS)\monolib_xh_comboctrl.o \
+ $(OBJS)\monolib_xh_dataview.o \
$(OBJS)\monolib_xh_datectrl.o \
$(OBJS)\monolib_xh_dirpicker.o \
$(OBJS)\monolib_xh_dlg.o \
@@ -7474,6 +7478,9 @@ $(OBJS)\monodll_xh_combo.o: ../../src/xrc/xh_combo.cpp
$(OBJS)\monodll_xh_comboctrl.o: ../../src/xrc/xh_comboctrl.cpp
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\monodll_xh_dataview.o: ../../src/xrc/xh_dataview.cpp
+ $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
+
$(OBJS)\monodll_xh_datectrl.o: ../../src/xrc/xh_datectrl.cpp
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
@@ -10020,6 +10027,9 @@ $(OBJS)\monolib_xh_combo.o: ../../src/xrc/xh_combo.cpp
$(OBJS)\monolib_xh_comboctrl.o: ../../src/xrc/xh_comboctrl.cpp
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\monolib_xh_dataview.o: ../../src/xrc/xh_dataview.cpp
+ $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
+
$(OBJS)\monolib_xh_datectrl.o: ../../src/xrc/xh_datectrl.cpp
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
@@ -16266,6 +16276,9 @@ $(OBJS)\xrcdll_xh_combo.o: ../../src/xrc/xh_combo.cpp
$(OBJS)\xrcdll_xh_comboctrl.o: ../../src/xrc/xh_comboctrl.cpp
$(CXX) -c -o $@ $(XRCDLL_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\xrcdll_xh_dataview.o: ../../src/xrc/xh_dataview.cpp
+ $(CXX) -c -o $@ $(XRCDLL_CXXFLAGS) $(CPPDEPS) $<
+
$(OBJS)\xrcdll_xh_datectrl.o: ../../src/xrc/xh_datectrl.cpp
$(CXX) -c -o $@ $(XRCDLL_CXXFLAGS) $(CPPDEPS) $<
@@ -16470,6 +16483,9 @@ $(OBJS)\xrclib_xh_combo.o: ../../src/xrc/xh_combo.cpp
$(OBJS)\xrclib_xh_comboctrl.o: ../../src/xrc/xh_comboctrl.cpp
$(CXX) -c -o $@ $(XRCLIB_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\xrclib_xh_dataview.o: ../../src/xrc/xh_dataview.cpp
+ $(CXX) -c -o $@ $(XRCLIB_CXXFLAGS) $(CPPDEPS) $<
+
$(OBJS)\xrclib_xh_datectrl.o: ../../src/xrc/xh_datectrl.cpp
$(CXX) -c -o $@ $(XRCLIB_CXXFLAGS) $(CPPDEPS) $<
diff --git a/build/msw/makefile.vc b/build/msw/makefile.vc
index b526facee5..4fa82decac 100644
--- a/build/msw/makefile.vc
+++ b/build/msw/makefile.vc
@@ -1361,6 +1361,7 @@ XRCDLL_OBJECTS = \
$(OBJS)\xrcdll_xh_collpane.obj \
$(OBJS)\xrcdll_xh_combo.obj \
$(OBJS)\xrcdll_xh_comboctrl.obj \
+ $(OBJS)\xrcdll_xh_dataview.obj \
$(OBJS)\xrcdll_xh_datectrl.obj \
$(OBJS)\xrcdll_xh_dirpicker.obj \
$(OBJS)\xrcdll_xh_dlg.obj \
@@ -1444,6 +1445,7 @@ XRCLIB_OBJECTS = \
$(OBJS)\xrclib_xh_collpane.obj \
$(OBJS)\xrclib_xh_combo.obj \
$(OBJS)\xrclib_xh_comboctrl.obj \
+ $(OBJS)\xrclib_xh_dataview.obj \
$(OBJS)\xrclib_xh_datectrl.obj \
$(OBJS)\xrclib_xh_dirpicker.obj \
$(OBJS)\xrclib_xh_dlg.obj \
@@ -2011,6 +2013,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_xh_collpane.obj \
$(OBJS)\monodll_xh_combo.obj \
$(OBJS)\monodll_xh_comboctrl.obj \
+ $(OBJS)\monodll_xh_dataview.obj \
$(OBJS)\monodll_xh_datectrl.obj \
$(OBJS)\monodll_xh_dirpicker.obj \
$(OBJS)\monodll_xh_dlg.obj \
@@ -2848,6 +2851,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_xh_collpane.obj \
$(OBJS)\monolib_xh_combo.obj \
$(OBJS)\monolib_xh_comboctrl.obj \
+ $(OBJS)\monolib_xh_dataview.obj \
$(OBJS)\monolib_xh_datectrl.obj \
$(OBJS)\monolib_xh_dirpicker.obj \
$(OBJS)\monolib_xh_dlg.obj \
@@ -8001,6 +8005,9 @@ $(OBJS)\monodll_xh_combo.obj: ..\..\src\xrc\xh_combo.cpp
$(OBJS)\monodll_xh_comboctrl.obj: ..\..\src\xrc\xh_comboctrl.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_comboctrl.cpp
+$(OBJS)\monodll_xh_dataview.obj: ..\..\src\xrc\xh_dataview.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_dataview.cpp
+
$(OBJS)\monodll_xh_datectrl.obj: ..\..\src\xrc\xh_datectrl.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_datectrl.cpp
@@ -10547,6 +10554,9 @@ $(OBJS)\monolib_xh_combo.obj: ..\..\src\xrc\xh_combo.cpp
$(OBJS)\monolib_xh_comboctrl.obj: ..\..\src\xrc\xh_comboctrl.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_comboctrl.cpp
+$(OBJS)\monolib_xh_dataview.obj: ..\..\src\xrc\xh_dataview.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_dataview.cpp
+
$(OBJS)\monolib_xh_datectrl.obj: ..\..\src\xrc\xh_datectrl.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_datectrl.cpp
@@ -16793,6 +16803,9 @@ $(OBJS)\xrcdll_xh_combo.obj: ..\..\src\xrc\xh_combo.cpp
$(OBJS)\xrcdll_xh_comboctrl.obj: ..\..\src\xrc\xh_comboctrl.cpp
$(CXX) /c /nologo /TP /Fo$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_comboctrl.cpp
+$(OBJS)\xrcdll_xh_dataview.obj: ..\..\src\xrc\xh_dataview.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_dataview.cpp
+
$(OBJS)\xrcdll_xh_datectrl.obj: ..\..\src\xrc\xh_datectrl.cpp
$(CXX) /c /nologo /TP /Fo$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_datectrl.cpp
@@ -16997,6 +17010,9 @@ $(OBJS)\xrclib_xh_combo.obj: ..\..\src\xrc\xh_combo.cpp
$(OBJS)\xrclib_xh_comboctrl.obj: ..\..\src\xrc\xh_comboctrl.cpp
$(CXX) /c /nologo /TP /Fo$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_comboctrl.cpp
+$(OBJS)\xrclib_xh_dataview.obj: ..\..\src\xrc\xh_dataview.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_dataview.cpp
+
$(OBJS)\xrclib_xh_datectrl.obj: ..\..\src\xrc\xh_datectrl.cpp
$(CXX) /c /nologo /TP /Fo$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_datectrl.cpp
diff --git a/build/msw/wx_vc7_core.vcproj b/build/msw/wx_vc7_core.vcproj
index 03c0a9c23e..4bf5be7495 100644
--- a/build/msw/wx_vc7_core.vcproj
+++ b/build/msw/wx_vc7_core.vcproj
@@ -2969,6 +2969,9 @@
+
+
diff --git a/build/msw/wx_vc7_xrc.vcproj b/build/msw/wx_vc7_xrc.vcproj
index 08c51e65f3..4460f3eb32 100644
--- a/build/msw/wx_vc7_xrc.vcproj
+++ b/build/msw/wx_vc7_xrc.vcproj
@@ -467,6 +467,9 @@
+
+
@@ -667,6 +670,9 @@
+
+
diff --git a/build/msw/wx_vc8_core.vcproj b/build/msw/wx_vc8_core.vcproj
index 6bd3bb2e76..65148aa4c8 100644
--- a/build/msw/wx_vc8_core.vcproj
+++ b/build/msw/wx_vc8_core.vcproj
@@ -4460,6 +4460,10 @@
RelativePath="..\..\include\wx\xrc\xh_comboctrl.h"
>
+
+
diff --git a/build/msw/wx_vc8_xrc.vcproj b/build/msw/wx_vc8_xrc.vcproj
index 2c1facc1d1..59bfca1714 100644
--- a/build/msw/wx_vc8_xrc.vcproj
+++ b/build/msw/wx_vc8_xrc.vcproj
@@ -1125,6 +1125,10 @@
RelativePath="..\..\include\wx\xrc\xh_comboctrl.h"
>
+
+
@@ -1391,6 +1395,10 @@
RelativePath="..\..\src\xrc\xh_comboctrl.cpp"
>
+
+
diff --git a/build/msw/wx_vc9_core.vcproj b/build/msw/wx_vc9_core.vcproj
index 6211764ce1..7fa0fffc0b 100644
--- a/build/msw/wx_vc9_core.vcproj
+++ b/build/msw/wx_vc9_core.vcproj
@@ -4456,6 +4456,10 @@
RelativePath="..\..\include\wx\xrc\xh_comboctrl.h"
>
+
+
diff --git a/build/msw/wx_vc9_xrc.vcproj b/build/msw/wx_vc9_xrc.vcproj
index 80e1a0f154..40fc608339 100644
--- a/build/msw/wx_vc9_xrc.vcproj
+++ b/build/msw/wx_vc9_xrc.vcproj
@@ -1121,6 +1121,10 @@
RelativePath="..\..\include\wx\xrc\xh_comboctrl.h"
>
+
+
@@ -1387,6 +1391,10 @@
RelativePath="..\..\src\xrc\xh_comboctrl.cpp"
>
+
+
diff --git a/build/msw/wx_xrc.vcxproj b/build/msw/wx_xrc.vcxproj
index fc0ee67673..4ef27464de 100644
--- a/build/msw/wx_xrc.vcxproj
+++ b/build/msw/wx_xrc.vcxproj
@@ -523,6 +523,7 @@
+
@@ -619,6 +620,7 @@
+
diff --git a/build/msw/wx_xrc.vcxproj.filters b/build/msw/wx_xrc.vcxproj.filters
index 4a20a3e0b8..10cf2674ba 100644
--- a/build/msw/wx_xrc.vcxproj.filters
+++ b/build/msw/wx_xrc.vcxproj.filters
@@ -76,6 +76,9 @@
Source Files
+
+ Source Files
+
Source Files
@@ -287,6 +290,9 @@
Common Headers
+
+ Common Headers
+
Common Headers
diff --git a/docs/doxygen/overviews/xrc_format.h b/docs/doxygen/overviews/xrc_format.h
index 1590108815..f20209c54c 100644
--- a/docs/doxygen/overviews/xrc_format.h
+++ b/docs/doxygen/overviews/xrc_format.h
@@ -1021,6 +1021,25 @@ Example:
@endTable
+@subsubsection xrc_wxdataviewctrl wxDataViewCtrl
+
+No additional properties.
+
+
+@subsubsection xrc_wxdataviewlistctrl wxDataViewListCtrl
+
+No additional properties.
+
+
+@subsubsection xrc_wxdataviewtreectrl wxDataViewTreeCtrl
+
+@beginTable
+@hdr3col{property, type, description}
+@row3col{imagelist, @ref overview_xrcformat_type_imagelist,
+ Image list to use for the images (default: none).}
+@endTable
+
+
@subsubsection xrc_wxdatepickerctrl wxDatePickerCtrl
No additional properties.
diff --git a/include/wx/xrc/xh_all.h b/include/wx/xrc/xh_all.h
index 379faa9aa2..c61a389238 100644
--- a/include/wx/xrc/xh_all.h
+++ b/include/wx/xrc/xh_all.h
@@ -30,6 +30,7 @@
#include "wx/xrc/xh_collpane.h"
#include "wx/xrc/xh_combo.h"
#include "wx/xrc/xh_comboctrl.h"
+#include "wx/xrc/xh_dataview.h"
#include "wx/xrc/xh_datectrl.h"
#include "wx/xrc/xh_dirpicker.h"
#include "wx/xrc/xh_dlg.h"
diff --git a/include/wx/xrc/xh_dataview.h b/include/wx/xrc/xh_dataview.h
new file mode 100644
index 0000000000..c022d4a96e
--- /dev/null
+++ b/include/wx/xrc/xh_dataview.h
@@ -0,0 +1,34 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: wx/xrc/xh_dataview.h
+// Purpose: XML resource handler for wxDataViewCtrl
+// Author: Anton Triest
+// Created: 2019/06/27
+// Copyright: (c) 2019 Anton Triest, Bricsys
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_XH_DATAVIEW_H_
+#define _WX_XH_DATAVIEW_H_
+
+#include "wx/xrc/xmlres.h"
+
+#if wxUSE_XRC && wxUSE_DATAVIEWCTRL
+
+class WXDLLIMPEXP_XRC wxDataViewXmlHandler : public wxXmlResourceHandler
+{
+ wxDECLARE_DYNAMIC_CLASS(wxDataViewXmlHandler);
+
+public:
+ wxDataViewXmlHandler();
+ virtual wxObject *DoCreateResource() wxOVERRIDE;
+ virtual bool CanHandle(wxXmlNode *node) wxOVERRIDE;
+
+private:
+ wxObject* HandleCtrl();
+ wxObject* HandleListCtrl();
+ wxObject* HandleTreeCtrl();
+};
+
+#endif // wxUSE_XRC && wxUSE_DATAVIEWCTRL
+
+#endif // _WX_XH_DATAVIEW_H_
diff --git a/misc/schema/xrc_schema.rnc b/misc/schema/xrc_schema.rnc
index 46315e4491..3716e3bc18 100644
--- a/misc/schema/xrc_schema.rnc
+++ b/misc/schema/xrc_schema.rnc
@@ -177,6 +177,9 @@ builtinWindowClasses =
| wxColourPickerCtrl
| wxComboBox
| wxComboCtrl
+ | wxDataViewCtrl
+ | wxDataViewListCtrl
+ | wxDataViewTreeCtrl
| wxDatePickerCtrl
| wxDialog
| wxDirPickerCtrl
@@ -274,6 +277,9 @@ builtinClassesNames =
| "wxColourPickerCtrl"
| "wxComboBox"
| "wxComboCtrl"
+ | "wxDataViewCtrl"
+ | "wxDataViewListCtrl"
+ | "wxDataViewTreeCtrl"
| "wxDatePickerCtrl"
| "wxDialog"
| "wxDirPickerCtrl"
@@ -849,6 +855,31 @@ wxComboCtrl =
}
+wxDataViewCtrl =
+ element object {
+ attribute class { "wxDataViewCtrl" } &
+ stdObjectNodeAttributes &
+ stdWindowProperties
+ }
+
+
+wxDataViewListCtrl =
+ element object {
+ attribute class { "wxDataViewListCtrl" } &
+ stdObjectNodeAttributes &
+ stdWindowProperties
+ }
+
+
+wxDataViewTreeCtrl =
+ element object {
+ attribute class { "wxDataViewTreeCtrl" } &
+ stdObjectNodeAttributes &
+ stdWindowProperties &
+ [xrc:p="o"] element imagelist {_, t_imagelist }*
+ }
+
+
wxDatePickerCtrl =
element object {
attribute class { "wxDatePickerCtrl" } &
diff --git a/src/xrc/xh_dataview.cpp b/src/xrc/xh_dataview.cpp
new file mode 100644
index 0000000000..3534163c43
--- /dev/null
+++ b/src/xrc/xh_dataview.cpp
@@ -0,0 +1,115 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: src/xrc/xh_dataview.cpp
+// Purpose: XRC resource for wxDataViewCtrl
+// Author: Anton Triest
+// Created: 2019/06/27
+// Copyright: (c) 2019 Anton Triest, Bricsys
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
+#if wxUSE_XRC && wxUSE_DATAVIEWCTRL
+
+#include "wx/xrc/xh_dataview.h"
+#include "wx/dataview.h"
+
+wxIMPLEMENT_DYNAMIC_CLASS(wxDataViewXmlHandler, wxXmlResourceHandler);
+
+wxDataViewXmlHandler::wxDataViewXmlHandler()
+ : wxXmlResourceHandler()
+{
+ XRC_ADD_STYLE(wxDV_SINGLE);
+ XRC_ADD_STYLE(wxDV_MULTIPLE);
+ XRC_ADD_STYLE(wxDV_NO_HEADER);
+ XRC_ADD_STYLE(wxDV_HORIZ_RULES);
+ XRC_ADD_STYLE(wxDV_VERT_RULES);
+ XRC_ADD_STYLE(wxDV_ROW_LINES);
+ XRC_ADD_STYLE(wxDV_VARIABLE_LINE_HEIGHT);
+
+ AddWindowStyles();
+}
+
+wxObject *wxDataViewXmlHandler::DoCreateResource()
+{
+ if (m_class == "wxDataViewCtrl")
+ {
+ return HandleCtrl();
+ }
+ else if (m_class == "wxDataViewListCtrl")
+ {
+ return HandleListCtrl();
+ }
+ else if (m_class == "wxDataViewTreeCtrl")
+ {
+ return HandleTreeCtrl();
+ }
+ return NULL;
+}
+
+bool wxDataViewXmlHandler::CanHandle(wxXmlNode *node)
+{
+ return IsOfClass(node, "wxDataViewCtrl") ||
+ IsOfClass(node, "wxDataViewListCtrl") ||
+ IsOfClass(node, "wxDataViewTreeCtrl");
+}
+
+wxObject* wxDataViewXmlHandler::HandleCtrl()
+{
+ XRC_MAKE_INSTANCE(control, wxDataViewCtrl)
+
+ control->Create(m_parentAsWindow,
+ GetID(),
+ GetPosition(),
+ GetSize(),
+ GetStyle(),
+ wxDefaultValidator,
+ GetName());
+
+ SetupWindow(control);
+
+ return control;
+}
+
+wxObject* wxDataViewXmlHandler::HandleListCtrl()
+{
+ XRC_MAKE_INSTANCE(control, wxDataViewListCtrl)
+
+ control->Create(m_parentAsWindow,
+ GetID(),
+ GetPosition(),
+ GetSize(),
+ GetStyle(),
+ wxDefaultValidator);
+
+ SetupWindow(control);
+
+ return control;
+}
+
+wxObject* wxDataViewXmlHandler::HandleTreeCtrl()
+{
+ XRC_MAKE_INSTANCE(control, wxDataViewTreeCtrl)
+
+ control->Create(m_parentAsWindow,
+ GetID(),
+ GetPosition(),
+ GetSize(),
+ GetStyle(),
+ wxDefaultValidator);
+
+ wxImageList *imagelist = GetImageList();
+ if (imagelist)
+ control->AssignImageList(imagelist);
+
+ SetupWindow(control);
+
+ return control;
+}
+
+#endif // wxUSE_XRC && wxUSE_DATAVIEWCTRL
diff --git a/src/xrc/xmlrsall.cpp b/src/xrc/xmlrsall.cpp
index 0f67288385..988d4402ba 100644
--- a/src/xrc/xmlrsall.cpp
+++ b/src/xrc/xmlrsall.cpp
@@ -86,6 +86,9 @@ void wxXmlResource::InitAllHandlers()
#if wxUSE_COMMANDLINKBUTTON
AddHandler(new wxCommandLinkButtonXmlHandler);
#endif
+#if wxUSE_DATAVIEWCTRL
+ AddHandler(new wxDataViewXmlHandler);
+#endif
#if wxUSE_DATEPICKCTRL
AddHandler(new wxDateCtrlXmlHandler);
#endif