From f696015cf1e474315b63823d697a5fa0462055b7 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sat, 17 May 2008 22:43:00 +0000 Subject: [PATCH] native wxBitmapComboBox implementation for MSW (patch 1941399) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53626 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- Makefile.in | 109 +++++++--- build/bakefiles/files.bkl | 3 + build/msw/makefile.bcc | 40 ++++ build/msw/makefile.gcc | 40 ++++ build/msw/makefile.vc | 40 ++++ build/msw/makefile.wat | 40 ++++ build/msw/wx_adv.dsp | 43 ++++ build/msw/wx_core.dsp | 4 + build/msw/wx_vc7_adv.vcproj | 19 ++ build/msw/wx_vc7_core.vcproj | 2 + build/msw/wx_vc8_adv.vcproj | 26 +++ build/msw/wx_vc8_core.vcproj | 3 + include/wx/bmpcbox.h | 79 ++++++- include/wx/generic/bmpcbox.h | 44 +--- include/wx/msw/bmpcbox.h | 135 ++++++++++++ src/common/bmpcboxcmn.cpp | 242 ++++++++++++++++++++++ src/generic/bmpcboxg.cpp | 186 +++-------------- src/msw/bmpcbox.cpp | 387 +++++++++++++++++++++++++++++++++++ 18 files changed, 1220 insertions(+), 222 deletions(-) create mode 100644 include/wx/msw/bmpcbox.h create mode 100644 src/common/bmpcboxcmn.cpp create mode 100644 src/msw/bmpcbox.cpp diff --git a/Makefile.in b/Makefile.in index 6e58ef585b..23481bfcd5 100644 --- a/Makefile.in +++ b/Makefile.in @@ -3015,11 +3015,18 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_ADVANCED_PLATFORM_NATIVE_HDR = \ wx/gtk/dataview.h \ wx/gtk/hyperlink.h @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@ADVANCED_PLATFORM_NATIVE_HDR = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_ADVANCED_PLATFORM_NATIVE_HDR) -@COND_TOOLKIT_MSW@ADVANCED_PLATFORM_NATIVE_HDR = \ -@COND_TOOLKIT_MSW@ wx/msw/calctrl.h wx/msw/datecontrols.h wx/msw/datectrl.h -@COND_TOOLKIT_WINCE@ADVANCED_PLATFORM_NATIVE_HDR = \ -@COND_TOOLKIT_WINCE@ wx/msw/calctrl.h wx/msw/datecontrols.h \ -@COND_TOOLKIT_WINCE@ wx/msw/datectrl.h +COND_TOOLKIT_MSW_ADVANCED_PLATFORM_NATIVE_HDR = \ + wx/msw/bmpcbox.h \ + wx/msw/calctrl.h \ + wx/msw/datecontrols.h \ + wx/msw/datectrl.h +@COND_TOOLKIT_MSW@ADVANCED_PLATFORM_NATIVE_HDR = $(COND_TOOLKIT_MSW_ADVANCED_PLATFORM_NATIVE_HDR) +COND_TOOLKIT_WINCE_ADVANCED_PLATFORM_NATIVE_HDR = \ + wx/msw/bmpcbox.h \ + wx/msw/calctrl.h \ + wx/msw/datecontrols.h \ + wx/msw/datectrl.h +@COND_TOOLKIT_WINCE@ADVANCED_PLATFORM_NATIVE_HDR = $(COND_TOOLKIT_WINCE_ADVANCED_PLATFORM_NATIVE_HDR) COND_WXUNIV_0_ADVANCED_HDR = \ wx/aboutdlg.h \ wx/animate.h \ @@ -5323,6 +5330,7 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_1 = \ @COND_TOOLKIT_X11@__LOWLEVEL_SRC_OBJECTS_1 = $(COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_1) COND_WXUNIV_0___ADVANCED_SRC_OBJECTS = \ monodll_animatecmn.o \ + monodll_bmpcboxcmn.o \ monodll_calctrlcmn.o \ monodll_datavcmn.o \ monodll_hyperlnkcmn.o \ @@ -5350,6 +5358,7 @@ COND_WXUNIV_0___ADVANCED_SRC_OBJECTS = \ @COND_WXUNIV_0@__ADVANCED_SRC_OBJECTS = $(COND_WXUNIV_0___ADVANCED_SRC_OBJECTS) COND_WXUNIV_1___ADVANCED_SRC_OBJECTS = \ monodll_animatecmn.o \ + monodll_bmpcboxcmn.o \ monodll_calctrlcmn.o \ monodll_datavcmn.o \ monodll_hyperlnkcmn.o \ @@ -5382,12 +5391,18 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS = \ monodll_dataview.o \ monodll_hyperlink.o @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS) -@COND_TOOLKIT_MSW@__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS \ -@COND_TOOLKIT_MSW@ = monodll_calctrl.o monodll_datecontrols.o \ -@COND_TOOLKIT_MSW@ monodll_datectrl.o -@COND_TOOLKIT_WINCE@__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS \ -@COND_TOOLKIT_WINCE@ = monodll_calctrl.o monodll_datecontrols.o \ -@COND_TOOLKIT_WINCE@ monodll_datectrl.o +COND_TOOLKIT_MSW___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS = \ + monodll_bmpcbox.o \ + monodll_calctrl.o \ + monodll_datecontrols.o \ + monodll_datectrl.o +@COND_TOOLKIT_MSW@__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS = $(COND_TOOLKIT_MSW___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS) +COND_TOOLKIT_WINCE___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS = \ + monodll_bmpcbox.o \ + monodll_calctrl.o \ + monodll_datecontrols.o \ + monodll_datectrl.o +@COND_TOOLKIT_WINCE@__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS = $(COND_TOOLKIT_WINCE___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS) @COND_TOOLKIT_COCOA@__MEDIA_PLATFORM_SRC_OBJECTS = monodll_mediactrl.o @COND_TOOLKIT_GTK@__MEDIA_PLATFORM_SRC_OBJECTS = monodll_mediactrl.o @COND_TOOLKIT_MAC@__MEDIA_PLATFORM_SRC_OBJECTS = monodll_mediactrl.o @@ -7238,6 +7253,7 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_3 = \ @COND_TOOLKIT_X11@__LOWLEVEL_SRC_OBJECTS_3 = $(COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_3) COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_1 = \ monolib_animatecmn.o \ + monolib_bmpcboxcmn.o \ monolib_calctrlcmn.o \ monolib_datavcmn.o \ monolib_hyperlnkcmn.o \ @@ -7265,6 +7281,7 @@ COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_1 = \ @COND_WXUNIV_0@__ADVANCED_SRC_OBJECTS_1 = $(COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_1) COND_WXUNIV_1___ADVANCED_SRC_OBJECTS_1 = \ monolib_animatecmn.o \ + monolib_bmpcboxcmn.o \ monolib_calctrlcmn.o \ monolib_datavcmn.o \ monolib_hyperlnkcmn.o \ @@ -7297,12 +7314,18 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_1 = \ monolib_dataview.o \ monolib_hyperlink.o @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_1 = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_1) -@COND_TOOLKIT_MSW@__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_1 \ -@COND_TOOLKIT_MSW@ = monolib_calctrl.o monolib_datecontrols.o \ -@COND_TOOLKIT_MSW@ monolib_datectrl.o -@COND_TOOLKIT_WINCE@__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_1 \ -@COND_TOOLKIT_WINCE@ = monolib_calctrl.o monolib_datecontrols.o \ -@COND_TOOLKIT_WINCE@ monolib_datectrl.o +COND_TOOLKIT_MSW___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_1 = \ + monolib_bmpcbox.o \ + monolib_calctrl.o \ + monolib_datecontrols.o \ + monolib_datectrl.o +@COND_TOOLKIT_MSW@__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_1 = $(COND_TOOLKIT_MSW___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_1) +COND_TOOLKIT_WINCE___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_1 = \ + monolib_bmpcbox.o \ + monolib_calctrl.o \ + monolib_datecontrols.o \ + monolib_datectrl.o +@COND_TOOLKIT_WINCE@__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_1 = $(COND_TOOLKIT_WINCE___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_1) @COND_TOOLKIT_COCOA@__MEDIA_PLATFORM_SRC_OBJECTS_1 = monolib_mediactrl.o @COND_TOOLKIT_GTK@__MEDIA_PLATFORM_SRC_OBJECTS_1 = monolib_mediactrl.o @COND_TOOLKIT_MAC@__MEDIA_PLATFORM_SRC_OBJECTS_1 = monolib_mediactrl.o @@ -10990,6 +11013,7 @@ COND_USE_SOSYMLINKS_1___advdll___so_symlinks_uninst_cmd = rm -f \ @COND_PLATFORM_WIN32_1@__advdll___win32rc = advdll_version_rc.o COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_2 = \ advdll_animatecmn.o \ + advdll_bmpcboxcmn.o \ advdll_calctrlcmn.o \ advdll_datavcmn.o \ advdll_hyperlnkcmn.o \ @@ -11017,6 +11041,7 @@ COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_2 = \ @COND_WXUNIV_0@__ADVANCED_SRC_OBJECTS_2 = $(COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_2) COND_WXUNIV_1___ADVANCED_SRC_OBJECTS_2 = \ advdll_animatecmn.o \ + advdll_bmpcboxcmn.o \ advdll_calctrlcmn.o \ advdll_datavcmn.o \ advdll_hyperlnkcmn.o \ @@ -11050,11 +11075,11 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_2 = \ advdll_hyperlink.o @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_2 = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_2) @COND_TOOLKIT_MSW@__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_2 \ -@COND_TOOLKIT_MSW@ = advdll_calctrl.o advdll_datecontrols.o \ +@COND_TOOLKIT_MSW@ = advdll_bmpcbox.o advdll_calctrl.o advdll_datecontrols.o \ @COND_TOOLKIT_MSW@ advdll_datectrl.o @COND_TOOLKIT_WINCE@__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_2 \ -@COND_TOOLKIT_WINCE@ = advdll_calctrl.o advdll_datecontrols.o \ -@COND_TOOLKIT_WINCE@ advdll_datectrl.o +@COND_TOOLKIT_WINCE@ = advdll_bmpcbox.o advdll_calctrl.o \ +@COND_TOOLKIT_WINCE@ advdll_datecontrols.o advdll_datectrl.o @COND_PLATFORM_UNIX_1_USE_PLUGINS_0@__PLUGIN_ADV_SRC_OBJECTS_2 \ @COND_PLATFORM_UNIX_1_USE_PLUGINS_0@ = advdll_sound_sdl.o COND_MONOLITHIC_0_SHARED_0_USE_GUI_1___advlib___depname = \ @@ -11071,6 +11096,7 @@ COND_MONOLITHIC_0_SHARED_0_USE_GUI_1___advlib___depname = \ @COND_USE_PCH_1@ = .pch/wxprec_advlib/wx/wxprec.h.gch COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_3 = \ advlib_animatecmn.o \ + advlib_bmpcboxcmn.o \ advlib_calctrlcmn.o \ advlib_datavcmn.o \ advlib_hyperlnkcmn.o \ @@ -11098,6 +11124,7 @@ COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_3 = \ @COND_WXUNIV_0@__ADVANCED_SRC_OBJECTS_3 = $(COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_3) COND_WXUNIV_1___ADVANCED_SRC_OBJECTS_3 = \ advlib_animatecmn.o \ + advlib_bmpcboxcmn.o \ advlib_calctrlcmn.o \ advlib_datavcmn.o \ advlib_hyperlnkcmn.o \ @@ -11131,11 +11158,11 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_3 = \ advlib_hyperlink.o @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_3 = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_3) @COND_TOOLKIT_MSW@__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_3 \ -@COND_TOOLKIT_MSW@ = advlib_calctrl.o advlib_datecontrols.o \ +@COND_TOOLKIT_MSW@ = advlib_bmpcbox.o advlib_calctrl.o advlib_datecontrols.o \ @COND_TOOLKIT_MSW@ advlib_datectrl.o @COND_TOOLKIT_WINCE@__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_3 \ -@COND_TOOLKIT_WINCE@ = advlib_calctrl.o advlib_datecontrols.o \ -@COND_TOOLKIT_WINCE@ advlib_datectrl.o +@COND_TOOLKIT_WINCE@ = advlib_bmpcbox.o advlib_calctrl.o \ +@COND_TOOLKIT_WINCE@ advlib_datecontrols.o advlib_datectrl.o @COND_PLATFORM_UNIX_1_USE_PLUGINS_0@__PLUGIN_ADV_SRC_OBJECTS_3 \ @COND_PLATFORM_UNIX_1_USE_PLUGINS_0@ = advlib_sound_sdl.o @COND_SHARED_1@____wxadv_namedll_DEP = $(__advdll___depname) @@ -17887,6 +17914,9 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP) @COND_USE_GUI_1@monodll_animatecmn.o: $(srcdir)/src/common/animatecmn.cpp $(MONODLL_ODEP) @COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/animatecmn.cpp +@COND_USE_GUI_1@monodll_bmpcboxcmn.o: $(srcdir)/src/common/bmpcboxcmn.cpp $(MONODLL_ODEP) +@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/bmpcboxcmn.cpp + @COND_USE_GUI_1@monodll_calctrlcmn.o: $(srcdir)/src/common/calctrlcmn.cpp $(MONODLL_ODEP) @COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/calctrlcmn.cpp @@ -18109,6 +18139,12 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP) @COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@monodll_calctrl.o: $(srcdir)/src/msw/calctrl.cpp $(MONODLL_ODEP) @COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/calctrl.cpp +@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@monodll_bmpcbox.o: $(srcdir)/src/msw/bmpcbox.cpp $(MONODLL_ODEP) +@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/bmpcbox.cpp + +@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@monodll_bmpcbox.o: $(srcdir)/src/msw/bmpcbox.cpp $(MONODLL_ODEP) +@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/bmpcbox.cpp + @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@monodll_datecontrols.o: $(srcdir)/src/msw/datecontrols.cpp $(MONODLL_ODEP) @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/datecontrols.cpp @@ -22429,6 +22465,9 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP) @COND_USE_GUI_1@monolib_animatecmn.o: $(srcdir)/src/common/animatecmn.cpp $(MONOLIB_ODEP) @COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/animatecmn.cpp +@COND_USE_GUI_1@monolib_bmpcboxcmn.o: $(srcdir)/src/common/bmpcboxcmn.cpp $(MONOLIB_ODEP) +@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/bmpcboxcmn.cpp + @COND_USE_GUI_1@monolib_calctrlcmn.o: $(srcdir)/src/common/calctrlcmn.cpp $(MONOLIB_ODEP) @COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/calctrlcmn.cpp @@ -22651,6 +22690,12 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP) @COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@monolib_calctrl.o: $(srcdir)/src/msw/calctrl.cpp $(MONOLIB_ODEP) @COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/calctrl.cpp +@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@monolib_bmpcbox.o: $(srcdir)/src/msw/bmpcbox.cpp $(MONOLIB_ODEP) +@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/bmpcbox.cpp + +@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@monolib_bmpcbox.o: $(srcdir)/src/msw/bmpcbox.cpp $(MONOLIB_ODEP) +@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/bmpcbox.cpp + @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@monolib_datecontrols.o: $(srcdir)/src/msw/datecontrols.cpp $(MONOLIB_ODEP) @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/datecontrols.cpp @@ -30610,6 +30655,9 @@ advdll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(ADVDLL_ODEP) advdll_animatecmn.o: $(srcdir)/src/common/animatecmn.cpp $(ADVDLL_ODEP) $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/common/animatecmn.cpp +advdll_bmpcboxcmn.o: $(srcdir)/src/common/bmpcboxcmn.cpp $(ADVDLL_ODEP) + $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/common/bmpcboxcmn.cpp + advdll_calctrlcmn.o: $(srcdir)/src/common/calctrlcmn.cpp $(ADVDLL_ODEP) $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/common/calctrlcmn.cpp @@ -30862,6 +30910,12 @@ advdll_wizard.o: $(srcdir)/src/generic/wizard.cpp $(ADVDLL_ODEP) @COND_TOOLKIT_WINCE_WXUNIV_0@advdll_calctrl.o: $(srcdir)/src/msw/calctrl.cpp $(ADVDLL_ODEP) @COND_TOOLKIT_WINCE_WXUNIV_0@ $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/msw/calctrl.cpp +@COND_TOOLKIT_MSW_WXUNIV_0@advdll_bmpcbox.o: $(srcdir)/src/msw/bmpcbox.cpp $(ADVDLL_ODEP) +@COND_TOOLKIT_MSW_WXUNIV_0@ $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/msw/bmpcbox.cpp + +@COND_TOOLKIT_WINCE_WXUNIV_0@advdll_bmpcbox.o: $(srcdir)/src/msw/bmpcbox.cpp $(ADVDLL_ODEP) +@COND_TOOLKIT_WINCE_WXUNIV_0@ $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/msw/bmpcbox.cpp + @COND_TOOLKIT_MSW_WXUNIV_0@advdll_datecontrols.o: $(srcdir)/src/msw/datecontrols.cpp $(ADVDLL_ODEP) @COND_TOOLKIT_MSW_WXUNIV_0@ $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/msw/datecontrols.cpp @@ -30886,6 +30940,9 @@ advlib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(ADVLIB_ODEP) advlib_animatecmn.o: $(srcdir)/src/common/animatecmn.cpp $(ADVLIB_ODEP) $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/common/animatecmn.cpp +advlib_bmpcboxcmn.o: $(srcdir)/src/common/bmpcboxcmn.cpp $(ADVLIB_ODEP) + $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/common/bmpcboxcmn.cpp + advlib_calctrlcmn.o: $(srcdir)/src/common/calctrlcmn.cpp $(ADVLIB_ODEP) $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/common/calctrlcmn.cpp @@ -31138,6 +31195,12 @@ advlib_wizard.o: $(srcdir)/src/generic/wizard.cpp $(ADVLIB_ODEP) @COND_TOOLKIT_WINCE_WXUNIV_0@advlib_calctrl.o: $(srcdir)/src/msw/calctrl.cpp $(ADVLIB_ODEP) @COND_TOOLKIT_WINCE_WXUNIV_0@ $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/msw/calctrl.cpp +@COND_TOOLKIT_MSW_WXUNIV_0@advlib_bmpcbox.o: $(srcdir)/src/msw/bmpcbox.cpp $(ADVLIB_ODEP) +@COND_TOOLKIT_MSW_WXUNIV_0@ $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/msw/bmpcbox.cpp + +@COND_TOOLKIT_WINCE_WXUNIV_0@advlib_bmpcbox.o: $(srcdir)/src/msw/bmpcbox.cpp $(ADVLIB_ODEP) +@COND_TOOLKIT_WINCE_WXUNIV_0@ $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/msw/bmpcbox.cpp + @COND_TOOLKIT_MSW_WXUNIV_0@advlib_datecontrols.o: $(srcdir)/src/msw/datecontrols.cpp $(ADVLIB_ODEP) @COND_TOOLKIT_MSW_WXUNIV_0@ $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/msw/datecontrols.cpp diff --git a/build/bakefiles/files.bkl b/build/bakefiles/files.bkl index 3fba399264..738b28084a 100644 --- a/build/bakefiles/files.bkl +++ b/build/bakefiles/files.bkl @@ -2817,6 +2817,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! src/common/animatecmn.cpp + src/common/bmpcboxcmn.cpp src/common/calctrlcmn.cpp src/common/datavcmn.cpp src/common/hyperlnkcmn.cpp @@ -2899,11 +2900,13 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! + src/msw/bmpcbox.cpp src/msw/calctrl.cpp src/msw/datecontrols.cpp src/msw/datectrl.cpp + wx/msw/bmpcbox.h wx/msw/calctrl.h wx/msw/datecontrols.h wx/msw/datectrl.h diff --git a/build/msw/makefile.bcc b/build/msw/makefile.bcc index 73512c957d..5ae94d5ec8 100644 --- a/build/msw/makefile.bcc +++ b/build/msw/makefile.bcc @@ -1938,6 +1938,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \ !if "$(WXUNIV)" == "0" ____ADVANCED_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_animatecmn.obj \ + $(OBJS)\monodll_bmpcboxcmn.obj \ $(OBJS)\monodll_calctrlcmn.obj \ $(OBJS)\monodll_datavcmn.obj \ $(OBJS)\monodll_hyperlnkcmn.obj \ @@ -1967,6 +1968,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_sound.obj \ $(OBJS)\monodll_taskbar.obj \ $(OBJS)\monodll_joystick.obj \ + $(OBJS)\monodll_bmpcbox.obj \ $(OBJS)\monodll_calctrl.obj \ $(OBJS)\monodll_datecontrols.obj \ $(OBJS)\monodll_datectrl.obj @@ -1974,6 +1976,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \ !if "$(WXUNIV)" == "1" ____ADVANCED_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_animatecmn.obj \ + $(OBJS)\monodll_bmpcboxcmn.obj \ $(OBJS)\monodll_calctrlcmn.obj \ $(OBJS)\monodll_datavcmn.obj \ $(OBJS)\monodll_hyperlnkcmn.obj \ @@ -2588,6 +2591,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \ !if "$(WXUNIV)" == "0" ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_animatecmn.obj \ + $(OBJS)\monolib_bmpcboxcmn.obj \ $(OBJS)\monolib_calctrlcmn.obj \ $(OBJS)\monolib_datavcmn.obj \ $(OBJS)\monolib_hyperlnkcmn.obj \ @@ -2617,6 +2621,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_sound.obj \ $(OBJS)\monolib_taskbar.obj \ $(OBJS)\monolib_joystick.obj \ + $(OBJS)\monolib_bmpcbox.obj \ $(OBJS)\monolib_calctrl.obj \ $(OBJS)\monolib_datecontrols.obj \ $(OBJS)\monolib_datectrl.obj @@ -2624,6 +2629,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \ !if "$(WXUNIV)" == "1" ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_animatecmn.obj \ + $(OBJS)\monolib_bmpcboxcmn.obj \ $(OBJS)\monolib_calctrlcmn.obj \ $(OBJS)\monolib_datavcmn.obj \ $(OBJS)\monolib_hyperlnkcmn.obj \ @@ -3630,6 +3636,7 @@ __advdll___depname = \ !if "$(WXUNIV)" == "0" ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\advdll_animatecmn.obj \ + $(OBJS)\advdll_bmpcboxcmn.obj \ $(OBJS)\advdll_calctrlcmn.obj \ $(OBJS)\advdll_datavcmn.obj \ $(OBJS)\advdll_hyperlnkcmn.obj \ @@ -3659,6 +3666,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\advdll_sound.obj \ $(OBJS)\advdll_taskbar.obj \ $(OBJS)\advdll_joystick.obj \ + $(OBJS)\advdll_bmpcbox.obj \ $(OBJS)\advdll_calctrl.obj \ $(OBJS)\advdll_datecontrols.obj \ $(OBJS)\advdll_datectrl.obj @@ -3666,6 +3674,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \ !if "$(WXUNIV)" == "1" ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\advdll_animatecmn.obj \ + $(OBJS)\advdll_bmpcboxcmn.obj \ $(OBJS)\advdll_calctrlcmn.obj \ $(OBJS)\advdll_datavcmn.obj \ $(OBJS)\advdll_hyperlnkcmn.obj \ @@ -3704,6 +3713,7 @@ __advlib___depname = \ !if "$(WXUNIV)" == "0" ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\advlib_animatecmn.obj \ + $(OBJS)\advlib_bmpcboxcmn.obj \ $(OBJS)\advlib_calctrlcmn.obj \ $(OBJS)\advlib_datavcmn.obj \ $(OBJS)\advlib_hyperlnkcmn.obj \ @@ -3733,6 +3743,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\advlib_sound.obj \ $(OBJS)\advlib_taskbar.obj \ $(OBJS)\advlib_joystick.obj \ + $(OBJS)\advlib_bmpcbox.obj \ $(OBJS)\advlib_calctrl.obj \ $(OBJS)\advlib_datecontrols.obj \ $(OBJS)\advlib_datectrl.obj @@ -3740,6 +3751,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \ !if "$(WXUNIV)" == "1" ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\advlib_animatecmn.obj \ + $(OBJS)\advlib_bmpcboxcmn.obj \ $(OBJS)\advlib_calctrlcmn.obj \ $(OBJS)\advlib_datavcmn.obj \ $(OBJS)\advlib_hyperlnkcmn.obj \ @@ -5677,6 +5689,9 @@ $(OBJS)\monodll_mono.obj: ..\..\src\univ\themes\mono.cpp $(OBJS)\monodll_win32.obj: ..\..\src\univ\themes\win32.cpp $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\univ\themes\win32.cpp +$(OBJS)\monodll_bmpcbox.obj: ..\..\src\msw\bmpcbox.cpp + $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\bmpcbox.cpp + $(OBJS)\monodll_calctrl.obj: ..\..\src\msw\calctrl.cpp $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\calctrl.cpp @@ -7187,6 +7202,11 @@ $(OBJS)\monodll_animatecmn.obj: ..\..\src\common\animatecmn.cpp $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\animatecmn.cpp !endif +!if "$(USE_GUI)" == "1" +$(OBJS)\monodll_bmpcboxcmn.obj: ..\..\src\common\bmpcboxcmn.cpp + $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\bmpcboxcmn.cpp +!endif + !if "$(USE_GUI)" == "1" $(OBJS)\monodll_calctrlcmn.obj: ..\..\src\common\calctrlcmn.cpp $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\calctrlcmn.cpp @@ -7814,6 +7834,9 @@ $(OBJS)\monolib_mono.obj: ..\..\src\univ\themes\mono.cpp $(OBJS)\monolib_win32.obj: ..\..\src\univ\themes\win32.cpp $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\univ\themes\win32.cpp +$(OBJS)\monolib_bmpcbox.obj: ..\..\src\msw\bmpcbox.cpp + $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\bmpcbox.cpp + $(OBJS)\monolib_calctrl.obj: ..\..\src\msw\calctrl.cpp $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\calctrl.cpp @@ -9324,6 +9347,11 @@ $(OBJS)\monolib_animatecmn.obj: ..\..\src\common\animatecmn.cpp $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\animatecmn.cpp !endif +!if "$(USE_GUI)" == "1" +$(OBJS)\monolib_bmpcboxcmn.obj: ..\..\src\common\bmpcboxcmn.cpp + $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\bmpcboxcmn.cpp +!endif + !if "$(USE_GUI)" == "1" $(OBJS)\monolib_calctrlcmn.obj: ..\..\src\common\calctrlcmn.cpp $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\calctrlcmn.cpp @@ -12847,6 +12875,9 @@ $(OBJS)\advdll_dummy.obj: ..\..\src\common\dummy.cpp $(OBJS)\advdll_version.res: ..\..\src\msw\version.rc brcc32 -32 -r -fo$@ -i$(BCCDIR)\include -d__WXMSW__ $(__WXUNIV_DEFINE_p_54) $(__DEBUG_DEFINE_p_53) $(__EXCEPTIONS_DEFINE_p_53) $(__RTTI_DEFINE_p_53) $(__THREAD_DEFINE_p_53) $(__UNICODE_DEFINE_p_54) $(__MSLU_DEFINE_p_53) $(__GFXCTX_DEFINE_p_53) -i$(SETUPHDIR) -i..\..\include -dWXBUILDING -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv_bcc$(VENDORTAG) -i..\..\src\tiff\libtiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dWXUSINGDLL -dWXMAKINGDLL_ADV ..\..\src\msw\version.rc +$(OBJS)\advdll_bmpcbox.obj: ..\..\src\msw\bmpcbox.cpp + $(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) ..\..\src\msw\bmpcbox.cpp + $(OBJS)\advdll_calctrl.obj: ..\..\src\msw\calctrl.cpp $(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) ..\..\src\msw\calctrl.cpp @@ -12859,6 +12890,9 @@ $(OBJS)\advdll_datectrl.obj: ..\..\src\msw\datectrl.cpp $(OBJS)\advdll_animatecmn.obj: ..\..\src\common\animatecmn.cpp $(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) ..\..\src\common\animatecmn.cpp +$(OBJS)\advdll_bmpcboxcmn.obj: ..\..\src\common\bmpcboxcmn.cpp + $(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) ..\..\src\common\bmpcboxcmn.cpp + $(OBJS)\advdll_calctrlcmn.obj: ..\..\src\common\calctrlcmn.cpp $(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) ..\..\src\common\calctrlcmn.cpp @@ -12954,6 +12988,9 @@ $(OBJS)\advdll_joystick.obj: ..\..\src\msw\joystick.cpp $(OBJS)\advlib_dummy.obj: ..\..\src\common\dummy.cpp $(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) -H ..\..\src\common\dummy.cpp +$(OBJS)\advlib_bmpcbox.obj: ..\..\src\msw\bmpcbox.cpp + $(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) ..\..\src\msw\bmpcbox.cpp + $(OBJS)\advlib_calctrl.obj: ..\..\src\msw\calctrl.cpp $(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) ..\..\src\msw\calctrl.cpp @@ -12966,6 +13003,9 @@ $(OBJS)\advlib_datectrl.obj: ..\..\src\msw\datectrl.cpp $(OBJS)\advlib_animatecmn.obj: ..\..\src\common\animatecmn.cpp $(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) ..\..\src\common\animatecmn.cpp +$(OBJS)\advlib_bmpcboxcmn.obj: ..\..\src\common\bmpcboxcmn.cpp + $(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) ..\..\src\common\bmpcboxcmn.cpp + $(OBJS)\advlib_calctrlcmn.obj: ..\..\src\common\calctrlcmn.cpp $(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) ..\..\src\common\calctrlcmn.cpp diff --git a/build/msw/makefile.gcc b/build/msw/makefile.gcc index 4fc642b0e3..0d4ae695fa 100644 --- a/build/msw/makefile.gcc +++ b/build/msw/makefile.gcc @@ -1958,6 +1958,7 @@ endif ifeq ($(WXUNIV),0) ____ADVANCED_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_animatecmn.o \ + $(OBJS)\monodll_bmpcboxcmn.o \ $(OBJS)\monodll_calctrlcmn.o \ $(OBJS)\monodll_datavcmn.o \ $(OBJS)\monodll_hyperlnkcmn.o \ @@ -1987,6 +1988,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_sound.o \ $(OBJS)\monodll_taskbar.o \ $(OBJS)\monodll_joystick.o \ + $(OBJS)\monodll_bmpcbox.o \ $(OBJS)\monodll_calctrl.o \ $(OBJS)\monodll_datecontrols.o \ $(OBJS)\monodll_datectrl.o @@ -1994,6 +1996,7 @@ endif ifeq ($(WXUNIV),1) ____ADVANCED_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_animatecmn.o \ + $(OBJS)\monodll_bmpcboxcmn.o \ $(OBJS)\monodll_calctrlcmn.o \ $(OBJS)\monodll_datavcmn.o \ $(OBJS)\monodll_hyperlnkcmn.o \ @@ -2614,6 +2617,7 @@ endif ifeq ($(WXUNIV),0) ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_animatecmn.o \ + $(OBJS)\monolib_bmpcboxcmn.o \ $(OBJS)\monolib_calctrlcmn.o \ $(OBJS)\monolib_datavcmn.o \ $(OBJS)\monolib_hyperlnkcmn.o \ @@ -2643,6 +2647,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_sound.o \ $(OBJS)\monolib_taskbar.o \ $(OBJS)\monolib_joystick.o \ + $(OBJS)\monolib_bmpcbox.o \ $(OBJS)\monolib_calctrl.o \ $(OBJS)\monolib_datecontrols.o \ $(OBJS)\monolib_datectrl.o @@ -2650,6 +2655,7 @@ endif ifeq ($(WXUNIV),1) ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_animatecmn.o \ + $(OBJS)\monolib_bmpcboxcmn.o \ $(OBJS)\monolib_calctrlcmn.o \ $(OBJS)\monolib_datavcmn.o \ $(OBJS)\monolib_hyperlnkcmn.o \ @@ -3684,6 +3690,7 @@ endif ifeq ($(WXUNIV),0) ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\advdll_animatecmn.o \ + $(OBJS)\advdll_bmpcboxcmn.o \ $(OBJS)\advdll_calctrlcmn.o \ $(OBJS)\advdll_datavcmn.o \ $(OBJS)\advdll_hyperlnkcmn.o \ @@ -3713,6 +3720,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\advdll_sound.o \ $(OBJS)\advdll_taskbar.o \ $(OBJS)\advdll_joystick.o \ + $(OBJS)\advdll_bmpcbox.o \ $(OBJS)\advdll_calctrl.o \ $(OBJS)\advdll_datecontrols.o \ $(OBJS)\advdll_datectrl.o @@ -3720,6 +3728,7 @@ endif ifeq ($(WXUNIV),1) ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\advdll_animatecmn.o \ + $(OBJS)\advdll_bmpcboxcmn.o \ $(OBJS)\advdll_calctrlcmn.o \ $(OBJS)\advdll_datavcmn.o \ $(OBJS)\advdll_hyperlnkcmn.o \ @@ -3762,6 +3771,7 @@ endif ifeq ($(WXUNIV),0) ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\advlib_animatecmn.o \ + $(OBJS)\advlib_bmpcboxcmn.o \ $(OBJS)\advlib_calctrlcmn.o \ $(OBJS)\advlib_datavcmn.o \ $(OBJS)\advlib_hyperlnkcmn.o \ @@ -3791,6 +3801,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\advlib_sound.o \ $(OBJS)\advlib_taskbar.o \ $(OBJS)\advlib_joystick.o \ + $(OBJS)\advlib_bmpcbox.o \ $(OBJS)\advlib_calctrl.o \ $(OBJS)\advlib_datecontrols.o \ $(OBJS)\advlib_datectrl.o @@ -3798,6 +3809,7 @@ endif ifeq ($(WXUNIV),1) ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\advlib_animatecmn.o \ + $(OBJS)\advlib_bmpcboxcmn.o \ $(OBJS)\advlib_calctrlcmn.o \ $(OBJS)\advlib_datavcmn.o \ $(OBJS)\advlib_hyperlnkcmn.o \ @@ -5819,6 +5831,9 @@ $(OBJS)\monodll_mono.o: ../../src/univ/themes/mono.cpp $(OBJS)\monodll_win32.o: ../../src/univ/themes/win32.cpp $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< +$(OBJS)\monodll_bmpcbox.o: ../../src/msw/bmpcbox.cpp + $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< + $(OBJS)\monodll_calctrl.o: ../../src/msw/calctrl.cpp $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< @@ -7441,6 +7456,11 @@ $(OBJS)\monodll_animatecmn.o: ../../src/common/animatecmn.cpp $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< endif +ifeq ($(USE_GUI),1) +$(OBJS)\monodll_bmpcboxcmn.o: ../../src/common/bmpcboxcmn.cpp + $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< +endif + ifeq ($(USE_GUI),1) $(OBJS)\monodll_calctrlcmn.o: ../../src/common/calctrlcmn.cpp $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< @@ -8070,6 +8090,9 @@ $(OBJS)\monolib_mono.o: ../../src/univ/themes/mono.cpp $(OBJS)\monolib_win32.o: ../../src/univ/themes/win32.cpp $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< +$(OBJS)\monolib_bmpcbox.o: ../../src/msw/bmpcbox.cpp + $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< + $(OBJS)\monolib_calctrl.o: ../../src/msw/calctrl.cpp $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< @@ -9692,6 +9715,11 @@ $(OBJS)\monolib_animatecmn.o: ../../src/common/animatecmn.cpp $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< endif +ifeq ($(USE_GUI),1) +$(OBJS)\monolib_bmpcboxcmn.o: ../../src/common/bmpcboxcmn.cpp + $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< +endif + ifeq ($(USE_GUI),1) $(OBJS)\monolib_calctrlcmn.o: ../../src/common/calctrlcmn.cpp $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< @@ -13441,6 +13469,9 @@ $(OBJS)\advdll_dummy.o: ../../src/common/dummy.cpp $(OBJS)\advdll_version_rc.o: ../../src/msw/version.rc windres --use-temp-file -i$< -o$@ --define __WXMSW__ $(__WXUNIV_DEFINE_p_54) $(__DEBUG_DEFINE_p_53) $(__EXCEPTIONS_DEFINE_p_53) $(__RTTI_DEFINE_p_53) $(__THREAD_DEFINE_p_53) $(__UNICODE_DEFINE_p_54) $(__MSLU_DEFINE_p_53) $(__GFXCTX_DEFINE_p_53) --include-dir $(SETUPHDIR) --include-dir ../../include --define WXBUILDING --define WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv_gcc$(VENDORTAG) --include-dir ../../src/tiff/libtiff --include-dir ../../src/jpeg --include-dir ../../src/png --include-dir ../../src/zlib --include-dir ../../src/regex --include-dir ../../src/expat/lib --define WXUSINGDLL --define WXMAKINGDLL_ADV +$(OBJS)\advdll_bmpcbox.o: ../../src/msw/bmpcbox.cpp + $(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $< + $(OBJS)\advdll_calctrl.o: ../../src/msw/calctrl.cpp $(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $< @@ -13453,6 +13484,9 @@ $(OBJS)\advdll_datectrl.o: ../../src/msw/datectrl.cpp $(OBJS)\advdll_animatecmn.o: ../../src/common/animatecmn.cpp $(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $< +$(OBJS)\advdll_bmpcboxcmn.o: ../../src/common/bmpcboxcmn.cpp + $(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $< + $(OBJS)\advdll_calctrlcmn.o: ../../src/common/calctrlcmn.cpp $(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $< @@ -13548,6 +13582,9 @@ $(OBJS)\advdll_joystick.o: ../../src/msw/joystick.cpp $(OBJS)\advlib_dummy.o: ../../src/common/dummy.cpp $(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $< +$(OBJS)\advlib_bmpcbox.o: ../../src/msw/bmpcbox.cpp + $(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $< + $(OBJS)\advlib_calctrl.o: ../../src/msw/calctrl.cpp $(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $< @@ -13560,6 +13597,9 @@ $(OBJS)\advlib_datectrl.o: ../../src/msw/datectrl.cpp $(OBJS)\advlib_animatecmn.o: ../../src/common/animatecmn.cpp $(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $< +$(OBJS)\advlib_bmpcboxcmn.o: ../../src/common/bmpcboxcmn.cpp + $(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $< + $(OBJS)\advlib_calctrlcmn.o: ../../src/common/calctrlcmn.cpp $(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $< diff --git a/build/msw/makefile.vc b/build/msw/makefile.vc index f0aeb488f5..65ae2f601a 100644 --- a/build/msw/makefile.vc +++ b/build/msw/makefile.vc @@ -2112,6 +2112,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \ !if "$(WXUNIV)" == "0" ____ADVANCED_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_animatecmn.obj \ + $(OBJS)\monodll_bmpcboxcmn.obj \ $(OBJS)\monodll_calctrlcmn.obj \ $(OBJS)\monodll_datavcmn.obj \ $(OBJS)\monodll_hyperlnkcmn.obj \ @@ -2141,6 +2142,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_sound.obj \ $(OBJS)\monodll_taskbar.obj \ $(OBJS)\monodll_joystick.obj \ + $(OBJS)\monodll_bmpcbox.obj \ $(OBJS)\monodll_calctrl.obj \ $(OBJS)\monodll_datecontrols.obj \ $(OBJS)\monodll_datectrl.obj @@ -2148,6 +2150,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \ !if "$(WXUNIV)" == "1" ____ADVANCED_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_animatecmn.obj \ + $(OBJS)\monodll_bmpcboxcmn.obj \ $(OBJS)\monodll_calctrlcmn.obj \ $(OBJS)\monodll_datavcmn.obj \ $(OBJS)\monodll_hyperlnkcmn.obj \ @@ -2768,6 +2771,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \ !if "$(WXUNIV)" == "0" ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_animatecmn.obj \ + $(OBJS)\monolib_bmpcboxcmn.obj \ $(OBJS)\monolib_calctrlcmn.obj \ $(OBJS)\monolib_datavcmn.obj \ $(OBJS)\monolib_hyperlnkcmn.obj \ @@ -2797,6 +2801,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_sound.obj \ $(OBJS)\monolib_taskbar.obj \ $(OBJS)\monolib_joystick.obj \ + $(OBJS)\monolib_bmpcbox.obj \ $(OBJS)\monolib_calctrl.obj \ $(OBJS)\monolib_datecontrols.obj \ $(OBJS)\monolib_datectrl.obj @@ -2804,6 +2809,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \ !if "$(WXUNIV)" == "1" ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_animatecmn.obj \ + $(OBJS)\monolib_bmpcboxcmn.obj \ $(OBJS)\monolib_calctrlcmn.obj \ $(OBJS)\monolib_datavcmn.obj \ $(OBJS)\monolib_hyperlnkcmn.obj \ @@ -3852,6 +3858,7 @@ __RUNTIME_LIBS_208 = $(__THREADSFLAG) !if "$(WXUNIV)" == "0" ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\advdll_animatecmn.obj \ + $(OBJS)\advdll_bmpcboxcmn.obj \ $(OBJS)\advdll_calctrlcmn.obj \ $(OBJS)\advdll_datavcmn.obj \ $(OBJS)\advdll_hyperlnkcmn.obj \ @@ -3881,6 +3888,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\advdll_sound.obj \ $(OBJS)\advdll_taskbar.obj \ $(OBJS)\advdll_joystick.obj \ + $(OBJS)\advdll_bmpcbox.obj \ $(OBJS)\advdll_calctrl.obj \ $(OBJS)\advdll_datecontrols.obj \ $(OBJS)\advdll_datectrl.obj @@ -3888,6 +3896,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \ !if "$(WXUNIV)" == "1" ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\advdll_animatecmn.obj \ + $(OBJS)\advdll_bmpcboxcmn.obj \ $(OBJS)\advdll_calctrlcmn.obj \ $(OBJS)\advdll_datavcmn.obj \ $(OBJS)\advdll_hyperlnkcmn.obj \ @@ -3932,6 +3941,7 @@ __RUNTIME_LIBS_221 = $(__THREADSFLAG) !if "$(WXUNIV)" == "0" ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\advlib_animatecmn.obj \ + $(OBJS)\advlib_bmpcboxcmn.obj \ $(OBJS)\advlib_calctrlcmn.obj \ $(OBJS)\advlib_datavcmn.obj \ $(OBJS)\advlib_hyperlnkcmn.obj \ @@ -3961,6 +3971,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\advlib_sound.obj \ $(OBJS)\advlib_taskbar.obj \ $(OBJS)\advlib_joystick.obj \ + $(OBJS)\advlib_bmpcbox.obj \ $(OBJS)\advlib_calctrl.obj \ $(OBJS)\advlib_datecontrols.obj \ $(OBJS)\advlib_datectrl.obj @@ -3968,6 +3979,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \ !if "$(WXUNIV)" == "1" ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\advlib_animatecmn.obj \ + $(OBJS)\advlib_bmpcboxcmn.obj \ $(OBJS)\advlib_calctrlcmn.obj \ $(OBJS)\advlib_datavcmn.obj \ $(OBJS)\advlib_hyperlnkcmn.obj \ @@ -6009,6 +6021,9 @@ $(OBJS)\monodll_mono.obj: ..\..\src\univ\themes\mono.cpp $(OBJS)\monodll_win32.obj: ..\..\src\univ\themes\win32.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\univ\themes\win32.cpp +$(OBJS)\monodll_bmpcbox.obj: ..\..\src\msw\bmpcbox.cpp + $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\bmpcbox.cpp + $(OBJS)\monodll_calctrl.obj: ..\..\src\msw\calctrl.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\calctrl.cpp @@ -7519,6 +7534,11 @@ $(OBJS)\monodll_animatecmn.obj: ..\..\src\common\animatecmn.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\animatecmn.cpp !endif +!if "$(USE_GUI)" == "1" +$(OBJS)\monodll_bmpcboxcmn.obj: ..\..\src\common\bmpcboxcmn.cpp + $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\bmpcboxcmn.cpp +!endif + !if "$(USE_GUI)" == "1" $(OBJS)\monodll_calctrlcmn.obj: ..\..\src\common\calctrlcmn.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\calctrlcmn.cpp @@ -8146,6 +8166,9 @@ $(OBJS)\monolib_mono.obj: ..\..\src\univ\themes\mono.cpp $(OBJS)\monolib_win32.obj: ..\..\src\univ\themes\win32.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\univ\themes\win32.cpp +$(OBJS)\monolib_bmpcbox.obj: ..\..\src\msw\bmpcbox.cpp + $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\bmpcbox.cpp + $(OBJS)\monolib_calctrl.obj: ..\..\src\msw\calctrl.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\calctrl.cpp @@ -9656,6 +9679,11 @@ $(OBJS)\monolib_animatecmn.obj: ..\..\src\common\animatecmn.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\animatecmn.cpp !endif +!if "$(USE_GUI)" == "1" +$(OBJS)\monolib_bmpcboxcmn.obj: ..\..\src\common\bmpcboxcmn.cpp + $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\bmpcboxcmn.cpp +!endif + !if "$(USE_GUI)" == "1" $(OBJS)\monolib_calctrlcmn.obj: ..\..\src\common\calctrlcmn.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\calctrlcmn.cpp @@ -13179,6 +13207,9 @@ $(OBJS)\advdll_dummy.obj: ..\..\src\common\dummy.cpp $(OBJS)\advdll_version.res: ..\..\src\msw\version.rc rc /fo$@ /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_60) /d __WXMSW__ $(__WXUNIV_DEFINE_p_54) $(__DEBUG_DEFINE_p_53) $(__EXCEPTIONS_DEFINE_p_53) $(__RTTI_DEFINE_p_53) $(__THREAD_DEFINE_p_53) $(__UNICODE_DEFINE_p_54) $(__MSLU_DEFINE_p_53) $(__GFXCTX_DEFINE_p_53) /i $(SETUPHDIR) /i ..\..\include /d WXBUILDING /d WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv_vc$(VENDORTAG) /i ..\..\src\tiff\libtiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d WXUSINGDLL /d WXMAKINGDLL_ADV ..\..\src\msw\version.rc +$(OBJS)\advdll_bmpcbox.obj: ..\..\src\msw\bmpcbox.cpp + $(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) ..\..\src\msw\bmpcbox.cpp + $(OBJS)\advdll_calctrl.obj: ..\..\src\msw\calctrl.cpp $(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) ..\..\src\msw\calctrl.cpp @@ -13191,6 +13222,9 @@ $(OBJS)\advdll_datectrl.obj: ..\..\src\msw\datectrl.cpp $(OBJS)\advdll_animatecmn.obj: ..\..\src\common\animatecmn.cpp $(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) ..\..\src\common\animatecmn.cpp +$(OBJS)\advdll_bmpcboxcmn.obj: ..\..\src\common\bmpcboxcmn.cpp + $(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) ..\..\src\common\bmpcboxcmn.cpp + $(OBJS)\advdll_calctrlcmn.obj: ..\..\src\common\calctrlcmn.cpp $(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) ..\..\src\common\calctrlcmn.cpp @@ -13286,6 +13320,9 @@ $(OBJS)\advdll_joystick.obj: ..\..\src\msw\joystick.cpp $(OBJS)\advlib_dummy.obj: ..\..\src\common\dummy.cpp $(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp +$(OBJS)\advlib_bmpcbox.obj: ..\..\src\msw\bmpcbox.cpp + $(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) ..\..\src\msw\bmpcbox.cpp + $(OBJS)\advlib_calctrl.obj: ..\..\src\msw\calctrl.cpp $(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) ..\..\src\msw\calctrl.cpp @@ -13298,6 +13335,9 @@ $(OBJS)\advlib_datectrl.obj: ..\..\src\msw\datectrl.cpp $(OBJS)\advlib_animatecmn.obj: ..\..\src\common\animatecmn.cpp $(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) ..\..\src\common\animatecmn.cpp +$(OBJS)\advlib_bmpcboxcmn.obj: ..\..\src\common\bmpcboxcmn.cpp + $(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) ..\..\src\common\bmpcboxcmn.cpp + $(OBJS)\advlib_calctrlcmn.obj: ..\..\src\common\calctrlcmn.cpp $(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) ..\..\src\common\calctrlcmn.cpp diff --git a/build/msw/makefile.wat b/build/msw/makefile.wat index 7805036bc9..612a93b732 100644 --- a/build/msw/makefile.wat +++ b/build/msw/makefile.wat @@ -678,6 +678,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = !ifeq WXUNIV 0 ____ADVANCED_SRC_FILENAMES_OBJECTS = & $(OBJS)\monodll_animatecmn.obj & + $(OBJS)\monodll_bmpcboxcmn.obj & $(OBJS)\monodll_calctrlcmn.obj & $(OBJS)\monodll_datavcmn.obj & $(OBJS)\monodll_hyperlnkcmn.obj & @@ -707,6 +708,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = & $(OBJS)\monodll_sound.obj & $(OBJS)\monodll_taskbar.obj & $(OBJS)\monodll_joystick.obj & + $(OBJS)\monodll_bmpcbox.obj & $(OBJS)\monodll_calctrl.obj & $(OBJS)\monodll_datecontrols.obj & $(OBJS)\monodll_datectrl.obj @@ -714,6 +716,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = & !ifeq WXUNIV 1 ____ADVANCED_SRC_FILENAMES_OBJECTS = & $(OBJS)\monodll_animatecmn.obj & + $(OBJS)\monodll_bmpcboxcmn.obj & $(OBJS)\monodll_calctrlcmn.obj & $(OBJS)\monodll_datavcmn.obj & $(OBJS)\monodll_hyperlnkcmn.obj & @@ -1339,6 +1342,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = !ifeq WXUNIV 0 ____ADVANCED_SRC_FILENAMES_1_OBJECTS = & $(OBJS)\monolib_animatecmn.obj & + $(OBJS)\monolib_bmpcboxcmn.obj & $(OBJS)\monolib_calctrlcmn.obj & $(OBJS)\monolib_datavcmn.obj & $(OBJS)\monolib_hyperlnkcmn.obj & @@ -1368,6 +1372,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = & $(OBJS)\monolib_sound.obj & $(OBJS)\monolib_taskbar.obj & $(OBJS)\monolib_joystick.obj & + $(OBJS)\monolib_bmpcbox.obj & $(OBJS)\monolib_calctrl.obj & $(OBJS)\monolib_datecontrols.obj & $(OBJS)\monolib_datectrl.obj @@ -1375,6 +1380,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = & !ifeq WXUNIV 1 ____ADVANCED_SRC_FILENAMES_1_OBJECTS = & $(OBJS)\monolib_animatecmn.obj & + $(OBJS)\monolib_bmpcboxcmn.obj & $(OBJS)\monolib_calctrlcmn.obj & $(OBJS)\monolib_datavcmn.obj & $(OBJS)\monolib_hyperlnkcmn.obj & @@ -2425,6 +2431,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = !ifeq WXUNIV 0 ____ADVANCED_SRC_FILENAMES_2_OBJECTS = & $(OBJS)\advdll_animatecmn.obj & + $(OBJS)\advdll_bmpcboxcmn.obj & $(OBJS)\advdll_calctrlcmn.obj & $(OBJS)\advdll_datavcmn.obj & $(OBJS)\advdll_hyperlnkcmn.obj & @@ -2454,6 +2461,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = & $(OBJS)\advdll_sound.obj & $(OBJS)\advdll_taskbar.obj & $(OBJS)\advdll_joystick.obj & + $(OBJS)\advdll_bmpcbox.obj & $(OBJS)\advdll_calctrl.obj & $(OBJS)\advdll_datecontrols.obj & $(OBJS)\advdll_datectrl.obj @@ -2461,6 +2469,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = & !ifeq WXUNIV 1 ____ADVANCED_SRC_FILENAMES_2_OBJECTS = & $(OBJS)\advdll_animatecmn.obj & + $(OBJS)\advdll_bmpcboxcmn.obj & $(OBJS)\advdll_calctrlcmn.obj & $(OBJS)\advdll_datavcmn.obj & $(OBJS)\advdll_hyperlnkcmn.obj & @@ -2505,6 +2514,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = !ifeq WXUNIV 0 ____ADVANCED_SRC_FILENAMES_3_OBJECTS = & $(OBJS)\advlib_animatecmn.obj & + $(OBJS)\advlib_bmpcboxcmn.obj & $(OBJS)\advlib_calctrlcmn.obj & $(OBJS)\advlib_datavcmn.obj & $(OBJS)\advlib_hyperlnkcmn.obj & @@ -2534,6 +2544,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = & $(OBJS)\advlib_sound.obj & $(OBJS)\advlib_taskbar.obj & $(OBJS)\advlib_joystick.obj & + $(OBJS)\advlib_bmpcbox.obj & $(OBJS)\advlib_calctrl.obj & $(OBJS)\advlib_datecontrols.obj & $(OBJS)\advlib_datectrl.obj @@ -2541,6 +2552,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = & !ifeq WXUNIV 1 ____ADVANCED_SRC_FILENAMES_3_OBJECTS = & $(OBJS)\advlib_animatecmn.obj & + $(OBJS)\advlib_bmpcboxcmn.obj & $(OBJS)\advlib_calctrlcmn.obj & $(OBJS)\advlib_datavcmn.obj & $(OBJS)\advlib_hyperlnkcmn.obj & @@ -6051,6 +6063,9 @@ $(OBJS)\monodll_mono.obj : .AUTODEPEND ..\..\src\univ\themes\mono.cpp $(OBJS)\monodll_win32.obj : .AUTODEPEND ..\..\src\univ\themes\win32.cpp $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $< +$(OBJS)\monodll_bmpcbox.obj : .AUTODEPEND ..\..\src\msw\bmpcbox.cpp + $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $< + $(OBJS)\monodll_calctrl.obj : .AUTODEPEND ..\..\src\msw\calctrl.cpp $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $< @@ -7673,6 +7688,11 @@ $(OBJS)\monodll_animatecmn.obj : .AUTODEPEND ..\..\src\common\animatecmn.cpp $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $< !endif +!ifeq USE_GUI 1 +$(OBJS)\monodll_bmpcboxcmn.obj : .AUTODEPEND ..\..\src\common\bmpcboxcmn.cpp + $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $< +!endif + !ifeq USE_GUI 1 $(OBJS)\monodll_calctrlcmn.obj : .AUTODEPEND ..\..\src\common\calctrlcmn.cpp $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $< @@ -8302,6 +8322,9 @@ $(OBJS)\monolib_mono.obj : .AUTODEPEND ..\..\src\univ\themes\mono.cpp $(OBJS)\monolib_win32.obj : .AUTODEPEND ..\..\src\univ\themes\win32.cpp $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $< +$(OBJS)\monolib_bmpcbox.obj : .AUTODEPEND ..\..\src\msw\bmpcbox.cpp + $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $< + $(OBJS)\monolib_calctrl.obj : .AUTODEPEND ..\..\src\msw\calctrl.cpp $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $< @@ -9924,6 +9947,11 @@ $(OBJS)\monolib_animatecmn.obj : .AUTODEPEND ..\..\src\common\animatecmn.cpp $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $< !endif +!ifeq USE_GUI 1 +$(OBJS)\monolib_bmpcboxcmn.obj : .AUTODEPEND ..\..\src\common\bmpcboxcmn.cpp + $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $< +!endif + !ifeq USE_GUI 1 $(OBJS)\monolib_calctrlcmn.obj : .AUTODEPEND ..\..\src\common\calctrlcmn.cpp $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $< @@ -13673,6 +13701,9 @@ $(OBJS)\advdll_dummy.obj : .AUTODEPEND ..\..\src\common\dummy.cpp $(OBJS)\advdll_version.res : .AUTODEPEND ..\..\src\msw\version.rc wrc -q -ad -bt=nt -r -fo=$^@ -d__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p) $(__GFXCTX_DEFINE_p) -i=$(SETUPHDIR) -i=..\..\include -dWXBUILDING -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv_wat$(VENDORTAG) -i=..\..\src\tiff\libtiff -i=..\..\src\jpeg -i=..\..\src\png -i=..\..\src\zlib -i=..\..\src\regex -i=..\..\src\expat\lib -dWXUSINGDLL -dWXMAKINGDLL_ADV $< +$(OBJS)\advdll_bmpcbox.obj : .AUTODEPEND ..\..\src\msw\bmpcbox.cpp + $(CXX) -bt=nt -zq -fo=$^@ $(ADVDLL_CXXFLAGS) $< + $(OBJS)\advdll_calctrl.obj : .AUTODEPEND ..\..\src\msw\calctrl.cpp $(CXX) -bt=nt -zq -fo=$^@ $(ADVDLL_CXXFLAGS) $< @@ -13685,6 +13716,9 @@ $(OBJS)\advdll_datectrl.obj : .AUTODEPEND ..\..\src\msw\datectrl.cpp $(OBJS)\advdll_animatecmn.obj : .AUTODEPEND ..\..\src\common\animatecmn.cpp $(CXX) -bt=nt -zq -fo=$^@ $(ADVDLL_CXXFLAGS) $< +$(OBJS)\advdll_bmpcboxcmn.obj : .AUTODEPEND ..\..\src\common\bmpcboxcmn.cpp + $(CXX) -bt=nt -zq -fo=$^@ $(ADVDLL_CXXFLAGS) $< + $(OBJS)\advdll_calctrlcmn.obj : .AUTODEPEND ..\..\src\common\calctrlcmn.cpp $(CXX) -bt=nt -zq -fo=$^@ $(ADVDLL_CXXFLAGS) $< @@ -13780,6 +13814,9 @@ $(OBJS)\advdll_joystick.obj : .AUTODEPEND ..\..\src\msw\joystick.cpp $(OBJS)\advlib_dummy.obj : .AUTODEPEND ..\..\src\common\dummy.cpp $(CXX) -bt=nt -zq -fo=$^@ $(ADVLIB_CXXFLAGS) $< +$(OBJS)\advlib_bmpcbox.obj : .AUTODEPEND ..\..\src\msw\bmpcbox.cpp + $(CXX) -bt=nt -zq -fo=$^@ $(ADVLIB_CXXFLAGS) $< + $(OBJS)\advlib_calctrl.obj : .AUTODEPEND ..\..\src\msw\calctrl.cpp $(CXX) -bt=nt -zq -fo=$^@ $(ADVLIB_CXXFLAGS) $< @@ -13792,6 +13829,9 @@ $(OBJS)\advlib_datectrl.obj : .AUTODEPEND ..\..\src\msw\datectrl.cpp $(OBJS)\advlib_animatecmn.obj : .AUTODEPEND ..\..\src\common\animatecmn.cpp $(CXX) -bt=nt -zq -fo=$^@ $(ADVLIB_CXXFLAGS) $< +$(OBJS)\advlib_bmpcboxcmn.obj : .AUTODEPEND ..\..\src\common\bmpcboxcmn.cpp + $(CXX) -bt=nt -zq -fo=$^@ $(ADVLIB_CXXFLAGS) $< + $(OBJS)\advlib_calctrlcmn.obj : .AUTODEPEND ..\..\src\common\calctrlcmn.cpp $(CXX) -bt=nt -zq -fo=$^@ $(ADVLIB_CXXFLAGS) $< diff --git a/build/msw/wx_adv.dsp b/build/msw/wx_adv.dsp index ec7c9583b0..f43cd8c0e3 100644 --- a/build/msw/wx_adv.dsp +++ b/build/msw/wx_adv.dsp @@ -248,6 +248,10 @@ SOURCE=..\..\src\common\animatecmn.cpp # End Source File # Begin Source File +SOURCE=..\..\src\common\bmpcboxcmn.cpp +# End Source File +# Begin Source File + SOURCE=..\..\src\common\calctrlcmn.cpp # End Source File # Begin Source File @@ -278,6 +282,41 @@ SOURCE=..\..\src\msw\aboutdlg.cpp # End Source File # Begin Source File +SOURCE=..\..\src\msw\bmpcbox.cpp + +!IF "$(CFG)" == "adv - Win32 DLL Universal Release" + +# PROP Exclude_From_Build 1 + +!ELSEIF "$(CFG)" == "adv - Win32 DLL Universal Debug" + +# PROP Exclude_From_Build 1 + +!ELSEIF "$(CFG)" == "adv - Win32 DLL Release" + + +!ELSEIF "$(CFG)" == "adv - Win32 DLL Debug" + + +!ELSEIF "$(CFG)" == "adv - Win32 Universal Release" + +# PROP Exclude_From_Build 1 + +!ELSEIF "$(CFG)" == "adv - Win32 Universal Debug" + +# PROP Exclude_From_Build 1 + +!ELSEIF "$(CFG)" == "adv - Win32 Release" + + +!ELSEIF "$(CFG)" == "adv - Win32 Debug" + + +!ENDIF + +# End Source File +# Begin Source File + SOURCE=..\..\src\msw\calctrl.cpp !IF "$(CFG)" == "adv - Win32 DLL Universal Release" @@ -695,6 +734,10 @@ InputPath=..\..\include\wx\univ\setup.h # PROP Default_Filter "" # Begin Source File +SOURCE=..\..\include\wx\msw\bmpcbox.h +# End Source File +# Begin Source File + SOURCE=..\..\include\wx\msw\calctrl.h # End Source File # Begin Source File diff --git a/build/msw/wx_core.dsp b/build/msw/wx_core.dsp index 6bd40f472b..d3d96d7148 100644 --- a/build/msw/wx_core.dsp +++ b/build/msw/wx_core.dsp @@ -4688,6 +4688,10 @@ SOURCE=..\..\include\wx\msw\bmpbuttn.h # End Source File # Begin Source File +SOURCE=..\..\include\wx\msw\bmpcbox.h +# End Source File +# Begin Source File + SOURCE=..\..\include\wx\msw\brush.h # End Source File # Begin Source File diff --git a/build/msw/wx_vc7_adv.vcproj b/build/msw/wx_vc7_adv.vcproj index bd89377069..55d67b1f98 100644 --- a/build/msw/wx_vc7_adv.vcproj +++ b/build/msw/wx_vc7_adv.vcproj @@ -586,6 +586,8 @@ UniqueIdentifier="{A6A5C30D-BDB6-5050-906D-10A96065136C}"> + + + + + + + + + + @@ -813,6 +816,26 @@ + + + + + + @@ -1100,6 +1123,9 @@ Name="MSW Headers" UniqueIdentifier="{5AFFF20E-29F9-512B-B80A-7DC45976CDAC}" > + diff --git a/build/msw/wx_vc8_core.vcproj b/build/msw/wx_vc8_core.vcproj index 13612de558..4312207174 100644 --- a/build/msw/wx_vc8_core.vcproj +++ b/build/msw/wx_vc8_core.vcproj @@ -3517,6 +3517,9 @@ + diff --git a/include/wx/bmpcbox.h b/include/wx/bmpcbox.h index 2de65ac579..7c28127e95 100644 --- a/include/wx/bmpcbox.h +++ b/include/wx/bmpcbox.h @@ -19,6 +19,12 @@ #include "wx/bitmap.h" +// Define wxBITMAPCOMBOBOX_OWNERDRAWN_BASED for platforms which +// wxBitmapComboBox implementation utilizes ownerdrawn combobox +// (either native or generic). +#if 1 + #define wxBITMAPCOMBOBOX_OWNERDRAWN_BASED +#endif extern WXDLLIMPEXP_DATA_ADV(const wxChar) wxBitmapComboBoxNameStr[]; @@ -27,22 +33,85 @@ class WXDLLIMPEXP_ADV wxBitmapComboBoxBase { public: // ctors and such - wxBitmapComboBoxBase() { } + wxBitmapComboBoxBase() { Init(); } virtual ~wxBitmapComboBoxBase() { } - // Returns the image of the item with the given index. - virtual wxBitmap GetItemBitmap(unsigned int n) const = 0; - // Sets the image for the given item. virtual void SetItemBitmap(unsigned int n, const wxBitmap& bitmap) = 0; +#if !defined(wxBITMAPCOMBOBOX_OWNERDRAWN_BASED) + + // Returns the image of the item with the given index. + virtual wxBitmap GetItemBitmap(unsigned int n) const = 0; + // Returns size of the image used in list virtual wxSize GetBitmapSize() const = 0; + +private: + void Init() {} + +#else // wxBITMAPCOMBOBOX_OWNERDRAWN_BASED + + // Returns the image of the item with the given index. + virtual wxBitmap GetItemBitmap(unsigned int n) const; + + // Returns size of the image used in list + virtual wxSize GetBitmapSize() const + { + return m_usedImgSize; + } + +protected: + + // Returns pointer to the combobox item container + virtual wxItemContainer* GetItemContainer() = 0; + + // Return pointer to the owner-drawn combobox control + virtual wxWindow* GetControl() = 0; + + // wxItemContainer functions + void BCBDoClear(); + void BCBDoDeleteOneItem(unsigned int n); + + void DoSetItemBitmap(unsigned int n, const wxBitmap& bitmap); + + void DrawBackground(wxDC& dc, const wxRect& rect, int item, int flags) const; + void DrawItem(wxDC& dc, const wxRect& rect, int item, const wxString& text, + int flags) const; + wxCoord MeasureItem(size_t item) const; + + // Returns true if image size was affected + virtual bool OnAddBitmap(const wxBitmap& bitmap); + + // Recalculates amount of empty space needed in front of text + // in control itself. Returns number that can be passed to + // wxOwnerDrawnComboBox::SetCustomPaintWidth() and similar + // functions. + virtual int DetermineIndent(); + + void UpdateInternals(); + + wxArrayPtrVoid m_bitmaps; // Images associated with items + wxSize m_usedImgSize; // Size of bitmaps + + int m_imgAreaWidth; // Width and height of area next to text field + int m_fontHeight; + int m_indent; + +private: + void Init(); +#endif // !wxBITMAPCOMBOBOX_OWNERDRAWN_BASED/wxBITMAPCOMBOBOX_OWNERDRAWN_BASED }; -#include "wx/generic/bmpcbox.h" +#if defined(__WXUNIVERSAL__) + #include "wx/generic/bmpcbox.h" +#elif defined(__WXMSW__) + #include "wx/msw/bmpcbox.h" +#else + #include "wx/generic/bmpcbox.h" +#endif #endif // wxUSE_BITMAPCOMBOBOX diff --git a/include/wx/generic/bmpcbox.h b/include/wx/generic/bmpcbox.h index e192470c4e..d0e616d40a 100644 --- a/include/wx/generic/bmpcbox.h +++ b/include/wx/generic/bmpcbox.h @@ -98,21 +98,9 @@ public: int Insert(const wxString& item, const wxBitmap& bitmap, unsigned int pos, wxClientData *clientData); - // Returns size of image used in list. - virtual wxSize GetBitmapSize() const - { - return m_usedImgSize; - } - - // Returns the image of the item with the given index. - virtual wxBitmap GetItemBitmap(unsigned int n) const; - // Sets the image for the given item. virtual void SetItemBitmap(unsigned int n, const wxBitmap& bitmap); - virtual void DoClear(); - virtual void DoDeleteOneItem(unsigned int n); - protected: virtual void OnDrawBackground(wxDC& dc, const wxRect& rect, int item, int flags) const; @@ -120,38 +108,26 @@ protected: virtual wxCoord OnMeasureItem(size_t item) const; virtual wxCoord OnMeasureItemWidth(size_t item) const; - virtual int DoInsertItems(const wxArrayStringsAdapter & items, - unsigned int pos, - void **clientData, wxClientDataType type); - - virtual bool SetFont(const wxFont& font); - - virtual wxSize DoGetBestSize() const; - // Event handlers void OnSize(wxSizeEvent& event); - // Recalculates amount of empty space needed in front of - // text in control itself. - void DetermineIndent(); - - bool OnAddBitmap(const wxBitmap& bitmap); - - // Adds image to position - called in Append/Insert before - // string is added. - bool DoInsertBitmap(const wxBitmap& image, unsigned int pos); + virtual wxSize DoGetBestSize() const; + virtual bool SetFont(const wxFont& font); + virtual wxItemContainer* GetItemContainer() { return this; } + virtual wxWindow* GetControl() { return this; } - wxArrayPtrVoid m_bitmaps; // Images associated with items - wxSize m_usedImgSize; // Size of bitmaps + // wxItemContainer implementation + virtual int DoInsertItems(const wxArrayStringsAdapter & items, + unsigned int pos, + void **clientData, wxClientDataType type); + virtual void DoClear(); + virtual void DoDeleteOneItem(unsigned int n); private: - int m_imgAreaWidth; // Width and height of area next to text field - int m_fontHeight; bool m_inResize; void Init(); - void PostCreate(); DECLARE_EVENT_TABLE() diff --git a/include/wx/msw/bmpcbox.h b/include/wx/msw/bmpcbox.h new file mode 100644 index 0000000000..b2c7e90a41 --- /dev/null +++ b/include/wx/msw/bmpcbox.h @@ -0,0 +1,135 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: wx/msw/bmpcbox.h +// Purpose: wxBitmapComboBox +// Author: Jaakko Salli +// Created: 2008-04-06 +// RCS-ID: $Id:$ +// Copyright: (c) 2008 Jaakko Salli +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_MSW_BMPCBOX_H_ +#define _WX_MSW_BMPCBOX_H_ + + +#include "wx/combobox.h" + + +// ---------------------------------------------------------------------------- +// wxBitmapComboBox: a wxComboBox that allows images to be shown +// in front of string items. +// ---------------------------------------------------------------------------- + +class WXDLLIMPEXP_ADV wxBitmapComboBox : public wxComboBox, + public wxBitmapComboBoxBase +{ +public: + // ctors and such + wxBitmapComboBox() : wxComboBox(), wxBitmapComboBoxBase() + { + Init(); + } + + wxBitmapComboBox(wxWindow *parent, + wxWindowID id = wxID_ANY, + const wxString& value = wxEmptyString, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + int n = 0, + const wxString choices[] = NULL, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxBitmapComboBoxNameStr) + : wxComboBox(), + wxBitmapComboBoxBase() + { + Init(); + + (void)Create(parent, id, value, pos, size, n, + choices, style, validator, name); + } + + wxBitmapComboBox(wxWindow *parent, + wxWindowID id, + const wxString& value, + const wxPoint& pos, + const wxSize& size, + const wxArrayString& choices, + long style, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxBitmapComboBoxNameStr); + + bool Create(wxWindow *parent, + wxWindowID id, + const wxString& value, + const wxPoint& pos, + const wxSize& size, + int n, + const wxString choices[], + long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxBitmapComboBoxNameStr); + + bool Create(wxWindow *parent, + wxWindowID id, + const wxString& value, + const wxPoint& pos, + const wxSize& size, + const wxArrayString& choices, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxBitmapComboBoxNameStr); + + virtual ~wxBitmapComboBox(); + + // Sets the image for the given item. + virtual void SetItemBitmap(unsigned int n, const wxBitmap& bitmap); + + // Adds item with image to the end of the combo box. + int Append(const wxString& item, const wxBitmap& bitmap = wxNullBitmap); + int Append(const wxString& item, const wxBitmap& bitmap, void *clientData); + int Append(const wxString& item, const wxBitmap& bitmap, wxClientData *clientData); + + // Inserts item with image into the list before pos. Not valid for wxCB_SORT + // styles, use Append instead. + int Insert(const wxString& item, const wxBitmap& bitmap, unsigned int pos); + int Insert(const wxString& item, const wxBitmap& bitmap, + unsigned int pos, void *clientData); + int Insert(const wxString& item, const wxBitmap& bitmap, + unsigned int pos, wxClientData *clientData); + +protected: + + WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const; + virtual bool MSWOnDraw(WXDRAWITEMSTRUCT *item); + virtual bool MSWOnMeasure(WXMEASUREITEMSTRUCT *item); + + // Event handlers + void OnSize(wxSizeEvent& event); + + virtual bool SetFont(const wxFont& font); + + virtual wxItemContainer* GetItemContainer() { return this; } + virtual wxWindow* GetControl() { return this; } + + // wxItemContainer implementation + virtual int DoInsertItems(const wxArrayStringsAdapter & items, + unsigned int pos, + void **clientData, wxClientDataType type); + virtual void DoClear(); + virtual void DoDeleteOneItem(unsigned int n); + + virtual bool OnAddBitmap(const wxBitmap& bitmap); + void RecreateControl(); + +private: + void Init(); + + bool m_inResize; + + DECLARE_EVENT_TABLE() + + DECLARE_DYNAMIC_CLASS(wxBitmapComboBox) +}; + +#endif // _WX_MSW_BMPCBOX_H_ diff --git a/src/common/bmpcboxcmn.cpp b/src/common/bmpcboxcmn.cpp new file mode 100644 index 0000000000..71b37abc19 --- /dev/null +++ b/src/common/bmpcboxcmn.cpp @@ -0,0 +1,242 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: src/common/bmpcboxcmn.cpp +// Purpose: wxBitmapComboBox +// Author: Jaakko Salli +// Created: 2008-04-09 +// RCS-ID: $Id:$ +// Copyright: (c) 2008 Jaakko Salli +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +// ============================================================================ +// declarations +// ============================================================================ + +// ---------------------------------------------------------------------------- +// headers +// ---------------------------------------------------------------------------- + +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ + #pragma hdrstop +#endif + +#include "wx/bmpcbox.h" + +#if wxUSE_BITMAPCOMBOBOX + +#ifndef WX_PRECOMP + #include "wx/log.h" +#endif + +#include "wx/settings.h" + +// For wxODCB_XXX flags +#include "wx/odcombo.h" + + +const wxChar wxBitmapComboBoxNameStr[] = wxT("bitmapComboBox"); + +#if defined(wxBITMAPCOMBOBOX_OWNERDRAWN_BASED) + +#define IMAGE_SPACING_RIGHT 4 // Space left of image + +#define IMAGE_SPACING_LEFT 4 // Space right of image, left of text + +#define EXTRA_FONT_HEIGHT 0 // Add to increase min. height of list items + +#define wxBCB_DEFAULT_ITEM_HEIGHT 13 + + +// This macros allows wxArrayPtrVoid to be used in more convenient manner +#define GetBitmapPtr(n) ((wxBitmap*)m_bitmaps[n]) + + +// ---------------------------------------------------------------------------- +// Initialization +// ---------------------------------------------------------------------------- + +void wxBitmapComboBoxBase::Init() +{ + m_fontHeight = 0; + m_imgAreaWidth = 0; + m_indent = 0; + m_usedImgSize = wxSize(-1, -1); +} + +void wxBitmapComboBoxBase::UpdateInternals() +{ + m_fontHeight = GetControl()->GetCharHeight() + EXTRA_FONT_HEIGHT; + + while ( m_bitmaps.GetCount() < GetItemContainer()->GetCount() ) + m_bitmaps.Add( new wxBitmap() ); +} + +// ---------------------------------------------------------------------------- +// Item manipulation +// ---------------------------------------------------------------------------- + +void wxBitmapComboBoxBase::DoSetItemBitmap(unsigned int n, const wxBitmap& bitmap) +{ + wxCHECK_RET( n < m_bitmaps.size(), "invalid item index" ); + *GetBitmapPtr(n) = bitmap; +} + +wxBitmap wxBitmapComboBoxBase::GetItemBitmap(unsigned int n) const +{ + wxCHECK_MSG( n < m_bitmaps.size(), wxNullBitmap, "invalid item index" ); + return *GetBitmapPtr(n); +} + +// ---------------------------------------------------------------------------- +// wxItemContainer methods +// ---------------------------------------------------------------------------- + +void wxBitmapComboBoxBase::BCBDoClear() +{ + for ( unsigned i = 0; i < m_bitmaps.size(); i++ ) + delete GetBitmapPtr(i); + + m_bitmaps.Empty(); + + m_usedImgSize.x = -1; + m_usedImgSize.y = -1; + + DetermineIndent(); +} + +void wxBitmapComboBoxBase::BCBDoDeleteOneItem(unsigned int n) +{ + delete GetBitmapPtr(n); + m_bitmaps.RemoveAt(n); +} + +// ---------------------------------------------------------------------------- +// Preparation and Calculations +// ---------------------------------------------------------------------------- + +bool wxBitmapComboBoxBase::OnAddBitmap(const wxBitmap& bitmap) +{ + if ( bitmap.IsOk() ) + { + int width = bitmap.GetWidth(); + int height = bitmap.GetHeight(); + + if ( m_usedImgSize.x < 0 ) + { + // If size not yet determined, get it from this image. + m_usedImgSize.x = width; + m_usedImgSize.y = height; + + // Adjust control size to vertically fit the bitmap + wxWindow* ctrl = GetControl(); + ctrl->InvalidateBestSize(); + wxSize newSz = ctrl->GetBestSize(); + wxSize sz = ctrl->GetSize(); + if ( newSz.y > sz.y ) + ctrl->SetSize(sz.x, newSz.y); + else + DetermineIndent(); + } + + wxCHECK_MSG( width == m_usedImgSize.x && height == m_usedImgSize.y, + false, + "you can only add images of same size" ); + + return true; + } + + return false; +} + +int wxBitmapComboBoxBase::DetermineIndent() +{ + // Recalculate amount of empty space needed in front of + // text in control itself. + int indent = m_imgAreaWidth = 0; + + if ( m_usedImgSize.x > 0 ) + { + indent = m_usedImgSize.x + IMAGE_SPACING_LEFT + IMAGE_SPACING_RIGHT; + m_imgAreaWidth = indent; + + indent -= 3; + } + + return indent; +} + +// ---------------------------------------------------------------------------- +// Item drawing and measuring +// ---------------------------------------------------------------------------- + +void wxBitmapComboBoxBase::DrawBackground(wxDC& dc, + const wxRect& rect, + int WXUNUSED(item), + int flags) const +{ + if ( flags & wxODCB_PAINTING_SELECTED ) + { + const int vSizeDec = 0; // Vertical size reduction of selection rectangle edges + + dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHTTEXT)); + + wxColour selCol = wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHT); + dc.SetPen(selCol); + dc.SetBrush(selCol); + dc.DrawRectangle(rect.x, + rect.y+vSizeDec, + rect.width, + rect.height-(vSizeDec*2)); + } + else + { + dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT)); + + wxColour selCol = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW); + dc.SetPen(selCol); + dc.SetBrush(selCol); + dc.DrawRectangle(rect); + } +} + +void wxBitmapComboBoxBase::DrawItem(wxDC& dc, + const wxRect& rect, + int item, + const wxString& text, + int WXUNUSED(flags)) const +{ + const wxBitmap& bmp = *GetBitmapPtr(item); + if ( bmp.IsOk() ) + { + wxCoord w = bmp.GetWidth(); + wxCoord h = bmp.GetHeight(); + + // Draw the image centered + dc.DrawBitmap(bmp, + rect.x + (m_usedImgSize.x-w)/2 + IMAGE_SPACING_LEFT, + rect.y + (rect.height-h)/2, + true); + } + + if ( text.length() ) + dc.DrawText(text, + rect.x + m_imgAreaWidth + 1, + rect.y + (rect.height-dc.GetCharHeight())/2); +} + +wxCoord wxBitmapComboBoxBase::MeasureItem(size_t WXUNUSED(item)) const +{ + if ( m_usedImgSize.y >= 0 ) + { + int imgHeightArea = m_usedImgSize.y + 2; + return imgHeightArea > m_fontHeight ? imgHeightArea : m_fontHeight; + } + + return wxBCB_DEFAULT_ITEM_HEIGHT; +} + +#endif // wxBITMAPCOMBOBOX_OWNERDRAWN_BASED + +#endif // wxUSE_BITMAPCOMBOBOX diff --git a/src/generic/bmpcboxg.cpp b/src/generic/bmpcboxg.cpp index a9b1eb0a3e..ce14a4708f 100644 --- a/src/generic/bmpcboxg.cpp +++ b/src/generic/bmpcboxg.cpp @@ -42,23 +42,8 @@ #endif -const wxChar wxBitmapComboBoxNameStr[] = wxT("bitmapComboBox"); - - -// These macros allow wxArrayPtrVoid to be used in more convenient manner -#define GetBitmapPtr(n) ((wxBitmap*)m_bitmaps[n]) - - -#define IMAGE_SPACING_RIGHT 4 // Space left of image - -#define IMAGE_SPACING_LEFT 4 // Space right of image, left of text - -#define IMAGE_SPACING_VERTICAL 2 // Space top and bottom of image - #define IMAGE_SPACING_CTRL_VERTICAL 7 // Spacing used in control size calculation -#define EXTRA_FONT_HEIGHT 0 // Add to increase min. height of list items - // ============================================================================ // implementation @@ -74,8 +59,6 @@ IMPLEMENT_DYNAMIC_CLASS(wxBitmapComboBox, wxOwnerDrawnComboBox) void wxBitmapComboBox::Init() { - m_fontHeight = 0; - m_imgAreaWidth = 0; m_inResize = false; } @@ -114,7 +97,7 @@ bool wxBitmapComboBox::Create(wxWindow *parent, return false; } - PostCreate(); + UpdateInternals(); return true; } @@ -138,19 +121,11 @@ bool wxBitmapComboBox::Create(wxWindow *parent, return false; } - PostCreate(); + UpdateInternals(); return true; } -void wxBitmapComboBox::PostCreate() -{ - m_fontHeight = GetCharHeight() + EXTRA_FONT_HEIGHT; - - while ( m_bitmaps.GetCount() < GetCount() ) - m_bitmaps.Add( new wxBitmap() ); -} - wxBitmapComboBox::~wxBitmapComboBox() { Clear(); @@ -162,20 +137,13 @@ wxBitmapComboBox::~wxBitmapComboBox() void wxBitmapComboBox::SetItemBitmap(unsigned int n, const wxBitmap& bitmap) { - wxCHECK_RET( n < GetCount(), wxT("invalid item index") ); OnAddBitmap(bitmap); - *GetBitmapPtr(n) = bitmap; + DoSetItemBitmap(n, bitmap); if ( (int)n == GetSelection() ) Refresh(); } -wxBitmap wxBitmapComboBox::GetItemBitmap(unsigned int n) const -{ - wxCHECK_MSG( n < GetCount(), wxNullBitmap, wxT("invalid item index") ); - return *GetBitmapPtr(n); -} - int wxBitmapComboBox::DoInsertItems(const wxArrayStringsAdapter & items, unsigned int pos, void **clientData, wxClientDataType type) @@ -185,7 +153,7 @@ int wxBitmapComboBox::DoInsertItems(const wxArrayStringsAdapter & items, m_bitmaps.Alloc(countNew); - for ( unsigned int i = 0; i < numItems; ++i ) + for ( unsigned int i = 0; i < numItems; i++ ) { m_bitmaps.Insert(new wxBitmap(wxNullBitmap), pos + i); } @@ -195,13 +163,10 @@ int wxBitmapComboBox::DoInsertItems(const wxArrayStringsAdapter & items, if ( index == wxNOT_FOUND ) { - for ( int i = countNew - GetCount(); i > 0; --i ) - { - wxBitmap *bmp = GetBitmapPtr(pos); - m_bitmaps.RemoveAt(pos); - delete bmp; - } + for ( int i = numItems-1; i >= 0; i-- ) + BCBDoDeleteOneItem(pos + i); } + return index; } @@ -259,83 +224,22 @@ int wxBitmapComboBox::Insert(const wxString& item, const wxBitmap& bitmap, return n; } -bool wxBitmapComboBox::OnAddBitmap(const wxBitmap& bitmap) -{ - if ( bitmap.Ok() ) - { - int width = bitmap.GetWidth(); - int height = bitmap.GetHeight(); - - if ( m_usedImgSize.x <= 0 ) - { - // - // If size not yet determined, get it from this image. - m_usedImgSize.x = width; - m_usedImgSize.y = height; - - InvalidateBestSize(); - wxSize newSz = GetBestSize(); - wxSize sz = GetSize(); - if ( newSz.y > sz.y ) - SetSize(sz.x, newSz.y); - else - DetermineIndent(); - } - - wxCHECK_MSG(width == m_usedImgSize.x && height == m_usedImgSize.y, - false, - wxT("you can only add images of same size")); - } - - return true; -} - void wxBitmapComboBox::DoClear() { wxOwnerDrawnComboBox::DoClear(); - - unsigned int i; - - for ( i=0; i 0 ) - { - indent = m_usedImgSize.x + IMAGE_SPACING_LEFT + IMAGE_SPACING_RIGHT; - m_imgAreaWidth = indent; - - indent -= 3; - } - - SetCustomPaintWidth(indent); -} - void wxBitmapComboBox::OnSize(wxSizeEvent& event) { // Prevent infinite looping @@ -353,13 +257,17 @@ wxSize wxBitmapComboBox::DoGetBestSize() const { wxSize sz = wxOwnerDrawnComboBox::DoGetBestSize(); - // Scale control to match height of highest image. - int h2 = m_usedImgSize.y + IMAGE_SPACING_CTRL_VERTICAL; + if ( HasFlag(wxCB_READONLY) ) + { + // Scale control to match height of highest image. + int h2 = m_usedImgSize.y + IMAGE_SPACING_CTRL_VERTICAL; - if ( h2 > sz.y ) - sz.y = h2; + if ( h2 > sz.y ) + sz.y = h2; + + CacheBestSize(sz); + } - CacheBestSize(sz); return sz; } @@ -370,7 +278,7 @@ wxSize wxBitmapComboBox::DoGetBestSize() const bool wxBitmapComboBox::SetFont(const wxFont& font) { bool res = wxOwnerDrawnComboBox::SetFont(font); - m_fontHeight = GetCharHeight() + EXTRA_FONT_HEIGHT; + UpdateInternals(); return res; } @@ -392,28 +300,7 @@ void wxBitmapComboBox::OnDrawBackground(wxDC& dc, return; } - // - // Just paint simple selection background under where is text - // (ie. emulate what MSW image choice does). - // - - int xPos = 0; // Starting x of selection rectangle - const int vSizeDec = 1; // Vertical size reduction of selection rectangle edges - - xPos = GetCustomPaintWidth() + 2; - - wxCoord x, y; - GetTextExtent(GetString(item), &x, &y, 0, 0); - - dc.SetTextForeground(wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHTTEXT)); - - wxColour selCol = wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHT); - dc.SetPen(selCol); - dc.SetBrush(selCol); - dc.DrawRectangle(rect.x+xPos, - rect.y+vSizeDec, - x + 4, - rect.height-(vSizeDec*2)); + wxBitmapComboBoxBase::DrawBackground(dc, rect, item, flags); } void wxBitmapComboBox::OnDrawItem(wxDC& dc, @@ -423,7 +310,6 @@ void wxBitmapComboBox::OnDrawItem(wxDC& dc, { wxString text; int imgAreaWidth = m_imgAreaWidth; - bool drawText; if ( imgAreaWidth == 0 ) { @@ -434,40 +320,20 @@ void wxBitmapComboBox::OnDrawItem(wxDC& dc, if ( flags & wxODCB_PAINTING_CONTROL ) { text = GetValue(); - if ( HasFlag(wxCB_READONLY) ) - drawText = true; - else - drawText = false; + if ( !HasFlag(wxCB_READONLY) ) + text.clear(); } else { text = GetString(item); - drawText = true; - } - - const wxBitmap& bmp = *GetBitmapPtr(item); - if ( bmp.Ok() ) - { - wxCoord w = bmp.GetWidth(); - wxCoord h = bmp.GetHeight(); - - // Draw the image centered - dc.DrawBitmap(bmp, - rect.x + (m_usedImgSize.x-w)/2 + IMAGE_SPACING_LEFT, - rect.y + (rect.height-h)/2, - true); } - - if ( drawText ) - dc.DrawText(GetString(item), - rect.x + imgAreaWidth + 1, - rect.y + (rect.height-dc.GetCharHeight())/2); + + wxBitmapComboBoxBase::DrawItem(dc, rect, item, text, flags); } -wxCoord wxBitmapComboBox::OnMeasureItem(size_t WXUNUSED(item)) const +wxCoord wxBitmapComboBox::OnMeasureItem(size_t item) const { - int imgHeightArea = m_usedImgSize.y + 2; - return imgHeightArea > m_fontHeight ? imgHeightArea : m_fontHeight; + return wxBitmapComboBoxBase::MeasureItem(item); } wxCoord wxBitmapComboBox::OnMeasureItemWidth(size_t item) const diff --git a/src/msw/bmpcbox.cpp b/src/msw/bmpcbox.cpp new file mode 100644 index 0000000000..03383eeb6c --- /dev/null +++ b/src/msw/bmpcbox.cpp @@ -0,0 +1,387 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: src/msw/bmpcboxg.cpp +// Purpose: wxBitmapComboBox +// Author: Jaakko Salli +// Created: 2008-04-06 +// RCS-ID: $Id:$ +// Copyright: (c) 2008 Jaakko Salli +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +// ============================================================================ +// declarations +// ============================================================================ + +// ---------------------------------------------------------------------------- +// headers +// ---------------------------------------------------------------------------- + +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ + #pragma hdrstop +#endif + +#if wxUSE_BITMAPCOMBOBOX + +#include "wx/bmpcbox.h" + +#ifndef WX_PRECOMP + #include "wx/log.h" +#endif + +#include "wx/settings.h" + +#include "wx/msw/dcclient.h" +#include "wx/msw/private.h" + +// For wxODCB_XXX flags +#include "wx/odcombo.h" + + +#define IMAGE_SPACING_CTRL_VERTICAL 7 // Spacing used in control size calculation + + +// ============================================================================ +// implementation +// ============================================================================ + + +BEGIN_EVENT_TABLE(wxBitmapComboBox, wxComboBox) + EVT_SIZE(wxBitmapComboBox::OnSize) +END_EVENT_TABLE() + + +IMPLEMENT_DYNAMIC_CLASS(wxBitmapComboBox, wxComboBox) + + +// ---------------------------------------------------------------------------- +// wxBitmapComboBox creation +// ---------------------------------------------------------------------------- + +void wxBitmapComboBox::Init() +{ + m_inResize = false; +} + +wxBitmapComboBox::wxBitmapComboBox(wxWindow *parent, + wxWindowID id, + const wxString& value, + const wxPoint& pos, + const wxSize& size, + const wxArrayString& choices, + long style, + const wxValidator& validator, + const wxString& name) + : wxComboBox(), + wxBitmapComboBoxBase() +{ + Init(); + + Create(parent,id,value,pos,size,choices,style,validator,name); +} + +bool wxBitmapComboBox::Create(wxWindow *parent, + wxWindowID id, + const wxString& value, + const wxPoint& pos, + const wxSize& size, + const wxArrayString& choices, + long style, + const wxValidator& validator, + const wxString& name) +{ + wxCArrayString chs(choices); + return Create(parent, id, value, pos, size, chs.GetCount(), + chs.GetStrings(), style, validator, name); +} + +bool wxBitmapComboBox::Create(wxWindow *parent, + wxWindowID id, + const wxString& value, + const wxPoint& pos, + const wxSize& size, + int n, + const wxString choices[], + long style, + const wxValidator& validator, + const wxString& name) +{ + if ( !wxComboBox::Create(parent, id, value, pos, size, + n, choices, style, validator, name) ) + return false; + + UpdateInternals(); + + return true; +} + +WXDWORD wxBitmapComboBox::MSWGetStyle(long style, WXDWORD *exstyle) const +{ + return wxComboBox::MSWGetStyle(style, exstyle) | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS; +} + +void wxBitmapComboBox::RecreateControl() +{ + // + // Recreate control so that WM_MEASUREITEM gets called again. + // Can't use CBS_OWNERDRAWVARIABLE because it has odd + // mouse-wheel behaviour. + // + wxString value = GetValue(); + wxPoint pos = GetPosition(); + wxSize size = GetSize(); + wxArrayString strings = GetStrings(); + + wxComboBox::DoClear(); + + HWND hwnd = GetHwnd(); + DissociateHandle(); + ::DestroyWindow(hwnd); + + if ( !MSWCreateControl(wxT("COMBOBOX"), value, pos, size) ) + return; + + // initialize the controls contents + for ( unsigned int i = 0; i < strings.size(); i++ ) + { + wxComboBox::Append(strings[i]); + } + + // and make sure it has the same attributes as before + if ( m_hasFont ) + { + // calling SetFont(m_font) would do nothing as the code would + // notice that the font didn't change, so force it to believe + // that it did + wxFont font = m_font; + m_font = wxNullFont; + SetFont(font); + } + + if ( m_hasFgCol ) + { + wxColour colFg = m_foregroundColour; + m_foregroundColour = wxNullColour; + SetForegroundColour(colFg); + } + + if ( m_hasBgCol ) + { + wxColour colBg = m_backgroundColour; + m_backgroundColour = wxNullColour; + SetBackgroundColour(colBg); + } + else + { + SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW)); + } +} + +wxBitmapComboBox::~wxBitmapComboBox() +{ + Clear(); +} + +// ---------------------------------------------------------------------------- +// Item manipulation +// ---------------------------------------------------------------------------- + +void wxBitmapComboBox::SetItemBitmap(unsigned int n, const wxBitmap& bitmap) +{ + OnAddBitmap(bitmap); + DoSetItemBitmap(n, bitmap); + + if ( (int)n == GetSelection() ) + Refresh(); +} + +int wxBitmapComboBox::Append(const wxString& item, const wxBitmap& bitmap) +{ + OnAddBitmap(bitmap); + const int n = wxComboBox::Append(item); + if ( n != wxNOT_FOUND ) + DoSetItemBitmap(n, bitmap); + return n; +} + +int wxBitmapComboBox::Append(const wxString& item, const wxBitmap& bitmap, + void *clientData) +{ + OnAddBitmap(bitmap); + const int n = wxComboBox::Append(item, clientData); + if ( n != wxNOT_FOUND ) + DoSetItemBitmap(n, bitmap); + return n; +} + +int wxBitmapComboBox::Append(const wxString& item, const wxBitmap& bitmap, + wxClientData *clientData) +{ + OnAddBitmap(bitmap); + const int n = wxComboBox::Append(item, clientData); + if ( n != wxNOT_FOUND ) + DoSetItemBitmap(n, bitmap); + return n; +} + +int wxBitmapComboBox::Insert(const wxString& item, + const wxBitmap& bitmap, + unsigned int pos) +{ + OnAddBitmap(bitmap); + const int n = wxComboBox::Insert(item, pos); + if ( n != wxNOT_FOUND ) + DoSetItemBitmap(n, bitmap); + return n; +} + +int wxBitmapComboBox::Insert(const wxString& item, const wxBitmap& bitmap, + unsigned int pos, wxClientData *clientData) +{ + OnAddBitmap(bitmap); + const int n = wxComboBox::Insert(item, pos, clientData); + if ( n != wxNOT_FOUND ) + DoSetItemBitmap(n, bitmap); + return n; +} + +int wxBitmapComboBox::DoInsertItems(const wxArrayStringsAdapter & items, + unsigned int pos, + void **clientData, wxClientDataType type) +{ + const unsigned int numItems = items.GetCount(); + const unsigned int countNew = GetCount() + numItems; + + m_bitmaps.Alloc(countNew); + + for ( unsigned int i = 0; i < numItems; i++ ) + { + m_bitmaps.Insert(new wxBitmap(wxNullBitmap), pos + i); + } + + const int index = wxComboBox::DoInsertItems(items, pos, + clientData, type); + + if ( index == wxNOT_FOUND ) + { + for ( int i = numItems-1; i >= 0; i-- ) + BCBDoDeleteOneItem(pos + i); + } + + return index; +} + +bool wxBitmapComboBox::OnAddBitmap(const wxBitmap& bitmap) +{ + if ( wxBitmapComboBoxBase::OnAddBitmap(bitmap) ) + { + // Need to recreate control for a new measureitem call? + int prevItemHeight = ::SendMessage(GetHwnd(), CB_GETITEMHEIGHT, 0, 0); + + if ( prevItemHeight != MeasureItem(0) ) + RecreateControl(); + + return true; + } + + return false; +} + +void wxBitmapComboBox::DoClear() +{ + wxComboBox::DoClear(); + wxBitmapComboBoxBase::BCBDoClear(); +} + +void wxBitmapComboBox::DoDeleteOneItem(unsigned int n) +{ + wxComboBox::DoDeleteOneItem(n); + wxBitmapComboBoxBase::BCBDoDeleteOneItem(n); +} + +// ---------------------------------------------------------------------------- +// wxBitmapComboBox event handlers and such +// ---------------------------------------------------------------------------- + +void wxBitmapComboBox::OnSize(wxSizeEvent& event) +{ + // Prevent infinite looping + if ( !m_inResize ) + { + m_inResize = true; + DetermineIndent(); + m_inResize = false; + } + + event.Skip(); +} + +// ---------------------------------------------------------------------------- +// wxBitmapComboBox miscellaneous +// ---------------------------------------------------------------------------- + +bool wxBitmapComboBox::SetFont(const wxFont& font) +{ + bool res = wxComboBox::SetFont(font); + UpdateInternals(); + return res; +} + +// ---------------------------------------------------------------------------- +// wxBitmapComboBox item drawing and measuring +// ---------------------------------------------------------------------------- + +bool wxBitmapComboBox::MSWOnDraw(WXDRAWITEMSTRUCT *item) +{ + LPDRAWITEMSTRUCT lpDrawItem = (LPDRAWITEMSTRUCT) item; + int pos = lpDrawItem->itemID; + + // Draw default for item -1, which means 'focus rect only' + if ( pos == -1 ) + return FALSE; + + int flags = 0; + if ( lpDrawItem->itemState & ODS_COMBOBOXEDIT ) + flags |= wxODCB_PAINTING_CONTROL; + if ( lpDrawItem->itemState & ODS_SELECTED ) + flags |= wxODCB_PAINTING_SELECTED; + + wxString text; + + if ( flags & wxODCB_PAINTING_CONTROL ) + { + text = GetValue(); + if ( !HasFlag(wxCB_READONLY) ) + text.clear(); + } + else + { + text = GetString(pos); + } + + wxPaintDCEx dc(this, lpDrawItem->hDC); + wxRect rect = wxRectFromRECT(lpDrawItem->rcItem); + wxBitmapComboBoxBase::DrawBackground(dc, rect, pos, flags); + wxBitmapComboBoxBase::DrawItem(dc, rect, pos, text, flags); + + // If the item has the focus, draw focus rectangle. + // Commented out since regular combo box doesn't + // seem to do it either. + //if ( lpDrawItem->itemState & ODS_FOCUS ) + // DrawFocusRect(lpDrawItem->hDC, &lpDrawItem->rcItem); + + return TRUE; +} + +bool wxBitmapComboBox::MSWOnMeasure(WXMEASUREITEMSTRUCT *item) +{ + LPMEASUREITEMSTRUCT lpMeasureItem = (LPMEASUREITEMSTRUCT) item; + int pos = lpMeasureItem->itemID; + + lpMeasureItem->itemHeight = wxBitmapComboBoxBase::MeasureItem(pos); + + return TRUE; +} + +#endif // wxUSE_BITMAPCOMBOBOX -- 2.45.2