]> git.saurik.com Git - wxWidgets.git/commitdiff
Add wxTimePickerCtrl class.
authorVadim Zeitlin <vadim@wxwidgets.org>
Thu, 29 Sep 2011 13:43:15 +0000 (13:43 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Thu, 29 Sep 2011 13:43:15 +0000 (13:43 +0000)
Implement wxTimePickerCtrl natively for MSW and add a generic implementation
(very loosely based on the original class by Paul Breen) for the other
platforms.

Also update the calendar sample to show the new control.

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

39 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_adv.dsp
build/msw/wx_core.dsp
build/msw/wx_vc7_adv.vcproj
build/msw/wx_vc7_core.vcproj
build/msw/wx_vc8_adv.vcproj
build/msw/wx_vc8_core.vcproj
build/msw/wx_vc9_adv.vcproj
build/msw/wx_vc9_core.vcproj
configure
configure.in
docs/changes.txt
docs/doxygen/images/wxmsw/timepickerctrl.png [new file with mode: 0644]
include/wx/chkconf.h
include/wx/dateevt.h
include/wx/datetimectrl.h
include/wx/generic/timectrl.h [new file with mode: 0644]
include/wx/motif/setup0.h
include/wx/msw/setup0.h
include/wx/msw/setup_inc.h
include/wx/msw/timectrl.h [new file with mode: 0644]
include/wx/msw/wince/setup.h
include/wx/os2/setup0.h
include/wx/osx/setup0.h
include/wx/palmos/setup0.h
include/wx/setup_inc.h
include/wx/timectrl.h [new file with mode: 0644]
include/wx/univ/setup0.h
interface/wx/timectrl.h [new file with mode: 0644]
samples/calendar/calendar.cpp
setup.h.in
src/common/calctrlcmn.cpp
src/generic/timectrl.cpp [new file with mode: 0644]
src/msw/timectrl.cpp [new file with mode: 0644]

index 1e58584aa2a9defa37907d1c08e89ee6f39b08df..b1b17ef28bac71703c687355280f871d8d52f870 100644 (file)
@@ -3699,7 +3699,8 @@ COND_TOOLKIT_MSW_ADVANCED_PLATFORM_NATIVE_HDR =  \
        wx/msw/calctrl.h \
        wx/msw/datectrl.h \
        wx/msw/datetimectrl.h \
-       wx/msw/hyperlink.h
+       wx/msw/hyperlink.h \
+       wx/msw/timectrl.h
 @COND_TOOLKIT_MSW@ADVANCED_PLATFORM_NATIVE_HDR = $(COND_TOOLKIT_MSW_ADVANCED_PLATFORM_NATIVE_HDR)
 COND_TOOLKIT_WINCE_ADVANCED_PLATFORM_NATIVE_HDR =  \
        wx/generic/animate.h \
@@ -3708,7 +3709,8 @@ COND_TOOLKIT_WINCE_ADVANCED_PLATFORM_NATIVE_HDR =  \
        wx/msw/calctrl.h \
        wx/msw/datectrl.h \
        wx/msw/datetimectrl.h \
-       wx/msw/hyperlink.h
+       wx/msw/hyperlink.h \
+       wx/msw/timectrl.h
 @COND_TOOLKIT_WINCE@ADVANCED_PLATFORM_NATIVE_HDR = $(COND_TOOLKIT_WINCE_ADVANCED_PLATFORM_NATIVE_HDR)
 COND_WXUNIV_0_ADVANCED_HDR =  \
        wx/aboutdlg.h \
@@ -3741,6 +3743,7 @@ COND_WXUNIV_0_ADVANCED_HDR =  \
        wx/generic/propdlg.h \
        wx/generic/sashwin.h \
        wx/generic/splash.h \
+       wx/generic/timectrl.h \
        wx/generic/wizard.h \
        wx/grid.h \
        wx/hyperlink.h \
@@ -3753,6 +3756,7 @@ COND_WXUNIV_0_ADVANCED_HDR =  \
        wx/sound.h \
        wx/splash.h \
        wx/taskbar.h \
+       wx/timectrl.h \
        wx/tipdlg.h \
        wx/treelist.h \
        wx/wizard.h \
@@ -3790,6 +3794,7 @@ COND_WXUNIV_1_ADVANCED_HDR =  \
        wx/generic/propdlg.h \
        wx/generic/sashwin.h \
        wx/generic/splash.h \
+       wx/generic/timectrl.h \
        wx/generic/wizard.h \
        wx/grid.h \
        wx/hyperlink.h \
@@ -3802,6 +3807,7 @@ COND_WXUNIV_1_ADVANCED_HDR =  \
        wx/sound.h \
        wx/splash.h \
        wx/taskbar.h \
+       wx/timectrl.h \
        wx/tipdlg.h \
        wx/treelist.h \
        wx/wizard.h \
@@ -6141,6 +6147,7 @@ COND_WXUNIV_0___ADVANCED_SRC_OBJECTS =  \
        monodll_propdlg.o \
        monodll_sashwin.o \
        monodll_splash.o \
+       monodll_generic_timectrl.o \
        monodll_tipdlg.o \
        monodll_treelist.o \
        monodll_wizard.o \
@@ -6175,6 +6182,7 @@ COND_WXUNIV_1___ADVANCED_SRC_OBJECTS =  \
        monodll_propdlg.o \
        monodll_sashwin.o \
        monodll_splash.o \
+       monodll_generic_timectrl.o \
        monodll_tipdlg.o \
        monodll_treelist.o \
        monodll_wizard.o \
@@ -6197,7 +6205,8 @@ COND_TOOLKIT_MSW___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS =  \
        monodll_datecontrols.o \
        monodll_datectrl.o \
        monodll_datetimectrl.o \
-       monodll_msw_hyperlink.o
+       monodll_msw_hyperlink.o \
+       monodll_msw_timectrl.o
 @COND_TOOLKIT_MSW@__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS = $(COND_TOOLKIT_MSW___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS)
 COND_TOOLKIT_WINCE___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS =  \
        monodll_animateg.o \
@@ -6207,7 +6216,8 @@ COND_TOOLKIT_WINCE___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS =  \
        monodll_datecontrols.o \
        monodll_datectrl.o \
        monodll_datetimectrl.o \
-       monodll_msw_hyperlink.o
+       monodll_msw_hyperlink.o \
+       monodll_msw_timectrl.o
 @COND_TOOLKIT_WINCE@__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS = $(COND_TOOLKIT_WINCE___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS)
 @COND_TOOLKIT_COCOA@__MEDIA_PLATFORM_SRC_OBJECTS = \
 @COND_TOOLKIT_COCOA@   monodll_cocoa_mediactrl.o
@@ -8086,6 +8096,7 @@ COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_1 =  \
        monolib_propdlg.o \
        monolib_sashwin.o \
        monolib_splash.o \
+       monolib_generic_timectrl.o \
        monolib_tipdlg.o \
        monolib_treelist.o \
        monolib_wizard.o \
@@ -8120,6 +8131,7 @@ COND_WXUNIV_1___ADVANCED_SRC_OBJECTS_1 =  \
        monolib_propdlg.o \
        monolib_sashwin.o \
        monolib_splash.o \
+       monolib_generic_timectrl.o \
        monolib_tipdlg.o \
        monolib_treelist.o \
        monolib_wizard.o \
@@ -8142,7 +8154,8 @@ COND_TOOLKIT_MSW___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_1 =  \
        monolib_datecontrols.o \
        monolib_datectrl.o \
        monolib_datetimectrl.o \
-       monolib_msw_hyperlink.o
+       monolib_msw_hyperlink.o \
+       monolib_msw_timectrl.o
 @COND_TOOLKIT_MSW@__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_1 = $(COND_TOOLKIT_MSW___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_1)
 COND_TOOLKIT_WINCE___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_1 =  \
        monolib_animateg.o \
@@ -8152,7 +8165,8 @@ COND_TOOLKIT_WINCE___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_1 =  \
        monolib_datecontrols.o \
        monolib_datectrl.o \
        monolib_datetimectrl.o \
-       monolib_msw_hyperlink.o
+       monolib_msw_hyperlink.o \
+       monolib_msw_timectrl.o
 @COND_TOOLKIT_WINCE@__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_1 = $(COND_TOOLKIT_WINCE___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_1)
 @COND_TOOLKIT_COCOA@__MEDIA_PLATFORM_SRC_OBJECTS_1 = \
 @COND_TOOLKIT_COCOA@   monolib_cocoa_mediactrl.o
@@ -11870,6 +11884,7 @@ COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_2 =  \
        advdll_propdlg.o \
        advdll_sashwin.o \
        advdll_splash.o \
+       advdll_generic_timectrl.o \
        advdll_tipdlg.o \
        advdll_treelist.o \
        advdll_wizard.o \
@@ -11904,6 +11919,7 @@ COND_WXUNIV_1___ADVANCED_SRC_OBJECTS_2 =  \
        advdll_propdlg.o \
        advdll_sashwin.o \
        advdll_splash.o \
+       advdll_generic_timectrl.o \
        advdll_tipdlg.o \
        advdll_treelist.o \
        advdll_wizard.o \
@@ -11926,7 +11942,8 @@ COND_TOOLKIT_MSW___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_2 =  \
        advdll_datecontrols.o \
        advdll_datectrl.o \
        advdll_datetimectrl.o \
-       advdll_msw_hyperlink.o
+       advdll_msw_hyperlink.o \
+       advdll_msw_timectrl.o
 @COND_TOOLKIT_MSW@__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_2 = $(COND_TOOLKIT_MSW___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_2)
 COND_TOOLKIT_WINCE___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_2 =  \
        advdll_animateg.o \
@@ -11936,7 +11953,8 @@ COND_TOOLKIT_WINCE___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_2 =  \
        advdll_datecontrols.o \
        advdll_datectrl.o \
        advdll_datetimectrl.o \
-       advdll_msw_hyperlink.o
+       advdll_msw_hyperlink.o \
+       advdll_msw_timectrl.o
 @COND_TOOLKIT_WINCE@__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_2 = $(COND_TOOLKIT_WINCE___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_2)
 @COND_PLATFORM_UNIX_1_USE_PLUGINS_0@__PLUGIN_ADV_SRC_OBJECTS_2 \
 @COND_PLATFORM_UNIX_1_USE_PLUGINS_0@   = advdll_sound_sdl.o
@@ -11980,6 +11998,7 @@ COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_3 =  \
        advlib_propdlg.o \
        advlib_sashwin.o \
        advlib_splash.o \
+       advlib_generic_timectrl.o \
        advlib_tipdlg.o \
        advlib_treelist.o \
        advlib_wizard.o \
@@ -12014,6 +12033,7 @@ COND_WXUNIV_1___ADVANCED_SRC_OBJECTS_3 =  \
        advlib_propdlg.o \
        advlib_sashwin.o \
        advlib_splash.o \
+       advlib_generic_timectrl.o \
        advlib_tipdlg.o \
        advlib_treelist.o \
        advlib_wizard.o \
@@ -12036,7 +12056,8 @@ COND_TOOLKIT_MSW___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_3 =  \
        advlib_datecontrols.o \
        advlib_datectrl.o \
        advlib_datetimectrl.o \
-       advlib_msw_hyperlink.o
+       advlib_msw_hyperlink.o \
+       advlib_msw_timectrl.o
 @COND_TOOLKIT_MSW@__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_3 = $(COND_TOOLKIT_MSW___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_3)
 COND_TOOLKIT_WINCE___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_3 =  \
        advlib_animateg.o \
@@ -12046,7 +12067,8 @@ COND_TOOLKIT_WINCE___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_3 =  \
        advlib_datecontrols.o \
        advlib_datectrl.o \
        advlib_datetimectrl.o \
-       advlib_msw_hyperlink.o
+       advlib_msw_hyperlink.o \
+       advlib_msw_timectrl.o
 @COND_TOOLKIT_WINCE@__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_3 = $(COND_TOOLKIT_WINCE___ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_3)
 @COND_PLATFORM_UNIX_1_USE_PLUGINS_0@__PLUGIN_ADV_SRC_OBJECTS_3 \
 @COND_PLATFORM_UNIX_1_USE_PLUGINS_0@   = advlib_sound_sdl.o
@@ -20643,6 +20665,9 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
 @COND_USE_GUI_1@monodll_splash.o: $(srcdir)/src/generic/splash.cpp $(MONODLL_ODEP)
 @COND_USE_GUI_1@       $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/splash.cpp
 
+@COND_USE_GUI_1@monodll_generic_timectrl.o: $(srcdir)/src/generic/timectrl.cpp $(MONODLL_ODEP)
+@COND_USE_GUI_1@       $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/timectrl.cpp
+
 @COND_USE_GUI_1@monodll_tipdlg.o: $(srcdir)/src/generic/tipdlg.cpp $(MONODLL_ODEP)
 @COND_USE_GUI_1@       $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/tipdlg.cpp
 
@@ -20907,6 +20932,12 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
 @COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@monodll_msw_hyperlink.o: $(srcdir)/src/msw/hyperlink.cpp $(MONODLL_ODEP)
 @COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@        $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/hyperlink.cpp
 
+@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@monodll_msw_timectrl.o: $(srcdir)/src/msw/timectrl.cpp $(MONODLL_ODEP)
+@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@  $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/timectrl.cpp
+
+@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@monodll_msw_timectrl.o: $(srcdir)/src/msw/timectrl.cpp $(MONODLL_ODEP)
+@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@        $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/timectrl.cpp
+
 @COND_TOOLKIT_MSW_USE_GUI_1@monodll_mediactrl_am.o: $(srcdir)/src/msw/mediactrl_am.cpp $(MONODLL_ODEP)
 @COND_TOOLKIT_MSW_USE_GUI_1@   $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/mediactrl_am.cpp
 
@@ -25998,6 +26029,9 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
 @COND_USE_GUI_1@monolib_splash.o: $(srcdir)/src/generic/splash.cpp $(MONOLIB_ODEP)
 @COND_USE_GUI_1@       $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/splash.cpp
 
+@COND_USE_GUI_1@monolib_generic_timectrl.o: $(srcdir)/src/generic/timectrl.cpp $(MONOLIB_ODEP)
+@COND_USE_GUI_1@       $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/timectrl.cpp
+
 @COND_USE_GUI_1@monolib_tipdlg.o: $(srcdir)/src/generic/tipdlg.cpp $(MONOLIB_ODEP)
 @COND_USE_GUI_1@       $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/tipdlg.cpp
 
@@ -26262,6 +26296,12 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
 @COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@monolib_msw_hyperlink.o: $(srcdir)/src/msw/hyperlink.cpp $(MONOLIB_ODEP)
 @COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@        $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/hyperlink.cpp
 
+@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@monolib_msw_timectrl.o: $(srcdir)/src/msw/timectrl.cpp $(MONOLIB_ODEP)
+@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@  $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/timectrl.cpp
+
+@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@monolib_msw_timectrl.o: $(srcdir)/src/msw/timectrl.cpp $(MONOLIB_ODEP)
+@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@        $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/timectrl.cpp
+
 @COND_TOOLKIT_MSW_USE_GUI_1@monolib_mediactrl_am.o: $(srcdir)/src/msw/mediactrl_am.cpp $(MONOLIB_ODEP)
 @COND_TOOLKIT_MSW_USE_GUI_1@   $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/mediactrl_am.cpp
 
@@ -35547,6 +35587,9 @@ advdll_sashwin.o: $(srcdir)/src/generic/sashwin.cpp $(ADVDLL_ODEP)
 advdll_splash.o: $(srcdir)/src/generic/splash.cpp $(ADVDLL_ODEP)
        $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/generic/splash.cpp
 
+advdll_generic_timectrl.o: $(srcdir)/src/generic/timectrl.cpp $(ADVDLL_ODEP)
+       $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/generic/timectrl.cpp
+
 advdll_tipdlg.o: $(srcdir)/src/generic/tipdlg.cpp $(ADVDLL_ODEP)
        $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/generic/tipdlg.cpp
 
@@ -35811,6 +35854,12 @@ advdll_wizard.o: $(srcdir)/src/generic/wizard.cpp $(ADVDLL_ODEP)
 @COND_TOOLKIT_WINCE_WXUNIV_0@advdll_msw_hyperlink.o: $(srcdir)/src/msw/hyperlink.cpp $(ADVDLL_ODEP)
 @COND_TOOLKIT_WINCE_WXUNIV_0@  $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/msw/hyperlink.cpp
 
+@COND_TOOLKIT_MSW_WXUNIV_0@advdll_msw_timectrl.o: $(srcdir)/src/msw/timectrl.cpp $(ADVDLL_ODEP)
+@COND_TOOLKIT_MSW_WXUNIV_0@    $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/msw/timectrl.cpp
+
+@COND_TOOLKIT_WINCE_WXUNIV_0@advdll_msw_timectrl.o: $(srcdir)/src/msw/timectrl.cpp $(ADVDLL_ODEP)
+@COND_TOOLKIT_WINCE_WXUNIV_0@  $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/msw/timectrl.cpp
+
 advlib_gtk_aboutdlg.o: $(srcdir)/src/gtk/aboutdlg.cpp $(ADVLIB_ODEP)
        $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/gtk/aboutdlg.cpp
 
@@ -35913,6 +35962,9 @@ advlib_sashwin.o: $(srcdir)/src/generic/sashwin.cpp $(ADVLIB_ODEP)
 advlib_splash.o: $(srcdir)/src/generic/splash.cpp $(ADVLIB_ODEP)
        $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/generic/splash.cpp
 
+advlib_generic_timectrl.o: $(srcdir)/src/generic/timectrl.cpp $(ADVLIB_ODEP)
+       $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/generic/timectrl.cpp
+
 advlib_tipdlg.o: $(srcdir)/src/generic/tipdlg.cpp $(ADVLIB_ODEP)
        $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/generic/tipdlg.cpp
 
@@ -36177,6 +36229,12 @@ advlib_wizard.o: $(srcdir)/src/generic/wizard.cpp $(ADVLIB_ODEP)
 @COND_TOOLKIT_WINCE_WXUNIV_0@advlib_msw_hyperlink.o: $(srcdir)/src/msw/hyperlink.cpp $(ADVLIB_ODEP)
 @COND_TOOLKIT_WINCE_WXUNIV_0@  $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/msw/hyperlink.cpp
 
+@COND_TOOLKIT_MSW_WXUNIV_0@advlib_msw_timectrl.o: $(srcdir)/src/msw/timectrl.cpp $(ADVLIB_ODEP)
+@COND_TOOLKIT_MSW_WXUNIV_0@    $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/msw/timectrl.cpp
+
+@COND_TOOLKIT_WINCE_WXUNIV_0@advlib_msw_timectrl.o: $(srcdir)/src/msw/timectrl.cpp $(ADVLIB_ODEP)
+@COND_TOOLKIT_WINCE_WXUNIV_0@  $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/msw/timectrl.cpp
+
 mediadll_version_rc.o: $(srcdir)/src/msw/version.rc $(MEDIADLL_ODEP)
        $(WINDRES) -i$< -o$@    --define __WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p_67) $(__DEBUG_DEFINE_p_66)  $(__EXCEPTIONS_DEFINE_p_65) $(__RTTI_DEFINE_p_65) $(__THREAD_DEFINE_p_65)   --define WXBUILDING --define WXDLLNAME=$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_media$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG) $(__RCDEFDIR_p) --include-dir $(top_srcdir)/include $(__INC_TIFF_BUILD_p_66) $(__INC_TIFF_p_66) $(__INC_JPEG_p_66) $(__INC_PNG_p_65) $(__INC_ZLIB_p_67) $(__INC_REGEX_p_65) $(__INC_EXPAT_p_65) --define WXUSINGDLL --define WXMAKINGDLL_MEDIA
 
