diff --git a/Makefile.in b/Makefile.in index 624cbb8ef6..6c5ce7a403 100644 --- a/Makefile.in +++ b/Makefile.in @@ -2990,6 +2990,7 @@ COND_TOOLKIT_MSW_GUI_HDR = \ wx/msw/control.h \ wx/msw/ctrlsub.h \ wx/msw/cursor.h \ + wx/msw/custombgwin.h \ wx/msw/dc.h \ wx/msw/dcclient.h \ wx/msw/dcmemory.h \ @@ -3519,6 +3520,7 @@ COND_TOOLKIT_WINCE_GUI_HDR = \ wx/msw/control.h \ wx/msw/ctrlsub.h \ wx/msw/cursor.h \ + wx/msw/custombgwin.h \ wx/msw/dc.h \ wx/msw/dcclient.h \ wx/msw/dcmemory.h \ @@ -3855,6 +3857,7 @@ COND_USE_GUI_1_WXUNIV_1_GUI_CORE_HEADERS = \ wx/univ/colschem.h \ wx/univ/combobox.h \ wx/univ/control.h \ + wx/univ/custombgwin.h \ wx/univ/dialog.h \ wx/univ/frame.h \ wx/univ/gauge.h \ @@ -3907,6 +3910,7 @@ COND_USE_GUI_1_ALL_GUI_HEADERS = \ wx/control.h \ wx/ctrlsub.h \ wx/cursor.h \ + wx/custombgwin.h \ wx/dc.h \ wx/dcclient.h \ wx/dcgraph.h \ @@ -3928,6 +3932,7 @@ COND_USE_GUI_1_ALL_GUI_HEADERS = \ wx/generic/choicdgg.h \ wx/generic/colrdlgg.h \ wx/generic/combo.h \ + wx/generic/custombgwin.h \ wx/generic/dcpsg.h \ wx/generic/dirctrlg.h \ wx/generic/dragimgg.h \ @@ -4700,7 +4705,6 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS = \ monodll_markuptext.o \ monodll_msgdlgg.o \ monodll_numdlgg.o \ - monodll_panelg.o \ monodll_progdlgg.o \ monodll_printps.o \ monodll_renderg.o \ @@ -4917,7 +4921,6 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS = \ monodll_markuptext.o \ monodll_msgdlgg.o \ monodll_numdlgg.o \ - monodll_panelg.o \ monodll_progdlgg.o \ monodll_printps.o \ monodll_renderg.o \ @@ -6654,7 +6657,6 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_1 = \ monolib_markuptext.o \ monolib_msgdlgg.o \ monolib_numdlgg.o \ - monolib_panelg.o \ monolib_progdlgg.o \ monolib_printps.o \ monolib_renderg.o \ @@ -6871,7 +6873,6 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_1 = \ monolib_markuptext.o \ monolib_msgdlgg.o \ monolib_numdlgg.o \ - monolib_panelg.o \ monolib_progdlgg.o \ monolib_printps.o \ monolib_renderg.o \ @@ -8787,7 +8788,6 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_2 = \ coredll_markuptext.o \ coredll_msgdlgg.o \ coredll_numdlgg.o \ - coredll_panelg.o \ coredll_progdlgg.o \ coredll_printps.o \ coredll_renderg.o \ @@ -9004,7 +9004,6 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_2 = \ coredll_markuptext.o \ coredll_msgdlgg.o \ coredll_numdlgg.o \ - coredll_panelg.o \ coredll_progdlgg.o \ coredll_printps.o \ coredll_renderg.o \ @@ -10381,7 +10380,6 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_3 = \ corelib_markuptext.o \ corelib_msgdlgg.o \ corelib_numdlgg.o \ - corelib_panelg.o \ corelib_progdlgg.o \ corelib_printps.o \ corelib_renderg.o \ @@ -10598,7 +10596,6 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_3 = \ corelib_markuptext.o \ corelib_msgdlgg.o \ corelib_numdlgg.o \ - corelib_panelg.o \ corelib_progdlgg.o \ corelib_printps.o \ corelib_renderg.o \ @@ -20559,9 +20556,6 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP) @COND_USE_GUI_1@monodll_numdlgg.o: $(srcdir)/src/generic/numdlgg.cpp $(MONODLL_ODEP) @COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/numdlgg.cpp -@COND_USE_GUI_1@monodll_panelg.o: $(srcdir)/src/generic/panelg.cpp $(MONODLL_ODEP) -@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/panelg.cpp - @COND_USE_GUI_1@monodll_progdlgg.o: $(srcdir)/src/generic/progdlgg.cpp $(MONODLL_ODEP) @COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/progdlgg.cpp @@ -25932,9 +25926,6 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP) @COND_USE_GUI_1@monolib_numdlgg.o: $(srcdir)/src/generic/numdlgg.cpp $(MONOLIB_ODEP) @COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/numdlgg.cpp -@COND_USE_GUI_1@monolib_panelg.o: $(srcdir)/src/generic/panelg.cpp $(MONOLIB_ODEP) -@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/panelg.cpp - @COND_USE_GUI_1@monolib_progdlgg.o: $(srcdir)/src/generic/progdlgg.cpp $(MONOLIB_ODEP) @COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/progdlgg.cpp @@ -31464,9 +31455,6 @@ coredll_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(COREDLL_ODEP) @COND_USE_GUI_1@coredll_numdlgg.o: $(srcdir)/src/generic/numdlgg.cpp $(COREDLL_ODEP) @COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/numdlgg.cpp -@COND_USE_GUI_1@coredll_panelg.o: $(srcdir)/src/generic/panelg.cpp $(COREDLL_ODEP) -@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/panelg.cpp - @COND_USE_GUI_1@coredll_progdlgg.o: $(srcdir)/src/generic/progdlgg.cpp $(COREDLL_ODEP) @COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/progdlgg.cpp @@ -35478,9 +35466,6 @@ corelib_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(CORELIB_ODEP) @COND_USE_GUI_1@corelib_numdlgg.o: $(srcdir)/src/generic/numdlgg.cpp $(CORELIB_ODEP) @COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/numdlgg.cpp -@COND_USE_GUI_1@corelib_panelg.o: $(srcdir)/src/generic/panelg.cpp $(CORELIB_ODEP) -@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/panelg.cpp - @COND_USE_GUI_1@corelib_progdlgg.o: $(srcdir)/src/generic/progdlgg.cpp $(CORELIB_ODEP) @COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/progdlgg.cpp diff --git a/build/bakefiles/files.bkl b/build/bakefiles/files.bkl index 4069889063..96b214b1bb 100644 --- a/build/bakefiles/files.bkl +++ b/build/bakefiles/files.bkl @@ -789,7 +789,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! src/generic/markuptext.cpp src/generic/msgdlgg.cpp src/generic/numdlgg.cpp - src/generic/panelg.cpp src/generic/progdlgg.cpp src/generic/printps.cpp src/generic/renderg.cpp @@ -829,6 +828,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! wx/control.h wx/ctrlsub.h wx/cursor.h + wx/custombgwin.h wx/dc.h wx/dcclient.h wx/dcgraph.h @@ -850,6 +850,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! wx/generic/choicdgg.h wx/generic/colrdlgg.h wx/generic/combo.h + wx/generic/custombgwin.h wx/generic/dcpsg.h wx/generic/dirctrlg.h wx/generic/dragimgg.h @@ -1808,6 +1809,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! wx/msw/control.h wx/msw/ctrlsub.h wx/msw/cursor.h + wx/msw/custombgwin.h wx/msw/dc.h wx/msw/dcclient.h wx/msw/dcmemory.h @@ -2911,6 +2913,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! wx/univ/colschem.h wx/univ/combobox.h wx/univ/control.h + wx/univ/custombgwin.h wx/univ/dialog.h wx/univ/frame.h wx/univ/gauge.h diff --git a/build/msw/makefile.bcc b/build/msw/makefile.bcc index 4e6047c9b4..d5711717d8 100644 --- a/build/msw/makefile.bcc +++ b/build/msw/makefile.bcc @@ -1969,7 +1969,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_markuptext.obj \ $(OBJS)\monodll_msgdlgg.obj \ $(OBJS)\monodll_numdlgg.obj \ - $(OBJS)\monodll_panelg.obj \ $(OBJS)\monodll_progdlgg.obj \ $(OBJS)\monodll_printps.obj \ $(OBJS)\monodll_renderg.obj \ @@ -2236,7 +2235,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_markuptext.obj \ $(OBJS)\monodll_msgdlgg.obj \ $(OBJS)\monodll_numdlgg.obj \ - $(OBJS)\monodll_panelg.obj \ $(OBJS)\monodll_progdlgg.obj \ $(OBJS)\monodll_printps.obj \ $(OBJS)\monodll_renderg.obj \ @@ -2748,7 +2746,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_markuptext.obj \ $(OBJS)\monolib_msgdlgg.obj \ $(OBJS)\monolib_numdlgg.obj \ - $(OBJS)\monolib_panelg.obj \ $(OBJS)\monolib_progdlgg.obj \ $(OBJS)\monolib_printps.obj \ $(OBJS)\monolib_renderg.obj \ @@ -3015,7 +3012,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_markuptext.obj \ $(OBJS)\monolib_msgdlgg.obj \ $(OBJS)\monolib_numdlgg.obj \ - $(OBJS)\monolib_panelg.obj \ $(OBJS)\monolib_progdlgg.obj \ $(OBJS)\monolib_printps.obj \ $(OBJS)\monolib_renderg.obj \ @@ -3410,7 +3406,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\coredll_markuptext.obj \ $(OBJS)\coredll_msgdlgg.obj \ $(OBJS)\coredll_numdlgg.obj \ - $(OBJS)\coredll_panelg.obj \ $(OBJS)\coredll_progdlgg.obj \ $(OBJS)\coredll_printps.obj \ $(OBJS)\coredll_renderg.obj \ @@ -3677,7 +3672,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\coredll_markuptext.obj \ $(OBJS)\coredll_msgdlgg.obj \ $(OBJS)\coredll_numdlgg.obj \ - $(OBJS)\coredll_panelg.obj \ $(OBJS)\coredll_progdlgg.obj \ $(OBJS)\coredll_printps.obj \ $(OBJS)\coredll_renderg.obj \ @@ -3954,7 +3948,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\corelib_markuptext.obj \ $(OBJS)\corelib_msgdlgg.obj \ $(OBJS)\corelib_numdlgg.obj \ - $(OBJS)\corelib_panelg.obj \ $(OBJS)\corelib_progdlgg.obj \ $(OBJS)\corelib_printps.obj \ $(OBJS)\corelib_renderg.obj \ @@ -4221,7 +4214,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\corelib_markuptext.obj \ $(OBJS)\corelib_msgdlgg.obj \ $(OBJS)\corelib_numdlgg.obj \ - $(OBJS)\corelib_panelg.obj \ $(OBJS)\corelib_progdlgg.obj \ $(OBJS)\corelib_printps.obj \ $(OBJS)\corelib_renderg.obj \ @@ -8133,11 +8125,6 @@ $(OBJS)\monodll_numdlgg.obj: ..\..\src\generic\numdlgg.cpp $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\numdlgg.cpp !endif -!if "$(USE_GUI)" == "1" -$(OBJS)\monodll_panelg.obj: ..\..\src\generic\panelg.cpp - $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\panelg.cpp -!endif - !if "$(USE_GUI)" == "1" $(OBJS)\monodll_progdlgg.obj: ..\..\src\generic\progdlgg.cpp $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\progdlgg.cpp @@ -10525,11 +10512,6 @@ $(OBJS)\monolib_numdlgg.obj: ..\..\src\generic\numdlgg.cpp $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\numdlgg.cpp !endif -!if "$(USE_GUI)" == "1" -$(OBJS)\monolib_panelg.obj: ..\..\src\generic\panelg.cpp - $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\panelg.cpp -!endif - !if "$(USE_GUI)" == "1" $(OBJS)\monolib_progdlgg.obj: ..\..\src\generic\progdlgg.cpp $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\progdlgg.cpp @@ -12887,11 +12869,6 @@ $(OBJS)\coredll_numdlgg.obj: ..\..\src\generic\numdlgg.cpp $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\generic\numdlgg.cpp !endif -!if "$(USE_GUI)" == "1" -$(OBJS)\coredll_panelg.obj: ..\..\src\generic\panelg.cpp - $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\generic\panelg.cpp -!endif - !if "$(USE_GUI)" == "1" $(OBJS)\coredll_progdlgg.obj: ..\..\src\generic\progdlgg.cpp $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\generic\progdlgg.cpp @@ -14300,11 +14277,6 @@ $(OBJS)\corelib_numdlgg.obj: ..\..\src\generic\numdlgg.cpp $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\generic\numdlgg.cpp !endif -!if "$(USE_GUI)" == "1" -$(OBJS)\corelib_panelg.obj: ..\..\src\generic\panelg.cpp - $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\generic\panelg.cpp -!endif - !if "$(USE_GUI)" == "1" $(OBJS)\corelib_progdlgg.obj: ..\..\src\generic\progdlgg.cpp $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\generic\progdlgg.cpp diff --git a/build/msw/makefile.gcc b/build/msw/makefile.gcc index 5973775952..7ecbd48b78 100644 --- a/build/msw/makefile.gcc +++ b/build/msw/makefile.gcc @@ -1981,7 +1981,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_markuptext.o \ $(OBJS)\monodll_msgdlgg.o \ $(OBJS)\monodll_numdlgg.o \ - $(OBJS)\monodll_panelg.o \ $(OBJS)\monodll_progdlgg.o \ $(OBJS)\monodll_printps.o \ $(OBJS)\monodll_renderg.o \ @@ -2250,7 +2249,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_markuptext.o \ $(OBJS)\monodll_msgdlgg.o \ $(OBJS)\monodll_numdlgg.o \ - $(OBJS)\monodll_panelg.o \ $(OBJS)\monodll_progdlgg.o \ $(OBJS)\monodll_printps.o \ $(OBJS)\monodll_renderg.o \ @@ -2766,7 +2764,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_markuptext.o \ $(OBJS)\monolib_msgdlgg.o \ $(OBJS)\monolib_numdlgg.o \ - $(OBJS)\monolib_panelg.o \ $(OBJS)\monolib_progdlgg.o \ $(OBJS)\monolib_printps.o \ $(OBJS)\monolib_renderg.o \ @@ -3035,7 +3032,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_markuptext.o \ $(OBJS)\monolib_msgdlgg.o \ $(OBJS)\monolib_numdlgg.o \ - $(OBJS)\monolib_panelg.o \ $(OBJS)\monolib_progdlgg.o \ $(OBJS)\monolib_printps.o \ $(OBJS)\monolib_renderg.o \ @@ -3444,7 +3440,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\coredll_markuptext.o \ $(OBJS)\coredll_msgdlgg.o \ $(OBJS)\coredll_numdlgg.o \ - $(OBJS)\coredll_panelg.o \ $(OBJS)\coredll_progdlgg.o \ $(OBJS)\coredll_printps.o \ $(OBJS)\coredll_renderg.o \ @@ -3713,7 +3708,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\coredll_markuptext.o \ $(OBJS)\coredll_msgdlgg.o \ $(OBJS)\coredll_numdlgg.o \ - $(OBJS)\coredll_panelg.o \ $(OBJS)\coredll_progdlgg.o \ $(OBJS)\coredll_printps.o \ $(OBJS)\coredll_renderg.o \ @@ -3996,7 +3990,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\corelib_markuptext.o \ $(OBJS)\corelib_msgdlgg.o \ $(OBJS)\corelib_numdlgg.o \ - $(OBJS)\corelib_panelg.o \ $(OBJS)\corelib_progdlgg.o \ $(OBJS)\corelib_printps.o \ $(OBJS)\corelib_renderg.o \ @@ -4265,7 +4258,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\corelib_markuptext.o \ $(OBJS)\corelib_msgdlgg.o \ $(OBJS)\corelib_numdlgg.o \ - $(OBJS)\corelib_panelg.o \ $(OBJS)\corelib_progdlgg.o \ $(OBJS)\corelib_printps.o \ $(OBJS)\corelib_renderg.o \ @@ -8301,11 +8293,6 @@ $(OBJS)\monodll_numdlgg.o: ../../src/generic/numdlgg.cpp $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< endif -ifeq ($(USE_GUI),1) -$(OBJS)\monodll_panelg.o: ../../src/generic/panelg.cpp - $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< -endif - ifeq ($(USE_GUI),1) $(OBJS)\monodll_progdlgg.o: ../../src/generic/progdlgg.cpp $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< @@ -10693,11 +10680,6 @@ $(OBJS)\monolib_numdlgg.o: ../../src/generic/numdlgg.cpp $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< endif -ifeq ($(USE_GUI),1) -$(OBJS)\monolib_panelg.o: ../../src/generic/panelg.cpp - $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< -endif - ifeq ($(USE_GUI),1) $(OBJS)\monolib_progdlgg.o: ../../src/generic/progdlgg.cpp $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< @@ -13055,11 +13037,6 @@ $(OBJS)\coredll_numdlgg.o: ../../src/generic/numdlgg.cpp $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $< endif -ifeq ($(USE_GUI),1) -$(OBJS)\coredll_panelg.o: ../../src/generic/panelg.cpp - $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $< -endif - ifeq ($(USE_GUI),1) $(OBJS)\coredll_progdlgg.o: ../../src/generic/progdlgg.cpp $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $< @@ -14468,11 +14445,6 @@ $(OBJS)\corelib_numdlgg.o: ../../src/generic/numdlgg.cpp $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $< endif -ifeq ($(USE_GUI),1) -$(OBJS)\corelib_panelg.o: ../../src/generic/panelg.cpp - $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $< -endif - ifeq ($(USE_GUI),1) $(OBJS)\corelib_progdlgg.o: ../../src/generic/progdlgg.cpp $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $< diff --git a/build/msw/makefile.vc b/build/msw/makefile.vc index 2747640a40..51871e75ab 100644 --- a/build/msw/makefile.vc +++ b/build/msw/makefile.vc @@ -2183,7 +2183,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_markuptext.obj \ $(OBJS)\monodll_msgdlgg.obj \ $(OBJS)\monodll_numdlgg.obj \ - $(OBJS)\monodll_panelg.obj \ $(OBJS)\monodll_progdlgg.obj \ $(OBJS)\monodll_printps.obj \ $(OBJS)\monodll_renderg.obj \ @@ -2450,7 +2449,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_markuptext.obj \ $(OBJS)\monodll_msgdlgg.obj \ $(OBJS)\monodll_numdlgg.obj \ - $(OBJS)\monodll_panelg.obj \ $(OBJS)\monodll_progdlgg.obj \ $(OBJS)\monodll_printps.obj \ $(OBJS)\monodll_renderg.obj \ @@ -2968,7 +2966,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_markuptext.obj \ $(OBJS)\monolib_msgdlgg.obj \ $(OBJS)\monolib_numdlgg.obj \ - $(OBJS)\monolib_panelg.obj \ $(OBJS)\monolib_progdlgg.obj \ $(OBJS)\monolib_printps.obj \ $(OBJS)\monolib_renderg.obj \ @@ -3235,7 +3232,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_markuptext.obj \ $(OBJS)\monolib_msgdlgg.obj \ $(OBJS)\monolib_numdlgg.obj \ - $(OBJS)\monolib_panelg.obj \ $(OBJS)\monolib_progdlgg.obj \ $(OBJS)\monolib_printps.obj \ $(OBJS)\monolib_renderg.obj \ @@ -3696,7 +3692,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\coredll_markuptext.obj \ $(OBJS)\coredll_msgdlgg.obj \ $(OBJS)\coredll_numdlgg.obj \ - $(OBJS)\coredll_panelg.obj \ $(OBJS)\coredll_progdlgg.obj \ $(OBJS)\coredll_printps.obj \ $(OBJS)\coredll_renderg.obj \ @@ -3963,7 +3958,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\coredll_markuptext.obj \ $(OBJS)\coredll_msgdlgg.obj \ $(OBJS)\coredll_numdlgg.obj \ - $(OBJS)\coredll_panelg.obj \ $(OBJS)\coredll_progdlgg.obj \ $(OBJS)\coredll_printps.obj \ $(OBJS)\coredll_renderg.obj \ @@ -4246,7 +4240,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\corelib_markuptext.obj \ $(OBJS)\corelib_msgdlgg.obj \ $(OBJS)\corelib_numdlgg.obj \ - $(OBJS)\corelib_panelg.obj \ $(OBJS)\corelib_progdlgg.obj \ $(OBJS)\corelib_printps.obj \ $(OBJS)\corelib_renderg.obj \ @@ -4513,7 +4506,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\corelib_markuptext.obj \ $(OBJS)\corelib_msgdlgg.obj \ $(OBJS)\corelib_numdlgg.obj \ - $(OBJS)\corelib_panelg.obj \ $(OBJS)\corelib_progdlgg.obj \ $(OBJS)\corelib_printps.obj \ $(OBJS)\corelib_renderg.obj \ @@ -8739,11 +8731,6 @@ $(OBJS)\monodll_numdlgg.obj: ..\..\src\generic\numdlgg.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\numdlgg.cpp !endif -!if "$(USE_GUI)" == "1" -$(OBJS)\monodll_panelg.obj: ..\..\src\generic\panelg.cpp - $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\panelg.cpp -!endif - !if "$(USE_GUI)" == "1" $(OBJS)\monodll_progdlgg.obj: ..\..\src\generic\progdlgg.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\progdlgg.cpp @@ -11131,11 +11118,6 @@ $(OBJS)\monolib_numdlgg.obj: ..\..\src\generic\numdlgg.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\numdlgg.cpp !endif -!if "$(USE_GUI)" == "1" -$(OBJS)\monolib_panelg.obj: ..\..\src\generic\panelg.cpp - $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\panelg.cpp -!endif - !if "$(USE_GUI)" == "1" $(OBJS)\monolib_progdlgg.obj: ..\..\src\generic\progdlgg.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\progdlgg.cpp @@ -13493,11 +13475,6 @@ $(OBJS)\coredll_numdlgg.obj: ..\..\src\generic\numdlgg.cpp $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\generic\numdlgg.cpp !endif -!if "$(USE_GUI)" == "1" -$(OBJS)\coredll_panelg.obj: ..\..\src\generic\panelg.cpp - $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\generic\panelg.cpp -!endif - !if "$(USE_GUI)" == "1" $(OBJS)\coredll_progdlgg.obj: ..\..\src\generic\progdlgg.cpp $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\generic\progdlgg.cpp @@ -14906,11 +14883,6 @@ $(OBJS)\corelib_numdlgg.obj: ..\..\src\generic\numdlgg.cpp $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\generic\numdlgg.cpp !endif -!if "$(USE_GUI)" == "1" -$(OBJS)\corelib_panelg.obj: ..\..\src\generic\panelg.cpp - $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\generic\panelg.cpp -!endif - !if "$(USE_GUI)" == "1" $(OBJS)\corelib_progdlgg.obj: ..\..\src\generic\progdlgg.cpp $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\generic\progdlgg.cpp diff --git a/build/msw/makefile.wat b/build/msw/makefile.wat index 728f2d636e..f85b42f068 100644 --- a/build/msw/makefile.wat +++ b/build/msw/makefile.wat @@ -498,7 +498,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = & $(OBJS)\monodll_markuptext.obj & $(OBJS)\monodll_msgdlgg.obj & $(OBJS)\monodll_numdlgg.obj & - $(OBJS)\monodll_panelg.obj & $(OBJS)\monodll_progdlgg.obj & $(OBJS)\monodll_printps.obj & $(OBJS)\monodll_renderg.obj & @@ -767,7 +766,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = & $(OBJS)\monodll_markuptext.obj & $(OBJS)\monodll_msgdlgg.obj & $(OBJS)\monodll_numdlgg.obj & - $(OBJS)\monodll_panelg.obj & $(OBJS)\monodll_progdlgg.obj & $(OBJS)\monodll_printps.obj & $(OBJS)\monodll_renderg.obj & @@ -1288,7 +1286,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = & $(OBJS)\monolib_markuptext.obj & $(OBJS)\monolib_msgdlgg.obj & $(OBJS)\monolib_numdlgg.obj & - $(OBJS)\monolib_panelg.obj & $(OBJS)\monolib_progdlgg.obj & $(OBJS)\monolib_printps.obj & $(OBJS)\monolib_renderg.obj & @@ -1557,7 +1554,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = & $(OBJS)\monolib_markuptext.obj & $(OBJS)\monolib_msgdlgg.obj & $(OBJS)\monolib_numdlgg.obj & - $(OBJS)\monolib_panelg.obj & $(OBJS)\monolib_progdlgg.obj & $(OBJS)\monolib_printps.obj & $(OBJS)\monolib_renderg.obj & @@ -1977,7 +1973,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = & $(OBJS)\coredll_markuptext.obj & $(OBJS)\coredll_msgdlgg.obj & $(OBJS)\coredll_numdlgg.obj & - $(OBJS)\coredll_panelg.obj & $(OBJS)\coredll_progdlgg.obj & $(OBJS)\coredll_printps.obj & $(OBJS)\coredll_renderg.obj & @@ -2246,7 +2241,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = & $(OBJS)\coredll_markuptext.obj & $(OBJS)\coredll_msgdlgg.obj & $(OBJS)\coredll_numdlgg.obj & - $(OBJS)\coredll_panelg.obj & $(OBJS)\coredll_progdlgg.obj & $(OBJS)\coredll_printps.obj & $(OBJS)\coredll_renderg.obj & @@ -2531,7 +2525,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = & $(OBJS)\corelib_markuptext.obj & $(OBJS)\corelib_msgdlgg.obj & $(OBJS)\corelib_numdlgg.obj & - $(OBJS)\corelib_panelg.obj & $(OBJS)\corelib_progdlgg.obj & $(OBJS)\corelib_printps.obj & $(OBJS)\corelib_renderg.obj & @@ -2800,7 +2793,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = & $(OBJS)\corelib_markuptext.obj & $(OBJS)\corelib_msgdlgg.obj & $(OBJS)\corelib_numdlgg.obj & - $(OBJS)\corelib_panelg.obj & $(OBJS)\corelib_progdlgg.obj & $(OBJS)\corelib_printps.obj & $(OBJS)\corelib_renderg.obj & @@ -8572,11 +8564,6 @@ $(OBJS)\monodll_numdlgg.obj : .AUTODEPEND ..\..\src\generic\numdlgg.cpp $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $< !endif -!ifeq USE_GUI 1 -$(OBJS)\monodll_panelg.obj : .AUTODEPEND ..\..\src\generic\panelg.cpp - $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $< -!endif - !ifeq USE_GUI 1 $(OBJS)\monodll_progdlgg.obj : .AUTODEPEND ..\..\src\generic\progdlgg.cpp $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $< @@ -10964,11 +10951,6 @@ $(OBJS)\monolib_numdlgg.obj : .AUTODEPEND ..\..\src\generic\numdlgg.cpp $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $< !endif -!ifeq USE_GUI 1 -$(OBJS)\monolib_panelg.obj : .AUTODEPEND ..\..\src\generic\panelg.cpp - $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $< -!endif - !ifeq USE_GUI 1 $(OBJS)\monolib_progdlgg.obj : .AUTODEPEND ..\..\src\generic\progdlgg.cpp $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $< @@ -13326,11 +13308,6 @@ $(OBJS)\coredll_numdlgg.obj : .AUTODEPEND ..\..\src\generic\numdlgg.cpp $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $< !endif -!ifeq USE_GUI 1 -$(OBJS)\coredll_panelg.obj : .AUTODEPEND ..\..\src\generic\panelg.cpp - $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $< -!endif - !ifeq USE_GUI 1 $(OBJS)\coredll_progdlgg.obj : .AUTODEPEND ..\..\src\generic\progdlgg.cpp $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $< @@ -14739,11 +14716,6 @@ $(OBJS)\corelib_numdlgg.obj : .AUTODEPEND ..\..\src\generic\numdlgg.cpp $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $< !endif -!ifeq USE_GUI 1 -$(OBJS)\corelib_panelg.obj : .AUTODEPEND ..\..\src\generic\panelg.cpp - $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $< -!endif - !ifeq USE_GUI 1 $(OBJS)\corelib_progdlgg.obj : .AUTODEPEND ..\..\src\generic\progdlgg.cpp $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $< diff --git a/build/msw/wx_core.dsp b/build/msw/wx_core.dsp index 55f85c60f1..e9ee7ffc94 100644 --- a/build/msw/wx_core.dsp +++ b/build/msw/wx_core.dsp @@ -3244,10 +3244,6 @@ SOURCE=..\..\src\generic\numdlgg.cpp # End Source File # Begin Source File -SOURCE=..\..\src\generic\panelg.cpp -# End Source File -# Begin Source File - SOURCE=..\..\src\generic\printps.cpp # End Source File # Begin Source File @@ -5013,6 +5009,10 @@ SOURCE=..\..\include\wx\msw\cursor.h # End Source File # Begin Source File +SOURCE=..\..\include\wx\msw\custombgwin.h +# End Source File +# Begin Source File + SOURCE=..\..\include\wx\msw\ole\dataform.h # End Source File # Begin Source File @@ -5504,6 +5504,10 @@ SOURCE=..\..\include\wx\generic\ctrlsub.h # End Source File # Begin Source File +SOURCE=..\..\include\wx\generic\custombgwin.h +# End Source File +# Begin Source File + SOURCE=..\..\include\wx\generic\dataview.h # End Source File # Begin Source File @@ -5748,6 +5752,10 @@ SOURCE=..\..\include\wx\univ\control.h # End Source File # Begin Source File +SOURCE=..\..\include\wx\univ\custombgwin.h +# End Source File +# Begin Source File + SOURCE=..\..\include\wx\univ\dialog.h # End Source File # Begin Source File @@ -6152,6 +6160,10 @@ SOURCE=..\..\include\wx\cursor.h # End Source File # Begin Source File +SOURCE=..\..\include\wx\custombgwin.h +# End Source File +# Begin Source File + SOURCE=..\..\include\wx\dataobj.h # End Source File # Begin Source File diff --git a/build/msw/wx_vc7_core.vcproj b/build/msw/wx_vc7_core.vcproj index 0119ad154e..1f08edf19c 100644 --- a/build/msw/wx_vc7_core.vcproj +++ b/build/msw/wx_vc7_core.vcproj @@ -2849,9 +2849,6 @@ - - @@ -4322,6 +4319,9 @@ RelativePath="..\..\include\wx\msw\cursor.h"> + + + + + + + + - - @@ -5792,6 +5788,10 @@ > + + @@ -6289,6 +6289,10 @@ > + + @@ -6534,6 +6538,10 @@ > + + @@ -6940,6 +6948,10 @@ > + + diff --git a/build/msw/wx_vc9_core.vcproj b/build/msw/wx_vc9_core.vcproj index 431dd60e8f..4a088b8b7b 100644 --- a/build/msw/wx_vc9_core.vcproj +++ b/build/msw/wx_vc9_core.vcproj @@ -3828,10 +3828,6 @@ RelativePath="..\..\src\generic\numdlgg.cpp" > - - @@ -5788,6 +5784,10 @@ > + + @@ -6285,6 +6285,10 @@ > + + @@ -6530,6 +6534,10 @@ > + + @@ -6936,6 +6944,10 @@ > + + diff --git a/docs/changes.txt b/docs/changes.txt index ac558b2a49..070a777433 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -444,6 +444,11 @@ Major new features in this release 2.9.3: ------ +INCOMPATIBLE CHANGES SINCE 2.9.2 + +- wxPanel::SetBackgroundBitmap() was removed, derive your class from + wxCustomBackgroundWindow and use its method with the same name instead. + All: - Fix parsing of negated long options in wxCmdLineParser (roed_bis). diff --git a/docs/doxygen/mainpages/cat_classes.h b/docs/doxygen/mainpages/cat_classes.h index c1a0dfacc7..ad5b0dedf4 100644 --- a/docs/doxygen/mainpages/cat_classes.h +++ b/docs/doxygen/mainpages/cat_classes.h @@ -255,7 +255,7 @@ The following are a variety of classes that are derived from wxWindow. arrangement @li wxWizardPage: A base class for the page in wizard dialog. @li wxWizardPageSimple: A page in wizard dialog. - +@li wxCustomBackgroundWindow: A window allowing to set a custom bitmap. @section page_class_cat_aui Window Docking (wxAUI) diff --git a/include/wx/custombgwin.h b/include/wx/custombgwin.h new file mode 100644 index 0000000000..b5684d1df3 --- /dev/null +++ b/include/wx/custombgwin.h @@ -0,0 +1,50 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: wx/custombgwin.h +// Purpose: Class adding support for custom window backgrounds. +// Author: Vadim Zeitlin +// Created: 2011-10-10 +// RCS-ID: $Id: wxhead.h,v 1.12 2010-04-22 12:44:51 zeitlin Exp $ +// Copyright: (c) 2011 Vadim Zeitlin +// Licence: wxWindows licence +/////////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_CUSTOMBGWIN_H_ +#define _WX_CUSTOMBGWIN_H_ + +// ---------------------------------------------------------------------------- +// wxCustomBackgroundWindow: Adds support for custom backgrounds to any +// wxWindow-derived class. +// ---------------------------------------------------------------------------- + +class wxCustomBackgroundWindowBase +{ +public: + // Trivial default ctor. + wxCustomBackgroundWindowBase() { } + + // Use the given bitmap to tile the background of this window. This bitmap + // will show through any transparent children. + // + // Notice that you must not prevent the base class EVT_ERASE_BACKGROUND + // handler from running (i.e. not to handle this event yourself) for this + // to work. + void SetBackgroundBitmap(const wxBitmap& bmp) + { + DoSetBackgroundBitmap(bmp); + } + +protected: + virtual void DoSetBackgroundBitmap(const wxBitmap& bmp) = 0; + + wxDECLARE_NO_COPY_CLASS(wxCustomBackgroundWindowBase); +}; + +#if defined(__WXUNIVERSAL__) + #include "wx/univ/custombgwin.h" +#elif defined(__WXMSW__) + #include "wx/msw/custombgwin.h" +#else + #include "wx/generic/custombgwin.h" +#endif + +#endif // _WX_CUSTOMBGWIN_H_ diff --git a/include/wx/generic/custombgwin.h b/include/wx/generic/custombgwin.h new file mode 100644 index 0000000000..bff6e65a6d --- /dev/null +++ b/include/wx/generic/custombgwin.h @@ -0,0 +1,96 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: wx/generic/custombgwin.h +// Purpose: Generic implementation of wxCustomBackgroundWindow. +// Author: Vadim Zeitlin +// Created: 2011-10-10 +// RCS-ID: $Id: wxhead.h,v 1.12 2010-04-22 12:44:51 zeitlin Exp $ +// Copyright: (c) 2011 Vadim Zeitlin +// Licence: wxWindows licence +/////////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_GENERIC_CUSTOMBGWIN_H_ +#define _WX_GENERIC_CUSTOMBGWIN_H_ + +#include "wx/bitmap.h" + +// A helper to avoid template bloat: this class contains all type-independent +// code of wxCustomBackgroundWindow<> below. +class wxCustomBackgroundWindowGenericBase : public wxCustomBackgroundWindowBase +{ +public: + wxCustomBackgroundWindowGenericBase() { } + +protected: + void DoEraseBackground(wxEraseEvent& event, wxWindow* win) + { + wxDC& dc = *event.GetDC(); + + const wxSize clientSize = win->GetClientSize(); + const wxSize bitmapSize = m_bitmapBg.GetSize(); + + for ( int x = 0; x < clientSize.x; x += bitmapSize.x ) + { + for ( int y = 0; y < clientSize.y; y += bitmapSize.y ) + { + dc.DrawBitmap(m_bitmapBg, x, y); + } + } + } + + + // The bitmap used for painting the background if valid. + wxBitmap m_bitmapBg; + + + wxDECLARE_NO_COPY_CLASS(wxCustomBackgroundWindowGenericBase); +}; + +// ---------------------------------------------------------------------------- +// wxCustomBackgroundWindow +// ---------------------------------------------------------------------------- + +template +class wxCustomBackgroundWindow : public W, + public wxCustomBackgroundWindowGenericBase +{ +public: + typedef W BaseWindowClass; + + wxCustomBackgroundWindow() { } + +protected: + virtual void DoSetBackgroundBitmap(const wxBitmap& bmp) + { + m_bitmapBg = bmp; + + if ( m_bitmapBg.IsOk() ) + { + BaseWindowClass::Connect + ( + wxEVT_ERASE_BACKGROUND, + wxEraseEventHandler(wxCustomBackgroundWindow::OnEraseBackground) + ); + } + else + { + BaseWindowClass::Disconnect + ( + wxEVT_ERASE_BACKGROUND, + wxEraseEventHandler(wxCustomBackgroundWindow::OnEraseBackground) + ); + } + } + +private: + // Event handler for erasing the background which is only used when we have + // a valid background bitmap. + void OnEraseBackground(wxEraseEvent& event) + { + DoEraseBackground(event, this); + } + + + wxDECLARE_NO_COPY_TEMPLATE_CLASS(wxCustomBackgroundWindow, W); +}; + +#endif // _WX_GENERIC_CUSTOMBGWIN_H_ diff --git a/include/wx/generic/panelg.h b/include/wx/generic/panelg.h index 9b87ee1a39..a23d64786e 100644 --- a/include/wx/generic/panelg.h +++ b/include/wx/generic/panelg.h @@ -42,18 +42,7 @@ public: ) #endif // WXWIN_COMPATIBILITY_2_8 -protected: - virtual void DoSetBackgroundBitmap(const wxBitmap& bmp); - private: - // Event handler for erasing the background which is only used when we have - // a valid background bitmap. - void OnEraseBackground(wxEraseEvent& event); - - - // The bitmap used for painting the background if valid. - wxBitmap m_bitmapBg; - wxDECLARE_DYNAMIC_CLASS_NO_COPY(wxPanel); }; diff --git a/include/wx/msw/custombgwin.h b/include/wx/msw/custombgwin.h new file mode 100644 index 0000000000..13c9da69dd --- /dev/null +++ b/include/wx/msw/custombgwin.h @@ -0,0 +1,58 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: wx/msw/custombgwin.h +// Purpose: wxMSW implementation of wxCustomBackgroundWindow +// Author: Vadim Zeitlin +// Created: 2011-10-10 +// RCS-ID: $Id: wxhead.h,v 1.12 2010-04-22 12:44:51 zeitlin Exp $ +// Copyright: (c) 2011 Vadim Zeitlin +// Licence: wxWindows licence +/////////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_MSW_CUSTOMBGWIN_H_ +#define _WX_MSW_CUSTOMBGWIN_H_ + +#include "wx/bitmap.h" +#include "wx/brush.h" + +// ---------------------------------------------------------------------------- +// wxCustomBackgroundWindow +// ---------------------------------------------------------------------------- + +template +class wxCustomBackgroundWindow : public W, + public wxCustomBackgroundWindowBase +{ +public: + typedef W BaseWindowClass; + + wxCustomBackgroundWindow() { m_backgroundBrush = NULL; } + + virtual ~wxCustomBackgroundWindow() { delete m_backgroundBrush; } + +protected: + virtual void DoSetBackgroundBitmap(const wxBitmap& bmp) + { + delete m_backgroundBrush; + m_backgroundBrush = bmp.IsOk() ? new wxBrush(bmp) : NULL; + + // Our transparent children should use our background if we have it, + // otherwise try to restore m_inheritBgCol to some reasonable value: true + // if we also have non-default background colour or false otherwise. + BaseWindowClass::m_inheritBgCol = bmp.IsOk() + || BaseWindowClass::UseBgCol(); + } + + virtual WXHBRUSH MSWGetCustomBgBrush() + { + if ( m_backgroundBrush ) + return (WXHBRUSH)m_backgroundBrush->GetResourceHandle(); + + return BaseWindowClass::MSWGetCustomBgBrush(); + } + + wxBrush *m_backgroundBrush; + + wxDECLARE_NO_COPY_TEMPLATE_CLASS(wxCustomBackgroundWindow, W); +}; + +#endif // _WX_MSW_CUSTOMBGWIN_H_ diff --git a/include/wx/msw/panel.h b/include/wx/msw/panel.h index 4761192d66..690f54438e 100644 --- a/include/wx/msw/panel.h +++ b/include/wx/msw/panel.h @@ -20,7 +20,7 @@ class WXDLLIMPEXP_FWD_CORE wxBrush; class WXDLLIMPEXP_CORE wxPanel : public wxPanelBase { public: - wxPanel() { Init(); } + wxPanel() { } wxPanel(wxWindow *parent, wxWindowID winid = wxID_ANY, @@ -29,13 +29,9 @@ public: long style = wxTAB_TRAVERSAL | wxNO_BORDER, const wxString& name = wxPanelNameStr) { - Init(); - Create(parent, winid, pos, size, style, name); } - virtual ~wxPanel(); - // 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. @@ -54,18 +50,7 @@ public: ) #endif // WXWIN_COMPATIBILITY_2_8 -protected: - void Init() - { - m_backgroundBrush = NULL; - } - - virtual void DoSetBackgroundBitmap(const wxBitmap& bmp); - virtual WXHBRUSH MSWGetCustomBgBrush(); - private: - wxBrush *m_backgroundBrush; - wxDECLARE_DYNAMIC_CLASS_NO_COPY(wxPanel); }; diff --git a/include/wx/panel.h b/include/wx/panel.h index bb93a5771b..8f22d180fe 100644 --- a/include/wx/panel.h +++ b/include/wx/panel.h @@ -52,26 +52,11 @@ public: const wxString& name = wxPanelNameStr); - // Use the given bitmap to tile the background of this panel. This bitmap - // will show through any transparent children. - // - // Notice that you must not prevent the base class EVT_ERASE_BACKGROUND - // handler from running (i.e. not to handle this event yourself) for this - // to work. - void SetBackgroundBitmap(const wxBitmap& bmp) - { - DoSetBackgroundBitmap(bmp); - } - - // implementation from now on // -------------------------- virtual void InitDialog(); -protected: - virtual void DoSetBackgroundBitmap(const wxBitmap& bmp) = 0; - private: wxDECLARE_NO_COPY_CLASS(wxPanelBase); }; diff --git a/include/wx/univ/custombgwin.h b/include/wx/univ/custombgwin.h new file mode 100644 index 0000000000..f3e2ca39d3 --- /dev/null +++ b/include/wx/univ/custombgwin.h @@ -0,0 +1,37 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: wx/univ/custombgwin.h +// Purpose: wxUniv implementation of wxCustomBackgroundWindow. +// Author: Vadim Zeitlin +// Created: 2011-10-10 +// RCS-ID: $Id: wxhead.h,v 1.12 2010-04-22 12:44:51 zeitlin Exp $ +// Copyright: (c) 2011 Vadim Zeitlin +// Licence: wxWindows licence +/////////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_UNIV_CUSTOMBGWIN_H_ +#define _WX_UNIV_CUSTOMBGWIN_H_ + +// ---------------------------------------------------------------------------- +// wxCustomBackgroundWindow +// ---------------------------------------------------------------------------- + +template +class wxCustomBackgroundWindow : public W, + public wxCustomBackgroundWindowBase +{ +public: + typedef W BaseWindowClass; + + wxCustomBackgroundWindow() { } + +protected: + virtual void DoSetBackgroundBitmap(const wxBitmap& bmp) + { + // We have support for background bitmap even at the base class level. + BaseWindowClass::SetBackground(bmp, wxALIGN_NOT, wxTILE); + } + + wxDECLARE_NO_COPY_TEMPLATE_CLASS(wxCustomBackgroundWindow, W); +}; + +#endif // _WX_UNIV_CUSTOMBGWIN_H_ diff --git a/include/wx/univ/panel.h b/include/wx/univ/panel.h index f6bd7c2137..19f0d52dc0 100644 --- a/include/wx/univ/panel.h +++ b/include/wx/univ/panel.h @@ -44,13 +44,6 @@ public: ) #endif // WXWIN_COMPATIBILITY_2_8 -protected: - virtual void DoSetBackgroundBitmap(const wxBitmap& bmp) - { - // We have support for background bitmap even at the base class level. - SetBackground(bmp, wxALIGN_NOT, wxTILE); - } - private: wxDECLARE_DYNAMIC_CLASS_NO_COPY(wxPanel); }; diff --git a/interface/wx/custombgwin.h b/interface/wx/custombgwin.h new file mode 100644 index 0000000000..faab09bd65 --- /dev/null +++ b/interface/wx/custombgwin.h @@ -0,0 +1,67 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: wx/custombgwin.h +// Purpose: Documentation of wxCustomBackgroundWindow. +// Author: Vadim Zeitlin +// Created: 2011-10-10 +// RCS-ID: $Id$ +// Copyright: (c) 2011 Vadim Zeitlin +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +/** + A helper class making it possible to use custom background for any window. + + wxWindow itself only provides SetBackgroundColour() method taking a (solid) + wxColour. This class extends it by allowing to use custom bitmap + backgrounds with any window, provided that you inherit from it. Notice that + the usual rule of not interfering with event handling or painting of native + controls still applies, so you shouldn't try to use custom backgrounds with + classes such as wxButton (even if this might work on some platforms, it's + not guaranteed to work in general). But you can use this class in + conjunction with wxWindow, wxPanel, wxFrame and other similar classes, e.g. + the erase sample shows how to use it with wxScrolledWindow: + + @code + #include "wx/custombgwin.h" + + class MyCanvas : public wxCustomBackgroundWindow + { + public: + MyCanvas(wxWindow* parent) + { + // Notice that we must explicitly call base class Create() + // instead of using its ctor as wxCustomBackgroundWindow + // doesn't define any non-default ctors. + Create(parent, wxID_ANY); + + ... + + SetBackgroundBitmap(bitmap); + } + }; + @endcode + + @category{miscwnd} + + @since 2.9.3 + */ +template +class wxCustomBackgroundWindow : public W +{ +public: + /// Trivial default constructor. + wxCustomBackgroundWindow(); + + /** + Set the background bitmap for this window. + + If @a bmp is a valid bitmap, this bitmap will be tiled over the panel + background and show through any of its transparent children. Passing an + invalid bitmap reverts to the default background appearance. + + Notice that you must not prevent the base class EVT_ERASE_BACKGROUND + handler from running (i.e. not to handle this event yourself) for this + to work. + */ + void SetBackgroundBitmap(const wxBitmap& bmp); +}; diff --git a/interface/wx/panel.h b/interface/wx/panel.h index cc65780d66..b1e83bd223 100644 --- a/interface/wx/panel.h +++ b/interface/wx/panel.h @@ -124,21 +124,6 @@ public: */ void OnSysColourChanged(wxSysColourChangedEvent& event); - /** - Set the background bitmap for this panel. - - If @a bmp is a valid bitmap, this bitmap will be tiled over the panel - background and show through any of its transparent children. Passing an - invalid bitmap reverts to the default background appearance. - - Notice that you must not prevent the base class EVT_ERASE_BACKGROUND - handler from running (i.e. not to handle this event yourself) for this - to work. - - @since 2.9.2 - */ - void SetBackgroundBitmap(const wxBitmap& bmp); - /** Overrides wxWindow::SetFocus(). diff --git a/samples/erase/erase.cpp b/samples/erase/erase.cpp index 138b3fa2bc..bb452f239a 100644 --- a/samples/erase/erase.cpp +++ b/samples/erase/erase.cpp @@ -30,6 +30,7 @@ #include "wx/wx.h" #endif +#include "wx/custombgwin.h" #include "wx/dcbuffer.h" // ---------------------------------------------------------------------------- @@ -52,7 +53,7 @@ public: }; -class MyCanvas : public wxScrolledWindow +class MyCanvas : public wxCustomBackgroundWindow { public: MyCanvas(wxFrame *parent); @@ -310,8 +311,9 @@ BEGIN_EVENT_TABLE(MyCanvas, wxScrolledWindow) END_EVENT_TABLE() MyCanvas::MyCanvas(wxFrame *parent) - : wxScrolledWindow(parent, wxID_ANY) { + Create(parent, wxID_ANY); + m_useBuffer = false; m_useBgBmp = false; m_eraseBgInPaint = false; diff --git a/src/generic/panelg.cpp b/src/generic/panelg.cpp deleted file mode 100644 index d539393dbe..0000000000 --- a/src/generic/panelg.cpp +++ /dev/null @@ -1,69 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// Name: src/generic/panelg.cpp -// Purpose: Generic wxPanel implementation. -// Author: Vadim Zeitlin -// Created: 2011-03-20 -// RCS-ID: $Id: wxhead.cpp,v 1.11 2010-04-22 12:44:51 zeitlin Exp $ -// 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/dc.h" - #include "wx/panel.h" -#endif // WX_PRECOMP - -#ifdef wxHAS_GENERIC_PANEL - -// ============================================================================ -// implementation -// ============================================================================ - -void wxPanel::DoSetBackgroundBitmap(const wxBitmap& bmp) -{ - m_bitmapBg = bmp; - - if ( m_bitmapBg.IsOk() ) - { - Connect(wxEVT_ERASE_BACKGROUND, - wxEraseEventHandler(wxPanel::OnEraseBackground)); - } - else - { - Disconnect(wxEVT_ERASE_BACKGROUND, - wxEraseEventHandler(wxPanel::OnEraseBackground)); - } -} - -void wxPanel::OnEraseBackground(wxEraseEvent& event) -{ - wxDC& dc = *event.GetDC(); - - const wxSize clientSize = GetClientSize(); - const wxSize bitmapSize = m_bitmapBg.GetSize(); - - for ( int x = 0; x < clientSize.x; x += bitmapSize.x ) - { - for ( int y = 0; y < clientSize.y; y += bitmapSize.y ) - { - dc.DrawBitmap(m_bitmapBg, x, y); - } - } -} - -#endif // wxHAS_GENERIC_PANEL diff --git a/src/msw/panel.cpp b/src/msw/panel.cpp index c502caf9f5..9d30beb7a0 100644 --- a/src/msw/panel.cpp +++ b/src/msw/panel.cpp @@ -24,8 +24,6 @@ #endif #ifndef WX_PRECOMP - #include "wx/bitmap.h" - #include "wx/brush.h" #include "wx/panel.h" #endif // WX_PRECOMP @@ -33,11 +31,6 @@ // implementation // ============================================================================ -wxPanel::~wxPanel() -{ - delete m_backgroundBrush; -} - bool wxPanel::HasTransparentBackground() { for ( wxWindow *win = GetParent(); win; win = win->GetParent() ) @@ -52,21 +45,3 @@ bool wxPanel::HasTransparentBackground() return false; } -void wxPanel::DoSetBackgroundBitmap(const wxBitmap& bmp) -{ - delete m_backgroundBrush; - m_backgroundBrush = bmp.IsOk() ? new wxBrush(bmp) : NULL; - - // Our transparent children should use our background if we have it, - // otherwise try to restore m_inheritBgCol to some reasonable value: true - // if we also have non-default background colour or false otherwise. - m_inheritBgCol = bmp.IsOk() || UseBgCol(); -} - -WXHBRUSH wxPanel::MSWGetCustomBgBrush() -{ - if ( m_backgroundBrush ) - return (WXHBRUSH)m_backgroundBrush->GetResourceHandle(); - - return wxPanelBase::MSWGetCustomBgBrush(); -}