]> git.saurik.com Git - wxWidgets.git/commitdiff
Add wxCompositeWindow<> and use it in wxDatePickerCtrlGeneric.
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 3 Jan 2011 11:24:13 +0000 (11:24 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 3 Jan 2011 11:24:13 +0000 (11:24 +0000)
wxCompositeWindow<> is a convenient base class for composite windows, i.e.
windows consisting of several other wxWindows. Currently it just automatically
forwards various attributes setters calls to all of the composite window parts
but it could become more useful in the future.

Similarly, for now it is only used in wxDatePickerCtrlGeneric but it could
(and should) be used for other composite controls later and we probably should
even make this class public to allow its use in the client code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66534 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 files changed:
Makefile.in
build/bakefiles/files.bkl
build/msw/makefile.bcc
build/msw/makefile.gcc
build/msw/makefile.vc
build/msw/makefile.wat
build/msw/wx_core.dsp
build/msw/wx_vc7_core.vcproj
build/msw/wx_vc8_core.vcproj
build/msw/wx_vc9_core.vcproj
include/wx/compositewin.h [new file with mode: 0644]
include/wx/generic/datectrl.h
src/generic/datectlg.cpp

index ca752ad36985f940d8fdee656fe721af839d9bd4..21347e4ca7e06c94bb0f1e46afd44d330f2501ee 100644 (file)
@@ -3823,6 +3823,7 @@ COND_USE_GUI_1_ALL_GUI_HEADERS =  \
        wx/collpane.h \
        wx/combo.h \
        wx/combobox.h \
+       wx/compositewin.h \
        wx/control.h \
        wx/ctrlsub.h \
        wx/cursor.h \
index 70811b5a5075b94344a821a1b9145c527b2a496c..05c8696fb897862a942c030541761b5bb1ce3b30 100644 (file)
@@ -797,6 +797,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
     wx/collpane.h
     wx/combo.h
     wx/combobox.h
+    wx/compositewin.h
     wx/control.h
     wx/ctrlsub.h
     wx/cursor.h
index 154e89f542f4152228fbece6fb3ece5e145b46da..fc026cc228e510188143d6c005d6260eb693874e 100644 (file)
@@ -1789,7 +1789,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_appcmn.obj \\r
        $(OBJS)\monodll_artprov.obj \\r
        $(OBJS)\monodll_artstd.obj \\r
-       $(OBJS)\monodll_arttango.obj \
+       $(OBJS)\monodll_arttango.obj \\r
        $(OBJS)\monodll_bmpbase.obj \\r
        $(OBJS)\monodll_bookctrl.obj \\r
        $(OBJS)\monodll_btncmn.obj \\r
@@ -2037,7 +2037,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_appcmn.obj \\r
        $(OBJS)\monodll_artprov.obj \\r
        $(OBJS)\monodll_artstd.obj \\r
-       $(OBJS)\monodll_arttango.obj \
+       $(OBJS)\monodll_arttango.obj \\r
        $(OBJS)\monodll_bmpbase.obj \\r
        $(OBJS)\monodll_bookctrl.obj \\r
        $(OBJS)\monodll_btncmn.obj \\r
@@ -2513,7 +2513,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_appcmn.obj \\r
        $(OBJS)\monolib_artprov.obj \\r
        $(OBJS)\monolib_artstd.obj \\r
-       $(OBJS)\monolib_arttango.obj \
+       $(OBJS)\monolib_arttango.obj \\r
        $(OBJS)\monolib_bmpbase.obj \\r
        $(OBJS)\monolib_bookctrl.obj \\r
        $(OBJS)\monolib_btncmn.obj \\r
@@ -2761,7 +2761,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_appcmn.obj \\r
        $(OBJS)\monolib_artprov.obj \\r
        $(OBJS)\monolib_artstd.obj \\r
-       $(OBJS)\monolib_arttango.obj \
+       $(OBJS)\monolib_arttango.obj \\r
        $(OBJS)\monolib_bmpbase.obj \\r
        $(OBJS)\monolib_bookctrl.obj \\r
        $(OBJS)\monolib_btncmn.obj \\r
@@ -3125,7 +3125,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\coredll_appcmn.obj \\r
        $(OBJS)\coredll_artprov.obj \\r
        $(OBJS)\coredll_artstd.obj \\r
-       $(OBJS)\coredll_arttango.obj \
+       $(OBJS)\coredll_arttango.obj \\r
        $(OBJS)\coredll_bmpbase.obj \\r
        $(OBJS)\coredll_bookctrl.obj \\r
        $(OBJS)\coredll_btncmn.obj \\r
@@ -3373,7 +3373,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\coredll_appcmn.obj \\r
        $(OBJS)\coredll_artprov.obj \\r
        $(OBJS)\coredll_artstd.obj \\r
-       $(OBJS)\coredll_arttango.obj \
+       $(OBJS)\coredll_arttango.obj \\r
        $(OBJS)\coredll_bmpbase.obj \\r
        $(OBJS)\coredll_bookctrl.obj \\r
        $(OBJS)\coredll_btncmn.obj \\r
@@ -3630,7 +3630,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\corelib_appcmn.obj \\r
        $(OBJS)\corelib_artprov.obj \\r
        $(OBJS)\corelib_artstd.obj \\r
-       $(OBJS)\corelib_arttango.obj \
+       $(OBJS)\corelib_arttango.obj \\r
        $(OBJS)\corelib_bmpbase.obj \\r
        $(OBJS)\corelib_bookctrl.obj \\r
        $(OBJS)\corelib_btncmn.obj \\r
@@ -3878,7 +3878,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\corelib_appcmn.obj \\r
        $(OBJS)\corelib_artprov.obj \\r
        $(OBJS)\corelib_artstd.obj \\r
-       $(OBJS)\corelib_arttango.obj \
+       $(OBJS)\corelib_arttango.obj \\r
        $(OBJS)\corelib_bmpbase.obj \\r
        $(OBJS)\corelib_bookctrl.obj \\r
        $(OBJS)\corelib_btncmn.obj \\r
@@ -7129,11 +7129,11 @@ $(OBJS)\monodll_artstd.obj: ..\..\src\common\artstd.cpp
 !endif\r
 \r
 !if "$(USE_GUI)" == "1"\r
-$(OBJS)\monodll_arttango.obj: ..\..\src\common\arttango.cpp
-       $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\arttango.cpp
-!endif
-
-!if "$(USE_GUI)" == "1"
+$(OBJS)\monodll_arttango.obj: ..\..\src\common\arttango.cpp\r
+       $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\arttango.cpp\r
+!endif\r
+\r
+!if "$(USE_GUI)" == "1"\r
 $(OBJS)\monodll_bmpbase.obj: ..\..\src\common\bmpbase.cpp\r
        $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\bmpbase.cpp\r
 !endif\r
@@ -9376,11 +9376,11 @@ $(OBJS)\monolib_artstd.obj: ..\..\src\common\artstd.cpp
 !endif\r
 \r
 !if "$(USE_GUI)" == "1"\r
-$(OBJS)\monolib_arttango.obj: ..\..\src\common\arttango.cpp
-       $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\arttango.cpp
-!endif
-
-!if "$(USE_GUI)" == "1"
+$(OBJS)\monolib_arttango.obj: ..\..\src\common\arttango.cpp\r
+       $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\arttango.cpp\r
+!endif\r
+\r
+!if "$(USE_GUI)" == "1"\r
 $(OBJS)\monolib_bmpbase.obj: ..\..\src\common\bmpbase.cpp\r
        $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\bmpbase.cpp\r
 !endif\r
@@ -11614,11 +11614,11 @@ $(OBJS)\coredll_artstd.obj: ..\..\src\common\artstd.cpp
 !endif\r
 \r
 !if "$(USE_GUI)" == "1"\r
-$(OBJS)\coredll_arttango.obj: ..\..\src\common\arttango.cpp
-       $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\common\arttango.cpp
-!endif
-
-!if "$(USE_GUI)" == "1"
+$(OBJS)\coredll_arttango.obj: ..\..\src\common\arttango.cpp\r
+       $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\common\arttango.cpp\r
+!endif\r
+\r
+!if "$(USE_GUI)" == "1"\r
 $(OBJS)\coredll_bmpbase.obj: ..\..\src\common\bmpbase.cpp\r
        $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\common\bmpbase.cpp\r
 !endif\r
@@ -12929,11 +12929,11 @@ $(OBJS)\corelib_artstd.obj: ..\..\src\common\artstd.cpp
 !endif\r
 \r
 !if "$(USE_GUI)" == "1"\r
-$(OBJS)\corelib_arttango.obj: ..\..\src\common\arttango.cpp
-       $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\common\arttango.cpp
-!endif
-
-!if "$(USE_GUI)" == "1"
+$(OBJS)\corelib_arttango.obj: ..\..\src\common\arttango.cpp\r
+       $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\common\arttango.cpp\r
+!endif\r
+\r
+!if "$(USE_GUI)" == "1"\r
 $(OBJS)\corelib_bmpbase.obj: ..\..\src\common\bmpbase.cpp\r
        $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\common\bmpbase.cpp\r
 !endif\r
index 885a3702b2e4dd78364f58e677800936280c894a..7716e034a1d2c1d6e0559c2a464c1eb288fd2ab4 100644 (file)
@@ -1800,7 +1800,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_appcmn.o \\r
        $(OBJS)\monodll_artprov.o \\r
        $(OBJS)\monodll_artstd.o \\r
-       $(OBJS)\monodll_arttango.o \
+       $(OBJS)\monodll_arttango.o \\r
        $(OBJS)\monodll_bmpbase.o \\r
        $(OBJS)\monodll_bookctrl.o \\r
        $(OBJS)\monodll_btncmn.o \\r
@@ -2050,7 +2050,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_appcmn.o \\r
        $(OBJS)\monodll_artprov.o \\r
        $(OBJS)\monodll_artstd.o \\r
-       $(OBJS)\monodll_arttango.o \
+       $(OBJS)\monodll_arttango.o \\r
        $(OBJS)\monodll_bmpbase.o \\r
        $(OBJS)\monodll_bookctrl.o \\r
        $(OBJS)\monodll_btncmn.o \\r
@@ -2530,7 +2530,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_appcmn.o \\r
        $(OBJS)\monolib_artprov.o \\r
        $(OBJS)\monolib_artstd.o \\r
-       $(OBJS)\monolib_arttango.o \
+       $(OBJS)\monolib_arttango.o \\r
        $(OBJS)\monolib_bmpbase.o \\r
        $(OBJS)\monolib_bookctrl.o \\r
        $(OBJS)\monolib_btncmn.o \\r
@@ -2780,7 +2780,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_appcmn.o \\r
        $(OBJS)\monolib_artprov.o \\r
        $(OBJS)\monolib_artstd.o \\r
-       $(OBJS)\monolib_arttango.o \
+       $(OBJS)\monolib_arttango.o \\r
        $(OBJS)\monolib_bmpbase.o \\r
        $(OBJS)\monolib_bookctrl.o \\r
        $(OBJS)\monolib_btncmn.o \\r
@@ -3158,7 +3158,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\coredll_appcmn.o \\r
        $(OBJS)\coredll_artprov.o \\r
        $(OBJS)\coredll_artstd.o \\r
-       $(OBJS)\coredll_arttango.o \
+       $(OBJS)\coredll_arttango.o \\r
        $(OBJS)\coredll_bmpbase.o \\r
        $(OBJS)\coredll_bookctrl.o \\r
        $(OBJS)\coredll_btncmn.o \\r
@@ -3408,7 +3408,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\coredll_appcmn.o \\r
        $(OBJS)\coredll_artprov.o \\r
        $(OBJS)\coredll_artstd.o \\r
-       $(OBJS)\coredll_arttango.o \
+       $(OBJS)\coredll_arttango.o \\r
        $(OBJS)\coredll_bmpbase.o \\r
        $(OBJS)\coredll_bookctrl.o \\r
        $(OBJS)\coredll_btncmn.o \\r
@@ -3671,7 +3671,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\corelib_appcmn.o \\r
        $(OBJS)\corelib_artprov.o \\r
        $(OBJS)\corelib_artstd.o \\r
-       $(OBJS)\corelib_arttango.o \
+       $(OBJS)\corelib_arttango.o \\r
        $(OBJS)\corelib_bmpbase.o \\r
        $(OBJS)\corelib_bookctrl.o \\r
        $(OBJS)\corelib_btncmn.o \\r
@@ -3921,7 +3921,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\corelib_appcmn.o \\r
        $(OBJS)\corelib_artprov.o \\r
        $(OBJS)\corelib_artstd.o \\r
-       $(OBJS)\corelib_arttango.o \
+       $(OBJS)\corelib_arttango.o \\r
        $(OBJS)\corelib_bmpbase.o \\r
        $(OBJS)\corelib_bookctrl.o \\r
        $(OBJS)\corelib_btncmn.o \\r
@@ -7279,11 +7279,11 @@ $(OBJS)\monodll_artstd.o: ../../src/common/artstd.cpp
 endif\r
 \r
 ifeq ($(USE_GUI),1)\r
-$(OBJS)\monodll_arttango.o: ../../src/common/arttango.cpp
-       $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
-endif
-
-ifeq ($(USE_GUI),1)
+$(OBJS)\monodll_arttango.o: ../../src/common/arttango.cpp\r
+       $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<\r
+endif\r
+\r
+ifeq ($(USE_GUI),1)\r
 $(OBJS)\monodll_bmpbase.o: ../../src/common/bmpbase.cpp\r
        $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<\r
 endif\r
@@ -9526,11 +9526,11 @@ $(OBJS)\monolib_artstd.o: ../../src/common/artstd.cpp
 endif\r
 \r
 ifeq ($(USE_GUI),1)\r
-$(OBJS)\monolib_arttango.o: ../../src/common/arttango.cpp
-       $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
-endif
-
-ifeq ($(USE_GUI),1)
+$(OBJS)\monolib_arttango.o: ../../src/common/arttango.cpp\r
+       $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<\r
+endif\r
+\r
+ifeq ($(USE_GUI),1)\r
 $(OBJS)\monolib_bmpbase.o: ../../src/common/bmpbase.cpp\r
        $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<\r
 endif\r
@@ -11764,11 +11764,11 @@ $(OBJS)\coredll_artstd.o: ../../src/common/artstd.cpp
 endif\r
 \r
 ifeq ($(USE_GUI),1)\r
-$(OBJS)\coredll_arttango.o: ../../src/common/arttango.cpp
-       $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
-endif
-
-ifeq ($(USE_GUI),1)
+$(OBJS)\coredll_arttango.o: ../../src/common/arttango.cpp\r
+       $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<\r
+endif\r
+\r
+ifeq ($(USE_GUI),1)\r
 $(OBJS)\coredll_bmpbase.o: ../../src/common/bmpbase.cpp\r
        $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<\r
 endif\r
@@ -13079,11 +13079,11 @@ $(OBJS)\corelib_artstd.o: ../../src/common/artstd.cpp
 endif\r
 \r
 ifeq ($(USE_GUI),1)\r
-$(OBJS)\corelib_arttango.o: ../../src/common/arttango.cpp
-       $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
-endif
-
-ifeq ($(USE_GUI),1)
+$(OBJS)\corelib_arttango.o: ../../src/common/arttango.cpp\r
+       $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<\r
+endif\r
+\r
+ifeq ($(USE_GUI),1)\r
 $(OBJS)\corelib_bmpbase.o: ../../src/common/bmpbase.cpp\r
        $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<\r
 endif\r
index 9db3845e9ab721c69756411d48a6137792f65dfc..b178e1f125ebf82f92593413113763017d4fd057 100644 (file)
@@ -1997,7 +1997,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_appcmn.obj \\r
        $(OBJS)\monodll_artprov.obj \\r
        $(OBJS)\monodll_artstd.obj \\r
-       $(OBJS)\monodll_arttango.obj \
+       $(OBJS)\monodll_arttango.obj \\r
        $(OBJS)\monodll_bmpbase.obj \\r
        $(OBJS)\monodll_bookctrl.obj \\r
        $(OBJS)\monodll_btncmn.obj \\r
@@ -2245,7 +2245,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_appcmn.obj \\r
        $(OBJS)\monodll_artprov.obj \\r
        $(OBJS)\monodll_artstd.obj \\r
-       $(OBJS)\monodll_arttango.obj \
+       $(OBJS)\monodll_arttango.obj \\r
        $(OBJS)\monodll_bmpbase.obj \\r
        $(OBJS)\monodll_bookctrl.obj \\r
        $(OBJS)\monodll_btncmn.obj \\r
@@ -2727,7 +2727,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_appcmn.obj \\r
        $(OBJS)\monolib_artprov.obj \\r
        $(OBJS)\monolib_artstd.obj \\r
-       $(OBJS)\monolib_arttango.obj \
+       $(OBJS)\monolib_arttango.obj \\r
        $(OBJS)\monolib_bmpbase.obj \\r
        $(OBJS)\monolib_bookctrl.obj \\r
        $(OBJS)\monolib_btncmn.obj \\r
@@ -2975,7 +2975,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_appcmn.obj \\r
        $(OBJS)\monolib_artprov.obj \\r
        $(OBJS)\monolib_artstd.obj \\r
-       $(OBJS)\monolib_arttango.obj \
+       $(OBJS)\monolib_arttango.obj \\r
        $(OBJS)\monolib_bmpbase.obj \\r
        $(OBJS)\monolib_bookctrl.obj \\r
        $(OBJS)\monolib_btncmn.obj \\r
@@ -3405,7 +3405,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\coredll_appcmn.obj \\r
        $(OBJS)\coredll_artprov.obj \\r
        $(OBJS)\coredll_artstd.obj \\r
-       $(OBJS)\coredll_arttango.obj \
+       $(OBJS)\coredll_arttango.obj \\r
        $(OBJS)\coredll_bmpbase.obj \\r
        $(OBJS)\coredll_bookctrl.obj \\r
        $(OBJS)\coredll_btncmn.obj \\r
@@ -3653,7 +3653,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\coredll_appcmn.obj \\r
        $(OBJS)\coredll_artprov.obj \\r
        $(OBJS)\coredll_artstd.obj \\r
-       $(OBJS)\coredll_arttango.obj \
+       $(OBJS)\coredll_arttango.obj \\r
        $(OBJS)\coredll_bmpbase.obj \\r
        $(OBJS)\coredll_bookctrl.obj \\r
        $(OBJS)\coredll_btncmn.obj \\r
@@ -3916,7 +3916,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\corelib_appcmn.obj \\r
        $(OBJS)\corelib_artprov.obj \\r
        $(OBJS)\corelib_artstd.obj \\r
-       $(OBJS)\corelib_arttango.obj \
+       $(OBJS)\corelib_arttango.obj \\r
        $(OBJS)\corelib_bmpbase.obj \\r
        $(OBJS)\corelib_bookctrl.obj \\r
        $(OBJS)\corelib_btncmn.obj \\r
@@ -4164,7 +4164,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\corelib_appcmn.obj \\r
        $(OBJS)\corelib_artprov.obj \\r
        $(OBJS)\corelib_artstd.obj \\r
-       $(OBJS)\corelib_arttango.obj \
+       $(OBJS)\corelib_arttango.obj \\r
        $(OBJS)\corelib_bmpbase.obj \\r
        $(OBJS)\corelib_bookctrl.obj \\r
        $(OBJS)\corelib_btncmn.obj \\r
@@ -7709,11 +7709,11 @@ $(OBJS)\monodll_artstd.obj: ..\..\src\common\artstd.cpp
 !endif\r
 \r
 !if "$(USE_GUI)" == "1"\r
-$(OBJS)\monodll_arttango.obj: ..\..\src\common\arttango.cpp
-       $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\arttango.cpp
-!endif
-
-!if "$(USE_GUI)" == "1"
+$(OBJS)\monodll_arttango.obj: ..\..\src\common\arttango.cpp\r
+       $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\arttango.cpp\r
+!endif\r
+\r
+!if "$(USE_GUI)" == "1"\r
 $(OBJS)\monodll_bmpbase.obj: ..\..\src\common\bmpbase.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\bmpbase.cpp\r
 !endif\r
@@ -9956,11 +9956,11 @@ $(OBJS)\monolib_artstd.obj: ..\..\src\common\artstd.cpp
 !endif\r
 \r
 !if "$(USE_GUI)" == "1"\r
-$(OBJS)\monolib_arttango.obj: ..\..\src\common\arttango.cpp
-       $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\arttango.cpp
-!endif
-
-!if "$(USE_GUI)" == "1"
+$(OBJS)\monolib_arttango.obj: ..\..\src\common\arttango.cpp\r
+       $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\arttango.cpp\r
+!endif\r
+\r
+!if "$(USE_GUI)" == "1"\r
 $(OBJS)\monolib_bmpbase.obj: ..\..\src\common\bmpbase.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\bmpbase.cpp\r
 !endif\r
@@ -12194,11 +12194,11 @@ $(OBJS)\coredll_artstd.obj: ..\..\src\common\artstd.cpp
 !endif\r
 \r
 !if "$(USE_GUI)" == "1"\r
-$(OBJS)\coredll_arttango.obj: ..\..\src\common\arttango.cpp
-       $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\common\arttango.cpp
-!endif
-
-!if "$(USE_GUI)" == "1"
+$(OBJS)\coredll_arttango.obj: ..\..\src\common\arttango.cpp\r
+       $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\common\arttango.cpp\r
+!endif\r
+\r
+!if "$(USE_GUI)" == "1"\r
 $(OBJS)\coredll_bmpbase.obj: ..\..\src\common\bmpbase.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\common\bmpbase.cpp\r
 !endif\r
@@ -13509,11 +13509,11 @@ $(OBJS)\corelib_artstd.obj: ..\..\src\common\artstd.cpp
 !endif\r
 \r
 !if "$(USE_GUI)" == "1"\r
-$(OBJS)\corelib_arttango.obj: ..\..\src\common\arttango.cpp
-       $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\common\arttango.cpp
-!endif
-
-!if "$(USE_GUI)" == "1"
+$(OBJS)\corelib_arttango.obj: ..\..\src\common\arttango.cpp\r
+       $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\common\arttango.cpp\r
+!endif\r
+\r
+!if "$(USE_GUI)" == "1"\r
 $(OBJS)\corelib_bmpbase.obj: ..\..\src\common\bmpbase.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\common\bmpbase.cpp\r
 !endif\r
index 083226e665db07b571b167ee1ae478b2ba15cc74..944fdd8c6deb78b936b76667d4d201673ee01978 100644 (file)
@@ -355,7 +355,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  &
        $(OBJS)\monodll_appcmn.obj &\r
        $(OBJS)\monodll_artprov.obj &\r
        $(OBJS)\monodll_artstd.obj &\r
-       $(OBJS)\monodll_arttango.obj &
+       $(OBJS)\monodll_arttango.obj &\r
        $(OBJS)\monodll_bmpbase.obj &\r
        $(OBJS)\monodll_bookctrl.obj &\r
        $(OBJS)\monodll_btncmn.obj &\r
@@ -605,7 +605,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  &
        $(OBJS)\monodll_appcmn.obj &\r
        $(OBJS)\monodll_artprov.obj &\r
        $(OBJS)\monodll_artstd.obj &\r
-       $(OBJS)\monodll_arttango.obj &
+       $(OBJS)\monodll_arttango.obj &\r
        $(OBJS)\monodll_bmpbase.obj &\r
        $(OBJS)\monodll_bookctrl.obj &\r
        $(OBJS)\monodll_btncmn.obj &\r
@@ -1090,7 +1090,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  &
        $(OBJS)\monolib_appcmn.obj &\r
        $(OBJS)\monolib_artprov.obj &\r
        $(OBJS)\monolib_artstd.obj &\r
-       $(OBJS)\monolib_arttango.obj &
+       $(OBJS)\monolib_arttango.obj &\r
        $(OBJS)\monolib_bmpbase.obj &\r
        $(OBJS)\monolib_bookctrl.obj &\r
        $(OBJS)\monolib_btncmn.obj &\r
@@ -1340,7 +1340,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  &
        $(OBJS)\monolib_appcmn.obj &\r
        $(OBJS)\monolib_artprov.obj &\r
        $(OBJS)\monolib_artstd.obj &\r
-       $(OBJS)\monolib_arttango.obj &
+       $(OBJS)\monolib_arttango.obj &\r
        $(OBJS)\monolib_bmpbase.obj &\r
        $(OBJS)\monolib_bookctrl.obj &\r
        $(OBJS)\monolib_btncmn.obj &\r
@@ -1729,7 +1729,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  &
        $(OBJS)\coredll_appcmn.obj &\r
        $(OBJS)\coredll_artprov.obj &\r
        $(OBJS)\coredll_artstd.obj &\r
-       $(OBJS)\coredll_arttango.obj &
+       $(OBJS)\coredll_arttango.obj &\r
        $(OBJS)\coredll_bmpbase.obj &\r
        $(OBJS)\coredll_bookctrl.obj &\r
        $(OBJS)\coredll_btncmn.obj &\r
@@ -1979,7 +1979,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  &
        $(OBJS)\coredll_appcmn.obj &\r
        $(OBJS)\coredll_artprov.obj &\r
        $(OBJS)\coredll_artstd.obj &\r
-       $(OBJS)\coredll_arttango.obj &
+       $(OBJS)\coredll_arttango.obj &\r
        $(OBJS)\coredll_bmpbase.obj &\r
        $(OBJS)\coredll_bookctrl.obj &\r
        $(OBJS)\coredll_btncmn.obj &\r
@@ -2244,7 +2244,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  &
        $(OBJS)\corelib_appcmn.obj &\r
        $(OBJS)\corelib_artprov.obj &\r
        $(OBJS)\corelib_artstd.obj &\r
-       $(OBJS)\corelib_arttango.obj &
+       $(OBJS)\corelib_arttango.obj &\r
        $(OBJS)\corelib_bmpbase.obj &\r
        $(OBJS)\corelib_bookctrl.obj &\r
        $(OBJS)\corelib_btncmn.obj &\r
@@ -2494,7 +2494,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  &
        $(OBJS)\corelib_appcmn.obj &\r
        $(OBJS)\corelib_artprov.obj &\r
        $(OBJS)\corelib_artstd.obj &\r
-       $(OBJS)\corelib_arttango.obj &
+       $(OBJS)\corelib_arttango.obj &\r
        $(OBJS)\corelib_bmpbase.obj &\r
        $(OBJS)\corelib_bookctrl.obj &\r
        $(OBJS)\corelib_btncmn.obj &\r
@@ -7538,11 +7538,11 @@ $(OBJS)\monodll_artstd.obj :  .AUTODEPEND ..\..\src\common\artstd.cpp
 !endif\r
 \r
 !ifeq USE_GUI 1\r
-$(OBJS)\monodll_arttango.obj :  .AUTODEPEND ..\..\src\common\arttango.cpp
-       $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
-!endif
-
-!ifeq USE_GUI 1
+$(OBJS)\monodll_arttango.obj :  .AUTODEPEND ..\..\src\common\arttango.cpp\r
+       $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<\r
+!endif\r
+\r
+!ifeq USE_GUI 1\r
 $(OBJS)\monodll_bmpbase.obj :  .AUTODEPEND ..\..\src\common\bmpbase.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<\r
 !endif\r
@@ -9785,11 +9785,11 @@ $(OBJS)\monolib_artstd.obj :  .AUTODEPEND ..\..\src\common\artstd.cpp
 !endif\r
 \r
 !ifeq USE_GUI 1\r
-$(OBJS)\monolib_arttango.obj :  .AUTODEPEND ..\..\src\common\arttango.cpp
-       $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
-!endif
-
-!ifeq USE_GUI 1
+$(OBJS)\monolib_arttango.obj :  .AUTODEPEND ..\..\src\common\arttango.cpp\r
+       $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<\r
+!endif\r
+\r
+!ifeq USE_GUI 1\r
 $(OBJS)\monolib_bmpbase.obj :  .AUTODEPEND ..\..\src\common\bmpbase.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<\r
 !endif\r
@@ -12023,11 +12023,11 @@ $(OBJS)\coredll_artstd.obj :  .AUTODEPEND ..\..\src\common\artstd.cpp
 !endif\r
 \r
 !ifeq USE_GUI 1\r
-$(OBJS)\coredll_arttango.obj :  .AUTODEPEND ..\..\src\common\arttango.cpp
-       $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
-!endif
-
-!ifeq USE_GUI 1
+$(OBJS)\coredll_arttango.obj :  .AUTODEPEND ..\..\src\common\arttango.cpp\r
+       $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<\r
+!endif\r
+\r
+!ifeq USE_GUI 1\r
 $(OBJS)\coredll_bmpbase.obj :  .AUTODEPEND ..\..\src\common\bmpbase.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<\r
 !endif\r
@@ -13338,11 +13338,11 @@ $(OBJS)\corelib_artstd.obj :  .AUTODEPEND ..\..\src\common\artstd.cpp
 !endif\r
 \r
 !ifeq USE_GUI 1\r
-$(OBJS)\corelib_arttango.obj :  .AUTODEPEND ..\..\src\common\arttango.cpp
-       $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
-!endif
-
-!ifeq USE_GUI 1
+$(OBJS)\corelib_arttango.obj :  .AUTODEPEND ..\..\src\common\arttango.cpp\r
+       $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<\r
+!endif\r
+\r
+!ifeq USE_GUI 1\r
 $(OBJS)\corelib_bmpbase.obj :  .AUTODEPEND ..\..\src\common\bmpbase.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<\r
 !endif\r
index c984f1a51dd200e64f9244adcf9c807db97fd1a6..c6ae284ca66e3fd14756efa72b7971de92605dc0 100644 (file)
@@ -268,10 +268,10 @@ SOURCE=..\..\src\common\artstd.cpp
 # End Source File\r
 # Begin Source File\r
 \r
-SOURCE=..\..\src\common\arttango.cpp
-# End Source File
-# Begin Source File
-
+SOURCE=..\..\src\common\arttango.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
 SOURCE=..\..\src\common\bmpbase.cpp\r
 # End Source File\r
 # Begin Source File\r
@@ -5965,6 +5965,10 @@ SOURCE=..\..\include\wx\commandlinkbutton.h
 # End Source File\r
 # Begin Source File\r
 \r
+SOURCE=..\..\include\wx\compositewin.h\r
+# End Source File\r
+# Begin Source File\r
+\r
 SOURCE=..\..\include\wx\control.h\r
 # End Source File\r
 # Begin Source File\r
index 2ed13aa776b6c297eee40213e4962e345f3667bc..1e7264a86ca33b1e65ea664b61563aafe90df7ce 100644 (file)
                                RelativePath="..\..\src\common\artstd.cpp">\r
                        </File>\r
                        <File\r
-                               RelativePath="..\..\src\common\arttango.cpp">
-                       </File>
-                       <File
+                               RelativePath="..\..\src\common\arttango.cpp">\r
+                       </File>\r
+                       <File\r
                                RelativePath="..\..\src\common\bmpbase.cpp">\r
                        </File>\r
                        <File\r
                        <File\r
                                RelativePath="..\..\include\wx\commandlinkbutton.h">\r
                        </File>\r
+                       <File\r
+                               RelativePath="..\..\include\wx\compositewin.h">\r
+                       </File>\r
                        <File\r
                                RelativePath="..\..\include\wx\control.h">\r
                        </File>\r
index 867e6c89b996572b7509b8a4bc264bb342064320..d0215bf8489244c1ab159d85981a3f210fdefc3e 100644 (file)
                                >\r
                        </File>\r
                        <File\r
-                               RelativePath="..\..\src\common\arttango.cpp"
-                               >
-                       </File>
-                       <File
+                               RelativePath="..\..\src\common\arttango.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
                                RelativePath="..\..\src\common\bmpbase.cpp"\r
                                >\r
                        </File>\r
                                RelativePath="..\..\include\wx\commandlinkbutton.h"\r
                                >\r
                        </File>\r
+                       <File\r
+                               RelativePath="..\..\include\wx\compositewin.h"\r
+                               >\r
+                       </File>\r
                        <File\r
                                RelativePath="..\..\include\wx\control.h"\r
                                >\r
index f6657b805df54bde85a431a1350c4eb42d3cc4dc..ed98e2162dabd033ca0b782b651c665aad9bf4d1 100644 (file)
                                >\r
                        </File>\r
                        <File\r
-                               RelativePath="..\..\src\common\arttango.cpp"
-                               >
-                       </File>
-                       <File
+                               RelativePath="..\..\src\common\arttango.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
                                RelativePath="..\..\src\common\bmpbase.cpp"\r
                                >\r
                        </File>\r
                                RelativePath="..\..\include\wx\commandlinkbutton.h"\r
                                >\r
                        </File>\r
+                       <File\r
+                               RelativePath="..\..\include\wx\compositewin.h"\r
+                               >\r
+                       </File>\r
                        <File\r
                                RelativePath="..\..\include\wx\control.h"\r
                                >\r
diff --git a/include/wx/compositewin.h b/include/wx/compositewin.h
new file mode 100644 (file)
index 0000000..f5110ba
--- /dev/null
@@ -0,0 +1,110 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        wx/compositewin.h
+// Purpose:     wxCompositeWindow<> declaration
+// Author:      Vadim Zeitlin
+// Created:     2011-01-02
+// RCS-ID:      $Id: wxhead.h,v 1.12 2010-04-22 12:44:51 zeitlin Exp $
+// Copyright:   (c) 2011 Vadim Zeitlin <vadim@wxwidgets.org>
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_COMPOSITEWIN_H_
+#define _WX_COMPOSITEWIN_H_
+
+#include "wx/window.h"
+
+// NB: This is an experimental and, as for now, undocumented class used only by
+//     wxWidgets itself internally. Don't use it in your code until its API is
+//     officially stabilized unless you are ready to change it with the next
+//     wxWidgets release.
+
+// ----------------------------------------------------------------------------
+// wxCompositeWindow is a helper for implementing composite windows: to define
+// a class using subwindows, simply inherit from it specialized with the real
+// base class name and implement GetCompositeWindowParts() pure virtual method.
+// ----------------------------------------------------------------------------
+
+// The template parameter W must be a wxWindow-derived class.
+template <class W>
+class wxCompositeWindow : public W
+{
+public:
+    typedef W BaseWindowClass;
+
+    // Default ctor doesn't do anything.
+    wxCompositeWindow() { }
+
+    // Override all wxWindow methods which must be forwarded to the composite
+    // window parts.
+
+    // Attribute setters group.
+    //
+    // NB: Unfortunately we can't factor out the call for the setter itself
+    //     into DoSetForAllParts() because we can't call the function passed to
+    //     it non-virtually and we need to do this to avoid infinite recursion,
+    //     so we work around this by calling the method of this object itself
+    //     manually in each function.
+    virtual bool SetForegroundColour(const wxColour& colour)
+    {
+        if ( !BaseWindowClass::SetForegroundColour(colour) )
+            return false;
+
+        DoSetForAllParts(&wxWindow::SetForegroundColour, colour);
+
+        return true;
+    }
+
+    virtual bool SetBackgroundColour(const wxColour& colour)
+    {
+        if ( !BaseWindowClass::SetBackgroundColour(colour) )
+            return false;
+
+        DoSetForAllParts(&wxWindow::SetBackgroundColour, colour);
+
+        return true;
+    }
+
+    virtual bool SetFont(const wxFont& font)
+    {
+        if ( !BaseWindowClass::SetFont(font) )
+            return false;
+
+        DoSetForAllParts(&wxWindow::SetFont, font);
+
+        return true;
+    }
+
+    virtual bool SetCursor(const wxCursor& cursor)
+    {
+        if ( !BaseWindowClass::SetCursor(cursor) )
+            return false;
+
+        DoSetForAllParts(&wxWindow::SetCursor, cursor);
+
+        return true;
+    }
+
+private:
+    // Must be implemented by the derived class to return all children to which
+    // the public methods we override should forward to.
+    virtual wxWindowList GetCompositeWindowParts() const = 0;
+
+    template <class T>
+    void DoSetForAllParts(bool (wxWindow::*func)(const T&), const T& arg)
+    {
+        // Simply call the setters for all parts of this composite window.
+        const wxWindowList parts = GetCompositeWindowParts();
+        for ( wxWindowList::const_iterator i = parts.begin();
+              i != parts.end();
+              ++i )
+        {
+            wxWindow * const child = *i;
+
+            (child->*func)(arg);
+        }
+    }
+
+    wxDECLARE_NO_COPY_TEMPLATE_CLASS(wxCompositeWindow, W);
+};
+
+#endif // _WX_COMPOSITEWIN_H_
index e1b5ad3563b61b68b7705cd70b3d3c148fbc6c01..9e5c45aa89c707d7d9c4581f0ff4c304db6b294e 100644 (file)
 #ifndef _WX_GENERIC_DATECTRL_H_
 #define _WX_GENERIC_DATECTRL_H_
 
+#include "wx/compositewin.h"
+
 class WXDLLIMPEXP_FWD_CORE wxComboCtrl;
 
 class WXDLLIMPEXP_FWD_ADV wxCalendarCtrl;
 class WXDLLIMPEXP_FWD_ADV wxCalendarComboPopup;
 
-class WXDLLIMPEXP_ADV wxDatePickerCtrlGeneric : public wxDatePickerCtrlBase
+class WXDLLIMPEXP_ADV wxDatePickerCtrlGeneric
+    : public wxCompositeWindow<wxDatePickerCtrlBase>
 {
 public:
     // creating the control
@@ -72,6 +75,9 @@ protected:
 private:
     void Init();
 
+    // return the list of the windows composing this one
+    virtual wxWindowList GetCompositeWindowParts() const;
+
     void OnText(wxCommandEvent &event);
     void OnSize(wxSizeEvent& event);
     void OnFocus(wxFocusEvent& event);
index c5b7b84a53343cd256140eee8929ce177289ef63..2ebe9c7c4b601f744a59d71ca0f734546c9b0188 100644 (file)
@@ -378,6 +378,14 @@ wxSize wxDatePickerCtrlGeneric::DoGetBestSize() const
     return m_combo->GetBestSize();
 }
 
+wxWindowList wxDatePickerCtrlGeneric::GetCompositeWindowParts() const
+{
+    wxWindowList parts;
+    parts.push_back(m_combo);
+    parts.push_back(m_popup);
+    return parts;
+}
+
 // ----------------------------------------------------------------------------
 // wxDatePickerCtrlGeneric API
 // ----------------------------------------------------------------------------