index 28e0f8d4816464864f531eb254c24f16ea14e12b..8b130ea02cf2d2d3839cc9b95f7f3b2677b051d8 100644 (file)
@@ -2974,6 +2974,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
     src/generic/propdlg.cpp
     src/generic/sashwin.cpp
     src/generic/splash.cpp
+    src/generic/timectrl.cpp
     src/generic/tipdlg.cpp
     src/generic/treelist.cpp
     src/generic/wizard.cpp
@@ -3010,6 +3011,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
     wx/generic/propdlg.h
     wx/generic/sashwin.h
     wx/generic/splash.h
+    wx/generic/timectrl.h
     wx/generic/wizard.h
     wx/grid.h
     wx/hyperlink.h
@@ -3022,6 +3024,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
     wx/sound.h
     wx/splash.h
     wx/taskbar.h
+    wx/timectrl.h
     wx/tipdlg.h
     wx/treelist.h
     wx/wizard.h
@@ -3050,6 +3053,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
     src/msw/datectrl.cpp
     src/msw/datetimectrl.cpp
     src/msw/hyperlink.cpp
+    src/msw/timectrl.cpp
 </set>
 <set var="ADVANCED_MSW_NATIVE_HDR" hints="files">
     wx/generic/animate.h
@@ -3059,6 +3063,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
     wx/msw/datectrl.h
     wx/msw/datetimectrl.h
     wx/msw/hyperlink.h
+    wx/msw/timectrl.h
 </set>
 
 <!-- not built on WindowsCE: -->
index 8936a1ce19c27eb27ff81f9ef339b0ef9250f6ba..49f3a8a512ee2133d99d887830e47131839dcbf6 100644 (file)
@@ -2280,6 +2280,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_propdlg.obj \\r
        $(OBJS)\monodll_sashwin.obj \\r
        $(OBJS)\monodll_splash.obj \\r
+       $(OBJS)\monodll_generic_timectrl.obj \
        $(OBJS)\monodll_tipdlg.obj \\r
        $(OBJS)\monodll_treelist.obj \\r
        $(OBJS)\monodll_wizard.obj \\r
@@ -2293,13 +2294,14 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_bmpcbox.obj \\r
        $(OBJS)\monodll_calctrl.obj \\r
        $(OBJS)\monodll_commandlinkbutton.obj \\r
-       $(OBJS)\monodll_datecontrols.obj \\r
-       $(OBJS)\monodll_datectrl.obj \\r
+       $(OBJS)\monodll_datecontrols.obj \
+       $(OBJS)\monodll_datectrl.obj \
        $(OBJS)\monodll_datetimectrl.obj \
-       $(OBJS)\monodll_hyperlink.obj\r
-!endif\r
-!if "$(WXUNIV)" == "1"\r
-____ADVANCED_SRC_FILENAMES_OBJECTS =  \\r
+       $(OBJS)\monodll_hyperlink.obj \
+       $(OBJS)\monodll_msw_timectrl.obj
+!endif
+!if "$(WXUNIV)" == "1"
+____ADVANCED_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_animatecmn.obj \\r
        $(OBJS)\monodll_bmpcboxcmn.obj \\r
        $(OBJS)\monodll_calctrlcmn.obj \\r
@@ -2327,6 +2329,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_propdlg.obj \\r
        $(OBJS)\monodll_sashwin.obj \\r
        $(OBJS)\monodll_splash.obj \\r
+       $(OBJS)\monodll_generic_timectrl.obj \
        $(OBJS)\monodll_tipdlg.obj \\r
        $(OBJS)\monodll_treelist.obj \\r
        $(OBJS)\monodll_wizard.obj \\r
@@ -3053,6 +3056,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_propdlg.obj \\r
        $(OBJS)\monolib_sashwin.obj \\r
        $(OBJS)\monolib_splash.obj \\r
+       $(OBJS)\monolib_generic_timectrl.obj \
        $(OBJS)\monolib_tipdlg.obj \\r
        $(OBJS)\monolib_treelist.obj \\r
        $(OBJS)\monolib_wizard.obj \\r
@@ -3066,13 +3070,14 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_bmpcbox.obj \\r
        $(OBJS)\monolib_calctrl.obj \\r
        $(OBJS)\monolib_commandlinkbutton.obj \\r
-       $(OBJS)\monolib_datecontrols.obj \\r
-       $(OBJS)\monolib_datectrl.obj \\r
+       $(OBJS)\monolib_datecontrols.obj \
+       $(OBJS)\monolib_datectrl.obj \
        $(OBJS)\monolib_datetimectrl.obj \
-       $(OBJS)\monolib_hyperlink.obj\r
-!endif\r
-!if "$(WXUNIV)" == "1"\r
-____ADVANCED_SRC_FILENAMES_1_OBJECTS =  \\r
+       $(OBJS)\monolib_hyperlink.obj \
+       $(OBJS)\monolib_msw_timectrl.obj
+!endif
+!if "$(WXUNIV)" == "1"
+____ADVANCED_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_animatecmn.obj \\r
        $(OBJS)\monolib_bmpcboxcmn.obj \\r
        $(OBJS)\monolib_calctrlcmn.obj \\r
@@ -3100,6 +3105,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_propdlg.obj \\r
        $(OBJS)\monolib_sashwin.obj \\r
        $(OBJS)\monolib_splash.obj \\r
+       $(OBJS)\monolib_generic_timectrl.obj \
        $(OBJS)\monolib_tipdlg.obj \\r
        $(OBJS)\monolib_treelist.obj \\r
        $(OBJS)\monolib_wizard.obj \\r
@@ -4262,6 +4268,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\advdll_propdlg.obj \\r
        $(OBJS)\advdll_sashwin.obj \\r
        $(OBJS)\advdll_splash.obj \\r
+       $(OBJS)\advdll_generic_timectrl.obj \
        $(OBJS)\advdll_tipdlg.obj \\r
        $(OBJS)\advdll_treelist.obj \\r
        $(OBJS)\advdll_wizard.obj \\r
@@ -4275,13 +4282,14 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\advdll_bmpcbox.obj \\r
        $(OBJS)\advdll_calctrl.obj \\r
        $(OBJS)\advdll_commandlinkbutton.obj \\r
-       $(OBJS)\advdll_datecontrols.obj \\r
-       $(OBJS)\advdll_datectrl.obj \\r
+       $(OBJS)\advdll_datecontrols.obj \
+       $(OBJS)\advdll_datectrl.obj \
        $(OBJS)\advdll_datetimectrl.obj \
-       $(OBJS)\advdll_hyperlink.obj\r
-!endif\r
-!if "$(WXUNIV)" == "1"\r
-____ADVANCED_SRC_FILENAMES_2_OBJECTS =  \\r
+       $(OBJS)\advdll_hyperlink.obj \
+       $(OBJS)\advdll_msw_timectrl.obj
+!endif
+!if "$(WXUNIV)" == "1"
+____ADVANCED_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\advdll_animatecmn.obj \\r
        $(OBJS)\advdll_bmpcboxcmn.obj \\r
        $(OBJS)\advdll_calctrlcmn.obj \\r
@@ -4309,6 +4317,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\advdll_propdlg.obj \\r
        $(OBJS)\advdll_sashwin.obj \\r
        $(OBJS)\advdll_splash.obj \\r
+       $(OBJS)\advdll_generic_timectrl.obj \
        $(OBJS)\advdll_tipdlg.obj \\r
        $(OBJS)\advdll_treelist.obj \\r
        $(OBJS)\advdll_wizard.obj \\r
@@ -4353,6 +4362,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\advlib_propdlg.obj \\r
        $(OBJS)\advlib_sashwin.obj \\r
        $(OBJS)\advlib_splash.obj \\r
+       $(OBJS)\advlib_generic_timectrl.obj \
        $(OBJS)\advlib_tipdlg.obj \\r
        $(OBJS)\advlib_treelist.obj \\r
        $(OBJS)\advlib_wizard.obj \\r
@@ -4366,13 +4376,14 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\advlib_bmpcbox.obj \\r
        $(OBJS)\advlib_calctrl.obj \\r
        $(OBJS)\advlib_commandlinkbutton.obj \\r
-       $(OBJS)\advlib_datecontrols.obj \\r
-       $(OBJS)\advlib_datectrl.obj \\r
+       $(OBJS)\advlib_datecontrols.obj \
+       $(OBJS)\advlib_datectrl.obj \
        $(OBJS)\advlib_datetimectrl.obj \
-       $(OBJS)\advlib_hyperlink.obj\r
-!endif\r
-!if "$(WXUNIV)" == "1"\r
-____ADVANCED_SRC_FILENAMES_3_OBJECTS =  \\r
+       $(OBJS)\advlib_hyperlink.obj \
+       $(OBJS)\advlib_msw_timectrl.obj
+!endif
+!if "$(WXUNIV)" == "1"
+____ADVANCED_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\advlib_animatecmn.obj \\r
        $(OBJS)\advlib_bmpcboxcmn.obj \\r
        $(OBJS)\advlib_calctrlcmn.obj \\r
@@ -4400,6 +4411,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\advlib_propdlg.obj \\r
        $(OBJS)\advlib_sashwin.obj \\r
        $(OBJS)\advlib_splash.obj \\r
+       $(OBJS)\advlib_generic_timectrl.obj \
        $(OBJS)\advlib_tipdlg.obj \\r
        $(OBJS)\advlib_treelist.obj \\r
        $(OBJS)\advlib_wizard.obj \\r
@@ -6704,6 +6716,9 @@ $(OBJS)\monodll_datetimectrl.obj: ..\..\src\msw\datetimectrl.cpp
 $(OBJS)\monodll_hyperlink.obj: ..\..\src\msw\hyperlink.cpp\r
        $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\hyperlink.cpp\r
 \r
+$(OBJS)\monodll_msw_timectrl.obj: ..\..\src\msw\timectrl.cpp
+       $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\timectrl.cpp
+
 $(OBJS)\monodll_mediactrlcmn.obj: ..\..\src\common\mediactrlcmn.cpp\r
        $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\mediactrlcmn.cpp\r
 \r
@@ -8329,6 +8344,11 @@ $(OBJS)\monodll_splash.obj: ..\..\src\generic\splash.cpp
 !endif\r
 \r
 !if "$(USE_GUI)" == "1"\r
+$(OBJS)\monodll_generic_timectrl.obj: ..\..\src\generic\timectrl.cpp
+       $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\timectrl.cpp
+!endif
+
+!if "$(USE_GUI)" == "1"
 $(OBJS)\monodll_tipdlg.obj: ..\..\src\generic\tipdlg.cpp\r
        $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\tipdlg.cpp\r
 !endif\r
@@ -9080,6 +9100,9 @@ $(OBJS)\monolib_datetimectrl.obj: ..\..\src\msw\datetimectrl.cpp
 $(OBJS)\monolib_hyperlink.obj: ..\..\src\msw\hyperlink.cpp\r
        $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\hyperlink.cpp\r
 \r
+$(OBJS)\monolib_msw_timectrl.obj: ..\..\src\msw\timectrl.cpp
+       $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\timectrl.cpp
+
 $(OBJS)\monolib_mediactrlcmn.obj: ..\..\src\common\mediactrlcmn.cpp\r
        $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\mediactrlcmn.cpp\r
 \r
@@ -10705,6 +10728,11 @@ $(OBJS)\monolib_splash.obj: ..\..\src\generic\splash.cpp
 !endif\r
 \r
 !if "$(USE_GUI)" == "1"\r
+$(OBJS)\monolib_generic_timectrl.obj: ..\..\src\generic\timectrl.cpp
+       $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\timectrl.cpp
+!endif
+
+!if "$(USE_GUI)" == "1"
 $(OBJS)\monolib_tipdlg.obj: ..\..\src\generic\tipdlg.cpp\r
        $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\tipdlg.cpp\r
 !endif\r
@@ -14356,6 +14384,9 @@ $(OBJS)\advdll_datetimectrl.obj: ..\..\src\msw\datetimectrl.cpp
 $(OBJS)\advdll_hyperlink.obj: ..\..\src\msw\hyperlink.cpp\r
        $(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) ..\..\src\msw\hyperlink.cpp\r
 \r
+$(OBJS)\advdll_msw_timectrl.obj: ..\..\src\msw\timectrl.cpp
+       $(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) ..\..\src\msw\timectrl.cpp
+
 $(OBJS)\advdll_animatecmn.obj: ..\..\src\common\animatecmn.cpp\r
        $(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) ..\..\src\common\animatecmn.cpp\r
 \r
@@ -14437,6 +14468,9 @@ $(OBJS)\advdll_sashwin.obj: ..\..\src\generic\sashwin.cpp
 $(OBJS)\advdll_splash.obj: ..\..\src\generic\splash.cpp\r
        $(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) ..\..\src\generic\splash.cpp\r
 \r
+$(OBJS)\advdll_generic_timectrl.obj: ..\..\src\generic\timectrl.cpp
+       $(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) ..\..\src\generic\timectrl.cpp
+
 $(OBJS)\advdll_tipdlg.obj: ..\..\src\generic\tipdlg.cpp\r
        $(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) ..\..\src\generic\tipdlg.cpp\r
 \r
@@ -14491,6 +14525,9 @@ $(OBJS)\advlib_datetimectrl.obj: ..\..\src\msw\datetimectrl.cpp
 $(OBJS)\advlib_hyperlink.obj: ..\..\src\msw\hyperlink.cpp\r
        $(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) ..\..\src\msw\hyperlink.cpp\r
 \r
+$(OBJS)\advlib_msw_timectrl.obj: ..\..\src\msw\timectrl.cpp
+       $(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) ..\..\src\msw\timectrl.cpp
+
 $(OBJS)\advlib_animatecmn.obj: ..\..\src\common\animatecmn.cpp\r
        $(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) ..\..\src\common\animatecmn.cpp\r
 \r
@@ -14572,6 +14609,9 @@ $(OBJS)\advlib_sashwin.obj: ..\..\src\generic\sashwin.cpp
 $(OBJS)\advlib_splash.obj: ..\..\src\generic\splash.cpp\r
        $(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) ..\..\src\generic\splash.cpp\r
 \r
+$(OBJS)\advlib_generic_timectrl.obj: ..\..\src\generic\timectrl.cpp
+       $(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) ..\..\src\generic\timectrl.cpp
+
 $(OBJS)\advlib_tipdlg.obj: ..\..\src\generic\tipdlg.cpp\r
        $(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) ..\..\src\generic\tipdlg.cpp\r
 \r
index bee702f499de94f22b72aa067656a05528634d52..713346f21a673353e0c1efca2ae77381ef78d416 100644 (file)
@@ -2295,6 +2295,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_propdlg.o \\r
        $(OBJS)\monodll_sashwin.o \\r
        $(OBJS)\monodll_splash.o \\r
+       $(OBJS)\monodll_generic_timectrl.o \
        $(OBJS)\monodll_tipdlg.o \\r
        $(OBJS)\monodll_treelist.o \\r
        $(OBJS)\monodll_wizard.o \\r
@@ -2308,13 +2309,14 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_bmpcbox.o \\r
        $(OBJS)\monodll_calctrl.o \\r
        $(OBJS)\monodll_commandlinkbutton.o \\r
-       $(OBJS)\monodll_datecontrols.o \\r
-       $(OBJS)\monodll_datectrl.o \\r
+       $(OBJS)\monodll_datecontrols.o \
+       $(OBJS)\monodll_datectrl.o \
        $(OBJS)\monodll_datetimectrl.o \
-       $(OBJS)\monodll_hyperlink.o\r
-endif\r
-ifeq ($(WXUNIV),1)\r
-____ADVANCED_SRC_FILENAMES_OBJECTS =  \\r
+       $(OBJS)\monodll_hyperlink.o \
+       $(OBJS)\monodll_msw_timectrl.o
+endif
+ifeq ($(WXUNIV),1)
+____ADVANCED_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_animatecmn.o \\r
        $(OBJS)\monodll_bmpcboxcmn.o \\r
        $(OBJS)\monodll_calctrlcmn.o \\r
@@ -2342,6 +2344,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_propdlg.o \\r
        $(OBJS)\monodll_sashwin.o \\r
        $(OBJS)\monodll_splash.o \\r
+       $(OBJS)\monodll_generic_timectrl.o \
        $(OBJS)\monodll_tipdlg.o \\r
        $(OBJS)\monodll_treelist.o \\r
        $(OBJS)\monodll_wizard.o \\r
@@ -3074,6 +3077,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_propdlg.o \\r
        $(OBJS)\monolib_sashwin.o \\r
        $(OBJS)\monolib_splash.o \\r
+       $(OBJS)\monolib_generic_timectrl.o \
        $(OBJS)\monolib_tipdlg.o \\r
        $(OBJS)\monolib_treelist.o \\r
        $(OBJS)\monolib_wizard.o \\r
@@ -3087,13 +3091,14 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_bmpcbox.o \\r
        $(OBJS)\monolib_calctrl.o \\r
        $(OBJS)\monolib_commandlinkbutton.o \\r
-       $(OBJS)\monolib_datecontrols.o \\r
-       $(OBJS)\monolib_datectrl.o \\r
+       $(OBJS)\monolib_datecontrols.o \
+       $(OBJS)\monolib_datectrl.o \
        $(OBJS)\monolib_datetimectrl.o \
-       $(OBJS)\monolib_hyperlink.o\r
-endif\r
-ifeq ($(WXUNIV),1)\r
-____ADVANCED_SRC_FILENAMES_1_OBJECTS =  \\r
+       $(OBJS)\monolib_hyperlink.o \
+       $(OBJS)\monolib_msw_timectrl.o
+endif
+ifeq ($(WXUNIV),1)
+____ADVANCED_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_animatecmn.o \\r
        $(OBJS)\monolib_bmpcboxcmn.o \\r
        $(OBJS)\monolib_calctrlcmn.o \\r
@@ -3121,6 +3126,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_propdlg.o \\r
        $(OBJS)\monolib_sashwin.o \\r
        $(OBJS)\monolib_splash.o \\r
+       $(OBJS)\monolib_generic_timectrl.o \
        $(OBJS)\monolib_tipdlg.o \\r
        $(OBJS)\monolib_treelist.o \\r
        $(OBJS)\monolib_wizard.o \\r
@@ -4311,6 +4317,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\advdll_propdlg.o \\r
        $(OBJS)\advdll_sashwin.o \\r
        $(OBJS)\advdll_splash.o \\r
+       $(OBJS)\advdll_generic_timectrl.o \
        $(OBJS)\advdll_tipdlg.o \\r
        $(OBJS)\advdll_treelist.o \\r
        $(OBJS)\advdll_wizard.o \\r
@@ -4324,13 +4331,14 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\advdll_bmpcbox.o \\r
        $(OBJS)\advdll_calctrl.o \\r
        $(OBJS)\advdll_commandlinkbutton.o \\r
-       $(OBJS)\advdll_datecontrols.o \\r
-       $(OBJS)\advdll_datectrl.o \\r
+       $(OBJS)\advdll_datecontrols.o \
+       $(OBJS)\advdll_datectrl.o \
        $(OBJS)\advdll_datetimectrl.o \
-       $(OBJS)\advdll_hyperlink.o\r
-endif\r
-ifeq ($(WXUNIV),1)\r
-____ADVANCED_SRC_FILENAMES_2_OBJECTS =  \\r
+       $(OBJS)\advdll_hyperlink.o \
+       $(OBJS)\advdll_msw_timectrl.o
+endif
+ifeq ($(WXUNIV),1)
+____ADVANCED_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\advdll_animatecmn.o \\r
        $(OBJS)\advdll_bmpcboxcmn.o \\r
        $(OBJS)\advdll_calctrlcmn.o \\r
