From 7f603c959f47b588fce13e74f5a6575b7be9ac00 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Tue, 7 Jun 2016 22:04:53 +0200 Subject: [PATCH] Move wxPanel::HasTransparentBackground() to wxControlContainer This MSW-specific hack is actually needed by all windows containing more than one control, even if they don't derive from wxPanel (which is just the most commonly used class for such windows), otherwise the parts of the window not covered by the child controls won't have the correct appearance when the window itself is inside a wxNotebook. So do this for all classes inheriting from wxNavigationEnabled<>, notably this fixes the wrong background for all kinds of picker controls (wxDirPickerCtrl, wxFilePickerCtrl, ...) when they're used inside a wxNotebook. After moving this method out of wxPanel, src/msw/panel.cpp became empty, so also delete it and remove it from {bake,make,project} files. --- Makefile.in | 24 +++------------- build/bakefiles/files.bkl | 1 - build/files | 1 - build/msw/makefile.bcc | 24 +++------------- build/msw/makefile.gcc | 24 +++------------- build/msw/makefile.vc | 24 +++------------- build/msw/wx_core.vcxproj | 1 - build/msw/wx_core.vcxproj.filters | 3 -- build/msw/wx_vc7_core.vcproj | 3 -- build/msw/wx_vc8_core.vcproj | 4 --- build/msw/wx_vc9_core.vcproj | 4 --- include/wx/containr.h | 17 ++++++++++++ include/wx/msw/panel.h | 6 ---- src/common/containr.cpp | 18 ++++++++++++ src/msw/panel.cpp | 46 ------------------------------- 15 files changed, 51 insertions(+), 149 deletions(-) delete mode 100644 src/msw/panel.cpp diff --git a/Makefile.in b/Makefile.in index 5e37a781e1..cf9010566b 100644 --- a/Makefile.in +++ b/Makefile.in @@ -4325,7 +4325,7 @@ COND_USE_GUI_1___MONOLIB_GUI_SRC_OBJECTS = \ monodll_ribbon_control.o \ monodll_gallery.o \ monodll_page.o \ - monodll_ribbon_panel.o \ + monodll_panel.o \ monodll_ribbon_toolbar.o \ monodll_xh_ribbon.o \ monodll_richtextbuffer.o \ @@ -5357,7 +5357,6 @@ COND_TOOLKIT_MSW___GUI_SRC_OBJECTS = \ monodll_msw_notebook.o \ monodll_access.o \ monodll_ownerdrw.o \ - monodll_msw_panel.o \ monodll_progdlg.o \ monodll_msw_radiobox.o \ monodll_msw_radiobut.o \ @@ -6347,7 +6346,7 @@ COND_USE_GUI_1___MONOLIB_GUI_SRC_OBJECTS_1 = \ monolib_ribbon_control.o \ monolib_gallery.o \ monolib_page.o \ - monolib_ribbon_panel.o \ + monolib_panel.o \ monolib_ribbon_toolbar.o \ monolib_xh_ribbon.o \ monolib_richtextbuffer.o \ @@ -7379,7 +7378,6 @@ COND_TOOLKIT_MSW___GUI_SRC_OBJECTS_1 = \ monolib_msw_notebook.o \ monolib_access.o \ monolib_ownerdrw.o \ - monolib_msw_panel.o \ monolib_progdlg.o \ monolib_msw_radiobox.o \ monolib_msw_radiobut.o \ @@ -9545,7 +9543,6 @@ COND_TOOLKIT_MSW___GUI_SRC_OBJECTS_2 = \ coredll_msw_notebook.o \ coredll_access.o \ coredll_ownerdrw.o \ - coredll_panel.o \ coredll_progdlg.o \ coredll_msw_radiobox.o \ coredll_msw_radiobut.o \ @@ -11019,7 +11016,6 @@ COND_TOOLKIT_MSW___GUI_SRC_OBJECTS_3 = \ corelib_msw_notebook.o \ corelib_access.o \ corelib_ownerdrw.o \ - corelib_panel.o \ corelib_progdlg.o \ corelib_msw_radiobox.o \ corelib_msw_radiobut.o \ @@ -16396,9 +16392,6 @@ monodll_access.o: $(srcdir)/src/msw/ole/access.cpp $(MONODLL_ODEP) monodll_ownerdrw.o: $(srcdir)/src/msw/ownerdrw.cpp $(MONODLL_ODEP) $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/ownerdrw.cpp -monodll_msw_panel.o: $(srcdir)/src/msw/panel.cpp $(MONODLL_ODEP) - $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/panel.cpp - monodll_progdlg.o: $(srcdir)/src/msw/progdlg.cpp $(MONODLL_ODEP) $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/progdlg.cpp @@ -17182,7 +17175,7 @@ monodll_gallery.o: $(srcdir)/src/ribbon/gallery.cpp $(MONODLL_ODEP) monodll_page.o: $(srcdir)/src/ribbon/page.cpp $(MONODLL_ODEP) $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/ribbon/page.cpp -monodll_ribbon_panel.o: $(srcdir)/src/ribbon/panel.cpp $(MONODLL_ODEP) +monodll_panel.o: $(srcdir)/src/ribbon/panel.cpp $(MONODLL_ODEP) $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/ribbon/panel.cpp monodll_ribbon_toolbar.o: $(srcdir)/src/ribbon/toolbar.cpp $(MONODLL_ODEP) @@ -21247,9 +21240,6 @@ monolib_access.o: $(srcdir)/src/msw/ole/access.cpp $(MONOLIB_ODEP) monolib_ownerdrw.o: $(srcdir)/src/msw/ownerdrw.cpp $(MONOLIB_ODEP) $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/ownerdrw.cpp -monolib_msw_panel.o: $(srcdir)/src/msw/panel.cpp $(MONOLIB_ODEP) - $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/panel.cpp - monolib_progdlg.o: $(srcdir)/src/msw/progdlg.cpp $(MONOLIB_ODEP) $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/progdlg.cpp @@ -22033,7 +22023,7 @@ monolib_gallery.o: $(srcdir)/src/ribbon/gallery.cpp $(MONOLIB_ODEP) monolib_page.o: $(srcdir)/src/ribbon/page.cpp $(MONOLIB_ODEP) $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/ribbon/page.cpp -monolib_ribbon_panel.o: $(srcdir)/src/ribbon/panel.cpp $(MONOLIB_ODEP) +monolib_panel.o: $(srcdir)/src/ribbon/panel.cpp $(MONOLIB_ODEP) $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/ribbon/panel.cpp monolib_ribbon_toolbar.o: $(srcdir)/src/ribbon/toolbar.cpp $(MONOLIB_ODEP) @@ -26761,9 +26751,6 @@ coredll_access.o: $(srcdir)/src/msw/ole/access.cpp $(COREDLL_ODEP) coredll_ownerdrw.o: $(srcdir)/src/msw/ownerdrw.cpp $(COREDLL_ODEP) $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/msw/ownerdrw.cpp -coredll_panel.o: $(srcdir)/src/msw/panel.cpp $(COREDLL_ODEP) - $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/msw/panel.cpp - coredll_progdlg.o: $(srcdir)/src/msw/progdlg.cpp $(COREDLL_ODEP) $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/msw/progdlg.cpp @@ -30157,9 +30144,6 @@ corelib_access.o: $(srcdir)/src/msw/ole/access.cpp $(CORELIB_ODEP) corelib_ownerdrw.o: $(srcdir)/src/msw/ownerdrw.cpp $(CORELIB_ODEP) $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/msw/ownerdrw.cpp -corelib_panel.o: $(srcdir)/src/msw/panel.cpp $(CORELIB_ODEP) - $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/msw/panel.cpp - corelib_progdlg.o: $(srcdir)/src/msw/progdlg.cpp $(CORELIB_ODEP) $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/msw/progdlg.cpp diff --git a/build/bakefiles/files.bkl b/build/bakefiles/files.bkl index 99f3c3231c..609ede490d 100644 --- a/build/bakefiles/files.bkl +++ b/build/bakefiles/files.bkl @@ -1969,7 +1969,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! src/msw/notebook.cpp src/msw/ole/access.cpp src/msw/ownerdrw.cpp - src/msw/panel.cpp src/msw/progdlg.cpp src/msw/radiobox.cpp src/msw/radiobut.cpp diff --git a/build/files b/build/files index 7fcb062989..af994ad48a 100644 --- a/build/files +++ b/build/files @@ -1827,7 +1827,6 @@ MSW_SRC = src/msw/notebook.cpp src/msw/ole/access.cpp src/msw/ownerdrw.cpp - src/msw/panel.cpp src/msw/progdlg.cpp src/msw/radiobox.cpp src/msw/radiobut.cpp diff --git a/build/msw/makefile.bcc b/build/msw/makefile.bcc index 0d649544fc..fe3d0a2a44 100644 --- a/build/msw/makefile.bcc +++ b/build/msw/makefile.bcc @@ -1772,7 +1772,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_ribbon_control.obj \ $(OBJS)\monodll_gallery.obj \ $(OBJS)\monodll_page.obj \ - $(OBJS)\monodll_ribbon_panel.obj \ + $(OBJS)\monodll_panel.obj \ $(OBJS)\monodll_ribbon_toolbar.obj \ $(OBJS)\monodll_xh_ribbon.obj \ $(OBJS)\monodll_richtextbuffer.obj \ @@ -1887,7 +1887,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_msw_notebook.obj \ $(OBJS)\monodll_access.obj \ $(OBJS)\monodll_ownerdrw.obj \ - $(OBJS)\monodll_msw_panel.obj \ $(OBJS)\monodll_progdlg.obj \ $(OBJS)\monodll_msw_radiobox.obj \ $(OBJS)\monodll_msw_radiobut.obj \ @@ -2604,7 +2603,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_ribbon_control.obj \ $(OBJS)\monolib_gallery.obj \ $(OBJS)\monolib_page.obj \ - $(OBJS)\monolib_ribbon_panel.obj \ + $(OBJS)\monolib_panel.obj \ $(OBJS)\monolib_ribbon_toolbar.obj \ $(OBJS)\monolib_xh_ribbon.obj \ $(OBJS)\monolib_richtextbuffer.obj \ @@ -2719,7 +2718,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_msw_notebook.obj \ $(OBJS)\monolib_access.obj \ $(OBJS)\monolib_ownerdrw.obj \ - $(OBJS)\monolib_msw_panel.obj \ $(OBJS)\monolib_progdlg.obj \ $(OBJS)\monolib_msw_radiobox.obj \ $(OBJS)\monolib_msw_radiobut.obj \ @@ -3423,7 +3421,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\coredll_msw_notebook.obj \ $(OBJS)\coredll_access.obj \ $(OBJS)\coredll_ownerdrw.obj \ - $(OBJS)\coredll_panel.obj \ $(OBJS)\coredll_progdlg.obj \ $(OBJS)\coredll_msw_radiobox.obj \ $(OBJS)\coredll_msw_radiobut.obj \ @@ -3995,7 +3992,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\corelib_msw_notebook.obj \ $(OBJS)\corelib_access.obj \ $(OBJS)\corelib_ownerdrw.obj \ - $(OBJS)\corelib_panel.obj \ $(OBJS)\corelib_progdlg.obj \ $(OBJS)\corelib_msw_radiobox.obj \ $(OBJS)\corelib_msw_radiobut.obj \ @@ -6888,9 +6884,6 @@ $(OBJS)\monodll_access.obj: ..\..\src\msw\ole\access.cpp $(OBJS)\monodll_ownerdrw.obj: ..\..\src\msw\ownerdrw.cpp $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\ownerdrw.cpp -$(OBJS)\monodll_msw_panel.obj: ..\..\src\msw\panel.cpp - $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\panel.cpp - $(OBJS)\monodll_progdlg.obj: ..\..\src\msw\progdlg.cpp $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\progdlg.cpp @@ -7527,7 +7520,7 @@ $(OBJS)\monodll_gallery.obj: ..\..\src\ribbon\gallery.cpp $(OBJS)\monodll_page.obj: ..\..\src\ribbon\page.cpp $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\ribbon\page.cpp -$(OBJS)\monodll_ribbon_panel.obj: ..\..\src\ribbon\panel.cpp +$(OBJS)\monodll_panel.obj: ..\..\src\ribbon\panel.cpp $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\ribbon\panel.cpp $(OBJS)\monodll_ribbon_toolbar.obj: ..\..\src\ribbon\toolbar.cpp @@ -9432,9 +9425,6 @@ $(OBJS)\monolib_access.obj: ..\..\src\msw\ole\access.cpp $(OBJS)\monolib_ownerdrw.obj: ..\..\src\msw\ownerdrw.cpp $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\ownerdrw.cpp -$(OBJS)\monolib_msw_panel.obj: ..\..\src\msw\panel.cpp - $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\panel.cpp - $(OBJS)\monolib_progdlg.obj: ..\..\src\msw\progdlg.cpp $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\progdlg.cpp @@ -10071,7 +10061,7 @@ $(OBJS)\monolib_gallery.obj: ..\..\src\ribbon\gallery.cpp $(OBJS)\monolib_page.obj: ..\..\src\ribbon\page.cpp $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\ribbon\page.cpp -$(OBJS)\monolib_ribbon_panel.obj: ..\..\src\ribbon\panel.cpp +$(OBJS)\monolib_panel.obj: ..\..\src\ribbon\panel.cpp $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\ribbon\panel.cpp $(OBJS)\monolib_ribbon_toolbar.obj: ..\..\src\ribbon\toolbar.cpp @@ -12390,9 +12380,6 @@ $(OBJS)\coredll_access.obj: ..\..\src\msw\ole\access.cpp $(OBJS)\coredll_ownerdrw.obj: ..\..\src\msw\ownerdrw.cpp $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\msw\ownerdrw.cpp -$(OBJS)\coredll_panel.obj: ..\..\src\msw\panel.cpp - $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\msw\panel.cpp - $(OBJS)\coredll_progdlg.obj: ..\..\src\msw\progdlg.cpp $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\msw\progdlg.cpp @@ -13870,9 +13857,6 @@ $(OBJS)\corelib_access.obj: ..\..\src\msw\ole\access.cpp $(OBJS)\corelib_ownerdrw.obj: ..\..\src\msw\ownerdrw.cpp $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\msw\ownerdrw.cpp -$(OBJS)\corelib_panel.obj: ..\..\src\msw\panel.cpp - $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\msw\panel.cpp - $(OBJS)\corelib_progdlg.obj: ..\..\src\msw\progdlg.cpp $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\msw\progdlg.cpp diff --git a/build/msw/makefile.gcc b/build/msw/makefile.gcc index 02d6ba2299..6a988817c3 100644 --- a/build/msw/makefile.gcc +++ b/build/msw/makefile.gcc @@ -1791,7 +1791,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_ribbon_control.o \ $(OBJS)\monodll_gallery.o \ $(OBJS)\monodll_page.o \ - $(OBJS)\monodll_ribbon_panel.o \ + $(OBJS)\monodll_panel.o \ $(OBJS)\monodll_ribbon_toolbar.o \ $(OBJS)\monodll_xh_ribbon.o \ $(OBJS)\monodll_richtextbuffer.o \ @@ -1907,7 +1907,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_msw_notebook.o \ $(OBJS)\monodll_access.o \ $(OBJS)\monodll_ownerdrw.o \ - $(OBJS)\monodll_msw_panel.o \ $(OBJS)\monodll_progdlg.o \ $(OBJS)\monodll_msw_radiobox.o \ $(OBJS)\monodll_msw_radiobut.o \ @@ -2629,7 +2628,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_ribbon_control.o \ $(OBJS)\monolib_gallery.o \ $(OBJS)\monolib_page.o \ - $(OBJS)\monolib_ribbon_panel.o \ + $(OBJS)\monolib_panel.o \ $(OBJS)\monolib_ribbon_toolbar.o \ $(OBJS)\monolib_xh_ribbon.o \ $(OBJS)\monolib_richtextbuffer.o \ @@ -2745,7 +2744,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_msw_notebook.o \ $(OBJS)\monolib_access.o \ $(OBJS)\monolib_ownerdrw.o \ - $(OBJS)\monolib_msw_panel.o \ $(OBJS)\monolib_progdlg.o \ $(OBJS)\monolib_msw_radiobox.o \ $(OBJS)\monolib_msw_radiobut.o \ @@ -3465,7 +3463,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\coredll_msw_notebook.o \ $(OBJS)\coredll_access.o \ $(OBJS)\coredll_ownerdrw.o \ - $(OBJS)\coredll_panel.o \ $(OBJS)\coredll_progdlg.o \ $(OBJS)\coredll_msw_radiobox.o \ $(OBJS)\coredll_msw_radiobut.o \ @@ -4045,7 +4042,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\corelib_msw_notebook.o \ $(OBJS)\corelib_access.o \ $(OBJS)\corelib_ownerdrw.o \ - $(OBJS)\corelib_panel.o \ $(OBJS)\corelib_progdlg.o \ $(OBJS)\corelib_msw_radiobox.o \ $(OBJS)\corelib_msw_radiobut.o \ @@ -7064,9 +7060,6 @@ $(OBJS)\monodll_access.o: ../../src/msw/ole/access.cpp $(OBJS)\monodll_ownerdrw.o: ../../src/msw/ownerdrw.cpp $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< -$(OBJS)\monodll_msw_panel.o: ../../src/msw/panel.cpp - $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< - $(OBJS)\monodll_progdlg.o: ../../src/msw/progdlg.cpp $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< @@ -7703,7 +7696,7 @@ $(OBJS)\monodll_gallery.o: ../../src/ribbon/gallery.cpp $(OBJS)\monodll_page.o: ../../src/ribbon/page.cpp $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< -$(OBJS)\monodll_ribbon_panel.o: ../../src/ribbon/panel.cpp +$(OBJS)\monodll_panel.o: ../../src/ribbon/panel.cpp $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< $(OBJS)\monodll_ribbon_toolbar.o: ../../src/ribbon/toolbar.cpp @@ -9610,9 +9603,6 @@ $(OBJS)\monolib_access.o: ../../src/msw/ole/access.cpp $(OBJS)\monolib_ownerdrw.o: ../../src/msw/ownerdrw.cpp $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< -$(OBJS)\monolib_msw_panel.o: ../../src/msw/panel.cpp - $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< - $(OBJS)\monolib_progdlg.o: ../../src/msw/progdlg.cpp $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< @@ -10249,7 +10239,7 @@ $(OBJS)\monolib_gallery.o: ../../src/ribbon/gallery.cpp $(OBJS)\monolib_page.o: ../../src/ribbon/page.cpp $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< -$(OBJS)\monolib_ribbon_panel.o: ../../src/ribbon/panel.cpp +$(OBJS)\monolib_panel.o: ../../src/ribbon/panel.cpp $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< $(OBJS)\monolib_ribbon_toolbar.o: ../../src/ribbon/toolbar.cpp @@ -12570,9 +12560,6 @@ $(OBJS)\coredll_access.o: ../../src/msw/ole/access.cpp $(OBJS)\coredll_ownerdrw.o: ../../src/msw/ownerdrw.cpp $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $< -$(OBJS)\coredll_panel.o: ../../src/msw/panel.cpp - $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $< - $(OBJS)\coredll_progdlg.o: ../../src/msw/progdlg.cpp $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $< @@ -14050,9 +14037,6 @@ $(OBJS)\corelib_access.o: ../../src/msw/ole/access.cpp $(OBJS)\corelib_ownerdrw.o: ../../src/msw/ownerdrw.cpp $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $< -$(OBJS)\corelib_panel.o: ../../src/msw/panel.cpp - $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $< - $(OBJS)\corelib_progdlg.o: ../../src/msw/progdlg.cpp $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $< diff --git a/build/msw/makefile.vc b/build/msw/makefile.vc index 0ec2923388..1fd3de3824 100644 --- a/build/msw/makefile.vc +++ b/build/msw/makefile.vc @@ -2073,7 +2073,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_ribbon_control.obj \ $(OBJS)\monodll_gallery.obj \ $(OBJS)\monodll_page.obj \ - $(OBJS)\monodll_ribbon_panel.obj \ + $(OBJS)\monodll_panel.obj \ $(OBJS)\monodll_ribbon_toolbar.obj \ $(OBJS)\monodll_xh_ribbon.obj \ $(OBJS)\monodll_richtextbuffer.obj \ @@ -2188,7 +2188,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_msw_notebook.obj \ $(OBJS)\monodll_access.obj \ $(OBJS)\monodll_ownerdrw.obj \ - $(OBJS)\monodll_msw_panel.obj \ $(OBJS)\monodll_progdlg.obj \ $(OBJS)\monodll_msw_radiobox.obj \ $(OBJS)\monodll_msw_radiobut.obj \ @@ -2911,7 +2910,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_ribbon_control.obj \ $(OBJS)\monolib_gallery.obj \ $(OBJS)\monolib_page.obj \ - $(OBJS)\monolib_ribbon_panel.obj \ + $(OBJS)\monolib_panel.obj \ $(OBJS)\monolib_ribbon_toolbar.obj \ $(OBJS)\monolib_xh_ribbon.obj \ $(OBJS)\monolib_richtextbuffer.obj \ @@ -3026,7 +3025,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_msw_notebook.obj \ $(OBJS)\monolib_access.obj \ $(OBJS)\monolib_ownerdrw.obj \ - $(OBJS)\monolib_msw_panel.obj \ $(OBJS)\monolib_progdlg.obj \ $(OBJS)\monolib_msw_radiobox.obj \ $(OBJS)\monolib_msw_radiobut.obj \ @@ -3796,7 +3794,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\coredll_msw_notebook.obj \ $(OBJS)\coredll_access.obj \ $(OBJS)\coredll_ownerdrw.obj \ - $(OBJS)\coredll_panel.obj \ $(OBJS)\coredll_progdlg.obj \ $(OBJS)\coredll_msw_radiobox.obj \ $(OBJS)\coredll_msw_radiobut.obj \ @@ -4374,7 +4371,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\corelib_msw_notebook.obj \ $(OBJS)\corelib_access.obj \ $(OBJS)\corelib_ownerdrw.obj \ - $(OBJS)\corelib_panel.obj \ $(OBJS)\corelib_progdlg.obj \ $(OBJS)\corelib_msw_radiobox.obj \ $(OBJS)\corelib_msw_radiobut.obj \ @@ -7581,9 +7577,6 @@ $(OBJS)\monodll_access.obj: ..\..\src\msw\ole\access.cpp $(OBJS)\monodll_ownerdrw.obj: ..\..\src\msw\ownerdrw.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\ownerdrw.cpp -$(OBJS)\monodll_msw_panel.obj: ..\..\src\msw\panel.cpp - $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\panel.cpp - $(OBJS)\monodll_progdlg.obj: ..\..\src\msw\progdlg.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\progdlg.cpp @@ -8220,7 +8213,7 @@ $(OBJS)\monodll_gallery.obj: ..\..\src\ribbon\gallery.cpp $(OBJS)\monodll_page.obj: ..\..\src\ribbon\page.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\ribbon\page.cpp -$(OBJS)\monodll_ribbon_panel.obj: ..\..\src\ribbon\panel.cpp +$(OBJS)\monodll_panel.obj: ..\..\src\ribbon\panel.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\ribbon\panel.cpp $(OBJS)\monodll_ribbon_toolbar.obj: ..\..\src\ribbon\toolbar.cpp @@ -10125,9 +10118,6 @@ $(OBJS)\monolib_access.obj: ..\..\src\msw\ole\access.cpp $(OBJS)\monolib_ownerdrw.obj: ..\..\src\msw\ownerdrw.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\ownerdrw.cpp -$(OBJS)\monolib_msw_panel.obj: ..\..\src\msw\panel.cpp - $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\panel.cpp - $(OBJS)\monolib_progdlg.obj: ..\..\src\msw\progdlg.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\progdlg.cpp @@ -10764,7 +10754,7 @@ $(OBJS)\monolib_gallery.obj: ..\..\src\ribbon\gallery.cpp $(OBJS)\monolib_page.obj: ..\..\src\ribbon\page.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\ribbon\page.cpp -$(OBJS)\monolib_ribbon_panel.obj: ..\..\src\ribbon\panel.cpp +$(OBJS)\monolib_panel.obj: ..\..\src\ribbon\panel.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\ribbon\panel.cpp $(OBJS)\monolib_ribbon_toolbar.obj: ..\..\src\ribbon\toolbar.cpp @@ -13083,9 +13073,6 @@ $(OBJS)\coredll_access.obj: ..\..\src\msw\ole\access.cpp $(OBJS)\coredll_ownerdrw.obj: ..\..\src\msw\ownerdrw.cpp $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\msw\ownerdrw.cpp -$(OBJS)\coredll_panel.obj: ..\..\src\msw\panel.cpp - $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\msw\panel.cpp - $(OBJS)\coredll_progdlg.obj: ..\..\src\msw\progdlg.cpp $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\msw\progdlg.cpp @@ -14563,9 +14550,6 @@ $(OBJS)\corelib_access.obj: ..\..\src\msw\ole\access.cpp $(OBJS)\corelib_ownerdrw.obj: ..\..\src\msw\ownerdrw.cpp $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\msw\ownerdrw.cpp -$(OBJS)\corelib_panel.obj: ..\..\src\msw\panel.cpp - $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\msw\panel.cpp - $(OBJS)\corelib_progdlg.obj: ..\..\src\msw\progdlg.cpp $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\msw\progdlg.cpp diff --git a/build/msw/wx_core.vcxproj b/build/msw/wx_core.vcxproj index 291c6f866d..fc9608749b 100644 --- a/build/msw/wx_core.vcxproj +++ b/build/msw/wx_core.vcxproj @@ -799,7 +799,6 @@ - diff --git a/build/msw/wx_core.vcxproj.filters b/build/msw/wx_core.vcxproj.filters index 4295676e97..357b1ec0a1 100644 --- a/build/msw/wx_core.vcxproj.filters +++ b/build/msw/wx_core.vcxproj.filters @@ -786,9 +786,6 @@ MSW Sources - - MSW Sources - MSW Sources diff --git a/build/msw/wx_vc7_core.vcproj b/build/msw/wx_vc7_core.vcproj index 583cc7eeee..37d66fa9fd 100644 --- a/build/msw/wx_vc7_core.vcproj +++ b/build/msw/wx_vc7_core.vcproj @@ -928,9 +928,6 @@ - - diff --git a/build/msw/wx_vc8_core.vcproj b/build/msw/wx_vc8_core.vcproj index 91212e072e..ced19bd2c1 100644 --- a/build/msw/wx_vc8_core.vcproj +++ b/build/msw/wx_vc8_core.vcproj @@ -1642,10 +1642,6 @@ RelativePath="..\..\src\msw\palette.cpp" > - - diff --git a/build/msw/wx_vc9_core.vcproj b/build/msw/wx_vc9_core.vcproj index 91d8b8dbd3..098745f91a 100644 --- a/build/msw/wx_vc9_core.vcproj +++ b/build/msw/wx_vc9_core.vcproj @@ -1638,10 +1638,6 @@ RelativePath="..\..\src\msw\palette.cpp" > - - diff --git a/include/wx/containr.h b/include/wx/containr.h index 784ff2fcd7..bb25e6a42c 100644 --- a/include/wx/containr.h +++ b/include/wx/containr.h @@ -90,6 +90,16 @@ public: // Returns true if we have any focusable children, false otherwise. bool UpdateCanFocusChildren(); +#ifdef __WXMSW__ + // This is not strictly related to navigation, but all windows containing + // more than one children controls need to return from this method if any + // of their parents has an inheritable background, so do this automatically + // for all of them (another alternative could be to do it in wxWindow + // itself but this would be potentially more backwards incompatible and + // could conceivably break some custom windows). + bool HasTransparentBackground() const; +#endif // __WXMSW__ + protected: // set the focus to the child which had it the last time virtual bool SetFocusToChild(); @@ -252,6 +262,13 @@ public: BaseWindowClass::SetFocus(); } +#ifdef __WXMSW__ + WXDLLIMPEXP_INLINE_CORE virtual bool HasTransparentBackground() wxOVERRIDE + { + return m_container.HasTransparentBackground(); + } +#endif // __WXMSW__ + protected: #ifndef wxHAS_NATIVE_TAB_TRAVERSAL void OnNavigationKey(wxNavigationKeyEvent& event) diff --git a/include/wx/msw/panel.h b/include/wx/msw/panel.h index 4762bef191..86ba5ec6de 100644 --- a/include/wx/msw/panel.h +++ b/include/wx/msw/panel.h @@ -31,12 +31,6 @@ public: Create(parent, winid, pos, size, style, name); } - // This is overridden for MSW to return true for all panels that are child - // of a window with themed background (such as wxNotebook) which should - // show through the child panels. - virtual bool HasTransparentBackground(); - - #if WXWIN_COMPATIBILITY_2_8 wxDEPRECATED_CONSTRUCTOR( wxPanel(wxWindow *parent, diff --git a/src/common/containr.cpp b/src/common/containr.cpp index c663417043..9904c6761a 100644 --- a/src/common/containr.cpp +++ b/src/common/containr.cpp @@ -162,6 +162,24 @@ bool wxControlContainerBase::SetFocusToChild() return wxSetFocusToChild(m_winParent, &m_winLastFocused); } +#ifdef __WXMSW__ + +bool wxControlContainerBase::HasTransparentBackground() const +{ + for ( wxWindow *win = m_winParent->GetParent(); win; win = win->GetParent() ) + { + if ( win->MSWHasInheritableBackground() ) + return true; + + if ( win->IsTopLevel() ) + break; + } + + return false; +} + +#endif // __WXMSW__ + #ifndef wxHAS_NATIVE_TAB_TRAVERSAL // ---------------------------------------------------------------------------- diff --git a/src/msw/panel.cpp b/src/msw/panel.cpp deleted file mode 100644 index fc7cfa5bb1..0000000000 --- a/src/msw/panel.cpp +++ /dev/null @@ -1,46 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// Name: src/msw/panel.cpp -// Purpose: Implementation of wxMSW-specific wxPanel class. -// Author: Vadim Zeitlin -// Created: 2011-03-18 -// Copyright: (c) 2011 Vadim Zeitlin -// Licence: wxWindows licence -/////////////////////////////////////////////////////////////////////////////// - -// ============================================================================ -// declarations -// ============================================================================ - -// ---------------------------------------------------------------------------- -// headers -// ---------------------------------------------------------------------------- - -// for compilers that support precompilation, includes "wx.h". -#include "wx/wxprec.h" - -#ifdef __BORLANDC__ - #pragma hdrstop -#endif - -#ifndef WX_PRECOMP - #include "wx/panel.h" -#endif // WX_PRECOMP - -// ============================================================================ -// implementation -// ============================================================================ - -bool wxPanel::HasTransparentBackground() -{ - for ( wxWindow *win = GetParent(); win; win = win->GetParent() ) - { - if ( win->MSWHasInheritableBackground() ) - return true; - - if ( win->IsTopLevel() ) - break; - } - - return false; -} -