diff --git a/Makefile.in b/Makefile.in
index bd27cd4206..2f952b9ffe 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1552,6 +1552,7 @@ XRCDLL_OBJECTS = \
xrcdll_xh_clrpicker.o \
xrcdll_xh_collpane.o \
xrcdll_xh_combo.o \
+ xrcdll_xh_comboctrl.o \
xrcdll_xh_datectrl.o \
xrcdll_xh_dirpicker.o \
xrcdll_xh_dlg.o \
@@ -1617,6 +1618,7 @@ XRCLIB_OBJECTS = \
xrclib_xh_clrpicker.o \
xrclib_xh_collpane.o \
xrclib_xh_combo.o \
+ xrclib_xh_comboctrl.o \
xrclib_xh_datectrl.o \
xrclib_xh_dirpicker.o \
xrclib_xh_dlg.o \
@@ -3694,6 +3696,7 @@ COND_USE_GUI_1_ALL_GUI_HEADERS = \
wx/xrc/xh_clrpicker.h \
wx/xrc/xh_collpane.h \
wx/xrc/xh_combo.h \
+ wx/xrc/xh_comboctrl.h \
wx/xrc/xh_datectrl.h \
wx/xrc/xh_dirpicker.h \
wx/xrc/xh_dlg.h \
@@ -3949,6 +3952,7 @@ COND_USE_GUI_1___MONOLIB_GUI_SRC_OBJECTS = \
monodll_xh_clrpicker.o \
monodll_xh_collpane.o \
monodll_xh_combo.o \
+ monodll_xh_comboctrl.o \
monodll_xh_datectrl.o \
monodll_xh_dirpicker.o \
monodll_xh_dlg.o \
@@ -5761,6 +5765,7 @@ COND_USE_GUI_1___MONOLIB_GUI_SRC_OBJECTS_1 = \
monolib_xh_clrpicker.o \
monolib_xh_collpane.o \
monolib_xh_combo.o \
+ monolib_xh_comboctrl.o \
monolib_xh_datectrl.o \
monolib_xh_dirpicker.o \
monolib_xh_dlg.o \
@@ -15697,6 +15702,9 @@ monodll_xh_collpane.o: $(srcdir)/src/xrc/xh_collpane.cpp $(MONODLL_ODEP)
monodll_xh_combo.o: $(srcdir)/src/xrc/xh_combo.cpp $(MONODLL_ODEP)
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/xrc/xh_combo.cpp
+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_datectrl.o: $(srcdir)/src/xrc/xh_datectrl.cpp $(MONODLL_ODEP)
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/xrc/xh_datectrl.cpp
@@ -20365,6 +20373,9 @@ monolib_xh_collpane.o: $(srcdir)/src/xrc/xh_collpane.cpp $(MONOLIB_ODEP)
monolib_xh_combo.o: $(srcdir)/src/xrc/xh_combo.cpp $(MONOLIB_ODEP)
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_combo.cpp
+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_datectrl.o: $(srcdir)/src/xrc/xh_datectrl.cpp $(MONOLIB_ODEP)
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_datectrl.cpp
@@ -32260,6 +32271,9 @@ xrcdll_xh_collpane.o: $(srcdir)/src/xrc/xh_collpane.cpp $(XRCDLL_ODEP)
xrcdll_xh_combo.o: $(srcdir)/src/xrc/xh_combo.cpp $(XRCDLL_ODEP)
$(CXXC) -c -o $@ $(XRCDLL_CXXFLAGS) $(srcdir)/src/xrc/xh_combo.cpp
+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_datectrl.o: $(srcdir)/src/xrc/xh_datectrl.cpp $(XRCDLL_ODEP)
$(CXXC) -c -o $@ $(XRCDLL_CXXFLAGS) $(srcdir)/src/xrc/xh_datectrl.cpp
@@ -32434,6 +32448,9 @@ xrclib_xh_collpane.o: $(srcdir)/src/xrc/xh_collpane.cpp $(XRCLIB_ODEP)
xrclib_xh_combo.o: $(srcdir)/src/xrc/xh_combo.cpp $(XRCLIB_ODEP)
$(CXXC) -c -o $@ $(XRCLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_combo.cpp
+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_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 6fcc9760e5..cd4598a3b8 100644
--- a/build/bakefiles/files.bkl
+++ b/build/bakefiles/files.bkl
@@ -3181,6 +3181,7 @@ src/osx/iphone/window.mm
src/xrc/xh_clrpicker.cpp
src/xrc/xh_collpane.cpp
src/xrc/xh_combo.cpp
+ src/xrc/xh_comboctrl.cpp
src/xrc/xh_datectrl.cpp
src/xrc/xh_dirpicker.cpp
src/xrc/xh_dlg.cpp
@@ -3244,6 +3245,7 @@ src/osx/iphone/window.mm
wx/xrc/xh_clrpicker.h
wx/xrc/xh_collpane.h
wx/xrc/xh_combo.h
+ wx/xrc/xh_comboctrl.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 cfa9a6c2ae..ebda828d89 100644
--- a/build/msw/makefile.bcc
+++ b/build/msw/makefile.bcc
@@ -1073,6 +1073,7 @@ XRCDLL_OBJECTS = \
$(OBJS)\xrcdll_xh_clrpicker.obj \
$(OBJS)\xrcdll_xh_collpane.obj \
$(OBJS)\xrcdll_xh_combo.obj \
+ $(OBJS)\xrcdll_xh_comboctrl.obj \
$(OBJS)\xrcdll_xh_datectrl.obj \
$(OBJS)\xrcdll_xh_dirpicker.obj \
$(OBJS)\xrcdll_xh_dlg.obj \
@@ -1141,6 +1142,7 @@ XRCLIB_OBJECTS = \
$(OBJS)\xrclib_xh_clrpicker.obj \
$(OBJS)\xrclib_xh_collpane.obj \
$(OBJS)\xrclib_xh_combo.obj \
+ $(OBJS)\xrclib_xh_comboctrl.obj \
$(OBJS)\xrclib_xh_datectrl.obj \
$(OBJS)\xrclib_xh_dirpicker.obj \
$(OBJS)\xrclib_xh_dlg.obj \
@@ -1448,6 +1450,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_xh_clrpicker.obj \
$(OBJS)\monodll_xh_collpane.obj \
$(OBJS)\monodll_xh_combo.obj \
+ $(OBJS)\monodll_xh_comboctrl.obj \
$(OBJS)\monodll_xh_datectrl.obj \
$(OBJS)\monodll_xh_dirpicker.obj \
$(OBJS)\monodll_xh_dlg.obj \
@@ -2127,6 +2130,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_xh_clrpicker.obj \
$(OBJS)\monolib_xh_collpane.obj \
$(OBJS)\monolib_xh_combo.obj \
+ $(OBJS)\monolib_xh_comboctrl.obj \
$(OBJS)\monolib_xh_datectrl.obj \
$(OBJS)\monolib_xh_dirpicker.obj \
$(OBJS)\monolib_xh_dlg.obj \
@@ -6000,6 +6004,9 @@ $(OBJS)\monodll_xh_collpane.obj: ..\..\src\xrc\xh_collpane.cpp
$(OBJS)\monodll_xh_combo.obj: ..\..\src\xrc\xh_combo.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\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_datectrl.obj: ..\..\src\xrc\xh_datectrl.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_datectrl.cpp
@@ -8215,6 +8222,9 @@ $(OBJS)\monolib_xh_collpane.obj: ..\..\src\xrc\xh_collpane.cpp
$(OBJS)\monolib_xh_combo.obj: ..\..\src\xrc\xh_combo.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\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_datectrl.obj: ..\..\src\xrc\xh_datectrl.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_datectrl.cpp
@@ -13760,6 +13770,9 @@ $(OBJS)\xrcdll_xh_collpane.obj: ..\..\src\xrc\xh_collpane.cpp
$(OBJS)\xrcdll_xh_combo.obj: ..\..\src\xrc\xh_combo.cpp
$(CXX) -q -c -P -o$@ $(XRCDLL_CXXFLAGS) ..\..\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_datectrl.obj: ..\..\src\xrc\xh_datectrl.cpp
$(CXX) -q -c -P -o$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_datectrl.cpp
@@ -13937,6 +13950,9 @@ $(OBJS)\xrclib_xh_collpane.obj: ..\..\src\xrc\xh_collpane.cpp
$(OBJS)\xrclib_xh_combo.obj: ..\..\src\xrc\xh_combo.cpp
$(CXX) -q -c -P -o$@ $(XRCLIB_CXXFLAGS) ..\..\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_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 c997f06243..e23b144a54 100644
--- a/build/msw/makefile.gcc
+++ b/build/msw/makefile.gcc
@@ -1075,6 +1075,7 @@ XRCDLL_OBJECTS = \
$(OBJS)\xrcdll_xh_clrpicker.o \
$(OBJS)\xrcdll_xh_collpane.o \
$(OBJS)\xrcdll_xh_combo.o \
+ $(OBJS)\xrcdll_xh_comboctrl.o \
$(OBJS)\xrcdll_xh_datectrl.o \
$(OBJS)\xrcdll_xh_dirpicker.o \
$(OBJS)\xrcdll_xh_dlg.o \
@@ -1143,6 +1144,7 @@ XRCLIB_OBJECTS = \
$(OBJS)\xrclib_xh_clrpicker.o \
$(OBJS)\xrclib_xh_collpane.o \
$(OBJS)\xrclib_xh_combo.o \
+ $(OBJS)\xrclib_xh_comboctrl.o \
$(OBJS)\xrclib_xh_datectrl.o \
$(OBJS)\xrclib_xh_dirpicker.o \
$(OBJS)\xrclib_xh_dlg.o \
@@ -1465,6 +1467,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_xh_clrpicker.o \
$(OBJS)\monodll_xh_collpane.o \
$(OBJS)\monodll_xh_combo.o \
+ $(OBJS)\monodll_xh_comboctrl.o \
$(OBJS)\monodll_xh_datectrl.o \
$(OBJS)\monodll_xh_dirpicker.o \
$(OBJS)\monodll_xh_dlg.o \
@@ -2150,6 +2153,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_xh_clrpicker.o \
$(OBJS)\monolib_xh_collpane.o \
$(OBJS)\monolib_xh_combo.o \
+ $(OBJS)\monolib_xh_comboctrl.o \
$(OBJS)\monolib_xh_datectrl.o \
$(OBJS)\monolib_xh_dirpicker.o \
$(OBJS)\monolib_xh_dlg.o \
@@ -6152,6 +6156,9 @@ $(OBJS)\monodll_xh_collpane.o: ../../src/xrc/xh_collpane.cpp
$(OBJS)\monodll_xh_combo.o: ../../src/xrc/xh_combo.cpp
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\monodll_xh_comboctrl.o: ../../src/xrc/xh_comboctrl.cpp
+ $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
+
$(OBJS)\monodll_xh_datectrl.o: ../../src/xrc/xh_datectrl.cpp
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
@@ -8481,6 +8488,9 @@ $(OBJS)\monolib_xh_collpane.o: ../../src/xrc/xh_collpane.cpp
$(OBJS)\monolib_xh_combo.o: ../../src/xrc/xh_combo.cpp
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\monolib_xh_comboctrl.o: ../../src/xrc/xh_comboctrl.cpp
+ $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
+
$(OBJS)\monolib_xh_datectrl.o: ../../src/xrc/xh_datectrl.cpp
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
@@ -14364,6 +14374,9 @@ $(OBJS)\xrcdll_xh_collpane.o: ../../src/xrc/xh_collpane.cpp
$(OBJS)\xrcdll_xh_combo.o: ../../src/xrc/xh_combo.cpp
$(CXX) -c -o $@ $(XRCDLL_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\xrcdll_xh_comboctrl.o: ../../src/xrc/xh_comboctrl.cpp
+ $(CXX) -c -o $@ $(XRCDLL_CXXFLAGS) $(CPPDEPS) $<
+
$(OBJS)\xrcdll_xh_datectrl.o: ../../src/xrc/xh_datectrl.cpp
$(CXX) -c -o $@ $(XRCDLL_CXXFLAGS) $(CPPDEPS) $<
@@ -14541,6 +14554,9 @@ $(OBJS)\xrclib_xh_collpane.o: ../../src/xrc/xh_collpane.cpp
$(OBJS)\xrclib_xh_combo.o: ../../src/xrc/xh_combo.cpp
$(CXX) -c -o $@ $(XRCLIB_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\xrclib_xh_comboctrl.o: ../../src/xrc/xh_comboctrl.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 09722b2490..4da5672d5c 100644
--- a/build/msw/makefile.vc
+++ b/build/msw/makefile.vc
@@ -1143,6 +1143,7 @@ XRCDLL_OBJECTS = \
$(OBJS)\xrcdll_xh_clrpicker.obj \
$(OBJS)\xrcdll_xh_collpane.obj \
$(OBJS)\xrcdll_xh_combo.obj \
+ $(OBJS)\xrcdll_xh_comboctrl.obj \
$(OBJS)\xrcdll_xh_datectrl.obj \
$(OBJS)\xrcdll_xh_dirpicker.obj \
$(OBJS)\xrcdll_xh_dlg.obj \
@@ -1214,6 +1215,7 @@ XRCLIB_OBJECTS = \
$(OBJS)\xrclib_xh_clrpicker.obj \
$(OBJS)\xrclib_xh_collpane.obj \
$(OBJS)\xrclib_xh_combo.obj \
+ $(OBJS)\xrclib_xh_comboctrl.obj \
$(OBJS)\xrclib_xh_datectrl.obj \
$(OBJS)\xrclib_xh_dirpicker.obj \
$(OBJS)\xrclib_xh_dlg.obj \
@@ -1628,6 +1630,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_xh_clrpicker.obj \
$(OBJS)\monodll_xh_collpane.obj \
$(OBJS)\monodll_xh_combo.obj \
+ $(OBJS)\monodll_xh_comboctrl.obj \
$(OBJS)\monodll_xh_datectrl.obj \
$(OBJS)\monodll_xh_dirpicker.obj \
$(OBJS)\monodll_xh_dlg.obj \
@@ -2313,6 +2316,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_xh_clrpicker.obj \
$(OBJS)\monolib_xh_collpane.obj \
$(OBJS)\monolib_xh_combo.obj \
+ $(OBJS)\monolib_xh_comboctrl.obj \
$(OBJS)\monolib_xh_datectrl.obj \
$(OBJS)\monolib_xh_dirpicker.obj \
$(OBJS)\monolib_xh_dlg.obj \
@@ -6346,6 +6350,9 @@ $(OBJS)\monodll_xh_collpane.obj: ..\..\src\xrc\xh_collpane.cpp
$(OBJS)\monodll_xh_combo.obj: ..\..\src\xrc\xh_combo.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\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_datectrl.obj: ..\..\src\xrc\xh_datectrl.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_datectrl.cpp
@@ -8561,6 +8568,9 @@ $(OBJS)\monolib_xh_collpane.obj: ..\..\src\xrc\xh_collpane.cpp
$(OBJS)\monolib_xh_combo.obj: ..\..\src\xrc\xh_combo.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\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_datectrl.obj: ..\..\src\xrc\xh_datectrl.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_datectrl.cpp
@@ -14106,6 +14116,9 @@ $(OBJS)\xrcdll_xh_collpane.obj: ..\..\src\xrc\xh_collpane.cpp
$(OBJS)\xrcdll_xh_combo.obj: ..\..\src\xrc\xh_combo.cpp
$(CXX) /c /nologo /TP /Fo$@ $(XRCDLL_CXXFLAGS) ..\..\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_datectrl.obj: ..\..\src\xrc\xh_datectrl.cpp
$(CXX) /c /nologo /TP /Fo$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_datectrl.cpp
@@ -14283,6 +14296,9 @@ $(OBJS)\xrclib_xh_collpane.obj: ..\..\src\xrc\xh_collpane.cpp
$(OBJS)\xrclib_xh_combo.obj: ..\..\src\xrc\xh_combo.cpp
$(CXX) /c /nologo /TP /Fo$@ $(XRCLIB_CXXFLAGS) ..\..\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_datectrl.obj: ..\..\src\xrc\xh_datectrl.cpp
$(CXX) /c /nologo /TP /Fo$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_datectrl.cpp
diff --git a/build/msw/makefile.wat b/build/msw/makefile.wat
index 09bafb5599..082784a063 100644
--- a/build/msw/makefile.wat
+++ b/build/msw/makefile.wat
@@ -143,6 +143,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = &
$(OBJS)\monodll_xh_clrpicker.obj &
$(OBJS)\monodll_xh_collpane.obj &
$(OBJS)\monodll_xh_combo.obj &
+ $(OBJS)\monodll_xh_comboctrl.obj &
$(OBJS)\monodll_xh_datectrl.obj &
$(OBJS)\monodll_xh_dirpicker.obj &
$(OBJS)\monodll_xh_dlg.obj &
@@ -833,6 +834,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = &
$(OBJS)\monolib_xh_clrpicker.obj &
$(OBJS)\monolib_xh_collpane.obj &
$(OBJS)\monolib_xh_combo.obj &
+ $(OBJS)\monolib_xh_comboctrl.obj &
$(OBJS)\monolib_xh_datectrl.obj &
$(OBJS)\monolib_xh_dirpicker.obj &
$(OBJS)\monolib_xh_dlg.obj &
@@ -4170,6 +4172,7 @@ XRCDLL_OBJECTS = &
$(OBJS)\xrcdll_xh_clrpicker.obj &
$(OBJS)\xrcdll_xh_collpane.obj &
$(OBJS)\xrcdll_xh_combo.obj &
+ $(OBJS)\xrcdll_xh_comboctrl.obj &
$(OBJS)\xrcdll_xh_datectrl.obj &
$(OBJS)\xrcdll_xh_dirpicker.obj &
$(OBJS)\xrcdll_xh_dlg.obj &
@@ -4238,6 +4241,7 @@ XRCLIB_OBJECTS = &
$(OBJS)\xrclib_xh_clrpicker.obj &
$(OBJS)\xrclib_xh_collpane.obj &
$(OBJS)\xrclib_xh_combo.obj &
+ $(OBJS)\xrclib_xh_comboctrl.obj &
$(OBJS)\xrclib_xh_datectrl.obj &
$(OBJS)\xrclib_xh_dirpicker.obj &
$(OBJS)\xrclib_xh_dlg.obj &
@@ -6397,6 +6401,9 @@ $(OBJS)\monodll_xh_collpane.obj : .AUTODEPEND ..\..\src\xrc\xh_collpane.cpp
$(OBJS)\monodll_xh_combo.obj : .AUTODEPEND ..\..\src\xrc\xh_combo.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
+$(OBJS)\monodll_xh_comboctrl.obj : .AUTODEPEND ..\..\src\xrc\xh_comboctrl.cpp
+ $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
+
$(OBJS)\monodll_xh_datectrl.obj : .AUTODEPEND ..\..\src\xrc\xh_datectrl.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
@@ -8726,6 +8733,9 @@ $(OBJS)\monolib_xh_collpane.obj : .AUTODEPEND ..\..\src\xrc\xh_collpane.cpp
$(OBJS)\monolib_xh_combo.obj : .AUTODEPEND ..\..\src\xrc\xh_combo.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
+$(OBJS)\monolib_xh_comboctrl.obj : .AUTODEPEND ..\..\src\xrc\xh_comboctrl.cpp
+ $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
+
$(OBJS)\monolib_xh_datectrl.obj : .AUTODEPEND ..\..\src\xrc\xh_datectrl.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
@@ -14609,6 +14619,9 @@ $(OBJS)\xrcdll_xh_collpane.obj : .AUTODEPEND ..\..\src\xrc\xh_collpane.cpp
$(OBJS)\xrcdll_xh_combo.obj : .AUTODEPEND ..\..\src\xrc\xh_combo.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(XRCDLL_CXXFLAGS) $<
+$(OBJS)\xrcdll_xh_comboctrl.obj : .AUTODEPEND ..\..\src\xrc\xh_comboctrl.cpp
+ $(CXX) -bt=nt -zq -fo=$^@ $(XRCDLL_CXXFLAGS) $<
+
$(OBJS)\xrcdll_xh_datectrl.obj : .AUTODEPEND ..\..\src\xrc\xh_datectrl.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(XRCDLL_CXXFLAGS) $<
@@ -14786,6 +14799,9 @@ $(OBJS)\xrclib_xh_collpane.obj : .AUTODEPEND ..\..\src\xrc\xh_collpane.cpp
$(OBJS)\xrclib_xh_combo.obj : .AUTODEPEND ..\..\src\xrc\xh_combo.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(XRCLIB_CXXFLAGS) $<
+$(OBJS)\xrclib_xh_comboctrl.obj : .AUTODEPEND ..\..\src\xrc\xh_comboctrl.cpp
+ $(CXX) -bt=nt -zq -fo=$^@ $(XRCLIB_CXXFLAGS) $<
+
$(OBJS)\xrclib_xh_datectrl.obj : .AUTODEPEND ..\..\src\xrc\xh_datectrl.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(XRCLIB_CXXFLAGS) $<
diff --git a/build/msw/wx_core.dsp b/build/msw/wx_core.dsp
index 07f58a9f13..3701568184 100644
--- a/build/msw/wx_core.dsp
+++ b/build/msw/wx_core.dsp
@@ -6626,6 +6626,10 @@ SOURCE=..\..\include\wx\xrc\xh_combo.h
# End Source File
# Begin Source File
+SOURCE=..\..\include\wx\xrc\xh_comboctrl.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\include\wx\xrc\xh_datectrl.h
# End Source File
# Begin Source File
diff --git a/build/msw/wx_vc7_core.vcproj b/build/msw/wx_vc7_core.vcproj
index e0523118cf..6c145c93b0 100644
--- a/build/msw/wx_vc7_core.vcproj
+++ b/build/msw/wx_vc7_core.vcproj
@@ -4219,6 +4219,9 @@
+
+
diff --git a/build/msw/wx_vc7_xrc.vcproj b/build/msw/wx_vc7_xrc.vcproj
index 40bbdd04d5..c23ea96911 100644
--- a/build/msw/wx_vc7_xrc.vcproj
+++ b/build/msw/wx_vc7_xrc.vcproj
@@ -809,6 +809,9 @@
+
+
@@ -982,6 +985,9 @@
+
+
diff --git a/build/msw/wx_vc8_core.vcproj b/build/msw/wx_vc8_core.vcproj
index bfc07fd603..1ce1d73732 100644
--- a/build/msw/wx_vc8_core.vcproj
+++ b/build/msw/wx_vc8_core.vcproj
@@ -5647,6 +5647,10 @@
RelativePath="..\..\include\wx\xrc\xh_combo.h"
>
+
+
diff --git a/build/msw/wx_vc8_xrc.vcproj b/build/msw/wx_vc8_xrc.vcproj
index 87c65d0e44..110c003821 100644
--- a/build/msw/wx_vc8_xrc.vcproj
+++ b/build/msw/wx_vc8_xrc.vcproj
@@ -1102,6 +1102,10 @@
RelativePath="..\..\include\wx\xrc\xh_combo.h"
>
+
+
@@ -1332,6 +1336,10 @@
RelativePath="..\..\src\xrc\xh_combo.cpp"
>
+
+
diff --git a/build/msw/wx_vc9_core.vcproj b/build/msw/wx_vc9_core.vcproj
index 3e6620b500..37fbe587a3 100644
--- a/build/msw/wx_vc9_core.vcproj
+++ b/build/msw/wx_vc9_core.vcproj
@@ -5643,6 +5643,10 @@
RelativePath="..\..\include\wx\xrc\xh_combo.h"
>
+
+
diff --git a/build/msw/wx_vc9_xrc.vcproj b/build/msw/wx_vc9_xrc.vcproj
index f494d17ec2..94ef4e0d54 100644
--- a/build/msw/wx_vc9_xrc.vcproj
+++ b/build/msw/wx_vc9_xrc.vcproj
@@ -1098,6 +1098,10 @@
RelativePath="..\..\include\wx\xrc\xh_combo.h"
>
+
+
@@ -1328,6 +1332,10 @@
RelativePath="..\..\src\xrc\xh_combo.cpp"
>
+
+
diff --git a/build/msw/wx_xrc.dsp b/build/msw/wx_xrc.dsp
index 117182ad13..0b3f6186b8 100644
--- a/build/msw/wx_xrc.dsp
+++ b/build/msw/wx_xrc.dsp
@@ -586,6 +586,10 @@ SOURCE=..\..\include\wx\xrc\xh_combo.h
# End Source File
# Begin Source File
+SOURCE=..\..\include\wx\xrc\xh_comboctrl.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\include\wx\xrc\xh_datectrl.h
# End Source File
# Begin Source File
@@ -814,6 +818,10 @@ SOURCE=..\..\src\xrc\xh_combo.cpp
# End Source File
# Begin Source File
+SOURCE=..\..\src\xrc\xh_comboctrl.cpp
+# End Source File
+# Begin Source File
+
SOURCE=..\..\src\xrc\xh_datectrl.cpp
# End Source File
# Begin Source File
diff --git a/include/wx/xrc/xh_all.h b/include/wx/xrc/xh_all.h
index 34f459f655..212c01a133 100644
--- a/include/wx/xrc/xh_all.h
+++ b/include/wx/xrc/xh_all.h
@@ -27,6 +27,7 @@
#include "wx/xrc/xh_clrpicker.h"
#include "wx/xrc/xh_collpane.h"
#include "wx/xrc/xh_combo.h"
+#include "wx/xrc/xh_comboctrl.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_comboctrl.h b/include/wx/xrc/xh_comboctrl.h
new file mode 100644
index 0000000000..d70a47355a
--- /dev/null
+++ b/include/wx/xrc/xh_comboctrl.h
@@ -0,0 +1,32 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: wx/xrc/xh_comboctrl.h
+// Purpose: XML resource handler for wxComboBox
+// Author: Jaakko Salli
+// Created: 2009/01/25
+// RCS-ID: $Id$
+// Copyright: (c) 2009 Jaakko Salli
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_XH_COMBOCTRL_H_
+#define _WX_XH_COMBOCTRL_H_
+
+#include "wx/xrc/xmlres.h"
+
+#if wxUSE_XRC && wxUSE_COMBOCTRL
+
+class WXDLLIMPEXP_XRC wxComboCtrlXmlHandler : public wxXmlResourceHandler
+{
+ DECLARE_DYNAMIC_CLASS(wxComboCtrlXmlHandler)
+
+public:
+ wxComboCtrlXmlHandler();
+ virtual wxObject *DoCreateResource();
+ virtual bool CanHandle(wxXmlNode *node);
+
+private:
+};
+
+#endif // wxUSE_XRC && wxUSE_COMBOCTRL
+
+#endif // _WX_XH_COMBOCTRL_H_
diff --git a/src/xrc/descrip.mms b/src/xrc/descrip.mms
index 316f9e0b27..500765d4bf 100755
--- a/src/xrc/descrip.mms
+++ b/src/xrc/descrip.mms
@@ -55,7 +55,7 @@ OBJECTS=xh_bmp.obj,xh_bmpbt.obj,xh_bttn.obj,xh_cald.obj,xh_chckb.obj,\
xh_fontpicker.obj,xh_clrpicker.obj,xh_odcombo.obj,xh_mdi.obj,\
xh_grid.obj,xh_datectrl.obj,xh_treebk.obj,xh_bmpcbox.obj,\
xh_animatctrl.obj,xh_htmllbox.obj,xh_collpane.obj,xh_srchctrl.obj,\
- xh_propdlg.obj,xmladv.obj
+ xh_propdlg.obj,xh_comboctrl.obj,xmladv.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,\
@@ -69,7 +69,7 @@ SOURCES =xh_bmp.cpp,xh_bmpbt.cpp,xh_bttn.cpp,xh_cald.cpp,xh_chckb.cpp,\
xh_fontpicker.cpp,xh_clrpicker.cpp,xh_odcombo.cpp,xh_mdi.cpp,\
xh_grid.cpp,xh_datectrl.cpp,xh_treebk.cpp,xh_bmpcbox.cpp,\
xh_animatctrl.cpp,xh_htmllbox.cpp,xh_collpane.cpp,xh_srchctrl.cpp,\
- xh_propdlg.cpp,xmladv.cpp
+ xh_propdlg.cpp,xh_comboctrl.cpp,xmladv.cpp
all : $(SOURCES)
$(MMS)$(MMSQUALIFIERS) $(OBJECTS)
@@ -97,6 +97,7 @@ xh_chckb.obj : xh_chckb.cpp
xh_chckl.obj : xh_chckl.cpp
xh_choic.obj : xh_choic.cpp
xh_combo.obj : xh_combo.cpp
+xh_comboctrl.obj : xh_comboctrl.cpp
xh_dlg.obj : xh_dlg.cpp
xh_frame.obj : xh_frame.cpp
xh_gauge.obj : xh_gauge.cpp
diff --git a/src/xrc/xh_comboctrl.cpp b/src/xrc/xh_comboctrl.cpp
new file mode 100644
index 0000000000..162ce708ab
--- /dev/null
+++ b/src/xrc/xh_comboctrl.cpp
@@ -0,0 +1,69 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: src/xrc/xh_comboctrl.cpp
+// Purpose: XRC resource for wxComboCtrl
+// Author: Jaakko Salli
+// Created: 2009/01/25
+// RCS-ID: $Id$
+// Copyright: (c) 2009 Jaakko Salli
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
+#if wxUSE_XRC && wxUSE_COMBOCTRL
+
+#include "wx/xrc/xh_comboctrl.h"
+
+#ifndef WX_PRECOMP
+ #include "wx/intl.h"
+ #include "wx/textctrl.h" // for wxTE_PROCESS_ENTER
+#endif
+
+#include "wx/combo.h"
+
+
+IMPLEMENT_DYNAMIC_CLASS(wxComboCtrlXmlHandler, wxXmlResourceHandler)
+
+wxComboCtrlXmlHandler::wxComboCtrlXmlHandler()
+ : wxXmlResourceHandler()
+{
+ XRC_ADD_STYLE(wxCB_SORT);
+ XRC_ADD_STYLE(wxCB_READONLY);
+ XRC_ADD_STYLE(wxTE_PROCESS_ENTER);
+ XRC_ADD_STYLE(wxCC_SPECIAL_DCLICK);
+ XRC_ADD_STYLE(wxCC_STD_BUTTON);
+ AddWindowStyles();
+}
+
+wxObject *wxComboCtrlXmlHandler::DoCreateResource()
+{
+ if( m_class == wxT("wxComboCtrl"))
+ {
+ XRC_MAKE_INSTANCE(control, wxComboCtrl)
+
+ control->Create(m_parentAsWindow,
+ GetID(),
+ GetText(wxT("value")),
+ GetPosition(), GetSize(),
+ GetStyle(),
+ wxDefaultValidator,
+ GetName());
+
+ SetupWindow(control);
+
+ return control;
+ }
+ return NULL;
+}
+
+bool wxComboCtrlXmlHandler::CanHandle(wxXmlNode *node)
+{
+ return IsOfClass(node, wxT("wxComboCtrl"));
+}
+
+#endif // wxUSE_XRC && wxUSE_COMBOBOX
diff --git a/src/xrc/xmlrsall.cpp b/src/xrc/xmlrsall.cpp
index ccee1ef255..87a23ea384 100644
--- a/src/xrc/xmlrsall.cpp
+++ b/src/xrc/xmlrsall.cpp
@@ -75,6 +75,9 @@ void wxXmlResource::InitAllHandlers()
#if wxUSE_COMBOBOX
AddHandler(new wxComboBoxXmlHandler);
#endif
+#if wxUSE_COMBOCTRL
+ AddHandler(new wxComboCtrlXmlHandler);
+#endif
#if wxUSE_DATEPICKCTRL
AddHandler(new wxDateCtrlXmlHandler);
#endif