@@ -4358,6 +4366,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\advdll_propdlg.o \\r
        $(OBJS)\advdll_sashwin.o \\r
        $(OBJS)\advdll_splash.o \\r
+       $(OBJS)\advdll_generic_timectrl.o \
        $(OBJS)\advdll_tipdlg.o \\r
        $(OBJS)\advdll_treelist.o \\r
        $(OBJS)\advdll_wizard.o \\r
@@ -4406,6 +4415,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\advlib_propdlg.o \\r
        $(OBJS)\advlib_sashwin.o \\r
        $(OBJS)\advlib_splash.o \\r
+       $(OBJS)\advlib_generic_timectrl.o \
        $(OBJS)\advlib_tipdlg.o \\r
        $(OBJS)\advlib_treelist.o \\r
        $(OBJS)\advlib_wizard.o \\r
@@ -4419,13 +4429,14 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\advlib_bmpcbox.o \\r
        $(OBJS)\advlib_calctrl.o \\r
        $(OBJS)\advlib_commandlinkbutton.o \\r
-       $(OBJS)\advlib_datecontrols.o \\r
-       $(OBJS)\advlib_datectrl.o \\r
+       $(OBJS)\advlib_datecontrols.o \
+       $(OBJS)\advlib_datectrl.o \
        $(OBJS)\advlib_datetimectrl.o \
-       $(OBJS)\advlib_hyperlink.o\r
-endif\r
-ifeq ($(WXUNIV),1)\r
-____ADVANCED_SRC_FILENAMES_3_OBJECTS =  \\r
+       $(OBJS)\advlib_hyperlink.o \
+       $(OBJS)\advlib_msw_timectrl.o
+endif
+ifeq ($(WXUNIV),1)
+____ADVANCED_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\advlib_animatecmn.o \\r
        $(OBJS)\advlib_bmpcboxcmn.o \\r
        $(OBJS)\advlib_calctrlcmn.o \\r
@@ -4453,6 +4464,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\advlib_propdlg.o \\r
        $(OBJS)\advlib_sashwin.o \\r
        $(OBJS)\advlib_splash.o \\r
+       $(OBJS)\advlib_generic_timectrl.o \
        $(OBJS)\advlib_tipdlg.o \\r
        $(OBJS)\advlib_treelist.o \\r
        $(OBJS)\advlib_wizard.o \\r
@@ -6872,6 +6884,9 @@ $(OBJS)\monodll_datetimectrl.o: ../../src/msw/datetimectrl.cpp
 $(OBJS)\monodll_hyperlink.o: ../../src/msw/hyperlink.cpp\r
        $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<\r
 \r
+$(OBJS)\monodll_msw_timectrl.o: ../../src/msw/timectrl.cpp
+       $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\monodll_mediactrlcmn.o: ../../src/common/mediactrlcmn.cpp\r
        $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<\r
 \r
@@ -8497,6 +8512,11 @@ $(OBJS)\monodll_splash.o: ../../src/generic/splash.cpp
 endif\r
 \r
 ifeq ($(USE_GUI),1)\r
+$(OBJS)\monodll_generic_timectrl.o: ../../src/generic/timectrl.cpp
+       $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
+endif
+
+ifeq ($(USE_GUI),1)
 $(OBJS)\monodll_tipdlg.o: ../../src/generic/tipdlg.cpp\r
        $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<\r
 endif\r
@@ -9248,6 +9268,9 @@ $(OBJS)\monolib_datetimectrl.o: ../../src/msw/datetimectrl.cpp
 $(OBJS)\monolib_hyperlink.o: ../../src/msw/hyperlink.cpp\r
        $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<\r
 \r
+$(OBJS)\monolib_msw_timectrl.o: ../../src/msw/timectrl.cpp
+       $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\monolib_mediactrlcmn.o: ../../src/common/mediactrlcmn.cpp\r
        $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<\r
 \r
@@ -10873,6 +10896,11 @@ $(OBJS)\monolib_splash.o: ../../src/generic/splash.cpp
 endif\r
 \r
 ifeq ($(USE_GUI),1)\r
+$(OBJS)\monolib_generic_timectrl.o: ../../src/generic/timectrl.cpp
+       $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
+endif
+
+ifeq ($(USE_GUI),1)
 $(OBJS)\monolib_tipdlg.o: ../../src/generic/tipdlg.cpp\r
        $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<\r
 endif\r
@@ -14524,6 +14552,9 @@ $(OBJS)\advdll_datetimectrl.o: ../../src/msw/datetimectrl.cpp
 $(OBJS)\advdll_hyperlink.o: ../../src/msw/hyperlink.cpp\r
        $(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $<\r
 \r
+$(OBJS)\advdll_msw_timectrl.o: ../../src/msw/timectrl.cpp
+       $(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\advdll_animatecmn.o: ../../src/common/animatecmn.cpp\r
        $(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $<\r
 \r
@@ -14605,6 +14636,9 @@ $(OBJS)\advdll_sashwin.o: ../../src/generic/sashwin.cpp
 $(OBJS)\advdll_splash.o: ../../src/generic/splash.cpp\r
        $(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $<\r
 \r
+$(OBJS)\advdll_generic_timectrl.o: ../../src/generic/timectrl.cpp
+       $(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\advdll_tipdlg.o: ../../src/generic/tipdlg.cpp\r
        $(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $<\r
 \r
@@ -14659,6 +14693,9 @@ $(OBJS)\advlib_datetimectrl.o: ../../src/msw/datetimectrl.cpp
 $(OBJS)\advlib_hyperlink.o: ../../src/msw/hyperlink.cpp\r
        $(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $<\r
 \r
+$(OBJS)\advlib_msw_timectrl.o: ../../src/msw/timectrl.cpp
+       $(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\advlib_animatecmn.o: ../../src/common/animatecmn.cpp\r
        $(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $<\r
 \r
@@ -14740,6 +14777,9 @@ $(OBJS)\advlib_sashwin.o: ../../src/generic/sashwin.cpp
 $(OBJS)\advlib_splash.o: ../../src/generic/splash.cpp\r
        $(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $<\r
 \r
+$(OBJS)\advlib_generic_timectrl.o: ../../src/generic/timectrl.cpp
+       $(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\advlib_tipdlg.o: ../../src/generic/tipdlg.cpp\r
        $(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $<\r
 \r
index b87655973a0c0a9cba2ac9f80a36ad7f04aa11a9..a45e851a896daa7ea55c08a0f0c0f868b6dc70ab 100644 (file)
@@ -2494,6 +2494,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_propdlg.obj \\r
        $(OBJS)\monodll_sashwin.obj \\r
        $(OBJS)\monodll_splash.obj \\r
+       $(OBJS)\monodll_generic_timectrl.obj \
        $(OBJS)\monodll_tipdlg.obj \\r
        $(OBJS)\monodll_treelist.obj \\r
        $(OBJS)\monodll_wizard.obj \\r
@@ -2507,13 +2508,14 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_bmpcbox.obj \\r
        $(OBJS)\monodll_calctrl.obj \\r
        $(OBJS)\monodll_commandlinkbutton.obj \\r
-       $(OBJS)\monodll_datecontrols.obj \\r
-       $(OBJS)\monodll_datectrl.obj \\r
+       $(OBJS)\monodll_datecontrols.obj \
+       $(OBJS)\monodll_datectrl.obj \
        $(OBJS)\monodll_datetimectrl.obj \
-       $(OBJS)\monodll_hyperlink.obj\r
-!endif\r
-!if "$(WXUNIV)" == "1"\r
-____ADVANCED_SRC_FILENAMES_OBJECTS =  \\r
+       $(OBJS)\monodll_hyperlink.obj \
+       $(OBJS)\monodll_msw_timectrl.obj
+!endif
+!if "$(WXUNIV)" == "1"
+____ADVANCED_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_animatecmn.obj \\r
        $(OBJS)\monodll_bmpcboxcmn.obj \\r
        $(OBJS)\monodll_calctrlcmn.obj \\r
@@ -2541,6 +2543,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_propdlg.obj \\r
        $(OBJS)\monodll_sashwin.obj \\r
        $(OBJS)\monodll_splash.obj \\r
+       $(OBJS)\monodll_generic_timectrl.obj \
        $(OBJS)\monodll_tipdlg.obj \\r
        $(OBJS)\monodll_treelist.obj \\r
        $(OBJS)\monodll_wizard.obj \\r
@@ -3273,6 +3276,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_propdlg.obj \\r
        $(OBJS)\monolib_sashwin.obj \\r
        $(OBJS)\monolib_splash.obj \\r
+       $(OBJS)\monolib_generic_timectrl.obj \
        $(OBJS)\monolib_tipdlg.obj \\r
        $(OBJS)\monolib_treelist.obj \\r
        $(OBJS)\monolib_wizard.obj \\r
@@ -3286,13 +3290,14 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_bmpcbox.obj \\r
        $(OBJS)\monolib_calctrl.obj \\r
        $(OBJS)\monolib_commandlinkbutton.obj \\r
-       $(OBJS)\monolib_datecontrols.obj \\r
-       $(OBJS)\monolib_datectrl.obj \\r
+       $(OBJS)\monolib_datecontrols.obj \
+       $(OBJS)\monolib_datectrl.obj \
        $(OBJS)\monolib_datetimectrl.obj \
-       $(OBJS)\monolib_hyperlink.obj\r
-!endif\r
-!if "$(WXUNIV)" == "1"\r
-____ADVANCED_SRC_FILENAMES_1_OBJECTS =  \\r
+       $(OBJS)\monolib_hyperlink.obj \
+       $(OBJS)\monolib_msw_timectrl.obj
+!endif
+!if "$(WXUNIV)" == "1"
+____ADVANCED_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_animatecmn.obj \\r
        $(OBJS)\monolib_bmpcboxcmn.obj \\r
        $(OBJS)\monolib_calctrlcmn.obj \\r
@@ -3320,6 +3325,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_propdlg.obj \\r
        $(OBJS)\monolib_sashwin.obj \\r
        $(OBJS)\monolib_splash.obj \\r
+       $(OBJS)\monolib_generic_timectrl.obj \
        $(OBJS)\monolib_tipdlg.obj \\r
        $(OBJS)\monolib_treelist.obj \\r
        $(OBJS)\monolib_wizard.obj \\r
@@ -4572,6 +4578,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\advdll_propdlg.obj \\r
        $(OBJS)\advdll_sashwin.obj \\r
        $(OBJS)\advdll_splash.obj \\r
+       $(OBJS)\advdll_generic_timectrl.obj \
        $(OBJS)\advdll_tipdlg.obj \\r
        $(OBJS)\advdll_treelist.obj \\r
        $(OBJS)\advdll_wizard.obj \\r
@@ -4585,13 +4592,14 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\advdll_bmpcbox.obj \\r
        $(OBJS)\advdll_calctrl.obj \\r
        $(OBJS)\advdll_commandlinkbutton.obj \\r
-       $(OBJS)\advdll_datecontrols.obj \\r
-       $(OBJS)\advdll_datectrl.obj \\r
+       $(OBJS)\advdll_datecontrols.obj \
+       $(OBJS)\advdll_datectrl.obj \
        $(OBJS)\advdll_datetimectrl.obj \
-       $(OBJS)\advdll_hyperlink.obj\r
-!endif\r
-!if "$(WXUNIV)" == "1"\r
-____ADVANCED_SRC_FILENAMES_2_OBJECTS =  \\r
+       $(OBJS)\advdll_hyperlink.obj \
+       $(OBJS)\advdll_msw_timectrl.obj
+!endif
+!if "$(WXUNIV)" == "1"
+____ADVANCED_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\advdll_animatecmn.obj \\r
        $(OBJS)\advdll_bmpcboxcmn.obj \\r
        $(OBJS)\advdll_calctrlcmn.obj \\r
@@ -4619,6 +4627,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\advdll_propdlg.obj \\r
        $(OBJS)\advdll_sashwin.obj \\r
        $(OBJS)\advdll_splash.obj \\r
+       $(OBJS)\advdll_generic_timectrl.obj \
        $(OBJS)\advdll_tipdlg.obj \\r
        $(OBJS)\advdll_treelist.obj \\r
        $(OBJS)\advdll_wizard.obj \\r
@@ -4669,6 +4678,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\advlib_propdlg.obj \\r
        $(OBJS)\advlib_sashwin.obj \\r
        $(OBJS)\advlib_splash.obj \\r
+       $(OBJS)\advlib_generic_timectrl.obj \
        $(OBJS)\advlib_tipdlg.obj \\r
        $(OBJS)\advlib_treelist.obj \\r
        $(OBJS)\advlib_wizard.obj \\r
@@ -4682,13 +4692,14 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\advlib_bmpcbox.obj \\r
        $(OBJS)\advlib_calctrl.obj \\r
        $(OBJS)\advlib_commandlinkbutton.obj \\r
-       $(OBJS)\advlib_datecontrols.obj \\r
-       $(OBJS)\advlib_datectrl.obj \\r
+       $(OBJS)\advlib_datecontrols.obj \
+       $(OBJS)\advlib_datectrl.obj \
        $(OBJS)\advlib_datetimectrl.obj \
-       $(OBJS)\advlib_hyperlink.obj\r
-!endif\r
-!if "$(WXUNIV)" == "1"\r
-____ADVANCED_SRC_FILENAMES_3_OBJECTS =  \\r
+       $(OBJS)\advlib_hyperlink.obj \
+       $(OBJS)\advlib_msw_timectrl.obj
+!endif
+!if "$(WXUNIV)" == "1"
+____ADVANCED_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\advlib_animatecmn.obj \\r
        $(OBJS)\advlib_bmpcboxcmn.obj \\r
        $(OBJS)\advlib_calctrlcmn.obj \\r
@@ -4716,6 +4727,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\advlib_propdlg.obj \\r
        $(OBJS)\advlib_sashwin.obj \\r
        $(OBJS)\advlib_splash.obj \\r
+       $(OBJS)\advlib_generic_timectrl.obj \
        $(OBJS)\advlib_tipdlg.obj \\r
        $(OBJS)\advlib_treelist.obj \\r
        $(OBJS)\advlib_wizard.obj \\r
@@ -7310,6 +7322,9 @@ $(OBJS)\monodll_datetimectrl.obj: ..\..\src\msw\datetimectrl.cpp
 $(OBJS)\monodll_hyperlink.obj: ..\..\src\msw\hyperlink.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\hyperlink.cpp\r
 \r
+$(OBJS)\monodll_msw_timectrl.obj: ..\..\src\msw\timectrl.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\timectrl.cpp
+
 $(OBJS)\monodll_mediactrlcmn.obj: ..\..\src\common\mediactrlcmn.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\mediactrlcmn.cpp\r
 \r
@@ -8935,6 +8950,11 @@ $(OBJS)\monodll_splash.obj: ..\..\src\generic\splash.cpp
 !endif\r
 \r
 !if "$(USE_GUI)" == "1"\r
+$(OBJS)\monodll_generic_timectrl.obj: ..\..\src\generic\timectrl.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\timectrl.cpp
+!endif
+
+!if "$(USE_GUI)" == "1"
 $(OBJS)\monodll_tipdlg.obj: ..\..\src\generic\tipdlg.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\tipdlg.cpp\r
 !endif\r
@@ -9686,6 +9706,9 @@ $(OBJS)\monolib_datetimectrl.obj: ..\..\src\msw\datetimectrl.cpp
 $(OBJS)\monolib_hyperlink.obj: ..\..\src\msw\hyperlink.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\hyperlink.cpp\r
 \r
+$(OBJS)\monolib_msw_timectrl.obj: ..\..\src\msw\timectrl.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\timectrl.cpp
+
 $(OBJS)\monolib_mediactrlcmn.obj: ..\..\src\common\mediactrlcmn.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\mediactrlcmn.cpp\r
 \r
@@ -11311,6 +11334,11 @@ $(OBJS)\monolib_splash.obj: ..\..\src\generic\splash.cpp
 !endif\r
 \r
 !if "$(USE_GUI)" == "1"\r
+$(OBJS)\monolib_generic_timectrl.obj: ..\..\src\generic\timectrl.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\timectrl.cpp
+!endif
+
+!if "$(USE_GUI)" == "1"
 $(OBJS)\monolib_tipdlg.obj: ..\..\src\generic\tipdlg.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\tipdlg.cpp\r
 !endif\r
@@ -14962,6 +14990,9 @@ $(OBJS)\advdll_datetimectrl.obj: ..\..\src\msw\datetimectrl.cpp
 $(OBJS)\advdll_hyperlink.obj: ..\..\src\msw\hyperlink.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) ..\..\src\msw\hyperlink.cpp\r
 \r
+$(OBJS)\advdll_msw_timectrl.obj: ..\..\src\msw\timectrl.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) ..\..\src\msw\timectrl.cpp
+
 $(OBJS)\advdll_animatecmn.obj: ..\..\src\common\animatecmn.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) ..\..\src\common\animatecmn.cpp\r
 \r
@@ -15043,6 +15074,9 @@ $(OBJS)\advdll_sashwin.obj: ..\..\src\generic\sashwin.cpp
 $(OBJS)\advdll_splash.obj: ..\..\src\generic\splash.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) ..\..\src\generic\splash.cpp\r
 \r
+$(OBJS)\advdll_generic_timectrl.obj: ..\..\src\generic\timectrl.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) ..\..\src\generic\timectrl.cpp
+
 $(OBJS)\advdll_tipdlg.obj: ..\..\src\generic\tipdlg.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) ..\..\src\generic\tipdlg.cpp\r
 \r
@@ -15097,6 +15131,9 @@ $(OBJS)\advlib_datetimectrl.obj: ..\..\src\msw\datetimectrl.cpp
 $(OBJS)\advlib_hyperlink.obj: ..\..\src\msw\hyperlink.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) ..\..\src\msw\hyperlink.cpp\r
 \r
+$(OBJS)\advlib_msw_timectrl.obj: ..\..\src\msw\timectrl.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) ..\..\src\msw\timectrl.cpp
+
 $(OBJS)\advlib_animatecmn.obj: ..\..\src\common\animatecmn.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) ..\..\src\common\animatecmn.cpp\r
 \r
@@ -15178,6 +15215,9 @@ $(OBJS)\advlib_sashwin.obj: ..\..\src\generic\sashwin.cpp
 $(OBJS)\advlib_splash.obj: ..\..\src\generic\splash.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) ..\..\src\generic\splash.cpp\r
 \r
+$(OBJS)\advlib_generic_timectrl.obj: ..\..\src\generic\timectrl.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) ..\..\src\generic\timectrl.cpp
+
 $(OBJS)\advlib_tipdlg.obj: ..\..\src\generic\tipdlg.cpp\r
        $(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) ..\..\src\generic\tipdlg.cpp\r
 \r
index 75e6d3b581314c808cd40ba314af79668765dd4e..933bbc77ec3396aebeae87fc45d3af1d2d05a7fd 100644 (file)
@@ -815,6 +815,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS =  &
        $(OBJS)\monodll_propdlg.obj &\r
        $(OBJS)\monodll_sashwin.obj &\r
        $(OBJS)\monodll_splash.obj &\r
+       $(OBJS)\monodll_generic_timectrl.obj &
        $(OBJS)\monodll_tipdlg.obj &\r
        $(OBJS)\monodll_treelist.obj &\r
        $(OBJS)\monodll_wizard.obj &\r
@@ -828,13 +829,14 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS =  &
        $(OBJS)\monodll_bmpcbox.obj &\r
        $(OBJS)\monodll_calctrl.obj &\r
        $(OBJS)\monodll_commandlinkbutton.obj &\r
-       $(OBJS)\monodll_datecontrols.obj &\r
-       $(OBJS)\monodll_datectrl.obj &\r
+       $(OBJS)\monodll_datecontrols.obj &
+       $(OBJS)\monodll_datectrl.obj &
        $(OBJS)\monodll_datetimectrl.obj &
-       $(OBJS)\monodll_hyperlink.obj\r
-!endif\r
-!ifeq WXUNIV 1\r
-____ADVANCED_SRC_FILENAMES_OBJECTS =  &\r
+       $(OBJS)\monodll_hyperlink.obj &
+       $(OBJS)\monodll_msw_timectrl.obj
+!endif
+!ifeq WXUNIV 1
+____ADVANCED_SRC_FILENAMES_OBJECTS =  &
        $(OBJS)\monodll_animatecmn.obj &\r
        $(OBJS)\monodll_bmpcboxcmn.obj &\r
        $(OBJS)\monodll_calctrlcmn.obj &\r
@@ -862,6 +864,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS =  &
        $(OBJS)\monodll_propdlg.obj &\r
        $(OBJS)\monodll_sashwin.obj &\r
        $(OBJS)\monodll_splash.obj &\r
+       $(OBJS)\monodll_generic_timectrl.obj &
        $(OBJS)\monodll_tipdlg.obj &\r
        $(OBJS)\monodll_treelist.obj &\r
        $(OBJS)\monodll_wizard.obj &\r
@@ -1599,6 +1602,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS =  &
        $(OBJS)\monolib_propdlg.obj &\r
        $(OBJS)\monolib_sashwin.obj &\r
        $(OBJS)\monolib_splash.obj &\r
+       $(OBJS)\monolib_generic_timectrl.obj &
        $(OBJS)\monolib_tipdlg.obj &\r
        $(OBJS)\monolib_treelist.obj &\r
        $(OBJS)\monolib_wizard.obj &\r
@@ -1612,13 +1616,14 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS =  &
        $(OBJS)\monolib_bmpcbox.obj &\r
        $(OBJS)\monolib_calctrl.obj &\r
        $(OBJS)\monolib_commandlinkbutton.obj &\r
-       $(OBJS)\monolib_datecontrols.obj &\r
-       $(OBJS)\monolib_datectrl.obj &\r
+       $(OBJS)\monolib_datecontrols.obj &
+       $(OBJS)\monolib_datectrl.obj &
        $(OBJS)\monolib_datetimectrl.obj &
-       $(OBJS)\monolib_hyperlink.obj\r
-!endif\r
-!ifeq WXUNIV 1\r
-____ADVANCED_SRC_FILENAMES_1_OBJECTS =  &\r
+       $(OBJS)\monolib_hyperlink.obj &
+       $(OBJS)\monolib_msw_timectrl.obj
+!endif
+!ifeq WXUNIV 1
+____ADVANCED_SRC_FILENAMES_1_OBJECTS =  &
        $(OBJS)\monolib_animatecmn.obj &\r
        $(OBJS)\monolib_bmpcboxcmn.obj &\r
        $(OBJS)\monolib_calctrlcmn.obj &\r
@@ -1646,6 +1651,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS =  &
        $(OBJS)\monolib_propdlg.obj &\r
        $(OBJS)\monolib_sashwin.obj &\r
        $(OBJS)\monolib_splash.obj &\r
+       $(OBJS)\monolib_generic_timectrl.obj &
        $(OBJS)\monolib_tipdlg.obj &\r
        $(OBJS)\monolib_treelist.obj &\r
        $(OBJS)\monolib_wizard.obj &\r
@@ -2852,6 +2858,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS =  &
        $(OBJS)\advdll_propdlg.obj &\r
        $(OBJS)\advdll_sashwin.obj &\r
        $(OBJS)\advdll_splash.obj &\r
+       $(OBJS)\advdll_generic_timectrl.obj &
        $(OBJS)\advdll_tipdlg.obj &\r
        $(OBJS)\advdll_treelist.obj &\r
        $(OBJS)\advdll_wizard.obj &\r
@@ -2865,13 +2872,14 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS =  &
        $(OBJS)\advdll_bmpcbox.obj &\r
        $(OBJS)\advdll_calctrl.obj &\r
        $(OBJS)\advdll_commandlinkbutton.obj &\r
-       $(OBJS)\advdll_datecontrols.obj &\r
-       $(OBJS)\advdll_datectrl.obj &\r
+       $(OBJS)\advdll_datecontrols.obj &
+       $(OBJS)\advdll_datectrl.obj &
        $(OBJS)\advdll_datetimectrl.obj &
-       $(OBJS)\advdll_hyperlink.obj\r
-!endif\r
-!ifeq WXUNIV 1\r
-____ADVANCED_SRC_FILENAMES_2_OBJECTS =  &\r
+       $(OBJS)\advdll_hyperlink.obj &
+       $(OBJS)\advdll_msw_timectrl.obj
+!endif
+!ifeq WXUNIV 1
+____ADVANCED_SRC_FILENAMES_2_OBJECTS =  &
        $(OBJS)\advdll_animatecmn.obj &\r
        $(OBJS)\advdll_bmpcboxcmn.obj &\r
        $(OBJS)\advdll_calctrlcmn.obj &\r
@@ -2899,6 +2907,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS =  &
        $(OBJS)\advdll_propdlg.obj &\r
        $(OBJS)\advdll_sashwin.obj &\r
        $(OBJS)\advdll_splash.obj &\r
+       $(OBJS)\advdll_generic_timectrl.obj &
        $(OBJS)\advdll_tipdlg.obj &\r
        $(OBJS)\advdll_treelist.obj &\r
        $(OBJS)\advdll_wizard.obj &\r
@@ -2949,6 +2958,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS =  &
        $(OBJS)\advlib_propdlg.obj &\r
        $(OBJS)\advlib_sashwin.obj &\r
        $(OBJS)\advlib_splash.obj &\r
+       $(OBJS)\advlib_generic_timectrl.obj &
        $(OBJS)\advlib_tipdlg.obj &\r
        $(OBJS)\advlib_treelist.obj &\r
        $(OBJS)\advlib_wizard.obj &\r
@@ -2962,13 +2972,14 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS =  &
        $(OBJS)\advlib_bmpcbox.obj &\r
        $(OBJS)\advlib_calctrl.obj &\r
        $(OBJS)\advlib_commandlinkbutton.obj &\r
-       $(OBJS)\advlib_datecontrols.obj &\r
-       $(OBJS)\advlib_datectrl.obj &\r
+       $(OBJS)\advlib_datecontrols.obj &
+       $(OBJS)\advlib_datectrl.obj &
        $(OBJS)\advlib_datetimectrl.obj &
-       $(OBJS)\advlib_hyperlink.obj\r
-!endif\r
-!ifeq WXUNIV 1\r
-____ADVANCED_SRC_FILENAMES_3_OBJECTS =  &\r
+       $(OBJS)\advlib_hyperlink.obj &
+       $(OBJS)\advlib_msw_timectrl.obj
+!endif
+!ifeq WXUNIV 1
+____ADVANCED_SRC_FILENAMES_3_OBJECTS =  &
        $(OBJS)\advlib_animatecmn.obj &\r
        $(OBJS)\advlib_bmpcboxcmn.obj &\r
        $(OBJS)\advlib_calctrlcmn.obj &\r
@@ -2996,6 +3007,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS =  &
        $(OBJS)\advlib_propdlg.obj &\r
        $(OBJS)\advlib_sashwin.obj &\r
        $(OBJS)\advlib_splash.obj &\r
+       $(OBJS)\advlib_generic_timectrl.obj &
        $(OBJS)\advlib_tipdlg.obj &\r
        $(OBJS)\advlib_treelist.obj &\r
        $(OBJS)\advlib_wizard.obj &\r
@@ -7143,6 +7155,9 @@ $(OBJS)\monodll_datetimectrl.obj :  .AUTODEPEND ..\..\src\msw\datetimectrl.cpp
 $(OBJS)\monodll_hyperlink.obj :  .AUTODEPEND ..\..\src\msw\hyperlink.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<\r
 \r
+$(OBJS)\monodll_msw_timectrl.obj :  .AUTODEPEND ..\..\src\msw\timectrl.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
+
 $(OBJS)\monodll_mediactrlcmn.obj :  .AUTODEPEND ..\..\src\common\mediactrlcmn.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<\r
 \r
@@ -8768,6 +8783,11 @@ $(OBJS)\monodll_splash.obj :  .AUTODEPEND ..\..\src\generic\splash.cpp
 !endif\r
 \r
 !ifeq USE_GUI 1\r
+$(OBJS)\monodll_generic_timectrl.obj :  .AUTODEPEND ..\..\src\generic\timectrl.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
+!endif
+
+!ifeq USE_GUI 1
 $(OBJS)\monodll_tipdlg.obj :  .AUTODEPEND ..\..\src\generic\tipdlg.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<\r
 !endif\r
@@ -9519,6 +9539,9 @@ $(OBJS)\monolib_datetimectrl.obj :  .AUTODEPEND ..\..\src\msw\datetimectrl.cpp
 $(OBJS)\monolib_hyperlink.obj :  .AUTODEPEND ..\..\src\msw\hyperlink.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<\r
 \r
+$(OBJS)\monolib_msw_timectrl.obj :  .AUTODEPEND ..\..\src\msw\timectrl.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
+
 $(OBJS)\monolib_mediactrlcmn.obj :  .AUTODEPEND ..\..\src\common\mediactrlcmn.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<\r
 \r
@@ -11144,6 +11167,11 @@ $(OBJS)\monolib_splash.obj :  .AUTODEPEND ..\..\src\generic\splash.cpp
 !endif\r
 \r
 !ifeq USE_GUI 1\r
+$(OBJS)\monolib_generic_timectrl.obj :  .AUTODEPEND ..\..\src\generic\timectrl.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
+!endif
+
+!ifeq USE_GUI 1
 $(OBJS)\monolib_tipdlg.obj :  .AUTODEPEND ..\..\src\generic\tipdlg.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<\r
 !endif\r
@@ -14795,6 +14823,9 @@ $(OBJS)\advdll_datetimectrl.obj :  .AUTODEPEND ..\..\src\msw\datetimectrl.cpp
 $(OBJS)\advdll_hyperlink.obj :  .AUTODEPEND ..\..\src\msw\hyperlink.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(ADVDLL_CXXFLAGS) $<\r
 \r
+$(OBJS)\advdll_msw_timectrl.obj :  .AUTODEPEND ..\..\src\msw\timectrl.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(ADVDLL_CXXFLAGS) $<
+
 $(OBJS)\advdll_animatecmn.obj :  .AUTODEPEND ..\..\src\common\animatecmn.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(ADVDLL_CXXFLAGS) $<\r
 \r
@@ -14876,6 +14907,9 @@ $(OBJS)\advdll_sashwin.obj :  .AUTODEPEND ..\..\src\generic\sashwin.cpp
 $(OBJS)\advdll_splash.obj :  .AUTODEPEND ..\..\src\generic\splash.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(ADVDLL_CXXFLAGS) $<\r
 \r
+$(OBJS)\advdll_generic_timectrl.obj :  .AUTODEPEND ..\..\src\generic\timectrl.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(ADVDLL_CXXFLAGS) $<
+
 $(OBJS)\advdll_tipdlg.obj :  .AUTODEPEND ..\..\src\generic\tipdlg.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(ADVDLL_CXXFLAGS) $<\r
 \r
@@ -14930,6 +14964,9 @@ $(OBJS)\advlib_datetimectrl.obj :  .AUTODEPEND ..\..\src\msw\datetimectrl.cpp
 $(OBJS)\advlib_hyperlink.obj :  .AUTODEPEND ..\..\src\msw\hyperlink.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(ADVLIB_CXXFLAGS) $<\r
 \r
+$(OBJS)\advlib_msw_timectrl.obj :  .AUTODEPEND ..\..\src\msw\timectrl.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(ADVLIB_CXXFLAGS) $<
+
 $(OBJS)\advlib_animatecmn.obj :  .AUTODEPEND ..\..\src\common\animatecmn.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(ADVLIB_CXXFLAGS) $<\r
 \r
@@ -15011,6 +15048,9 @@ $(OBJS)\advlib_sashwin.obj :  .AUTODEPEND ..\..\src\generic\sashwin.cpp
 $(OBJS)\advlib_splash.obj :  .AUTODEPEND ..\..\src\generic\splash.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(ADVLIB_CXXFLAGS) $<\r
 \r
+$(OBJS)\advlib_generic_timectrl.obj :  .AUTODEPEND ..\..\src\generic\timectrl.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(ADVLIB_CXXFLAGS) $<
+
 $(OBJS)\advlib_tipdlg.obj :  .AUTODEPEND ..\..\src\generic\tipdlg.cpp\r
        $(CXX) -bt=nt -zq -fo=$^@ $(ADVLIB_CXXFLAGS) $<\r
 \r
index b19a99847d729bcac382740aa6a1fe18f8c3d0f8..c207230558dd3ecb135f942625aa4698587899af 100644 (file)
@@ -551,6 +551,41 @@ SOURCE=..\..\src\msw\taskbar.cpp
 # End Source File\r
 # Begin Source File\r
 \r
+SOURCE=..\..\src\msw\timectrl.cpp
+
+!IF  "$(CFG)" == "adv - Win32 DLL Universal Release"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "adv - Win32 DLL Universal Debug"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "adv - Win32 DLL Release"
+
+
+!ELSEIF  "$(CFG)" == "adv - Win32 DLL Debug"
+
+
+!ELSEIF  "$(CFG)" == "adv - Win32 Universal Release"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "adv - Win32 Universal Debug"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "adv - Win32 Release"
+
+
+!ELSEIF  "$(CFG)" == "adv - Win32 Debug"
+
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
 SOURCE=..\..\src\msw\version.rc\r
 \r
 !IF  "$(CFG)" == "adv - Win32 DLL Universal Release"\r
@@ -674,6 +709,10 @@ SOURCE=..\..\src\generic\splash.cpp
 # End Source File\r
 # Begin Source File\r
 \r
+SOURCE=..\..\src\generic\timectrl.cpp
+# End Source File
+# Begin Source File
+
 SOURCE=..\..\src\generic\tipdlg.cpp\r
 # End Source File\r
 # Begin Source File\r
@@ -961,6 +1000,10 @@ SOURCE=..\..\include\wx\msw\sound.h
 \r
 SOURCE=..\..\include\wx\msw\taskbar.h\r
 # End Source File\r
+# Begin Source File
+
+SOURCE=..\..\include\wx\msw\timectrl.h
+# End Source File
 # End Group\r
 # Begin Group "Generic Headers"\r
 \r
@@ -1043,6 +1086,10 @@ SOURCE=..\..\include\wx\generic\splash.h
 # End Source File\r
 # Begin Source File\r
 \r
+SOURCE=..\..\include\wx\generic\timectrl.h
+# End Source File
+# Begin Source File
+
 SOURCE=..\..\include\wx\generic\wizard.h\r
 # End Source File\r
 # End Group\r
@@ -1143,6 +1190,10 @@ SOURCE=..\..\include\wx\taskbar.h
 # End Source File\r
 # Begin Source File\r
 \r
+SOURCE=..\..\include\wx\timectrl.h
+# End Source File
+# Begin Source File
+
 SOURCE=..\..\include\wx\tipdlg.h\r
 # End Source File\r
 # Begin Source File\r
index 467e05c009cc4aea78b5a2ba9a8370b39a1be818..61534fa9af1be5c4b7f2205bc611f5180cf1f604 100644 (file)
@@ -5404,6 +5404,10 @@ SOURCE=..\..\include\wx\msw\tglbtn.h
 # End Source File\r
 # Begin Source File\r
 \r
+SOURCE=..\..\include\wx\msw\timectrl.h
+# End Source File
+# Begin Source File
+
 SOURCE=..\..\include\wx\msw\toolbar.h\r
 # End Source File\r
 # Begin Source File\r
@@ -5676,6 +5680,10 @@ SOURCE=..\..\include\wx\generic\textdlgg.h
 # End Source File\r
 # Begin Source File\r
 \r
+SOURCE=..\..\include\wx\generic\timectrl.h
+# End Source File
+# Begin Source File
+
 SOURCE=..\..\include\wx\generic\treectlg.h\r
 # End Source File\r
 # Begin Source File\r
@@ -6884,6 +6892,10 @@ SOURCE=..\..\include\wx\tglbtn.h
 # End Source File\r
 # Begin Source File\r
 \r
+SOURCE=..\..\include\wx\timectrl.h
+# End Source File
+# Begin Source File
+
 SOURCE=..\..\include\wx\tipdlg.h\r
 # End Source File\r
 # Begin Source File\r
index a55f1b37007b7eb6d4a81c6846c045491e03acc4..73f27ad07069782de9570235a217b8b3a34d9f1d 100644 (file)
                                RelativePath="..\..\src\msw\taskbar.cpp">\r
                        </File>\r
                        <File\r
+                               RelativePath="..\..\src\msw\timectrl.cpp">
+                               <FileConfiguration
+                                       Name="Debug|Win32">
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswud\adv\msw_timectrl.obj"/>
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="Release|Win32">
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswu\adv\msw_timectrl.obj"/>
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="Universal Debug|Win32"
+                                       ExcludedFromBuild="TRUE"/>
+                               <FileConfiguration
+                                       Name="Universal Release|Win32"
+                                       ExcludedFromBuild="TRUE"/>
+                               <FileConfiguration
+                                       Name="DLL Debug|Win32">
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswuddll\adv\msw_timectrl.obj"/>
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="DLL Release|Win32">
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswudll\adv\msw_timectrl.obj"/>
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="DLL Universal Debug|Win32"
+                                       ExcludedFromBuild="TRUE"/>
+                               <FileConfiguration
+                                       Name="DLL Universal Release|Win32"
+                                       ExcludedFromBuild="TRUE"/>
+                       </File>
+                       <File
                                RelativePath="..\..\src\msw\version.rc">\r
                                <FileConfiguration\r
                                        Name="Debug|Win32"\r
                                RelativePath="..\..\src\generic\splash.cpp">\r
                        </File>\r
                        <File\r
+                               RelativePath="..\..\src\generic\timectrl.cpp">
+                               <FileConfiguration
+                                       Name="Debug|Win32">
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswud\adv\generic_timectrl.obj"/>
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="Release|Win32">
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswu\adv\generic_timectrl.obj"/>
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="Universal Debug|Win32">
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswunivud\adv\generic_timectrl.obj"/>
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="Universal Release|Win32">
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswunivu\adv\generic_timectrl.obj"/>
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="DLL Debug|Win32">
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswuddll\adv\generic_timectrl.obj"/>
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="DLL Release|Win32">
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswudll\adv\generic_timectrl.obj"/>
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="DLL Universal Debug|Win32">
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswunivuddll\adv\generic_timectrl.obj"/>
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="DLL Universal Release|Win32">
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswunivudll\adv\generic_timectrl.obj"/>
+                               </FileConfiguration>
+                       </File>
+                       <File
                                RelativePath="..\..\src\generic\tipdlg.cpp">\r
                        </File>\r
                        <File\r
                        <File\r
                                RelativePath="..\..\include\wx\msw\taskbar.h">\r
                        </File>\r
+                       <File
+                               RelativePath="..\..\include\wx\msw\timectrl.h">
+                       </File>
                </Filter>\r
                <Filter\r
                        Name="Generic Headers"\r
                                RelativePath="..\..\include\wx\generic\splash.h">\r
                        </File>\r
                        <File\r
+                               RelativePath="..\..\include\wx\generic\timectrl.h">
+                       </File>
+                       <File
                                RelativePath="..\..\include\wx\generic\wizard.h">\r
                        </File>\r
                </Filter>\r
                                RelativePath="..\..\include\wx\taskbar.h">\r
                        </File>\r
                        <File\r
+                               RelativePath="..\..\include\wx\timectrl.h">
+                       </File>
+                       <File
                                RelativePath="..\..\include\wx\tipdlg.h">\r
                        </File>\r
                        <File\r
index ee5dfe323e6172eb76d4cf0ffe2860e129ac5779..6f2167b36b32d0a0e0b268343a5d004f6281293f 100644 (file)
                                RelativePath="..\..\include\wx\msw\tglbtn.h">\r
                        </File>\r
                        <File\r
+                               RelativePath="..\..\include\wx\msw\timectrl.h">
+                       </File>
+                       <File
                                RelativePath="..\..\include\wx\msw\toolbar.h">\r
                        </File>\r
                        <File\r
                                RelativePath="..\..\include\wx\generic\textdlgg.h">\r
                        </File>\r
                        <File\r
+                               RelativePath="..\..\include\wx\generic\timectrl.h">
+                       </File>
+                       <File
                                RelativePath="..\..\include\wx\generic\treectlg.h">\r
                        </File>\r
                        <File\r
                                RelativePath="..\..\include\wx\tglbtn.h">\r
                        </File>\r
                        <File\r
+                               RelativePath="..\..\include\wx\timectrl.h">
+                       </File>
+                       <File
                                RelativePath="..\..\include\wx\tipdlg.h">\r
                        </File>\r
                        <File\r
index b5445e2fc8c8657d20f590d65b4f70766fd076eb..894041284b599b44b0b892cbae9e80c44567f60a 100644 (file)
                                >\r
                        </File>\r
                        <File\r
+                               RelativePath="..\..\src\msw\timectrl.cpp"
+                               >
+                               <FileConfiguration
+                                       Name="Debug|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswud\adv\msw_timectrl.obj"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="Release|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswu\adv\msw_timectrl.obj"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="Universal Debug|Win32"
+                                       ExcludedFromBuild="true"
+                               />
+                               <FileConfiguration
+                                       Name="Universal Release|Win32"
+                                       ExcludedFromBuild="true"
+                               />
+                               <FileConfiguration
+                                       Name="DLL Debug|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswuddll\adv\msw_timectrl.obj"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="DLL Release|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswudll\adv\msw_timectrl.obj"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="DLL Universal Debug|Win32"
+                                       ExcludedFromBuild="true"
+                               />
+                               <FileConfiguration
+                                       Name="DLL Universal Release|Win32"
+                                       ExcludedFromBuild="true"
+                               />
+                       </File>
+                       <File
                                RelativePath="..\..\src\msw\version.rc"\r
                                >\r
                                <FileConfiguration\r
                                >\r
                        </File>\r
                        <File\r
+                               RelativePath="..\..\src\generic\timectrl.cpp"
+                               >
+                               <FileConfiguration
+                                       Name="Debug|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswud\adv\generic_timectrl.obj"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="Release|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswu\adv\generic_timectrl.obj"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="Universal Debug|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswunivud\adv\generic_timectrl.obj"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="Universal Release|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswunivu\adv\generic_timectrl.obj"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="DLL Debug|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswuddll\adv\generic_timectrl.obj"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="DLL Release|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswudll\adv\generic_timectrl.obj"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="DLL Universal Debug|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswunivuddll\adv\generic_timectrl.obj"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="DLL Universal Release|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswunivudll\adv\generic_timectrl.obj"
+                                       />
+                               </FileConfiguration>
+                       </File>
+                       <File
                                RelativePath="..\..\src\generic\tipdlg.cpp"\r
                                >\r
                        </File>\r
                                RelativePath="..\..\include\wx\msw\taskbar.h"\r
                                >\r
                        </File>\r
+                       <File
+                               RelativePath="..\..\include\wx\msw\timectrl.h"
+                               >
+                       </File>
                </Filter>\r
                <Filter\r
                        Name="Generic Headers"\r
                                >\r
                        </File>\r
                        <File\r
+                               RelativePath="..\..\include\wx\generic\timectrl.h"
+                               >
+                       </File>
+                       <File
                                RelativePath="..\..\include\wx\generic\wizard.h"\r
                                >\r
                        </File>\r
                                >\r
                        </File>\r
                        <File\r
+                               RelativePath="..\..\include\wx\timectrl.h"
+                               >
+                       </File>
+                       <File
                                RelativePath="..\..\include\wx\tipdlg.h"\r
                                >\r
                        </File>\r
index 0be72503f0c9495ba6a0ac9d575880827636e872..400fa42735b260b5c06edd2d0dfb9341d94ea887 100644 (file)
                                >\r
                        </File>\r
                        <File\r
+                               RelativePath="..\..\include\wx\msw\timectrl.h"
+                               >
+                       </File>
+                       <File
                                RelativePath="..\..\include\wx\msw\toolbar.h"\r
                                >\r
                        </File>\r
                                >\r
                        </File>\r
                        <File\r
+                               RelativePath="..\..\include\wx\generic\timectrl.h"
+                               >
+                       </File>
+                       <File
                                RelativePath="..\..\include\wx\generic\treectlg.h"\r
                                >\r
                        </File>\r
                                >\r
                        </File>\r
                        <File\r
+                               RelativePath="..\..\include\wx\timectrl.h"
+                               >
+                       </File>
+                       <File
                                RelativePath="..\..\include\wx\tipdlg.h"\r
                                >\r
                        </File>\r
index 598252c31529f9cb6c9248b500ea51d02cddd55b..9d0358931d12544684b14248915c58b74f71166d 100644 (file)
                                >\r
                        </File>\r
                        <File\r
+                               RelativePath="..\..\src\msw\timectrl.cpp"
+                               >
+                               <FileConfiguration
+                                       Name="Debug|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswud\adv\msw_timectrl.obj"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="Release|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswu\adv\msw_timectrl.obj"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="Universal Debug|Win32"
+                                       ExcludedFromBuild="true"
+                               />
+                               <FileConfiguration
+                                       Name="Universal Release|Win32"
+                                       ExcludedFromBuild="true"
+                               />
+                               <FileConfiguration
+                                       Name="DLL Debug|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswuddll\adv\msw_timectrl.obj"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="DLL Release|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswudll\adv\msw_timectrl.obj"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="DLL Universal Debug|Win32"
+                                       ExcludedFromBuild="true"
+                               />
+                               <FileConfiguration
+                                       Name="DLL Universal Release|Win32"
+                                       ExcludedFromBuild="true"
+                               />
+                       </File>
+                       <File
                                RelativePath="..\..\src\msw\version.rc"\r
                                >\r
                                <FileConfiguration\r
                                >\r
                        </File>\r
                        <File\r
+                               RelativePath="..\..\src\generic\timectrl.cpp"
+                               >
+                               <FileConfiguration
+                                       Name="Debug|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswud\adv\generic_timectrl.obj"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="Release|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswu\adv\generic_timectrl.obj"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="Universal Debug|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswunivud\adv\generic_timectrl.obj"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="Universal Release|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswunivu\adv\generic_timectrl.obj"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="DLL Debug|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswuddll\adv\generic_timectrl.obj"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="DLL Release|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswudll\adv\generic_timectrl.obj"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="DLL Universal Debug|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswunivuddll\adv\generic_timectrl.obj"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="DLL Universal Release|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               ObjectFile="vc_mswunivudll\adv\generic_timectrl.obj"
+                                       />
+                               </FileConfiguration>
+                       </File>
+                       <File
                                RelativePath="..\..\src\generic\tipdlg.cpp"\r
                                >\r
                        </File>\r
                                RelativePath="..\..\include\wx\msw\taskbar.h"\r
                                >\r
                        </File>\r
+                       <File
+                               RelativePath="..\..\include\wx\msw\timectrl.h"
+                               >
+                       </File>
                </Filter>\r
                <Filter\r
                        Name="Generic Headers"\r
                                >\r
                        </File>\r
                        <File\r
+                               RelativePath="..\..\include\wx\generic\timectrl.h"
+                               >
+                       </File>
+                       <File
                                RelativePath="..\..\include\wx\generic\wizard.h"\r
                                >\r
                        </File>\r
                                >\r
                        </File>\r
                        <File\r
+                               RelativePath="..\..\include\wx\timectrl.h"
+                               >
+                       </File>
+                       <File
                                RelativePath="..\..\include\wx\tipdlg.h"\r
                                >\r
                        </File>\r
index 24281624f1dac742dfed03f8c755e52944f207a2..f8cc2d1d5582d009e1b552c6f178b6f9d3bf5fe4 100644 (file)
                                >\r
                        </File>\r
                        <File\r
+                               RelativePath="..\..\include\wx\msw\timectrl.h"
+                               >
+                       </File>
+                       <File
                                RelativePath="..\..\include\wx\msw\toolbar.h"\r
                                >\r
                        </File>\r
                                >\r
                        </File>\r
                        <File\r
+                               RelativePath="..\..\include\wx\generic\timectrl.h"
+                               >
+                       </File>
+                       <File
                                RelativePath="..\..\include\wx\generic\treectlg.h"\r
                                >\r
                        </File>\r
                                >\r
                        </File>\r
                        <File\r
+                               RelativePath="..\..\include\wx\timectrl.h"
+                               >
+                       </File>
+                       <File
                                RelativePath="..\..\include\wx\tipdlg.h"\r
                                >\r
                        </File>\r
index 33c7decccecc1eac96b88e9a74380ccbf1f309b4..4a875dff04e143363bb343e92465f23128840e9d 100755 (executable)
--- a/configure
+++ b/configure
@@ -1870,6 +1870,7 @@ Optional Features:
   --enable-taskbaricon    use wxTaskBarIcon class
   --enable-tbarnative     use native wxToolBar class
   --enable-textctrl       use wxTextCtrl class
+  --enable-timepick       use wxTimePickerCtrl class
   --enable-tipwindow      use wxTipWindow class
   --enable-togglebtn      use wxToggleButton class
   --enable-toolbar        use wxToolBar class
@@ -9911,6 +9912,7 @@ if test "$wxUSE_CONTROLS" = "no"; then
     DEFAULT_wxUSE_STATBOX=no
     DEFAULT_wxUSE_STATLINE=no
     DEFAULT_wxUSE_STATUSBAR=no
+    DEFAULT_wxUSE_TIMEPICKCTRL=no
     DEFAULT_wxUSE_TIPWINDOW=no
     DEFAULT_wxUSE_TOGGLEBTN=no
     DEFAULT_wxUSE_TOOLBAR=no
 echo "${ECHO_T}$result" >&6; }
 
 
+          enablestring=
+          defaultval=$wxUSE_ALL_FEATURES
+          if test -z "$defaultval"; then
+              if test x"$enablestring" = xdisable; then
+                  defaultval=yes
+              else
+                  defaultval=no
+              fi
+          fi
+
+          { echo "$as_me:$LINENO: checking for --${enablestring:-enable}-datepick" >&5
+echo $ECHO_N "checking for --${enablestring:-enable}-datepick... $ECHO_C" >&6; }
+          # Check whether --enable-datepick was given.
+if test "${enable_datepick+set}" = set; then
+  enableval=$enable_datepick;
+                          if test "$enableval" = yes; then
+                            wx_cv_use_datepick='wxUSE_TIMEPICKCTRL=yes'
+                          else
+                            wx_cv_use_datepick='wxUSE_TIMEPICKCTRL=no'
+                          fi
+
+else
+
+                          wx_cv_use_datepick='wxUSE_TIMEPICKCTRL=${'DEFAULT_wxUSE_TIMEPICKCTRL":-$defaultval}"
+
+fi
+
+
+          eval "$wx_cv_use_datepick"
+
+          if test x"$enablestring" = xdisable; then
+            if test $wxUSE_TIMEPICKCTRL = no; then
+              result=yes
+            else
+              result=no
+            fi
+          else
+            result=$wxUSE_TIMEPICKCTRL
+          fi
+
+          { echo "$as_me:$LINENO: result: $result" >&5
+echo "${ECHO_T}$result" >&6; }
+
+
           enablestring=
           defaultval=$wxUSE_ALL_FEATURES
           if test -z "$defaultval"; then
@@ -47955,6 +48001,14 @@ _ACEOF
 
 fi
 
+if test "$wxUSE_TIMEPICKCTRL" = "yes"; then
+  cat >>confdefs.h <<\_ACEOF
+#define wxUSE_TIMEPICKCTRL 1
+_ACEOF
+
+  USES_CONTROLS=1
+fi
+
 if test "$wxUSE_TOGGLEBTN" = "yes"; then
     if test "$wxUSE_OLD_COCOA" = 1 ; then
         { echo "$as_me:$LINENO: WARNING: Toggle button not yet supported under Mac OS X... disabled" >&5
index a45717410e0f6535356bfc429f61be7b6d3419bd..06768cdcf402be79a842b10c8fc1b2dca52b6af2 100644 (file)
@@ -927,6 +927,7 @@ if test "$wxUSE_CONTROLS" = "no"; then
     DEFAULT_wxUSE_STATBOX=no
     DEFAULT_wxUSE_STATLINE=no
     DEFAULT_wxUSE_STATUSBAR=no
+    DEFAULT_wxUSE_TIMEPICKCTRL=no
     DEFAULT_wxUSE_TIPWINDOW=no
     DEFAULT_wxUSE_TOGGLEBTN=no
     DEFAULT_wxUSE_TOOLBAR=no
@@ -1002,6 +1003,7 @@ WX_ARG_FEATURE(statusbar,   [  --enable-statusbar      use wxStatusBar class], w
 WX_ARG_FEATURE(taskbaricon, [  --enable-taskbaricon    use wxTaskBarIcon class], wxUSE_TASKBARICON)
 WX_ARG_FEATURE(tbarnative,  [  --enable-tbarnative     use native wxToolBar class], wxUSE_TOOLBAR_NATIVE)
 WX_ARG_FEATURE(textctrl,    [  --enable-textctrl       use wxTextCtrl class], wxUSE_TEXTCTRL)
+WX_ARG_FEATURE(datepick,    [  --enable-timepick       use wxTimePickerCtrl class], wxUSE_TIMEPICKCTRL)
 WX_ARG_FEATURE(tipwindow,   [  --enable-tipwindow      use wxTipWindow class], wxUSE_TIPWINDOW)
 WX_ARG_FEATURE(togglebtn,   [  --enable-togglebtn      use wxToggleButton class], wxUSE_TOGGLEBTN)
 WX_ARG_FEATURE(toolbar,     [  --enable-toolbar        use wxToolBar class], wxUSE_TOOLBAR)
@@ -7110,6 +7112,11 @@ if test "$wxUSE_TEXTCTRL" = "yes"; then
     AC_DEFINE(wxUSE_RICHEDIT2)
 fi
 
+if test "$wxUSE_TIMEPICKCTRL" = "yes"; then
+  AC_DEFINE(wxUSE_TIMEPICKCTRL)
+  USES_CONTROLS=1
+fi
+
 if test "$wxUSE_TOGGLEBTN" = "yes"; then
     if test "$wxUSE_OLD_COCOA" = 1 ; then
         AC_MSG_WARN([Toggle button not yet supported under Mac OS X... disabled])
index 921285e5ca5e4497f60790807ff326a15ecf2dad..207808e4d8f1df43d514b47c028ce93f8f8b5454 100644 (file)
@@ -452,6 +452,7 @@ All:
 All (GUI):
 
 - Added wxTreeListCtrl class.
+- Added wxTimePickerCtrl class.
 - Added documented, public wxNavigationEnabled<> class.
 - Added wxTextCtrl::PositionToCoords() (Navaneeth).
 - Added support for wxHELP button to wxMessageDialog.
diff --git a/docs/doxygen/images/wxmsw/timepickerctrl.png b/docs/doxygen/images/wxmsw/timepickerctrl.png
new file mode 100644 (file)
index 0000000..6cc4c99
Binary files /dev/null and b/docs/doxygen/images/wxmsw/timepickerctrl.png differ
index fc4612f7aec51464be26aa7917af98707c434104..cbe16ae77842de8a31d87eae7cafa50d62206d75 100644 (file)
 #   endif
 #endif /* !defined(wxUSE_TEXTCTRL) */
 
+#ifndef wxUSE_TIMEPICKCTRL
+#   ifdef wxABORT_ON_CONFIG_ERROR
+#       error "wxUSE_TIMEPICKCTRL must be defined, please read comment near the top of this file."
+#   else
+#       define wxUSE_TIMEPICKCTRL 0
+#   endif
+#endif /* !defined(wxUSE_TIMEPICKCTRL) */
+
 #ifndef wxUSE_TIPWINDOW
 #   ifdef wxABORT_ON_CONFIG_ERROR
 #       error "wxUSE_TIPWINDOW must be defined, please read comment near the top of this file."
 #   endif
 #endif /* wxUSE_CALENDARCTRL */
 
-#if wxUSE_DATEPICKCTRL
+#if wxUSE_DATEPICKCTRL || wxUSE_TIMEPICKCTRL
 #   if !wxUSE_DATETIME
 #       ifdef wxABORT_ON_CONFIG_ERROR
-#           error "wxDatePickerCtrl requires wxUSE_DATETIME"
+#           error "wxDatePickerCtrl and wxTimePickerCtrl requires wxUSE_DATETIME"
 #       else
 #           undef wxUSE_DATETIME
 #           define wxUSE_DATETIME 1
 #       endif
 #   endif
-#endif /* wxUSE_DATEPICKCTRL */
+#endif /* wxUSE_DATEPICKCTRL || wxUSE_TIMEPICKCTRL */
 
 #if wxUSE_CHECKLISTBOX
 #   if !wxUSE_LISTBOX
index b6cec94f9c33f5d77f81136cac1c8bda3cea2218..8364efb4029953b8eaab165efaf2a96c3c4ab881 100644 (file)
@@ -17,7 +17,7 @@
 #include "wx/window.h"
 
 // ----------------------------------------------------------------------------
-// wxDateEvent: used by wxCalendarCtrl and wxDatePickerCtrl
+// wxDateEvent: used by wxCalendarCtrl, wxDatePickerCtrl and wxTimePickerCtrl.
 // ----------------------------------------------------------------------------
 
 class WXDLLIMPEXP_ADV wxDateEvent : public wxCommandEvent
@@ -48,6 +48,7 @@ private:
 // ----------------------------------------------------------------------------
 
 wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_ADV, wxEVT_DATE_CHANGED, wxDateEvent);
+wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_ADV, wxEVT_TIME_CHANGED, wxDateEvent);
 
 typedef void (wxEvtHandler::*wxDateEventFunction)(wxDateEvent&);
 
@@ -57,5 +58,8 @@ typedef void (wxEvtHandler::*wxDateEventFunction)(wxDateEvent&);
 #define EVT_DATE_CHANGED(id, fn) \
     wx__DECLARE_EVT1(wxEVT_DATE_CHANGED, id, wxDateEventHandler(fn))
 
+#define EVT_TIME_CHANGED(id, fn) \
+    wx__DECLARE_EVT1(wxEVT_TIME_CHANGED, id, wxDateEventHandler(fn))
+
 #endif // _WX_DATEEVT_H_
 
index 90da113f99135105d21e0636ecf5b9575fed5d28..453c9174b53bd68575164eb864d3bedac1eb3942 100644 (file)
@@ -13,7 +13,7 @@
 
 #include "wx/defs.h"
 
-#if wxUSE_DATEPICKCTRL
+#if wxUSE_DATEPICKCTRL || wxUSE_TIMEPICKCTRL
 
 #define wxNEEDS_DATETIMEPICKCTRL
 
@@ -43,6 +43,6 @@ public:
     typedef wxDateTimePickerCtrlBase wxDateTimePickerCtrl;
 #endif
 
-#endif // wxUSE_DATEPICKCTRL
+#endif // wxUSE_DATEPICKCTRL || wxUSE_TIMEPICKCTRL
 
 #endif // _WX_DATETIME_CTRL_H_
diff --git a/include/wx/generic/timectrl.h b/include/wx/generic/timectrl.h
new file mode 100644 (file)
index 0000000..e2052cc
--- /dev/null
@@ -0,0 +1,93 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        wx/generic/timectrl.h
+// Purpose:     Generic implementation of wxTimePickerCtrl.
+// Author:      Paul Breen, Vadim Zeitlin
+// Created:     2011-09-22
+// 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_GENERIC_TIMECTRL_H_
+#define _WX_GENERIC_TIMECTRL_H_
+
+#include "wx/containr.h"
+#include "wx/compositewin.h"
+
+class WXDLLIMPEXP_ADV wxTimePickerCtrlGeneric
+    : public wxCompositeWindow< wxNavigationEnabled<wxTimePickerCtrlBase> >
+{
+public:
+    typedef wxCompositeWindow< wxNavigationEnabled<wxTimePickerCtrlBase> > Base;
+
+    // Creating the control.
+    wxTimePickerCtrlGeneric() { Init(); }
+    virtual ~wxTimePickerCtrlGeneric();
+    wxTimePickerCtrlGeneric(wxWindow *parent,
+                            wxWindowID id,
+                            const wxDateTime& date = wxDefaultDateTime,
+                            const wxPoint& pos = wxDefaultPosition,
+                            const wxSize& size = wxDefaultSize,
+                            long style = wxTP_DEFAULT,
+                            const wxValidator& validator = wxDefaultValidator,
+                            const wxString& name = wxTimePickerCtrlNameStr)
+    {
+        Init();
+
+        (void)Create(parent, id, date, pos, size, style, validator, name);
+    }
+
+    bool Create(wxWindow *parent,
+                wxWindowID id,
+                const wxDateTime& date = wxDefaultDateTime,
+                const wxPoint& pos = wxDefaultPosition,
+                const wxSize& size = wxDefaultSize,
+                long style = wxTP_DEFAULT,
+                const wxValidator& validator = wxDefaultValidator,
+                const wxString& name = wxTimePickerCtrlNameStr);
+
+    // Implement pure virtual wxTimePickerCtrlBase methods.
+    virtual void SetValue(const wxDateTime& date);
+    virtual wxDateTime GetValue() const;
+
+protected:
+    virtual wxSize DoGetBestSize() const;
+
+    virtual void DoMoveWindow(int x, int y, int width, int height);
+
+    // This is a really ugly hack but to compile this class in wxMSW we must
+    // define these functions even though they are never called because they're
+    // only used by the native implementation.
+#ifdef __WXMSW__
+    virtual wxLocaleInfo MSWGetFormat() const
+    {
+        wxFAIL_MSG( "Unreachable" );
+        return wxLOCALE_TIME_FMT;
+    }
+
+    virtual bool MSWAllowsNone() const
+    {
+        wxFAIL_MSG( "Unreachable" );
+        return false;
+    }
+
+    virtual bool MSWOnDateTimeChange(const tagNMDATETIMECHANGE& WXUNUSED(dtch))
+    {
+        wxFAIL_MSG( "Unreachable" );
+        return false;
+    }
+#endif // __WXMSW__
+
+private:
+    void Init();
+
+    // Return the list of the windows composing this one.
+    virtual wxWindowList GetCompositeWindowParts() const;
+
+    // Implementation data.
+    class wxTimePickerGenericImpl* m_impl;
+
+    wxDECLARE_NO_COPY_CLASS(wxTimePickerCtrlGeneric);
+};
+
+#endif // _WX_GENERIC_TIMECTRL_H_
index 53a9f15ef3e459597e14f4ac0c49c0622e78226b..72c3721f07e0ec49f67f4c90ddc992bc5c28cfe3 100644 (file)
 #define wxUSE_STATTEXT      1   // wxStaticText
 #define wxUSE_STATBMP       1   // wxStaticBitmap
 #define wxUSE_TEXTCTRL      1   // wxTextCtrl
+#define wxUSE_TIMEPICKCTRL  1   // wxTimePickerCtrl
 #define wxUSE_TOGGLEBTN     1   // requires wxButton
 #define wxUSE_TREECTRL      1   // wxTreeCtrl
 #define wxUSE_TREELISTCTRL  1   // wxTreeListCtrl
index 4112a5a5b28f7264e575d5c48afaa1d4301bbd41..a8f62e2241ab0c1862d6203041eb892c48aff9f5 100644 (file)
 #define wxUSE_STATTEXT      1   // wxStaticText
 #define wxUSE_STATBMP       1   // wxStaticBitmap
 #define wxUSE_TEXTCTRL      1   // wxTextCtrl
+#define wxUSE_TIMEPICKCTRL  1   // wxTimePickerCtrl
 #define wxUSE_TOGGLEBTN     1   // requires wxButton
 #define wxUSE_TREECTRL      1   // wxTreeCtrl
 #define wxUSE_TREELISTCTRL  1   // wxTreeListCtrl
 // Recommended setting: 0, this is mainly used for testing
 #define wxUSE_DATEPICKCTRL_GENERIC 0
 
+// Set this to 1 to be able to use wxTimePickerCtrlGeneric in addition to the
+// native wxTimePickerCtrl for the platforms that have the latter (MSW).
+//
+// Default is 0.
+//
+// Recommended setting: 0, this is mainly used for testing
+#define wxUSE_TIMEPICKCTRL_GENERIC 0
+
 // ----------------------------------------------------------------------------
 // Crash debugging helpers
 // ----------------------------------------------------------------------------
index 74efe5b8d01e4cf377456bc327bf0aa8a80e2d88..ead970f51d6b85d33ab7d442174ae55fcd9db8ac 100644 (file)
 // Recommended setting: 0, this is mainly used for testing
 #define wxUSE_DATEPICKCTRL_GENERIC 0
 
+// Set this to 1 to be able to use wxTimePickerCtrlGeneric in addition to the
+// native wxTimePickerCtrl for the platforms that have the latter (MSW).
+//
+// Default is 0.
+//
+// Recommended setting: 0, this is mainly used for testing
+#define wxUSE_TIMEPICKCTRL_GENERIC 0
+
 // ----------------------------------------------------------------------------
 // Crash debugging helpers
 // ----------------------------------------------------------------------------
diff --git a/include/wx/msw/timectrl.h b/include/wx/msw/timectrl.h
new file mode 100644 (file)
index 0000000..4ee7fa0
--- /dev/null
@@ -0,0 +1,61 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        wx/msw/timectrl.h
+// Purpose:     wxTimePickerCtrl for Windows.
+// Author:      Vadim Zeitlin
+// Created:     2011-09-22
+// RCS-ID:      $Id$
+// Copyright:   (c) 2011 Vadim Zeitlin <vadim@wxwindows.org>
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_MSW_TIMECTRL_H_
+#define _WX_MSW_TIMECTRL_H_
+
+// ----------------------------------------------------------------------------
+// wxTimePickerCtrl
+// ----------------------------------------------------------------------------
+
+class WXDLLIMPEXP_ADV wxTimePickerCtrl : public wxTimePickerCtrlBase
+{
+public:
+    // ctors
+    wxTimePickerCtrl() { }
+
+    wxTimePickerCtrl(wxWindow *parent,
+                     wxWindowID id,
+                     const wxDateTime& dt = wxDefaultDateTime,
+                     const wxPoint& pos = wxDefaultPosition,
+                     const wxSize& size = wxDefaultSize,
+                     long style = wxTP_DEFAULT,
+                     const wxValidator& validator = wxDefaultValidator,
+                     const wxString& name = wxTimePickerCtrlNameStr)
+    {
+        Create(parent, id, dt, pos, size, style, validator, name);
+    }
+
+    bool Create(wxWindow *parent,
+                wxWindowID id,
+                const wxDateTime& dt = wxDefaultDateTime,
+                const wxPoint& pos = wxDefaultPosition,
+                const wxSize& size = wxDefaultSize,
+                long style = wxTP_DEFAULT,
+                const wxValidator& validator = wxDefaultValidator,
+                const wxString& name = wxTimePickerCtrlNameStr)
+    {
+        return MSWCreateDateTimePicker(parent, id, dt,
+                                       pos, size, style,
+                                       validator, name);
+    }
+
+    // Override MSW-specific functions used during control creation.
+    virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const;
+
+protected:
+    virtual wxLocaleInfo MSWGetFormat() const;
+    virtual bool MSWAllowsNone() const { return false; }
+    virtual bool MSWOnDateTimeChange(const tagNMDATETIMECHANGE& dtch);
+
+    wxDECLARE_DYNAMIC_CLASS_NO_COPY(wxTimePickerCtrl);
+};
+
+#endif // _WX_MSW_TIMECTRL_H_
index a953589934b5b25ba2e73ca52a4598482c23f622..a1a8bb702a7f24e3723bdad5bd7ffd17f87c22f6 100644 (file)
 #define wxUSE_STATTEXT      1   // wxStaticText
 #define wxUSE_STATBMP       1   // wxStaticBitmap
 #define wxUSE_TEXTCTRL      1   // wxTextCtrl
+#define wxUSE_TIMEPICKCTRL  1   // wxTimePickerCtrl
 #define wxUSE_TOGGLEBTN     1   // requires wxButton
 #define wxUSE_TREECTRL      1   // wxTreeCtrl
 #define wxUSE_TREELISTCTRL  1   // wxTreeListCtrl
index 74975fb319cabdd961049c83b70c5df4c7c5fefa..3f7ba32ff7f52aaf675e5c80df1e393fc9a25ea3 100644 (file)
 #define wxUSE_STATTEXT      1   // wxStaticText
 #define wxUSE_STATBMP       1   // wxStaticBitmap
 #define wxUSE_TEXTCTRL      1   // wxTextCtrl
+#define wxUSE_TIMEPICKCTRL  1   // wxTimePickerCtrl
 #define wxUSE_TOGGLEBTN     1   // requires wxButton
 #define wxUSE_TREECTRL      1   // wxTreeCtrl
 #define wxUSE_TREELISTCTRL  1   // wxTreeListCtrl
index e9c75bf7f939ffecdb14e8e7c9d75f9167d0ad3f..db61cb128f4cc08b726e444af4b5f48590355772 100644 (file)
 #define wxUSE_STATTEXT      1   // wxStaticText
 #define wxUSE_STATBMP       1   // wxStaticBitmap
 #define wxUSE_TEXTCTRL      1   // wxTextCtrl
+#define wxUSE_TIMEPICKCTRL  1   // wxTimePickerCtrl
 #define wxUSE_TOGGLEBTN     1   // requires wxButton
 #define wxUSE_TREECTRL      1   // wxTreeCtrl
 #define wxUSE_TREELISTCTRL  1   // wxTreeListCtrl
index 9532fdf3b99b5d15ffbd17ccb6ffb78f3e3f247d..d2384305df6bacf7c82902c211368e76a08acd91 100644 (file)
 #define wxUSE_STATTEXT      1   // wxStaticText
 #define wxUSE_STATBMP       1   // wxStaticBitmap
 #define wxUSE_TEXTCTRL      1   // wxTextCtrl
+#define wxUSE_TIMEPICKCTRL  1   // wxTimePickerCtrl
 #define wxUSE_TOGGLEBTN     1   // requires wxButton
 #define wxUSE_TREECTRL      1   // wxTreeCtrl
 #define wxUSE_TREELISTCTRL  1   // wxTreeListCtrl
index 2b3ce56c6e4f6d7d3d53fb53a9090374d7bf0571..4168e64d59173778c3e1d8fc079b994a2ad04196 100644 (file)
 #define wxUSE_STATTEXT      1   // wxStaticText
 #define wxUSE_STATBMP       1   // wxStaticBitmap
 #define wxUSE_TEXTCTRL      1   // wxTextCtrl
+#define wxUSE_TIMEPICKCTRL  1   // wxTimePickerCtrl
 #define wxUSE_TOGGLEBTN     1   // requires wxButton
 #define wxUSE_TREECTRL      1   // wxTreeCtrl
 #define wxUSE_TREELISTCTRL  1   // wxTreeListCtrl
diff --git a/include/wx/timectrl.h b/include/wx/timectrl.h
new file mode 100644 (file)
index 0000000..0bc9db7
--- /dev/null
@@ -0,0 +1,88 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        wx/timectrl.h
+// Purpose:     Declaration of wxTimePickerCtrl class.
+// Author:      Vadim Zeitlin
+// Created:     2011-09-22
+// 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_TIMECTRL_H_
+#define _WX_TIMECTRL_H_
+
+#include "wx/defs.h"
+
+#if wxUSE_TIMEPICKCTRL
+
+#include "wx/datetimectrl.h"
+
+#define wxTimePickerCtrlNameStr wxS("timectrl")
+
+// No special styles are currently defined for this control but still define a
+// symbolic constant for the default style for consistency.
+enum
+{
+    wxTP_DEFAULT = 0
+};
+
+// ----------------------------------------------------------------------------
+// wxTimePickerCtrl: Allow the user to enter the time.
+// ----------------------------------------------------------------------------
+
+class WXDLLIMPEXP_ADV wxTimePickerCtrlBase : public wxDateTimePickerCtrl
+{
+public:
+    /*
+        The derived classes should implement ctor and Create() method with the
+        following signature:
+
+        bool Create(wxWindow *parent,
+                    wxWindowID id,
+                    const wxDateTime& dt = wxDefaultDateTime,
+                    const wxPoint& pos = wxDefaultPosition,
+                    const wxSize& size = wxDefaultSize,
+                    long style = wxTP_DEFAULT,
+                    const wxValidator& validator = wxDefaultValidator,
+                    const wxString& name = wxTimePickerCtrlNameStr);
+     */
+
+    /*
+        We also inherit Set/GetValue() methods from the base class which define
+        our public API. Notice that the date portion of the date passed as
+        input is ignored and for the result date it's always today, but only
+        the time part of wxDateTime objects is really significant here.
+     */
+};
+
+#if defined(__WXMSW__) && !defined(__WXUNIVERSAL__)
+    #include "wx/msw/timectrl.h"
+
+    #define wxHAS_NATIVE_TIMEPICKERCTRL
+#else
+    #include "wx/generic/timectrl.h"
+
+    class WXDLLIMPEXP_ADV wxTimePickerCtrl : public wxTimePickerCtrlGeneric
+    {
+    public:
+        wxTimePickerCtrl() { }
+        wxTimePickerCtrl(wxWindow *parent,
+                         wxWindowID id,
+                         const wxDateTime& date = wxDefaultDateTime,
+                         const wxPoint& pos = wxDefaultPosition,
+                         const wxSize& size = wxDefaultSize,
+                         long style = wxTP_DEFAULT,
+                         const wxValidator& validator = wxDefaultValidator,
+                         const wxString& name = wxTimePickerCtrlNameStr)
+            : wxTimePickerCtrlGeneric(parent, id, date, pos, size, style, validator, name)
+        {
+        }
+
+    private:
+        wxDECLARE_DYNAMIC_CLASS_NO_COPY(wxTimePickerCtrl);
+    };
+#endif
+
+#endif // wxUSE_TIMEPICKCTRL
+
+#endif // _WX_TIMECTRL_H_
index cedab2e3e8e49aa536d21ea48d82058633ec6dd3..632c93a5b0e012e6b4174697823e35840bd4a4f3 100644 (file)
 #define wxUSE_STATTEXT      1   // wxStaticText
 #define wxUSE_STATBMP       1   // wxStaticBitmap
 #define wxUSE_TEXTCTRL      1   // wxTextCtrl
+#define wxUSE_TIMEPICKCTRL  1   // wxTimePickerCtrl
 #define wxUSE_TOGGLEBTN     1   // requires wxButton
 #define wxUSE_TREECTRL      1   // wxTreeCtrl
 #define wxUSE_TREELISTCTRL  1   // wxTreeListCtrl
diff --git a/interface/wx/timectrl.h b/interface/wx/timectrl.h
new file mode 100644 (file)
index 0000000..41bbc54
--- /dev/null
@@ -0,0 +1,108 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        wx/timectrl.h
+// Purpose:     interface of wxTimePickerCtrl
+// Author:      Vadim Zeitlin
+// Created:     2011-09-22
+// RCS-ID:      $Id$
+// Copyright:   (c) 2011 Vadim Zeitlin <vadim@wxwidgets.org>
+// Licence:     wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+/**
+    @class wxTimePickerCtrl
+
+    This control allows the user to enter time.
+
+    It is similar to wxDatePickerCtrl but is used for time, and not date,
+    selection. While GetValue() and SetValue() still work with values of type
+    wxDateTime (because wxWidgets doesn't provide a time-only class), their
+    date part is ignored by this control.
+
+    It is only available if @c wxUSE_TIMEPICKCTRL is set to 1.
+
+    This control currently doesn't have any specific flags.
+
+    @beginEventEmissionTable{wxDateEvent}
+    @event{EVT_TIME_CHANGED(id, func)}
+           This event fires when the user changes the current selection in the
+           control.
+    @endEventTable
+
+    @library{wxadv}
+    @category{pickers}
+    @appearance{timepickerctrl.png}
+
+    @see wxDatePickerCtrl, wxDateEvent
+
+    @since 2.9.3
+*/
+class wxTimePickerCtrl : public wxControl
+{
+public:
+    /**
+        Initializes the object and calls Create() with all the parameters.
+    */
+    wxTimePickerCtrl(wxWindow* parent, wxWindowID id,
+                     const wxDateTime& dt = wxDefaultDateTime,
+                     const wxPoint& pos = wxDefaultPosition,
+                     const wxSize& size = wxDefaultSize,
+                     long style = wxTP_DEFAULT,
+                     const wxValidator& validator = wxDefaultValidator,
+                     const wxString& name = "timectrl");
+
+    /**
+        Create the control window.
+
+        This method should only be used for objects created using default
+        constructor.
+
+        @param parent
+            Parent window, must not be non-@NULL.
+        @param id
+            The identifier for the control.
+        @param dt
+            The initial value of the control, if an invalid date (such as the
+            default value) is used, the control is set to current time.
+        @param pos
+            Initial position.
+        @param size
+            Initial size. If left at default value, the control chooses its own
+            best size by using the height approximately equal to a text control
+            and width large enough to show the time fully.
+        @param style
+            The window style, should be left at 0 as there are no special
+            styles for this control in this version.
+        @param validator
+            Validator which can be used for additional checks.
+        @param name
+            Control name.
+
+        @return @true if the control was successfully created or @false if
+                 creation failed.
+    */
+    bool Create(wxWindow* parent, wxWindowID id,
+                const wxDateTime& dt = wxDefaultDateTime,
+                const wxPoint& pos = wxDefaultPosition,
+                const wxSize& size = wxDefaultSize,
+                long style = wxDP_DEFAULT | wxDP_SHOWCENTURY,
+                const wxValidator& validator = wxDefaultValidator,
+                const wxString& name = "timectrl");
+
+    /**
+        Returns the currently entered time.
+
+        The date part of the returned wxDateTime object is always set to today
+        and should be ignored, only the time part is relevant.
+    */
+    virtual wxDateTime GetValue() const = 0;
+
+    /**
+        Changes the current value of the control.
+
+        The date part of @a dt is ignored, only the time part is displayed in
+        the control. The @a dt object must however be valid.
+
+        Calling this method does not result in a time change event.
+    */
+    virtual void SetValue(const wxDateTime& dt) = 0;
+};
index 73cf2adf1284c9e0059648cf51bf1f70af61dbb9..822e097994adce7d5c7d5bf9e0aaf80e6868f706 100644 (file)
     #endif // wxUSE_DATEPICKCTRL_GENERIC
 #endif // wxUSE_DATEPICKCTRL
 
+#if wxUSE_TIMEPICKCTRL
+    #include "wx/timectrl.h"
+    #if wxUSE_TIMEPICKCTRL_GENERIC
+        #include "wx/generic/timectrl.h"
+    #endif // wxUSE_TIMEPICKCTRL_GENERIC
+#endif // wxUSE_TIMEPICKCTRL
+
 #include "../sample.xpm"
 
 #ifdef wxHAS_NATIVE_CALENDARCTRL
@@ -136,6 +143,10 @@ public:
     void OnUpdateUIStartWithNone(wxUpdateUIEvent& event);
 #endif // wxUSE_DATEPICKCTRL
 
+#if wxUSE_TIMEPICKCTRL
+    void OnAskTime(wxCommandEvent& event);
+#endif // wxUSE_TIMEPICKCTRL
+
 #ifdef wxHAS_NATIVE_CALENDARCTRL
     void OnCalGeneric(wxCommandEvent& WXUNUSED(event))
     {
@@ -177,10 +188,10 @@ private:
 #if wxUSE_DATEPICKCTRL
 
 // Define a simple modal dialog which asks the user for a date
-class MyDialog : public wxDialog
+class MyDateDialog : public wxDialog
 {
 public:
-    MyDialog(wxWindow *parent, const wxDateTime& dt, int dtpStyle);
+    MyDateDialog(wxWindow *parent, const wxDateTime& dt, int dtpStyle);
 
     wxDateTime GetDate() const { return m_datePicker->GetValue(); }
 
@@ -189,7 +200,7 @@ private:
 
 
     wxDatePickerCtrlBase *m_datePicker;
-    wxTextCtrl *m_text;
+    wxStaticText *m_dateText;
 
 
     DECLARE_EVENT_TABLE()
@@ -197,6 +208,27 @@ private:
 
 #endif // wxUSE_DATEPICKCTRL
 
+#if wxUSE_TIMEPICKCTRL
+
+// Another simple dialog, this one asking for time.
+class MyTimeDialog : public wxDialog
+{
+public:
+    MyTimeDialog(wxWindow* parent);
+
+    wxDateTime GetTime() const { return m_timePicker->GetValue(); }
+
+private:
+    void OnTimeChange(wxDateEvent& event);
+
+    wxTimePickerCtrlBase* m_timePicker;
+    wxStaticText* m_timeText;
+
+    wxDECLARE_EVENT_TABLE();
+};
+
+#endif // wxUSE_TIMEPICKCTRL
+
 // ----------------------------------------------------------------------------
 // constants
 // ----------------------------------------------------------------------------
@@ -231,6 +263,12 @@ enum
     Calendar_DatePicker_Generic,
 #endif // wxUSE_DATEPICKCTRL_GENERIC
 #endif // wxUSE_DATEPICKCTRL
+#if wxUSE_TIMEPICKCTRL
+    Calendar_TimePicker_AskTime = 400,
+#if wxUSE_TIMEPICKCTRL_GENERIC
+    Calendar_TimePicker_Generic,
+#endif // wxUSE_TIMEPICKCTRL_GENERIC
+#endif // wxUSE_TIMEPICKCTRL
     Calendar_CalCtrl = 1000
 };
 
@@ -253,6 +291,10 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
                   MyFrame::OnUpdateUIStartWithNone)
 #endif // wxUSE_DATEPICKCTRL
 
+#if wxUSE_TIMEPICKCTRL
+    EVT_MENU(Calendar_TimePicker_AskTime, MyFrame::OnAskTime)
+#endif // wxUSE_TIMEPICKCTRL
+
 #ifdef wxHAS_NATIVE_CALENDARCTRL
     EVT_MENU(Calendar_Cal_Generic, MyFrame::OnCalGeneric)
 #endif // wxHAS_NATIVE_CALENDARCTRL
@@ -293,14 +335,6 @@ BEGIN_EVENT_TABLE(MyPanel, wxPanel)
     EVT_CALENDAR_WEEK_CLICKED(Calendar_CalCtrl,  MyPanel::OnCalendarWeekClick)
 END_EVENT_TABLE()
 
-#if wxUSE_DATEPICKCTRL
-
-BEGIN_EVENT_TABLE(MyDialog, wxDialog)
-    EVT_DATE_CHANGED(wxID_ANY, MyDialog::OnDateChange)
-END_EVENT_TABLE()
-
-#endif // wxUSE_DATEPICKCTRL
-
 // Create a new application object: this macro will allow wxWidgets to create
 // the application object during program execution (it's better than using a
 // static object for many reasons) and also declares the accessor function
@@ -349,12 +383,15 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
     SetIcon(wxICON(sample));
 
     // create a menu bar
+    wxMenuBar *menuBar = new wxMenuBar;
+
     wxMenu *menuFile = new wxMenu;
     menuFile->Append(Calendar_File_About, wxT("&About...\tCtrl-A"), wxT("Show about dialog"));
     menuFile->AppendSeparator();
     menuFile->Append(Calendar_File_ClearLog, wxT("&Clear log\tCtrl-L"));
     menuFile->AppendSeparator();
     menuFile->Append(Calendar_File_Quit, wxT("E&xit\tAlt-X"), wxT("Quit this program"));
+    menuBar->Append(menuFile, wxT("&File"));
 
     wxMenu *menuCal = new wxMenu;
 #ifdef wxHAS_NATIVE_CALENDARCTRL
@@ -396,6 +433,7 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
     menuCal->Append(Calendar_Cal_BeginDST, "Call SetDate(GetBeginDST())");
     menuCal->AppendSeparator();
     menuCal->AppendCheckItem(Calendar_Cal_Resizable, wxT("Make &resizable\tCtrl-R"));
+    menuBar->Append(menuCal, wxT("&Calendar"));
 
 #if wxUSE_DATEPICKCTRL
     wxMenu *menuDate = new wxMenu;
@@ -413,16 +451,20 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
 #endif // wxUSE_DATEPICKCTRL_GENERIC
     menuDate->AppendSeparator();
     menuDate->Append(Calendar_DatePicker_AskDate, wxT("&Choose date...\tCtrl-D"), wxT("Show dialog with wxDatePickerCtrl"));
-#endif // wxUSE_DATEPICKCTRL
-
-    // now append the freshly created menu to the menu bar...
-    wxMenuBar *menuBar = new wxMenuBar;
-    menuBar->Append(menuFile, wxT("&File"));
-    menuBar->Append(menuCal, wxT("&Calendar"));
-#if wxUSE_DATEPICKCTRL
     menuBar->Append(menuDate, wxT("&Date picker"));
 #endif // wxUSE_DATEPICKCTRL
 
+#if wxUSE_TIMEPICKCTRL
+    wxMenu *menuTime = new wxMenu;
+#if wxUSE_TIMEPICKCTRL_GENERIC
+    menuTime->AppendCheckItem(Calendar_TimePicker_Generic,
+                              wxT("Use &generic version of the control"));
+    menuTime->AppendSeparator();
+#endif // wxUSE_TIMEPICKCTRL_GENERIC
+    menuTime->Append(Calendar_TimePicker_AskTime, wxT("&Choose time...\tCtrl-T"), wxT("Show dialog with wxTimePickerCtrl"));
+    menuBar->Append(menuTime, wxT("&Time picker"));
+#endif // wxUSE_TIMEPICKCTRL
+
     menuBar->Check(Calendar_Cal_Monday, true);
     menuBar->Check(Calendar_Cal_Holidays, true);
     menuBar->Check(Calendar_Cal_Month, true);
@@ -605,7 +647,7 @@ void MyFrame::OnAskDate(wxCommandEvent& WXUNUSED(event))
             dt = wxDefaultDateTime;
     }
 
-    MyDialog dlg(this, dt, style);
+    MyDateDialog dlg(this, dt, style);
     if ( dlg.ShowModal() == wxID_OK )
     {
         dt = dlg.GetDate();
@@ -632,6 +674,19 @@ void MyFrame::OnAskDate(wxCommandEvent& WXUNUSED(event))
 
 #endif // wxUSE_DATEPICKCTRL
 
+#if wxUSE_TIMEPICKCTRL
+
+void MyFrame::OnAskTime(wxCommandEvent& WXUNUSED(event))
+{
+    MyTimeDialog dlg(this);
+    if ( dlg.ShowModal() == wxID_OK )
+    {
+        wxLogMessage("You entered %s", dlg.GetTime().FormatISOTime());
+    }
+}
+
+#endif // wxUSE_TIMEPICKCTRL
+
 // ----------------------------------------------------------------------------
 // MyPanel
 // ----------------------------------------------------------------------------
@@ -833,34 +888,18 @@ void MyPanel::LimitDateRange(bool on)
 }
 
 // ----------------------------------------------------------------------------
-// MyDialog
+// MyDateDialog
 // ----------------------------------------------------------------------------
 
 #if wxUSE_DATEPICKCTRL
 
-MyDialog::MyDialog(wxWindow *parent, const wxDateTime& dt, int dtpStyle)
+BEGIN_EVENT_TABLE(MyDateDialog, wxDialog)
+    EVT_DATE_CHANGED(wxID_ANY, MyDateDialog::OnDateChange)
+END_EVENT_TABLE()
+
+MyDateDialog::MyDateDialog(wxWindow *parent, const wxDateTime& dt, int dtpStyle)
         : wxDialog(parent, wxID_ANY, wxString(wxT("Calendar: Choose a date")))
 {
-    wxStdDialogButtonSizer *sizerBtns = new wxStdDialogButtonSizer;
-    sizerBtns->AddButton(new wxButton(this, wxID_OK));
-    sizerBtns->AddButton(new wxButton(this, wxID_CANCEL));
-    sizerBtns->Realize();
-
-    wxSizer *sizerText = new wxBoxSizer(wxHORIZONTAL);
-    sizerText->Add(new wxStaticText(this, wxID_ANY, wxT("Date in ISO format: ")),
-                    wxSizerFlags().Border().Align(wxALIGN_CENTRE_VERTICAL));
-    m_text = new wxTextCtrl(this, wxID_ANY);
-    sizerText->Add(m_text, wxSizerFlags().
-                        Expand().Border().Align(wxALIGN_CENTRE_VERTICAL));
-
-    wxSizer *sizerTop = new wxBoxSizer(wxVERTICAL);
-    sizerTop->Add(new wxStaticText
-                      (
-                        this, wxID_ANY,
-                        wxT("Enter your birthday date (not before 20th century):")
-                      ),
-                    wxSizerFlags().Border());
-
 #if wxUSE_DATEPICKCTRL_GENERIC
     wxFrame *frame = (wxFrame *)wxGetTopLevelParent(parent);
     if ( frame && frame->GetMenuBar()->IsChecked(Calendar_DatePicker_Generic) )
@@ -875,24 +914,86 @@ MyDialog::MyDialog(wxWindow *parent, const wxDateTime& dt, int dtpStyle)
                                         dtpStyle);
     m_datePicker->SetRange(wxDateTime(1, wxDateTime::Jan, 1900),
                             wxDefaultDateTime);
-    sizerTop->Add(m_datePicker, wxSizerFlags().Expand().Border());
+    m_dateText = new wxStaticText(this, wxID_ANY, wxString());
+
+    const wxSizerFlags flags = wxSizerFlags().Centre().Border();
+    wxFlexGridSizer* const sizerMain = new wxFlexGridSizer(2);
+    sizerMain->Add(new wxStaticText(this, wxID_ANY, "Enter &date:"), flags);
+    sizerMain->Add(m_datePicker, flags);
 
-    sizerTop->AddStretchSpacer(1);
-    sizerTop->Add(sizerText);
+    sizerMain->Add(new wxStaticText(this, wxID_ANY, "Date in ISO format:"),
+                   flags);
+    sizerMain->Add(m_dateText, flags);
 
-    sizerTop->Add(sizerBtns, wxSizerFlags().Centre().Border());
+    wxStdDialogButtonSizer *sizerBtns = new wxStdDialogButtonSizer;
+    sizerBtns->AddButton(new wxButton(this, wxID_OK));
+    sizerBtns->AddButton(new wxButton(this, wxID_CANCEL));
+    sizerBtns->Realize();
+
+    wxSizer *sizerTop = new wxBoxSizer(wxVERTICAL);
+    sizerTop->Add(sizerMain, flags);
+    sizerTop->Add(sizerBtns, flags);
 
     SetSizerAndFit(sizerTop);
-    Layout();
 }
 
-void MyDialog::OnDateChange(wxDateEvent& event)
+void MyDateDialog::OnDateChange(wxDateEvent& event)
 {
     const wxDateTime dt = event.GetDate();
     if ( dt.IsValid() )
-        m_text->SetValue(dt.FormatISODate());
+        m_dateText->SetLabel(dt.FormatISODate());
     else
-        m_text->SetValue(wxEmptyString);
+        m_dateText->SetLabel(wxEmptyString);
 }
 
 #endif // wxUSE_DATEPICKCTRL
+
+// ----------------------------------------------------------------------------
+// MyTimeDialog
+// ----------------------------------------------------------------------------
+
+#if wxUSE_TIMEPICKCTRL
+
+BEGIN_EVENT_TABLE(MyTimeDialog, wxDialog)
+    EVT_TIME_CHANGED(wxID_ANY, MyTimeDialog::OnTimeChange)
+END_EVENT_TABLE()
+
+MyTimeDialog::MyTimeDialog(wxWindow *parent)
+        : wxDialog(parent, wxID_ANY, wxString(wxT("Calendar: Choose time")))
+{
+#if wxUSE_TIMEPICKCTRL_GENERIC
+    wxFrame *frame = (wxFrame *)wxGetTopLevelParent(parent);
+    if ( frame && frame->GetMenuBar()->IsChecked(Calendar_TimePicker_Generic) )
+        m_timePicker = new wxTimePickerCtrlGeneric(this, wxID_ANY);
+    else
+#endif // wxUSE_TIMEPICKCTRL_GENERIC
+    m_timePicker = new wxTimePickerCtrl(this, wxID_ANY);
+    m_timeText = new wxStaticText(this, wxID_ANY, wxString());
+
+    const wxSizerFlags flags = wxSizerFlags().Centre().Border();
+    wxFlexGridSizer* const sizerMain = new wxFlexGridSizer(2);
+    sizerMain->Add(new wxStaticText(this, wxID_ANY, "Enter &time:"), flags);
+    sizerMain->Add(m_timePicker, flags);
+
+    sizerMain->Add(new wxStaticText(this, wxID_ANY, "Time in ISO format:"),
+                   flags);
+    sizerMain->Add(m_timeText, flags);
+
+    wxStdDialogButtonSizer* sizerBtns = new wxStdDialogButtonSizer;
+    sizerBtns->AddButton(new wxButton(this, wxID_OK));
+    sizerBtns->AddButton(new wxButton(this, wxID_CANCEL));
+    sizerBtns->Realize();
+
+    wxSizer* sizerTop = new wxBoxSizer(wxVERTICAL);
+    sizerTop->Add(sizerMain, flags);
+    sizerTop->Add(sizerBtns, flags);
+
+    SetSizerAndFit(sizerTop);
+}
+
+void MyTimeDialog::OnTimeChange(wxDateEvent& event)
+{
+    m_timeText->SetLabel(event.GetDate().FormatISOTime());
+}
+
+#endif // wxUSE_TIMEPICKCTRL
index fc43f2c17b2ce75238a0935f1e9bd0e72aef2fcc..26ae556bdb10d8e3773a77aa012c4fffed980d3b 100644 (file)
 
 #define wxUSE_WEBVIEW 0
 
-#define wxUSE_WEBVIEW_WEBKIT 0
-
-#define wxUSE_WEBVIEW_IE     0
+#ifdef __WXMSW__
+#define wxUSE_WEBVIEW_IE 0
+#else
+#define wxUSE_WEBVIEW_IE 0
+#endif
 
+#if defined(__WXGTK__) || defined(__WXOSX__)
+#define wxUSE_WEBVIEW_WEBKIT 0
+#else
+#define wxUSE_WEBVIEW_WEBKIT 0
+#endif
 
 
 #ifdef _MSC_VER
 #define wxUSE_STATTEXT      0
 #define wxUSE_STATBMP       0
 #define wxUSE_TEXTCTRL      0
+#define wxUSE_TIMEPICKCTRL  0
 #define wxUSE_TOGGLEBTN     0
 #define wxUSE_TREECTRL      0
 #define wxUSE_TREELISTCTRL  0
 
 #define wxUSE_DATEPICKCTRL_GENERIC 0
 
+#define wxUSE_TIMEPICKCTRL_GENERIC 0
+
 
 #define wxUSE_CRASHREPORT 0
 /* --- end MSW options --- */
index b39628fb9af99a9a8df0bb2bb1941a719220d02d..ecdd588087baabcfeae9d997cff5bdf90167c720 100644 (file)
 #ifndef WX_PRECOMP
 #endif //WX_PRECOMP
 
-#if wxUSE_CALENDARCTRL || wxUSE_DATEPICKCTRL
+#if wxUSE_CALENDARCTRL || wxUSE_DATEPICKCTRL || wxUSE_TIMEPICKCTRL
 
 #include "wx/dateevt.h"
 IMPLEMENT_DYNAMIC_CLASS(wxDateEvent, wxCommandEvent)
 wxDEFINE_EVENT(wxEVT_DATE_CHANGED, wxDateEvent);
+wxDEFINE_EVENT(wxEVT_TIME_CHANGED, wxDateEvent);
 
-#endif // wxUSE_CALENDARCTRL || wxUSE_DATEPICKCTRL
+#endif // wxUSE_CALENDARCTRL || wxUSE_DATEPICKCTRL || wxUSE_TIMEPICKCTRL
 
 
 #if wxUSE_CALENDARCTRL
diff --git a/src/generic/timectrl.cpp b/src/generic/timectrl.cpp
new file mode 100644 (file)
index 0000000..38218a6
--- /dev/null
@@ -0,0 +1,672 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        src/generic/timectrl.cpp
+// Purpose:     Generic implementation of wxTimePickerCtrl.
+// Author:      Paul Breen, Vadim Zeitlin
+// Created:     2011-09-22
+// RCS-ID:      $Id: wxhead.cpp,v 1.11 2010-04-22 12:44:51 zeitlin Exp $
+// Copyright:   (c) 2011 Vadim Zeitlin <vadim@wxwidgets.org>
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+// ============================================================================
+// declarations
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+// for compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#if wxUSE_TIMEPICKCTRL
+
+#ifndef WX_PRECOMP
+    #include "wx/textctrl.h"
+#endif // WX_PRECOMP
+
+#include "wx/timectrl.h"
+
+// This class is only compiled if there is no native version or if we
+// explicitly want to use both the native and generic one (this is useful for
+// testing but not much otherwise and so by default we don't use the generic
+// implementation if a native one is available).
+#if !defined(wxHAS_NATIVE_TIMEPICKERCTRL) || wxUSE_TIMEPICKCTRL_GENERIC
+
+#include "wx/generic/timectrl.h"
+
+#include "wx/dateevt.h"
+#include "wx/spinbutt.h"
+
+#ifndef wxHAS_NATIVE_TIMEPICKERCTRL
+    IMPLEMENT_DYNAMIC_CLASS(wxTimePickerCtrl, wxControl)
+#endif
+
+// ----------------------------------------------------------------------------
+// Constants
+// ----------------------------------------------------------------------------
+
+enum
+{
+    // Horizontal margin between the text and spin control.
+    HMARGIN_TEXT_SPIN = 2
+};
+
+// ----------------------------------------------------------------------------
+// wxTimePickerGenericImpl: used to implement wxTimePickerCtrlGeneric
+// ----------------------------------------------------------------------------
+
+class wxTimePickerGenericImpl : public wxEvtHandler
+{
+public:
+    wxTimePickerGenericImpl(wxTimePickerCtrlGeneric* ctrl)
+    {
+        m_text = new wxTextCtrl(ctrl, wxID_ANY, wxString());
+
+        // As this text can't be edited, don't use the standard cursor for it
+        // to avoid misleading the user. Ideally we'd also hide the caret but
+        // this is not currently supported by wxTextCtrl.
+        m_text->SetCursor(wxCURSOR_ARROW);
+
+        m_btn = new wxSpinButton(ctrl);
+
+        m_currentField = Field_Hour;
+        m_isFirstDigit = true;
+
+        // We don't support arbitrary formats currently as this requires
+        // significantly more work both here and also in wxLocale::GetInfo().
+        //
+        // For now just use either "%H:%M:%S" or "%I:%M:%S %p". It would be
+        // nice to add support to "%k" and "%l" (hours with leading blanks
+        // instead of zeros) too as this is the most common unsupported case in
+        // practice.
+        m_useAMPM = wxLocale::GetInfo(wxLOCALE_TIME_FMT).Contains("%p");
+
+        m_text->Connect
+                (
+                    wxEVT_SET_FOCUS,
+                    wxFocusEventHandler(wxTimePickerGenericImpl::OnTextSetFocus),
+                    NULL,
+                    this
+                );
+        m_text->Connect
+                (
+                    wxEVT_KEY_DOWN,
+                    wxKeyEventHandler(wxTimePickerGenericImpl::OnTextKeyDown),
+                    NULL,
+                    this
+                );
+        m_text->Connect
+                (
+                    wxEVT_LEFT_DOWN,
+                    wxMouseEventHandler(wxTimePickerGenericImpl::OnTextClick),
+                    NULL,
+                    this
+                );
+
+        m_btn->Connect
+               (
+                    wxEVT_SPIN_UP,
+                    wxSpinEventHandler(wxTimePickerGenericImpl::OnArrowUp),
+                    NULL,
+                    this
+               );
+        m_btn->Connect
+               (
+                    wxEVT_SPIN_DOWN,
+                    wxSpinEventHandler(wxTimePickerGenericImpl::OnArrowDown),
+                    NULL,
+                    this
+               );
+    }
+
+    // Set the new value.
+    void SetValue(const wxDateTime& time)
+    {
+        m_time = time.IsValid() ? time : wxDateTime::Now();
+
+        UpdateTextWithoutEvent();
+    }
+
+
+    // The text part of the control.
+    wxTextCtrl* m_text;
+
+    // The spin button used to change the text fields.
+    wxSpinButton* m_btn;
+
+    // The current time (date part is ignored).
+    wxDateTime m_time;
+
+private:
+    // The logical fields of the text control (AM/PM one may not be present).
+    enum Field
+    {
+        Field_Hour,
+        Field_Min,
+        Field_Sec,
+        Field_AMPM,
+        Field_Max
+    };
+
+    // Direction of change of time fields.
+    enum Direction
+    {
+        // Notice that the enum elements values matter.
+        Dir_Down = -1,
+        Dir_Up   = +1
+    };
+
+    // A range of character positions ("from" is inclusive, "to" -- exclusive).
+    struct CharRange
+    {
+        int from,
+            to;
+    };
+
+    // Event handlers for various events in our controls.
+    void OnTextSetFocus(wxFocusEvent& event)
+    {
+        HighlightCurrentField();
+
+        event.Skip();
+    }
+
+    // Keyboard interface here is modelled over MSW native control and may need
+    // adjustments for other platforms.
+    void OnTextKeyDown(wxKeyEvent& event)
+    {
+        const int key = event.GetKeyCode();
+
+        switch ( key )
+        {
+            case WXK_DOWN:
+                ChangeCurrentFieldBy1(Dir_Down);
+                break;
+
+            case WXK_UP:
+                ChangeCurrentFieldBy1(Dir_Up);
+                break;
+
+            case WXK_LEFT:
+                CycleCurrentField(Dir_Down);
+                break;
+
+            case WXK_RIGHT:
+                CycleCurrentField(Dir_Up);
+                break;
+
+            case WXK_HOME:
+                ResetCurrentField(Dir_Down);
+                break;
+
+            case WXK_END:
+                ResetCurrentField(Dir_Up);
+                break;
+
+            case '0':
+            case '1':
+            case '2':
+            case '3':
+            case '4':
+            case '5':
+            case '6':
+            case '7':
+            case '8':
+            case '9':
+                // The digits work in all keys except AM/PM.
+                if ( m_currentField != Field_AMPM )
+                {
+                    AppendDigitToCurrentField(key - '0');
+                }
+                break;
+
+            case 'A':
+            case 'P':
+                // These keys only work to toggle AM/PM field.
+                if ( m_currentField == Field_AMPM )
+                {
+                    unsigned hour = m_time.GetHour();
+                    if ( key == 'A' )
+                    {
+                        if ( hour >= 12 )
+                            hour -= 12;
+                    }
+                    else // PM
+                    {
+                        if ( hour < 12 )
+                            hour += 12;
+                    }
+
+                    if ( hour != m_time.GetHour() )
+                    {
+                        m_time.SetHour(hour);
+                        UpdateText();
+                    }
+                }
+                break;
+
+            // Do not skip the other events, just consume them to prevent the
+            // user from editing the text directly.
+        }
+    }
+
+    void OnTextClick(wxMouseEvent& event)
+    {
+        Field field wxDUMMY_INITIALIZE(Field_Max);
+        long pos;
+        switch ( m_text->HitTest(event.GetPosition(), &pos) )
+        {
+            case wxTE_HT_UNKNOWN:
+                // Don't do anything, it's better than doing something wrong.
+                return;
+
+            case wxTE_HT_BEFORE:
+                // Select the first field.
+                field = Field_Hour;
+                break;
+
+            case wxTE_HT_ON_TEXT:
+                // Find the field containing this position.
+                for ( field = Field_Hour; field <= GetLastField(); )
+                {
+                    const CharRange range = GetFieldRange(field);
+
+                    // Normally the "to" end is exclusive but we want to give
+                    // focus to some field when the user clicks between them so
+                    // count it as part of the preceding field here.
+                    if ( range.from <= pos && pos <= range.to )
+                        break;
+
+                    field = static_cast<Field>(field + 1);
+                }
+                break;
+
+            case wxTE_HT_BELOW:
+                // This shouldn't happen for single line control.
+                wxFAIL_MSG( "Unreachable" );
+                // fall through
+
+            case wxTE_HT_BEYOND:
+                // Select the last field.
+                field = GetLastField();
+                break;
+        }
+
+        ChangeCurrentField(field);
+
+        // As we don't skip the event, we also prevent the system from setting
+        // focus to this control as it does by default, so do it manually.
+        m_text->SetFocus();
+    }
+
+    void OnArrowUp(wxSpinEvent& WXUNUSED(event))
+    {
+        ChangeCurrentFieldBy1(Dir_Up);
+
+        m_text->SetFocus();
+    }
+
+    void OnArrowDown(wxSpinEvent& WXUNUSED(event))
+    {
+        ChangeCurrentFieldBy1(Dir_Down);
+
+        m_text->SetFocus();
+    }
+
+
+    // Get the range of the given field in character positions ("from" is
+    // inclusive, "to" exclusive).
+    static CharRange GetFieldRange(Field field)
+    {
+        // Currently we can just hard code the ranges as they are the same for
+        // both supported formats, if we want to support arbitrary formats in
+        // the future, we'd need to determine them dynamically by examining the
+        // format here.
+        static const CharRange ranges[] =
+        {
+            { 0, 2 },
+            { 3, 5 },
+            { 6, 8 },
+            { 9, 11},
+        };
+
+        wxCOMPILE_TIME_ASSERT( WXSIZEOF(ranges) == Field_Max,
+                               FieldRangesMismatch );
+
+        return ranges[field];
+    }
+
+    // Get the last field used depending on m_useAMPM.
+    Field GetLastField() const
+    {
+        return m_useAMPM ? Field_AMPM : Field_Sec;
+    }
+
+    // Change the current field. For convenience, accept int field here as this
+    // allows us to use arithmetic operations in the caller.
+    void ChangeCurrentField(int field)
+    {
+        if ( field == m_currentField )
+            return;
+
+        wxCHECK_RET( field <= GetLastField(), "Invalid field" );
+
+        m_currentField = static_cast<Field>(field);
+        m_isFirstDigit = true;
+
+        HighlightCurrentField();
+    }
+
+    // Go to the next (Dir_Up) or previous (Dir_Down) field, wrapping if
+    // necessary.
+    void CycleCurrentField(Direction dir)
+    {
+        const unsigned numFields = GetLastField() + 1;
+
+        ChangeCurrentField((m_currentField + numFields + dir) % numFields);
+    }
+
+    // Select the currently actively field.
+    void HighlightCurrentField()
+    {
+        const CharRange range = GetFieldRange(m_currentField);
+
+        m_text->SetSelection(range.from, range.to);
+    }
+
+    // Decrement or increment the value of the current field (wrapping if
+    // necessary).
+    void ChangeCurrentFieldBy1(Direction dir)
+    {
+        switch ( m_currentField )
+        {
+            case Field_Hour:
+                m_time.SetHour((m_time.GetHour() + 24 + dir) % 24);
+                break;
+
+            case Field_Min:
+                m_time.SetMinute((m_time.GetMinute() + 60 + dir) % 60);
+                break;
+
+            case Field_Sec:
+                m_time.SetSecond((m_time.GetSecond() + 60 + dir) % 60);
+                break;
+
+            case Field_AMPM:
+                m_time.SetHour((m_time.GetHour() + 12) % 24);
+                break;
+
+            case Field_Max:
+                wxFAIL_MSG( "Invalid field" );
+        }
+
+        UpdateText();
+    }
+
+    // Set the current field to its minimal or maximal value.
+    void ResetCurrentField(Direction dir)
+    {
+        switch ( m_currentField )
+        {
+            case Field_Hour:
+            case Field_AMPM:
+                // In 12-hour mode setting the hour to the minimal value
+                // also changes the suffix to AM and, correspondingly,
+                // setting it to the maximal one changes the suffix to PM.
+                // And, for consistency with the native MSW behaviour, we
+                // also do the same thing when changing AM/PM field itself,
+                // so change hours in any case.
+                m_time.SetHour(dir == Dir_Down ? 0 : 23);
+                break;
+
+            case Field_Min:
+                m_time.SetMinute(dir == Dir_Down ? 0 : 59);
+                break;
+
+            case Field_Sec:
+                m_time.SetSecond(dir == Dir_Down ? 0 : 59);
+                break;
+
+            case Field_Max:
+                wxFAIL_MSG( "Invalid field" );
+        }
+
+        UpdateText();
+    }
+
+    // Append the given digit (from 0 to 9) to the current value of the current
+    // field.
+    void AppendDigitToCurrentField(int n)
+    {
+        bool moveToNextField = false;
+
+        if ( !m_isFirstDigit )
+        {
+            // The first digit simply replaces the existing field contents,
+            // but the second one should be combined with the previous one,
+            // otherwise entering 2-digit numbers would be impossible.
+            int currentValue wxDUMMY_INITIALIZE(0),
+                maxValue wxDUMMY_INITIALIZE(0);
+
+            switch ( m_currentField )
+            {
+                case Field_Hour:
+                    currentValue = m_time.GetHour();
+                    maxValue = 23;
+                    break;
+
+                case Field_Min:
+                    currentValue = m_time.GetMinute();
+                    maxValue = 59;
+                    break;
+
+                case Field_Sec:
+                    currentValue = m_time.GetSecond();
+                    maxValue = 59;
+                    break;
+
+                case Field_AMPM:
+                case Field_Max:
+                    wxFAIL_MSG( "Invalid field" );
+            }
+
+            // Check if the new value is acceptable. If not, we just handle
+            // this digit as if it were the first one.
+            int newValue = currentValue*10 + n;
+            if ( newValue < maxValue )
+            {
+                n = newValue;
+
+                // If we're not on the seconds field, advance to the next one.
+                // This makes it more convenient to enter times as you can just
+                // press all digits one after one without touching the cursor
+                // arrow keys at all.
+                //
+                // Notice that MSW native control doesn't do this but it seems
+                // so useful that we intentionally diverge from it here.
+                moveToNextField = true;
+
+                // We entered both digits so the next one will be "first" again.
+                m_isFirstDigit = true;
+            }
+        }
+        else // First digit entered.
+        {
+            // The next one won't be first any more.
+            m_isFirstDigit = false;
+        }
+
+        switch ( m_currentField )
+        {
+            case Field_Hour:
+                m_time.SetHour(n);
+                break;
+
+            case Field_Min:
+                m_time.SetMinute(n);
+                break;
+
+            case Field_Sec:
+                m_time.SetSecond(n);
+                break;
+
+            case Field_AMPM:
+            case Field_Max:
+                wxFAIL_MSG( "Invalid field" );
+        }
+
+        if ( moveToNextField && m_currentField < Field_Sec )
+            CycleCurrentField(Dir_Up);
+
+        UpdateText();
+    }
+
+    // Update the text value to correspond to the current time. By default also
+    // generate an event but this can be avoided by calling the "WithoutEvent"
+    // variant.
+    void UpdateText()
+    {
+        UpdateTextWithoutEvent();
+
+        wxWindow* const ctrl = m_text->GetParent();
+
+        wxDateEvent event(ctrl, m_time, wxEVT_TIME_CHANGED);
+        ctrl->HandleWindowEvent(event);
+    }
+
+    void UpdateTextWithoutEvent()
+    {
+        m_text->SetValue(m_time.Format(m_useAMPM ? "%I:%M:%S %p" : "%H:%M:%S"));
+
+        HighlightCurrentField();
+    }
+
+
+    // The current field of the text control: this is the one affected by
+    // pressing arrow keys or spin button.
+    Field m_currentField;
+
+    // Flag indicating whether we use AM/PM indicator or not.
+    bool m_useAMPM;
+
+    // Flag indicating whether the next digit pressed by user will be the first
+    // digit of the current field or the second one. This is necessary because
+    // the first digit replaces the current field contents while the second one
+    // is appended to it (if possible, e.g. pressing '7' in a field already
+    // containing '8' will still replace it as "78" would be invalid).
+    bool m_isFirstDigit;
+
+    wxDECLARE_NO_COPY_CLASS(wxTimePickerGenericImpl);
+};
+
+// ============================================================================
+// wxTimePickerCtrlGeneric implementation
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// wxTimePickerCtrlGeneric creation
+// ----------------------------------------------------------------------------
+
+void wxTimePickerCtrlGeneric::Init()
+{
+    m_impl = NULL;
+}
+
+bool
+wxTimePickerCtrlGeneric::Create(wxWindow *parent,
+                                wxWindowID id,
+                                const wxDateTime& date,
+                                const wxPoint& pos,
+                                const wxSize& size,
+                                long style,
+                                const wxValidator& validator,
+                                const wxString& name)
+{
+    // The text control we use already has a border, so we don't need one
+    // ourselves.
+    style &= ~wxBORDER_MASK;
+    style |= wxBORDER_NONE;
+
+    if ( !Base::Create(parent, id, pos, size, style, validator, name) )
+        return false;
+
+    m_impl = new wxTimePickerGenericImpl(this);
+    m_impl->SetValue(date);
+
+    InvalidateBestSize();
+    SetInitialSize(size);
+
+    return true;
+}
+
+wxTimePickerCtrlGeneric::~wxTimePickerCtrlGeneric()
+{
+    delete m_impl;
+}
+
+wxWindowList wxTimePickerCtrlGeneric::GetCompositeWindowParts() const
+{
+    wxWindowList parts;
+    if ( m_impl )
+    {
+        parts.push_back(m_impl->m_text);
+        parts.push_back(m_impl->m_btn);
+    }
+    return parts;
+}
+
+// ----------------------------------------------------------------------------
+// wxTimePickerCtrlGeneric value
+// ----------------------------------------------------------------------------
+
+void wxTimePickerCtrlGeneric::SetValue(const wxDateTime& date)
+{
+    wxCHECK_RET( m_impl, "Must create first" );
+
+    m_impl->SetValue(date);
+}
+
+wxDateTime wxTimePickerCtrlGeneric::GetValue() const
+{
+    wxCHECK_MSG( m_impl, wxDateTime(), "Must create first" );
+
+    return m_impl->m_time;
+}
+
+// ----------------------------------------------------------------------------
+// wxTimePickerCtrlGeneric geometry
+// ----------------------------------------------------------------------------
+
+void wxTimePickerCtrlGeneric::DoMoveWindow(int x, int y, int width, int height)
+{
+    Base::DoMoveWindow(x, y, width, height);
+
+    if ( !m_impl )
+        return;
+
+    const int widthBtn = m_impl->m_btn->GetSize().x;
+    const int widthText = width - widthBtn - HMARGIN_TEXT_SPIN;
+
+    m_impl->m_text->SetSize(0, 0, widthText, height);
+    m_impl->m_btn->SetSize(widthText + HMARGIN_TEXT_SPIN, 0, widthBtn, height);
+}
+
+wxSize wxTimePickerCtrlGeneric::DoGetBestSize() const
+{
+    if ( !m_impl )
+        return Base::DoGetBestSize();
+
+    wxSize size = m_impl->m_text->GetBestSize();
+    size.x += m_impl->m_btn->GetBestSize().x + HMARGIN_TEXT_SPIN;
+
+    return size;
+}
+
+#endif // !wxHAS_NATIVE_TIMEPICKERCTRL || wxUSE_TIMEPICKCTRL_GENERIC
+
+#endif // wxUSE_TIMEPICKCTRL
diff --git a/src/msw/timectrl.cpp b/src/msw/timectrl.cpp
new file mode 100644 (file)
index 0000000..86951d5
--- /dev/null
@@ -0,0 +1,60 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        src/msw/timectrl.cpp
+// Purpose:     wxTimePickerCtrl implementation
+// Author:      Vadim Zeitlin
+// Created:     2005-01-09
+// RCS-ID:      $Id$
+// Copyright:   (c) 2005 Vadim Zeitlin <vadim@wxwindows.org>
+// Licence:     wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+// ============================================================================
+// declarations
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#if wxUSE_DATEPICKCTRL
+
+#ifndef WX_PRECOMP
+#endif
+
+#include "wx/timectrl.h"
+#include "wx/dateevt.h"
+
+IMPLEMENT_DYNAMIC_CLASS(wxTimePickerCtrl, wxControl)
+
+// ============================================================================
+// wxTimePickerCtrl implementation
+// ============================================================================
+
+WXDWORD wxTimePickerCtrl::MSWGetStyle(long style, WXDWORD *exstyle) const
+{
+    WXDWORD styleMSW = wxTimePickerCtrlBase::MSWGetStyle(style, exstyle);
+
+    styleMSW |= DTS_TIMEFORMAT;
+
+    return styleMSW;
+}
+
+wxLocaleInfo wxTimePickerCtrl::MSWGetFormat() const
+{
+    return wxLOCALE_TIME_FMT;
+}
+
+bool wxTimePickerCtrl::MSWOnDateTimeChange(const NMDATETIMECHANGE& dtch)
+{
+    m_date.SetFromMSWSysTime(dtch.st);
+
+    wxDateEvent event(this, m_date, wxEVT_TIME_CHANGED);
+    return HandleWindowEvent(event);
+}
+#endif // wxUSE_DATEPICKCTRL