diff --git a/Makefile.in b/Makefile.in
index d5031d905a..aef06ca1f5 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -689,6 +689,8 @@ ALL_BASE_SOURCES = \
src/common/tarstrm.cpp \
src/common/textbuf.cpp \
src/common/textfile.cpp \
+ src/common/timercmn.cpp \
+ src/common/timerimpl.cpp \
src/common/tokenzr.cpp \
src/common/txtstrm.cpp \
src/common/unichar.cpp \
@@ -709,6 +711,7 @@ ALL_BASE_SOURCES = \
src/unix/stackwalk.cpp \
src/unix/stdpaths.cpp \
src/unix/threadpsx.cpp \
+ src/unix/timerunx.cpp \
src/msw/basemsw.cpp \
src/msw/crashrpt.cpp \
src/msw/debughlp.cpp \
@@ -723,6 +726,7 @@ ALL_BASE_SOURCES = \
src/msw/stackwalk.cpp \
src/msw/stdpaths.cpp \
src/msw/thread.cpp \
+ src/msw/timer.cpp \
src/msw/utils.cpp \
src/msw/utilsexc.cpp \
$(BASE_WINCE_SRC) \
@@ -853,6 +857,8 @@ MONODLL_OBJECTS = \
monodll_tarstrm.o \
monodll_textbuf.o \
monodll_textfile.o \
+ monodll_timercmn.o \
+ monodll_timerimpl.o \
monodll_tokenzr.o \
monodll_txtstrm.o \
monodll_unichar.o \
@@ -963,6 +969,8 @@ MONOLIB_OBJECTS = \
monolib_tarstrm.o \
monolib_textbuf.o \
monolib_textfile.o \
+ monolib_timercmn.o \
+ monolib_timerimpl.o \
monolib_tokenzr.o \
monolib_txtstrm.o \
monolib_unichar.o \
@@ -1070,6 +1078,8 @@ BASEDLL_OBJECTS = \
basedll_tarstrm.o \
basedll_textbuf.o \
basedll_textfile.o \
+ basedll_timercmn.o \
+ basedll_timerimpl.o \
basedll_tokenzr.o \
basedll_txtstrm.o \
basedll_unichar.o \
@@ -1160,6 +1170,8 @@ BASELIB_OBJECTS = \
baselib_tarstrm.o \
baselib_textbuf.o \
baselib_textfile.o \
+ baselib_timercmn.o \
+ baselib_timerimpl.o \
baselib_tokenzr.o \
baselib_txtstrm.o \
baselib_unichar.o \
@@ -1929,7 +1941,6 @@ COND_TOOLKIT_DFB_LOWLEVEL_HDR = \
wx/generic/icon.h \
wx/generic/imaglist.h \
wx/generic/mask.h \
- wx/generic/timer.h \
wx/dfb/app.h \
wx/dfb/bitmap.h \
wx/dfb/brush.h \
@@ -1977,7 +1988,6 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION__LOWLEVEL_HDR = \
wx/gtk1/pen.h \
wx/gtk1/popupwin.h \
wx/gtk1/region.h \
- wx/gtk1/timer.h \
wx/gtk1/tooltip.h \
wx/gtk1/toplevel.h \
wx/gtk1/win_gtk.h \
@@ -2010,7 +2020,6 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_LOWLEVEL_HDR = \
wx/gtk/pen.h \
wx/gtk/popupwin.h \
wx/gtk/region.h \
- wx/gtk/timer.h \
wx/gtk/tooltip.h \
wx/gtk/toplevel.h \
wx/gtk/win_gtk.h \
@@ -2023,7 +2032,6 @@ COND_TOOLKIT_MGL_LOWLEVEL_HDR = \
wx/generic/icon.h \
wx/generic/imaglist.h \
wx/generic/mask.h \
- wx/generic/timer.h \
wx/mgl/app.h \
wx/mgl/bitmap.h \
wx/mgl/brush.h \
@@ -2171,7 +2179,6 @@ COND_TOOLKIT_COCOA_GUI_HDR = \
wx/cocoa/statline.h \
wx/cocoa/stattext.h \
wx/cocoa/textctrl.h \
- wx/cocoa/timer.h \
wx/cocoa/toolbar.h \
wx/cocoa/tooltip.h \
wx/cocoa/toplevel.h \
@@ -2355,7 +2362,6 @@ COND_TOOLKIT_MAC_GUI_HDR = \
wx/mac/tabctrl.h \
wx/mac/taskbarosx.h \
wx/mac/textctrl.h \
- wx/mac/timer.h \
wx/mac/tglbtn.h \
wx/mac/toolbar.h \
wx/mac/tooltip.h \
@@ -2438,7 +2444,6 @@ COND_TOOLKIT_MAC_GUI_HDR = \
wx/mac/carbon/statusbr.h \
wx/mac/carbon/tabctrl.h \
wx/mac/carbon/textctrl.h \
- wx/mac/carbon/timer.h \
wx/mac/carbon/tglbtn.h \
wx/mac/carbon/toolbar.h \
wx/mac/carbon/tooltip.h \
@@ -2514,7 +2519,6 @@ COND_TOOLKIT_MOTIF_GUI_HDR = \
wx/motif/stattext.h \
wx/motif/textctrl.h \
wx/motif/tglbtn.h \
- wx/motif/timer.h \
wx/motif/toolbar.h \
wx/motif/toplevel.h \
wx/motif/window.h
@@ -2598,7 +2602,6 @@ COND_TOOLKIT_MSW_GUI_HDR = \
wx/msw/tbar95.h \
wx/msw/textctrl.h \
wx/msw/tglbtn.h \
- wx/msw/timer.h \
wx/msw/tooltip.h \
wx/msw/toplevel.h \
wx/msw/treectrl.h \
@@ -2707,7 +2710,6 @@ COND_TOOLKIT_PM_GUI_HDR = \
wx/os2/tabctrl.h \
wx/os2/textctrl.h \
wx/os2/tglbtn.h \
- wx/os2/timer.h \
wx/os2/toolbar.h \
wx/os2/tooltip.h \
wx/os2/toplevel.h \
@@ -2792,7 +2794,6 @@ COND_TOOLKIT_WINCE_GUI_HDR = \
wx/msw/tbar95.h \
wx/msw/textctrl.h \
wx/msw/tglbtn.h \
- wx/msw/timer.h \
wx/msw/tooltip.h \
wx/msw/toplevel.h \
wx/msw/treectrl.h \
@@ -3069,7 +3070,6 @@ COND_USE_GUI_1_ALL_GUI_HEADERS = \
wx/generic/splitter.h \
wx/generic/srchctlg.h \
wx/generic/textdlgg.h \
- wx/generic/timer.h \
wx/generic/treectlg.h \
wx/graphics.h \
wx/helphtml.h \
@@ -3395,7 +3395,8 @@ COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS = \
monodll_snglinst.o \
monodll_stackwalk.o \
monodll_stdpaths.o \
- monodll_threadpsx.o
+ monodll_threadpsx.o \
+ monodll_timerunx.o
@COND_PLATFORM_UNIX_1@__BASE_PLATFORM_SRC_OBJECTS = $(COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS)
COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS = \
monodll_basemsw.o \
@@ -3412,6 +3413,7 @@ COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS = \
monodll_stackwalk.o \
monodll_stdpaths.o \
monodll_thread.o \
+ monodll_timer.o \
monodll_utils.o \
monodll_utilsexc.o \
$(__BASE_WINCE_SRC_OBJECTS)
@@ -3426,6 +3428,7 @@ COND_TOOLKIT____BASE_MACOSX_SRC_OBJECTS = \
monodll_stackwalk.o \
monodll_stdpaths.o \
monodll_threadpsx.o \
+ monodll_timerunx.o \
monodll_cfstring.o \
monodll_stdpaths_cf.o \
monodll_utilsexc_base.o
@@ -3439,6 +3442,7 @@ COND_TOOLKIT_COCOA___BASE_MACOSX_SRC_OBJECTS = \
monodll_stackwalk.o \
monodll_stdpaths.o \
monodll_threadpsx.o \
+ monodll_timerunx.o \
monodll_cfstring.o \
monodll_stdpaths_cf.o \
monodll_utilsexc_base.o
@@ -3452,6 +3456,7 @@ COND_TOOLKIT_GTK___BASE_MACOSX_SRC_OBJECTS = \
monodll_stackwalk.o \
monodll_stdpaths.o \
monodll_threadpsx.o \
+ monodll_timerunx.o \
monodll_cfstring.o \
monodll_stdpaths_cf.o \
monodll_utilsexc_base.o
@@ -3469,7 +3474,8 @@ COND_TOOLKIT_MAC___BASE_MACOSX_SRC_OBJECTS = \
monodll_baseunix.o \
monodll_dlunix.o \
monodll_snglinst.o \
- monodll_stdpaths.o
+ monodll_stdpaths.o \
+ monodll_timerunx.o
@COND_TOOLKIT_MAC@__BASE_MACOSX_SRC_OBJECTS = $(COND_TOOLKIT_MAC___BASE_MACOSX_SRC_OBJECTS)
COND_TOOLKIT_MOTIF___BASE_MACOSX_SRC_OBJECTS = \
monodll_baseunix.o \
@@ -3480,6 +3486,7 @@ COND_TOOLKIT_MOTIF___BASE_MACOSX_SRC_OBJECTS = \
monodll_stackwalk.o \
monodll_stdpaths.o \
monodll_threadpsx.o \
+ monodll_timerunx.o \
monodll_cfstring.o \
monodll_stdpaths_cf.o \
monodll_utilsexc_base.o
@@ -3493,6 +3500,7 @@ COND_TOOLKIT_X11___BASE_MACOSX_SRC_OBJECTS = \
monodll_stackwalk.o \
monodll_stdpaths.o \
monodll_threadpsx.o \
+ monodll_timerunx.o \
monodll_cfstring.o \
monodll_stdpaths_cf.o \
monodll_utilsexc_base.o
@@ -3710,7 +3718,6 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS = \
monodll_stockitem.o \
monodll_tbarbase.o \
monodll_textcmn.o \
- monodll_timercmn.o \
monodll_toplvcmn.o \
monodll_treebase.o \
monodll_valgen.o \
@@ -3889,7 +3896,6 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS = \
monodll_stockitem.o \
monodll_tbarbase.o \
monodll_textcmn.o \
- monodll_timercmn.o \
monodll_toplvcmn.o \
monodll_treebase.o \
monodll_valgen.o \
@@ -4132,7 +4138,6 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS = \
monodll_region.o \
monodll_renderer.o \
monodll_settings.o \
- monodll_timer.o \
monodll_tooltip.o \
monodll_toplevel.o \
monodll_utilsgui.o \
@@ -4186,7 +4191,6 @@ COND_TOOLKIT_WINCE___LOWLEVEL_SRC_OBJECTS = \
monodll_region.o \
monodll_renderer.o \
monodll_settings.o \
- monodll_timer.o \
monodll_tooltip.o \
monodll_toplevel.o \
monodll_utilsgui.o \
@@ -4970,7 +4974,6 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_1 = \
monodll_region.o \
monodll_renderer.o \
monodll_settings.o \
- monodll_timer.o \
monodll_tooltip.o \
monodll_toplevel.o \
monodll_utilsgui.o \
@@ -5024,7 +5027,6 @@ COND_TOOLKIT_WINCE___LOWLEVEL_SRC_OBJECTS_1 = \
monodll_region.o \
monodll_renderer.o \
monodll_settings.o \
- monodll_timer.o \
monodll_tooltip.o \
monodll_toplevel.o \
monodll_utilsgui.o \
@@ -5199,7 +5201,8 @@ COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS_1 = \
monolib_snglinst.o \
monolib_stackwalk.o \
monolib_stdpaths.o \
- monolib_threadpsx.o
+ monolib_threadpsx.o \
+ monolib_timerunx.o
@COND_PLATFORM_UNIX_1@__BASE_PLATFORM_SRC_OBJECTS_1 = $(COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS_1)
COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_1 = \
monolib_basemsw.o \
@@ -5216,6 +5219,7 @@ COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_1 = \
monolib_stackwalk.o \
monolib_stdpaths.o \
monolib_thread.o \
+ monolib_timer.o \
monolib_utils.o \
monolib_utilsexc.o \
$(__BASE_WINCE_SRC_OBJECTS_1)
@@ -5230,6 +5234,7 @@ COND_TOOLKIT____BASE_MACOSX_SRC_OBJECTS_1 = \
monolib_stackwalk.o \
monolib_stdpaths.o \
monolib_threadpsx.o \
+ monolib_timerunx.o \
monolib_cfstring.o \
monolib_stdpaths_cf.o \
monolib_utilsexc_base.o
@@ -5243,6 +5248,7 @@ COND_TOOLKIT_COCOA___BASE_MACOSX_SRC_OBJECTS_1 = \
monolib_stackwalk.o \
monolib_stdpaths.o \
monolib_threadpsx.o \
+ monolib_timerunx.o \
monolib_cfstring.o \
monolib_stdpaths_cf.o \
monolib_utilsexc_base.o
@@ -5256,6 +5262,7 @@ COND_TOOLKIT_GTK___BASE_MACOSX_SRC_OBJECTS_1 = \
monolib_stackwalk.o \
monolib_stdpaths.o \
monolib_threadpsx.o \
+ monolib_timerunx.o \
monolib_cfstring.o \
monolib_stdpaths_cf.o \
monolib_utilsexc_base.o
@@ -5273,7 +5280,8 @@ COND_TOOLKIT_MAC___BASE_MACOSX_SRC_OBJECTS_1 = \
monolib_baseunix.o \
monolib_dlunix.o \
monolib_snglinst.o \
- monolib_stdpaths.o
+ monolib_stdpaths.o \
+ monolib_timerunx.o
@COND_TOOLKIT_MAC@__BASE_MACOSX_SRC_OBJECTS_1 = $(COND_TOOLKIT_MAC___BASE_MACOSX_SRC_OBJECTS_1)
COND_TOOLKIT_MOTIF___BASE_MACOSX_SRC_OBJECTS_1 = \
monolib_baseunix.o \
@@ -5284,6 +5292,7 @@ COND_TOOLKIT_MOTIF___BASE_MACOSX_SRC_OBJECTS_1 = \
monolib_stackwalk.o \
monolib_stdpaths.o \
monolib_threadpsx.o \
+ monolib_timerunx.o \
monolib_cfstring.o \
monolib_stdpaths_cf.o \
monolib_utilsexc_base.o
@@ -5297,6 +5306,7 @@ COND_TOOLKIT_X11___BASE_MACOSX_SRC_OBJECTS_1 = \
monolib_stackwalk.o \
monolib_stdpaths.o \
monolib_threadpsx.o \
+ monolib_timerunx.o \
monolib_cfstring.o \
monolib_stdpaths_cf.o \
monolib_utilsexc_base.o
@@ -5514,7 +5524,6 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_1 = \
monolib_stockitem.o \
monolib_tbarbase.o \
monolib_textcmn.o \
- monolib_timercmn.o \
monolib_toplvcmn.o \
monolib_treebase.o \
monolib_valgen.o \
@@ -5693,7 +5702,6 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_1 = \
monolib_stockitem.o \
monolib_tbarbase.o \
monolib_textcmn.o \
- monolib_timercmn.o \
monolib_toplvcmn.o \
monolib_treebase.o \
monolib_valgen.o \
@@ -5937,7 +5945,6 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_2 = \
monolib_region.o \
monolib_renderer.o \
monolib_settings.o \
- monolib_timer.o \
monolib_tooltip.o \
monolib_toplevel.o \
monolib_utilsgui.o \
@@ -5991,7 +5998,6 @@ COND_TOOLKIT_WINCE___LOWLEVEL_SRC_OBJECTS_2 = \
monolib_region.o \
monolib_renderer.o \
monolib_settings.o \
- monolib_timer.o \
monolib_tooltip.o \
monolib_toplevel.o \
monolib_utilsgui.o \
@@ -6776,7 +6782,6 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_3 = \
monolib_region.o \
monolib_renderer.o \
monolib_settings.o \
- monolib_timer.o \
monolib_tooltip.o \
monolib_toplevel.o \
monolib_utilsgui.o \
@@ -6830,7 +6835,6 @@ COND_TOOLKIT_WINCE___LOWLEVEL_SRC_OBJECTS_3 = \
monolib_region.o \
monolib_renderer.o \
monolib_settings.o \
- monolib_timer.o \
monolib_tooltip.o \
monolib_toplevel.o \
monolib_utilsgui.o \
@@ -7044,7 +7048,8 @@ COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS_2 = \
basedll_snglinst.o \
basedll_stackwalk.o \
basedll_stdpaths.o \
- basedll_threadpsx.o
+ basedll_threadpsx.o \
+ basedll_timerunx.o
@COND_PLATFORM_UNIX_1@__BASE_PLATFORM_SRC_OBJECTS_2 = $(COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS_2)
COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_2 = \
basedll_basemsw.o \
@@ -7061,6 +7066,7 @@ COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_2 = \
basedll_stackwalk.o \
basedll_stdpaths.o \
basedll_thread.o \
+ basedll_timer.o \
basedll_utils.o \
basedll_utilsexc.o \
$(__BASE_WINCE_SRC_OBJECTS_2)
@@ -7075,6 +7081,7 @@ COND_TOOLKIT____BASE_MACOSX_SRC_OBJECTS_2 = \
basedll_stackwalk.o \
basedll_stdpaths.o \
basedll_threadpsx.o \
+ basedll_timerunx.o \
basedll_cfstring.o \
basedll_stdpaths_cf.o \
basedll_utilsexc_base.o
@@ -7088,6 +7095,7 @@ COND_TOOLKIT_COCOA___BASE_MACOSX_SRC_OBJECTS_2 = \
basedll_stackwalk.o \
basedll_stdpaths.o \
basedll_threadpsx.o \
+ basedll_timerunx.o \
basedll_cfstring.o \
basedll_stdpaths_cf.o \
basedll_utilsexc_base.o
@@ -7101,6 +7109,7 @@ COND_TOOLKIT_GTK___BASE_MACOSX_SRC_OBJECTS_2 = \
basedll_stackwalk.o \
basedll_stdpaths.o \
basedll_threadpsx.o \
+ basedll_timerunx.o \
basedll_cfstring.o \
basedll_stdpaths_cf.o \
basedll_utilsexc_base.o
@@ -7118,7 +7127,8 @@ COND_TOOLKIT_MAC___BASE_MACOSX_SRC_OBJECTS_2 = \
basedll_baseunix.o \
basedll_dlunix.o \
basedll_snglinst.o \
- basedll_stdpaths.o
+ basedll_stdpaths.o \
+ basedll_timerunx.o
@COND_TOOLKIT_MAC@__BASE_MACOSX_SRC_OBJECTS_2 = $(COND_TOOLKIT_MAC___BASE_MACOSX_SRC_OBJECTS_2)
COND_TOOLKIT_MOTIF___BASE_MACOSX_SRC_OBJECTS_2 = \
basedll_baseunix.o \
@@ -7129,6 +7139,7 @@ COND_TOOLKIT_MOTIF___BASE_MACOSX_SRC_OBJECTS_2 = \
basedll_stackwalk.o \
basedll_stdpaths.o \
basedll_threadpsx.o \
+ basedll_timerunx.o \
basedll_cfstring.o \
basedll_stdpaths_cf.o \
basedll_utilsexc_base.o
@@ -7142,6 +7153,7 @@ COND_TOOLKIT_X11___BASE_MACOSX_SRC_OBJECTS_2 = \
basedll_stackwalk.o \
basedll_stdpaths.o \
basedll_threadpsx.o \
+ basedll_timerunx.o \
basedll_cfstring.o \
basedll_stdpaths_cf.o \
basedll_utilsexc_base.o
@@ -7207,7 +7219,8 @@ COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS_3 = \
baselib_snglinst.o \
baselib_stackwalk.o \
baselib_stdpaths.o \
- baselib_threadpsx.o
+ baselib_threadpsx.o \
+ baselib_timerunx.o
@COND_PLATFORM_UNIX_1@__BASE_PLATFORM_SRC_OBJECTS_3 = $(COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS_3)
COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_3 = \
baselib_basemsw.o \
@@ -7224,6 +7237,7 @@ COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_3 = \
baselib_stackwalk.o \
baselib_stdpaths.o \
baselib_thread.o \
+ baselib_timer.o \
baselib_utils.o \
baselib_utilsexc.o \
$(__BASE_WINCE_SRC_OBJECTS_3)
@@ -7238,6 +7252,7 @@ COND_TOOLKIT____BASE_MACOSX_SRC_OBJECTS_3 = \
baselib_stackwalk.o \
baselib_stdpaths.o \
baselib_threadpsx.o \
+ baselib_timerunx.o \
baselib_cfstring.o \
baselib_stdpaths_cf.o \
baselib_utilsexc_base.o
@@ -7251,6 +7266,7 @@ COND_TOOLKIT_COCOA___BASE_MACOSX_SRC_OBJECTS_3 = \
baselib_stackwalk.o \
baselib_stdpaths.o \
baselib_threadpsx.o \
+ baselib_timerunx.o \
baselib_cfstring.o \
baselib_stdpaths_cf.o \
baselib_utilsexc_base.o
@@ -7264,6 +7280,7 @@ COND_TOOLKIT_GTK___BASE_MACOSX_SRC_OBJECTS_3 = \
baselib_stackwalk.o \
baselib_stdpaths.o \
baselib_threadpsx.o \
+ baselib_timerunx.o \
baselib_cfstring.o \
baselib_stdpaths_cf.o \
baselib_utilsexc_base.o
@@ -7281,7 +7298,8 @@ COND_TOOLKIT_MAC___BASE_MACOSX_SRC_OBJECTS_3 = \
baselib_baseunix.o \
baselib_dlunix.o \
baselib_snglinst.o \
- baselib_stdpaths.o
+ baselib_stdpaths.o \
+ baselib_timerunx.o
@COND_TOOLKIT_MAC@__BASE_MACOSX_SRC_OBJECTS_3 = $(COND_TOOLKIT_MAC___BASE_MACOSX_SRC_OBJECTS_3)
COND_TOOLKIT_MOTIF___BASE_MACOSX_SRC_OBJECTS_3 = \
baselib_baseunix.o \
@@ -7292,6 +7310,7 @@ COND_TOOLKIT_MOTIF___BASE_MACOSX_SRC_OBJECTS_3 = \
baselib_stackwalk.o \
baselib_stdpaths.o \
baselib_threadpsx.o \
+ baselib_timerunx.o \
baselib_cfstring.o \
baselib_stdpaths_cf.o \
baselib_utilsexc_base.o
@@ -7305,6 +7324,7 @@ COND_TOOLKIT_X11___BASE_MACOSX_SRC_OBJECTS_3 = \
baselib_stackwalk.o \
baselib_stdpaths.o \
baselib_threadpsx.o \
+ baselib_timerunx.o \
baselib_cfstring.o \
baselib_stdpaths_cf.o \
baselib_utilsexc_base.o
@@ -7548,7 +7568,6 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_2 = \
coredll_stockitem.o \
coredll_tbarbase.o \
coredll_textcmn.o \
- coredll_timercmn.o \
coredll_toplvcmn.o \
coredll_treebase.o \
coredll_valgen.o \
@@ -7727,7 +7746,6 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_2 = \
coredll_stockitem.o \
coredll_tbarbase.o \
coredll_textcmn.o \
- coredll_timercmn.o \
coredll_toplvcmn.o \
coredll_treebase.o \
coredll_valgen.o \
@@ -7971,7 +7989,6 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_4 = \
coredll_region.o \
coredll_renderer.o \
coredll_settings.o \
- coredll_timer.o \
coredll_tooltip.o \
coredll_toplevel.o \
coredll_utilsgui.o \
@@ -8025,7 +8042,6 @@ COND_TOOLKIT_WINCE___LOWLEVEL_SRC_OBJECTS_4 = \
coredll_region.o \
coredll_renderer.o \
coredll_settings.o \
- coredll_timer.o \
coredll_tooltip.o \
coredll_toplevel.o \
coredll_utilsgui.o \
@@ -8810,7 +8826,6 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_5 = \
coredll_region.o \
coredll_renderer.o \
coredll_settings.o \
- coredll_timer.o \
coredll_tooltip.o \
coredll_toplevel.o \
coredll_utilsgui.o \
@@ -8864,7 +8879,6 @@ COND_TOOLKIT_WINCE___LOWLEVEL_SRC_OBJECTS_5 = \
coredll_region.o \
coredll_renderer.o \
coredll_settings.o \
- coredll_timer.o \
coredll_tooltip.o \
coredll_toplevel.o \
coredll_utilsgui.o \
@@ -9020,7 +9034,6 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_3 = \
corelib_stockitem.o \
corelib_tbarbase.o \
corelib_textcmn.o \
- corelib_timercmn.o \
corelib_toplvcmn.o \
corelib_treebase.o \
corelib_valgen.o \
@@ -9199,7 +9212,6 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_3 = \
corelib_stockitem.o \
corelib_tbarbase.o \
corelib_textcmn.o \
- corelib_timercmn.o \
corelib_toplvcmn.o \
corelib_treebase.o \
corelib_valgen.o \
@@ -9443,7 +9455,6 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_6 = \
corelib_region.o \
corelib_renderer.o \
corelib_settings.o \
- corelib_timer.o \
corelib_tooltip.o \
corelib_toplevel.o \
corelib_utilsgui.o \
@@ -9497,7 +9508,6 @@ COND_TOOLKIT_WINCE___LOWLEVEL_SRC_OBJECTS_6 = \
corelib_region.o \
corelib_renderer.o \
corelib_settings.o \
- corelib_timer.o \
corelib_tooltip.o \
corelib_toplevel.o \
corelib_utilsgui.o \
@@ -10282,7 +10292,6 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_7 = \
corelib_region.o \
corelib_renderer.o \
corelib_settings.o \
- corelib_timer.o \
corelib_tooltip.o \
corelib_toplevel.o \
corelib_utilsgui.o \
@@ -10336,7 +10345,6 @@ COND_TOOLKIT_WINCE___LOWLEVEL_SRC_OBJECTS_7 = \
corelib_region.o \
corelib_renderer.o \
corelib_settings.o \
- corelib_timer.o \
corelib_tooltip.o \
corelib_toplevel.o \
corelib_utilsgui.o \
@@ -13398,6 +13406,12 @@ monodll_textbuf.o: $(srcdir)/src/common/textbuf.cpp $(MONODLL_ODEP)
monodll_textfile.o: $(srcdir)/src/common/textfile.cpp $(MONODLL_ODEP)
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/textfile.cpp
+monodll_timercmn.o: $(srcdir)/src/common/timercmn.cpp $(MONODLL_ODEP)
+ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/timercmn.cpp
+
+monodll_timerimpl.o: $(srcdir)/src/common/timerimpl.cpp $(MONODLL_ODEP)
+ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/timerimpl.cpp
+
monodll_tokenzr.o: $(srcdir)/src/common/tokenzr.cpp $(MONODLL_ODEP)
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/tokenzr.cpp
@@ -14244,6 +14258,27 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_@monodll_threadpsx.o: $(srcdir)/src/unix/threadpsx.cpp $(MONODLL_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/threadpsx.cpp
+@COND_PLATFORM_UNIX_1@monodll_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@monodll_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@monodll_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@monodll_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@monodll_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@monodll_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@monodll_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp
+
@COND_PLATFORM_WIN32_1@monodll_thread.o: $(srcdir)/src/msw/thread.cpp $(MONODLL_ODEP)
@COND_PLATFORM_WIN32_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/thread.cpp
@@ -14256,6 +14291,36 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
@COND_PLATFORM_OS2_1@monodll_thread.o: $(srcdir)/src/os2/thread.cpp $(MONODLL_ODEP)
@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/os2/thread.cpp
+@COND_PLATFORM_WIN32_1@monodll_timer.o: $(srcdir)/src/msw/timer.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_WIN32_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/timer.cpp
+
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monodll_timer.o: $(srcdir)/src/gtk/timer.cpp $(MONODLL_ODEP)
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/gtk/timer.cpp
+
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@monodll_timer.o: $(srcdir)/src/gtk1/timer.cpp $(MONODLL_ODEP)
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/gtk1/timer.cpp
+
+@COND_TOOLKIT_X11_USE_GUI_1@monodll_timer.o: $(srcdir)/src/generic/timer.cpp $(MONODLL_ODEP)
+@COND_TOOLKIT_X11_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/timer.cpp
+
+@COND_TOOLKIT_MGL_USE_GUI_1@monodll_timer.o: $(srcdir)/src/generic/timer.cpp $(MONODLL_ODEP)
+@COND_TOOLKIT_MGL_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/timer.cpp
+
+@COND_TOOLKIT_DFB_USE_GUI_1@monodll_timer.o: $(srcdir)/src/generic/timer.cpp $(MONODLL_ODEP)
+@COND_TOOLKIT_DFB_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/timer.cpp
+
+@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@monodll_timer.o: $(srcdir)/src/motif/timer.cpp $(MONODLL_ODEP)
+@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/motif/timer.cpp
+
+@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@monodll_timer.o: $(srcdir)/src/mac/carbon/timer.cpp $(MONODLL_ODEP)
+@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/mac/carbon/timer.cpp
+
+@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@monodll_timer.o: $(srcdir)/src/cocoa/timer.mm $(MONODLL_ODEP)
+@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/cocoa/timer.mm
+
+@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@monodll_timer.o: $(srcdir)/src/os2/timer.cpp $(MONODLL_ODEP)
+@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/os2/timer.cpp
+
@COND_PLATFORM_WIN32_1@monodll_utils.o: $(srcdir)/src/msw/utils.cpp $(MONODLL_ODEP)
@COND_PLATFORM_WIN32_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/utils.cpp
@@ -15258,39 +15323,6 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@monodll_settings.o: $(srcdir)/src/os2/settings.cpp $(MONODLL_ODEP)
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/os2/settings.cpp
-@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monodll_timer.o: $(srcdir)/src/gtk/timer.cpp $(MONODLL_ODEP)
-@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/gtk/timer.cpp
-
-@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@monodll_timer.o: $(srcdir)/src/gtk1/timer.cpp $(MONODLL_ODEP)
-@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/gtk1/timer.cpp
-
-@COND_TOOLKIT_MSW_USE_GUI_1@monodll_timer.o: $(srcdir)/src/msw/timer.cpp $(MONODLL_ODEP)
-@COND_TOOLKIT_MSW_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/timer.cpp
-
-@COND_TOOLKIT_WINCE_USE_GUI_1@monodll_timer.o: $(srcdir)/src/msw/timer.cpp $(MONODLL_ODEP)
-@COND_TOOLKIT_WINCE_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/timer.cpp
-
-@COND_TOOLKIT_X11_USE_GUI_1@monodll_timer.o: $(srcdir)/src/generic/timer.cpp $(MONODLL_ODEP)
-@COND_TOOLKIT_X11_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/timer.cpp
-
-@COND_TOOLKIT_MGL_USE_GUI_1@monodll_timer.o: $(srcdir)/src/generic/timer.cpp $(MONODLL_ODEP)
-@COND_TOOLKIT_MGL_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/timer.cpp
-
-@COND_TOOLKIT_DFB_USE_GUI_1@monodll_timer.o: $(srcdir)/src/generic/timer.cpp $(MONODLL_ODEP)
-@COND_TOOLKIT_DFB_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/timer.cpp
-
-@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@monodll_timer.o: $(srcdir)/src/motif/timer.cpp $(MONODLL_ODEP)
-@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/motif/timer.cpp
-
-@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@monodll_timer.o: $(srcdir)/src/mac/carbon/timer.cpp $(MONODLL_ODEP)
-@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/mac/carbon/timer.cpp
-
-@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@monodll_timer.o: $(srcdir)/src/cocoa/timer.mm $(MONODLL_ODEP)
-@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/cocoa/timer.mm
-
-@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@monodll_timer.o: $(srcdir)/src/os2/timer.cpp $(MONODLL_ODEP)
-@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/os2/timer.cpp
-
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monodll_tooltip.o: $(srcdir)/src/gtk/tooltip.cpp $(MONODLL_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/gtk/tooltip.cpp
@@ -17055,9 +17087,6 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
@COND_USE_GUI_1@monodll_textcmn.o: $(srcdir)/src/common/textcmn.cpp $(MONODLL_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/textcmn.cpp
-@COND_USE_GUI_1@monodll_timercmn.o: $(srcdir)/src/common/timercmn.cpp $(MONODLL_ODEP)
-@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/timercmn.cpp
-
@COND_USE_GUI_1@monodll_toplvcmn.o: $(srcdir)/src/common/toplvcmn.cpp $(MONODLL_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/toplvcmn.cpp
@@ -17580,6 +17609,12 @@ monolib_textbuf.o: $(srcdir)/src/common/textbuf.cpp $(MONOLIB_ODEP)
monolib_textfile.o: $(srcdir)/src/common/textfile.cpp $(MONOLIB_ODEP)
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/textfile.cpp
+monolib_timercmn.o: $(srcdir)/src/common/timercmn.cpp $(MONOLIB_ODEP)
+ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/timercmn.cpp
+
+monolib_timerimpl.o: $(srcdir)/src/common/timerimpl.cpp $(MONOLIB_ODEP)
+ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/timerimpl.cpp
+
monolib_tokenzr.o: $(srcdir)/src/common/tokenzr.cpp $(MONOLIB_ODEP)
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/tokenzr.cpp
@@ -18426,6 +18461,27 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_@monolib_threadpsx.o: $(srcdir)/src/unix/threadpsx.cpp $(MONOLIB_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/threadpsx.cpp
+@COND_PLATFORM_UNIX_1@monolib_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@monolib_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@monolib_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@monolib_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@monolib_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@monolib_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@monolib_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp
+
@COND_PLATFORM_WIN32_1@monolib_thread.o: $(srcdir)/src/msw/thread.cpp $(MONOLIB_ODEP)
@COND_PLATFORM_WIN32_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/thread.cpp
@@ -18438,6 +18494,36 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
@COND_PLATFORM_OS2_1@monolib_thread.o: $(srcdir)/src/os2/thread.cpp $(MONOLIB_ODEP)
@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/os2/thread.cpp
+@COND_PLATFORM_WIN32_1@monolib_timer.o: $(srcdir)/src/msw/timer.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_WIN32_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/timer.cpp
+
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monolib_timer.o: $(srcdir)/src/gtk/timer.cpp $(MONOLIB_ODEP)
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/gtk/timer.cpp
+
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@monolib_timer.o: $(srcdir)/src/gtk1/timer.cpp $(MONOLIB_ODEP)
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/gtk1/timer.cpp
+
+@COND_TOOLKIT_X11_USE_GUI_1@monolib_timer.o: $(srcdir)/src/generic/timer.cpp $(MONOLIB_ODEP)
+@COND_TOOLKIT_X11_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/timer.cpp
+
+@COND_TOOLKIT_MGL_USE_GUI_1@monolib_timer.o: $(srcdir)/src/generic/timer.cpp $(MONOLIB_ODEP)
+@COND_TOOLKIT_MGL_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/timer.cpp
+
+@COND_TOOLKIT_DFB_USE_GUI_1@monolib_timer.o: $(srcdir)/src/generic/timer.cpp $(MONOLIB_ODEP)
+@COND_TOOLKIT_DFB_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/timer.cpp
+
+@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@monolib_timer.o: $(srcdir)/src/motif/timer.cpp $(MONOLIB_ODEP)
+@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/motif/timer.cpp
+
+@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@monolib_timer.o: $(srcdir)/src/mac/carbon/timer.cpp $(MONOLIB_ODEP)
+@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/mac/carbon/timer.cpp
+
+@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@monolib_timer.o: $(srcdir)/src/cocoa/timer.mm $(MONOLIB_ODEP)
+@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/cocoa/timer.mm
+
+@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@monolib_timer.o: $(srcdir)/src/os2/timer.cpp $(MONOLIB_ODEP)
+@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/os2/timer.cpp
+
@COND_PLATFORM_WIN32_1@monolib_utils.o: $(srcdir)/src/msw/utils.cpp $(MONOLIB_ODEP)
@COND_PLATFORM_WIN32_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/utils.cpp
@@ -19440,39 +19526,6 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@monolib_settings.o: $(srcdir)/src/os2/settings.cpp $(MONOLIB_ODEP)
@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/os2/settings.cpp
-@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monolib_timer.o: $(srcdir)/src/gtk/timer.cpp $(MONOLIB_ODEP)
-@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/gtk/timer.cpp
-
-@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@monolib_timer.o: $(srcdir)/src/gtk1/timer.cpp $(MONOLIB_ODEP)
-@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/gtk1/timer.cpp
-
-@COND_TOOLKIT_MSW_USE_GUI_1@monolib_timer.o: $(srcdir)/src/msw/timer.cpp $(MONOLIB_ODEP)
-@COND_TOOLKIT_MSW_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/timer.cpp
-
-@COND_TOOLKIT_WINCE_USE_GUI_1@monolib_timer.o: $(srcdir)/src/msw/timer.cpp $(MONOLIB_ODEP)
-@COND_TOOLKIT_WINCE_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/timer.cpp
-
-@COND_TOOLKIT_X11_USE_GUI_1@monolib_timer.o: $(srcdir)/src/generic/timer.cpp $(MONOLIB_ODEP)
-@COND_TOOLKIT_X11_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/timer.cpp
-
-@COND_TOOLKIT_MGL_USE_GUI_1@monolib_timer.o: $(srcdir)/src/generic/timer.cpp $(MONOLIB_ODEP)
-@COND_TOOLKIT_MGL_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/timer.cpp
-
-@COND_TOOLKIT_DFB_USE_GUI_1@monolib_timer.o: $(srcdir)/src/generic/timer.cpp $(MONOLIB_ODEP)
-@COND_TOOLKIT_DFB_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/timer.cpp
-
-@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@monolib_timer.o: $(srcdir)/src/motif/timer.cpp $(MONOLIB_ODEP)
-@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/motif/timer.cpp
-
-@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@monolib_timer.o: $(srcdir)/src/mac/carbon/timer.cpp $(MONOLIB_ODEP)
-@COND_TOOLKIT_MAC_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/mac/carbon/timer.cpp
-
-@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@monolib_timer.o: $(srcdir)/src/cocoa/timer.mm $(MONOLIB_ODEP)
-@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/cocoa/timer.mm
-
-@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@monolib_timer.o: $(srcdir)/src/os2/timer.cpp $(MONOLIB_ODEP)
-@COND_TOOLKIT_PM_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/os2/timer.cpp
-
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monolib_tooltip.o: $(srcdir)/src/gtk/tooltip.cpp $(MONOLIB_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/gtk/tooltip.cpp
@@ -21237,9 +21290,6 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
@COND_USE_GUI_1@monolib_textcmn.o: $(srcdir)/src/common/textcmn.cpp $(MONOLIB_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/textcmn.cpp
-@COND_USE_GUI_1@monolib_timercmn.o: $(srcdir)/src/common/timercmn.cpp $(MONOLIB_ODEP)
-@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/timercmn.cpp
-
@COND_USE_GUI_1@monolib_toplvcmn.o: $(srcdir)/src/common/toplvcmn.cpp $(MONOLIB_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/toplvcmn.cpp
@@ -21762,6 +21812,12 @@ basedll_textbuf.o: $(srcdir)/src/common/textbuf.cpp $(BASEDLL_ODEP)
basedll_textfile.o: $(srcdir)/src/common/textfile.cpp $(BASEDLL_ODEP)
$(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/textfile.cpp
+basedll_timercmn.o: $(srcdir)/src/common/timercmn.cpp $(BASEDLL_ODEP)
+ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/timercmn.cpp
+
+basedll_timerimpl.o: $(srcdir)/src/common/timerimpl.cpp $(BASEDLL_ODEP)
+ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/timerimpl.cpp
+
basedll_tokenzr.o: $(srcdir)/src/common/tokenzr.cpp $(BASEDLL_ODEP)
$(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/tokenzr.cpp
@@ -21822,6 +21878,9 @@ basedll_regconf.o: $(srcdir)/src/msw/regconf.cpp $(BASEDLL_ODEP)
basedll_registry.o: $(srcdir)/src/msw/registry.cpp $(BASEDLL_ODEP)
$(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/msw/registry.cpp
+basedll_timer.o: $(srcdir)/src/msw/timer.cpp $(BASEDLL_ODEP)
+ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/msw/timer.cpp
+
basedll_time.o: $(srcdir)/src/msw/wince/time.cpp $(BASEDLL_ODEP)
$(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/msw/wince/time.cpp
@@ -22065,6 +22124,27 @@ basedll_uma.o: $(srcdir)/src/mac/carbon/uma.cpp $(BASEDLL_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_@basedll_threadpsx.o: $(srcdir)/src/unix/threadpsx.cpp $(BASEDLL_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/threadpsx.cpp
+@COND_PLATFORM_UNIX_1@basedll_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@basedll_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@basedll_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@basedll_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@basedll_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@basedll_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@basedll_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(BASEDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp
+
@COND_PLATFORM_WIN32_1@basedll_thread.o: $(srcdir)/src/msw/thread.cpp $(BASEDLL_ODEP)
@COND_PLATFORM_WIN32_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/msw/thread.cpp
@@ -22368,6 +22448,12 @@ baselib_textbuf.o: $(srcdir)/src/common/textbuf.cpp $(BASELIB_ODEP)
baselib_textfile.o: $(srcdir)/src/common/textfile.cpp $(BASELIB_ODEP)
$(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/textfile.cpp
+baselib_timercmn.o: $(srcdir)/src/common/timercmn.cpp $(BASELIB_ODEP)
+ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/timercmn.cpp
+
+baselib_timerimpl.o: $(srcdir)/src/common/timerimpl.cpp $(BASELIB_ODEP)
+ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/timerimpl.cpp
+
baselib_tokenzr.o: $(srcdir)/src/common/tokenzr.cpp $(BASELIB_ODEP)
$(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/tokenzr.cpp
@@ -22428,6 +22514,9 @@ baselib_regconf.o: $(srcdir)/src/msw/regconf.cpp $(BASELIB_ODEP)
baselib_registry.o: $(srcdir)/src/msw/registry.cpp $(BASELIB_ODEP)
$(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/msw/registry.cpp
+baselib_timer.o: $(srcdir)/src/msw/timer.cpp $(BASELIB_ODEP)
+ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/msw/timer.cpp
+
baselib_time.o: $(srcdir)/src/msw/wince/time.cpp $(BASELIB_ODEP)
$(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/msw/wince/time.cpp
@@ -22671,6 +22760,27 @@ baselib_uma.o: $(srcdir)/src/mac/carbon/uma.cpp $(BASELIB_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_@baselib_threadpsx.o: $(srcdir)/src/unix/threadpsx.cpp $(BASELIB_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/threadpsx.cpp
+@COND_PLATFORM_UNIX_1@baselib_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@baselib_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MAC@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@baselib_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_COCOA@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@baselib_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_GTK@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@baselib_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_X11@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@baselib_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_MOTIF@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@baselib_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(BASELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp
+
@COND_PLATFORM_WIN32_1@baselib_thread.o: $(srcdir)/src/msw/thread.cpp $(BASELIB_ODEP)
@COND_PLATFORM_WIN32_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/msw/thread.cpp
@@ -24015,12 +24125,6 @@ coredll_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(COREDLL_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@coredll_timer.o: $(srcdir)/src/gtk1/timer.cpp $(COREDLL_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/gtk1/timer.cpp
-@COND_TOOLKIT_MSW_USE_GUI_1@coredll_timer.o: $(srcdir)/src/msw/timer.cpp $(COREDLL_ODEP)
-@COND_TOOLKIT_MSW_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/msw/timer.cpp
-
-@COND_TOOLKIT_WINCE_USE_GUI_1@coredll_timer.o: $(srcdir)/src/msw/timer.cpp $(COREDLL_ODEP)
-@COND_TOOLKIT_WINCE_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/msw/timer.cpp
-
@COND_TOOLKIT_X11_USE_GUI_1@coredll_timer.o: $(srcdir)/src/generic/timer.cpp $(COREDLL_ODEP)
@COND_TOOLKIT_X11_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/timer.cpp
@@ -25770,9 +25874,6 @@ coredll_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(COREDLL_ODEP)
@COND_USE_GUI_1@coredll_textcmn.o: $(srcdir)/src/common/textcmn.cpp $(COREDLL_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/textcmn.cpp
-@COND_USE_GUI_1@coredll_timercmn.o: $(srcdir)/src/common/timercmn.cpp $(COREDLL_ODEP)
-@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/timercmn.cpp
-
@COND_USE_GUI_1@coredll_toplvcmn.o: $(srcdir)/src/common/toplvcmn.cpp $(COREDLL_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/toplvcmn.cpp
@@ -26997,12 +27098,6 @@ corelib_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(CORELIB_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@corelib_timer.o: $(srcdir)/src/gtk1/timer.cpp $(CORELIB_ODEP)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/gtk1/timer.cpp
-@COND_TOOLKIT_MSW_USE_GUI_1@corelib_timer.o: $(srcdir)/src/msw/timer.cpp $(CORELIB_ODEP)
-@COND_TOOLKIT_MSW_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/msw/timer.cpp
-
-@COND_TOOLKIT_WINCE_USE_GUI_1@corelib_timer.o: $(srcdir)/src/msw/timer.cpp $(CORELIB_ODEP)
-@COND_TOOLKIT_WINCE_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/msw/timer.cpp
-
@COND_TOOLKIT_X11_USE_GUI_1@corelib_timer.o: $(srcdir)/src/generic/timer.cpp $(CORELIB_ODEP)
@COND_TOOLKIT_X11_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/timer.cpp
@@ -28752,9 +28847,6 @@ corelib_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(CORELIB_ODEP)
@COND_USE_GUI_1@corelib_textcmn.o: $(srcdir)/src/common/textcmn.cpp $(CORELIB_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/textcmn.cpp
-@COND_USE_GUI_1@corelib_timercmn.o: $(srcdir)/src/common/timercmn.cpp $(CORELIB_ODEP)
-@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/timercmn.cpp
-
@COND_USE_GUI_1@corelib_toplvcmn.o: $(srcdir)/src/common/toplvcmn.cpp $(CORELIB_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/toplvcmn.cpp
diff --git a/build/bakefiles/files.bkl b/build/bakefiles/files.bkl
index f3f0555cb8..9227f7d5bf 100644
--- a/build/bakefiles/files.bkl
+++ b/build/bakefiles/files.bkl
@@ -62,6 +62,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
src/unix/stackwalk.cpp
src/unix/stdpaths.cpp
src/unix/threadpsx.cpp
+ src/unix/timerunx.cpp
src/unix/utilsunx.cpp
@@ -95,6 +96,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
src/msw/stackwalk.cpp
src/msw/stdpaths.cpp
src/msw/thread.cpp
+ src/msw/timer.cpp
src/msw/utils.cpp
src/msw/utilsexc.cpp
@@ -201,6 +203,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
src/unix/dlunix.cpp
src/unix/snglinst.cpp
src/unix/stdpaths.cpp
+ src/unix/timerunx.cpp
$(BASE_MAC_HDR)
@@ -348,6 +351,8 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
src/common/tarstrm.cpp
src/common/textbuf.cpp
src/common/textfile.cpp
+ src/common/timercmn.cpp
+ src/common/timerimpl.cpp
src/common/tokenzr.cpp
src/common/txtstrm.cpp
src/common/unichar.cpp
@@ -661,7 +666,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
src/common/stockitem.cpp
src/common/tbarbase.cpp
src/common/textcmn.cpp
- src/common/timercmn.cpp
src/common/toplvcmn.cpp
src/common/treebase.cpp
src/common/valgen.cpp
@@ -759,7 +763,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
wx/generic/splitter.h
wx/generic/srchctlg.h
wx/generic/textdlgg.h
- wx/generic/timer.h
wx/generic/treectlg.h
wx/graphics.h
wx/helphtml.h
@@ -983,7 +986,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
wx/gtk/pen.h
wx/gtk/popupwin.h
wx/gtk/region.h
- wx/gtk/timer.h
wx/gtk/tooltip.h
wx/gtk/toplevel.h
wx/gtk/win_gtk.h
@@ -1162,7 +1164,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
wx/gtk1/pen.h
wx/gtk1/popupwin.h
wx/gtk1/region.h
- wx/gtk1/timer.h
wx/gtk1/tooltip.h
wx/gtk1/toplevel.h
wx/gtk1/win_gtk.h
@@ -1404,7 +1405,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
wx/motif/stattext.h
wx/motif/textctrl.h
wx/motif/tglbtn.h
- wx/motif/timer.h
wx/motif/toolbar.h
wx/motif/toplevel.h
wx/motif/window.h
@@ -1531,7 +1531,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
src/msw/region.cpp
src/msw/renderer.cpp
src/msw/settings.cpp
- src/msw/timer.cpp
src/msw/tooltip.cpp
src/msw/toplevel.cpp
src/msw/utilsgui.cpp
@@ -1683,7 +1682,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
wx/msw/tbar95.h
wx/msw/textctrl.h
wx/msw/tglbtn.h
- wx/msw/timer.h
wx/msw/tooltip.h
wx/msw/toplevel.h
wx/msw/treectrl.h
@@ -1811,7 +1809,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
wx/generic/icon.h
wx/generic/imaglist.h
wx/generic/mask.h
- wx/generic/timer.h
wx/mgl/app.h
wx/mgl/bitmap.h
wx/mgl/brush.h
@@ -1876,7 +1873,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
wx/generic/icon.h
wx/generic/imaglist.h
wx/generic/mask.h
- wx/generic/timer.h
wx/dfb/app.h
wx/dfb/bitmap.h
wx/dfb/brush.h
@@ -2061,7 +2057,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
wx/os2/tabctrl.h
wx/os2/textctrl.h
wx/os2/tglbtn.h
- wx/os2/timer.h
wx/os2/toolbar.h
wx/os2/tooltip.h
wx/os2/toplevel.h
@@ -2267,7 +2262,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
wx/mac/tabctrl.h
wx/mac/taskbarosx.h
wx/mac/textctrl.h
- wx/mac/timer.h
wx/mac/tglbtn.h
wx/mac/toolbar.h
wx/mac/tooltip.h
@@ -2353,7 +2347,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
wx/mac/carbon/statusbr.h
wx/mac/carbon/tabctrl.h
wx/mac/carbon/textctrl.h
- wx/mac/carbon/timer.h
wx/mac/carbon/tglbtn.h
wx/mac/carbon/toolbar.h
wx/mac/carbon/tooltip.h
@@ -2541,7 +2534,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
wx/cocoa/statline.h
wx/cocoa/stattext.h
wx/cocoa/textctrl.h
- wx/cocoa/timer.h
wx/cocoa/toolbar.h
wx/cocoa/tooltip.h
wx/cocoa/toplevel.h
diff --git a/build/msw/makefile.bcc b/build/msw/makefile.bcc
index 5050d90df9..d62fd3818b 100644
--- a/build/msw/makefile.bcc
+++ b/build/msw/makefile.bcc
@@ -352,6 +352,8 @@ MONODLL_OBJECTS = \
$(OBJS)\monodll_tarstrm.obj \
$(OBJS)\monodll_textbuf.obj \
$(OBJS)\monodll_textfile.obj \
+ $(OBJS)\monodll_timercmn.obj \
+ $(OBJS)\monodll_timerimpl.obj \
$(OBJS)\monodll_tokenzr.obj \
$(OBJS)\monodll_txtstrm.obj \
$(OBJS)\monodll_unichar.obj \
@@ -378,6 +380,7 @@ MONODLL_OBJECTS = \
$(OBJS)\monodll_stackwalk.obj \
$(OBJS)\monodll_stdpaths.obj \
$(OBJS)\monodll_thread.obj \
+ $(OBJS)\monodll_timer.obj \
$(OBJS)\monodll_utils.obj \
$(OBJS)\monodll_utilsexc.obj \
$(OBJS)\monodll_event.obj \
@@ -481,6 +484,8 @@ MONOLIB_OBJECTS = \
$(OBJS)\monolib_tarstrm.obj \
$(OBJS)\monolib_textbuf.obj \
$(OBJS)\monolib_textfile.obj \
+ $(OBJS)\monolib_timercmn.obj \
+ $(OBJS)\monolib_timerimpl.obj \
$(OBJS)\monolib_tokenzr.obj \
$(OBJS)\monolib_txtstrm.obj \
$(OBJS)\monolib_unichar.obj \
@@ -507,6 +512,7 @@ MONOLIB_OBJECTS = \
$(OBJS)\monolib_stackwalk.obj \
$(OBJS)\monolib_stdpaths.obj \
$(OBJS)\monolib_thread.obj \
+ $(OBJS)\monolib_timer.obj \
$(OBJS)\monolib_utils.obj \
$(OBJS)\monolib_utilsexc.obj \
$(OBJS)\monolib_event.obj \
@@ -608,6 +614,8 @@ BASEDLL_OBJECTS = \
$(OBJS)\basedll_tarstrm.obj \
$(OBJS)\basedll_textbuf.obj \
$(OBJS)\basedll_textfile.obj \
+ $(OBJS)\basedll_timercmn.obj \
+ $(OBJS)\basedll_timerimpl.obj \
$(OBJS)\basedll_tokenzr.obj \
$(OBJS)\basedll_txtstrm.obj \
$(OBJS)\basedll_unichar.obj \
@@ -634,6 +642,7 @@ BASEDLL_OBJECTS = \
$(OBJS)\basedll_stackwalk.obj \
$(OBJS)\basedll_stdpaths.obj \
$(OBJS)\basedll_thread.obj \
+ $(OBJS)\basedll_timer.obj \
$(OBJS)\basedll_utils.obj \
$(OBJS)\basedll_utilsexc.obj \
$(OBJS)\basedll_event.obj \
@@ -719,6 +728,8 @@ BASELIB_OBJECTS = \
$(OBJS)\baselib_tarstrm.obj \
$(OBJS)\baselib_textbuf.obj \
$(OBJS)\baselib_textfile.obj \
+ $(OBJS)\baselib_timercmn.obj \
+ $(OBJS)\baselib_timerimpl.obj \
$(OBJS)\baselib_tokenzr.obj \
$(OBJS)\baselib_txtstrm.obj \
$(OBJS)\baselib_unichar.obj \
@@ -745,6 +756,7 @@ BASELIB_OBJECTS = \
$(OBJS)\baselib_stackwalk.obj \
$(OBJS)\baselib_stdpaths.obj \
$(OBJS)\baselib_thread.obj \
+ $(OBJS)\baselib_timer.obj \
$(OBJS)\baselib_utils.obj \
$(OBJS)\baselib_utilsexc.obj \
$(OBJS)\baselib_event.obj \
@@ -1512,7 +1524,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_region.obj \
$(OBJS)\monodll_renderer.obj \
$(OBJS)\monodll_settings.obj \
- $(OBJS)\monodll_timer.obj \
$(OBJS)\monodll_tooltip.obj \
$(OBJS)\monodll_toplevel.obj \
$(OBJS)\monodll_utilsgui.obj \
@@ -1656,7 +1667,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_stockitem.obj \
$(OBJS)\monodll_tbarbase.obj \
$(OBJS)\monodll_textcmn.obj \
- $(OBJS)\monodll_timercmn.obj \
$(OBJS)\monodll_toplvcmn.obj \
$(OBJS)\monodll_treebase.obj \
$(OBJS)\monodll_valgen.obj \
@@ -1739,7 +1749,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_region.obj \
$(OBJS)\monodll_renderer.obj \
$(OBJS)\monodll_settings.obj \
- $(OBJS)\monodll_timer.obj \
$(OBJS)\monodll_tooltip.obj \
$(OBJS)\monodll_toplevel.obj \
$(OBJS)\monodll_utilsgui.obj \
@@ -1886,7 +1895,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_stockitem.obj \
$(OBJS)\monodll_tbarbase.obj \
$(OBJS)\monodll_textcmn.obj \
- $(OBJS)\monodll_timercmn.obj \
$(OBJS)\monodll_toplvcmn.obj \
$(OBJS)\monodll_treebase.obj \
$(OBJS)\monodll_valgen.obj \
@@ -2143,7 +2151,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_region.obj \
$(OBJS)\monolib_renderer.obj \
$(OBJS)\monolib_settings.obj \
- $(OBJS)\monolib_timer.obj \
$(OBJS)\monolib_tooltip.obj \
$(OBJS)\monolib_toplevel.obj \
$(OBJS)\monolib_utilsgui.obj \
@@ -2287,7 +2294,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_stockitem.obj \
$(OBJS)\monolib_tbarbase.obj \
$(OBJS)\monolib_textcmn.obj \
- $(OBJS)\monolib_timercmn.obj \
$(OBJS)\monolib_toplvcmn.obj \
$(OBJS)\monolib_treebase.obj \
$(OBJS)\monolib_valgen.obj \
@@ -2370,7 +2376,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_region.obj \
$(OBJS)\monolib_renderer.obj \
$(OBJS)\monolib_settings.obj \
- $(OBJS)\monolib_timer.obj \
$(OBJS)\monolib_tooltip.obj \
$(OBJS)\monolib_toplevel.obj \
$(OBJS)\monolib_utilsgui.obj \
@@ -2517,7 +2522,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_stockitem.obj \
$(OBJS)\monolib_tbarbase.obj \
$(OBJS)\monolib_textcmn.obj \
- $(OBJS)\monolib_timercmn.obj \
$(OBJS)\monolib_toplvcmn.obj \
$(OBJS)\monolib_treebase.obj \
$(OBJS)\monolib_valgen.obj \
@@ -2691,7 +2695,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_region.obj \
$(OBJS)\coredll_renderer.obj \
$(OBJS)\coredll_settings.obj \
- $(OBJS)\coredll_timer.obj \
$(OBJS)\coredll_tooltip.obj \
$(OBJS)\coredll_toplevel.obj \
$(OBJS)\coredll_utilsgui.obj \
@@ -2835,7 +2838,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_stockitem.obj \
$(OBJS)\coredll_tbarbase.obj \
$(OBJS)\coredll_textcmn.obj \
- $(OBJS)\coredll_timercmn.obj \
$(OBJS)\coredll_toplvcmn.obj \
$(OBJS)\coredll_treebase.obj \
$(OBJS)\coredll_valgen.obj \
@@ -2918,7 +2920,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_region.obj \
$(OBJS)\coredll_renderer.obj \
$(OBJS)\coredll_settings.obj \
- $(OBJS)\coredll_timer.obj \
$(OBJS)\coredll_tooltip.obj \
$(OBJS)\coredll_toplevel.obj \
$(OBJS)\coredll_utilsgui.obj \
@@ -3065,7 +3066,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_stockitem.obj \
$(OBJS)\coredll_tbarbase.obj \
$(OBJS)\coredll_textcmn.obj \
- $(OBJS)\coredll_timercmn.obj \
$(OBJS)\coredll_toplvcmn.obj \
$(OBJS)\coredll_treebase.obj \
$(OBJS)\coredll_valgen.obj \
@@ -3152,7 +3152,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_region.obj \
$(OBJS)\corelib_renderer.obj \
$(OBJS)\corelib_settings.obj \
- $(OBJS)\corelib_timer.obj \
$(OBJS)\corelib_tooltip.obj \
$(OBJS)\corelib_toplevel.obj \
$(OBJS)\corelib_utilsgui.obj \
@@ -3296,7 +3295,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_stockitem.obj \
$(OBJS)\corelib_tbarbase.obj \
$(OBJS)\corelib_textcmn.obj \
- $(OBJS)\corelib_timercmn.obj \
$(OBJS)\corelib_toplvcmn.obj \
$(OBJS)\corelib_treebase.obj \
$(OBJS)\corelib_valgen.obj \
@@ -3379,7 +3377,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_region.obj \
$(OBJS)\corelib_renderer.obj \
$(OBJS)\corelib_settings.obj \
- $(OBJS)\corelib_timer.obj \
$(OBJS)\corelib_tooltip.obj \
$(OBJS)\corelib_toplevel.obj \
$(OBJS)\corelib_utilsgui.obj \
@@ -3526,7 +3523,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_stockitem.obj \
$(OBJS)\corelib_tbarbase.obj \
$(OBJS)\corelib_textcmn.obj \
- $(OBJS)\corelib_timercmn.obj \
$(OBJS)\corelib_toplvcmn.obj \
$(OBJS)\corelib_treebase.obj \
$(OBJS)\corelib_valgen.obj \
@@ -5340,6 +5336,12 @@ $(OBJS)\monodll_textbuf.obj: ..\..\src\common\textbuf.cpp
$(OBJS)\monodll_textfile.obj: ..\..\src\common\textfile.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
+$(OBJS)\monodll_timercmn.obj: ..\..\src\common\timercmn.cpp
+ $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
+
+$(OBJS)\monodll_timerimpl.obj: ..\..\src\common\timerimpl.cpp
+ $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
+
$(OBJS)\monodll_tokenzr.obj: ..\..\src\common\tokenzr.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
@@ -5418,6 +5420,9 @@ $(OBJS)\monodll_stdpaths.obj: ..\..\src\msw\stdpaths.cpp
$(OBJS)\monodll_thread.obj: ..\..\src\msw\thread.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
+$(OBJS)\monodll_timer.obj: ..\..\src\msw\timer.cpp
+ $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
+
$(OBJS)\monodll_utils.obj: ..\..\src\msw\utils.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
@@ -6154,11 +6159,6 @@ $(OBJS)\monodll_settings.obj: ..\..\src\msw\settings.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
!endif
-!if "$(USE_GUI)" == "1"
-$(OBJS)\monodll_timer.obj: ..\..\src\msw\timer.cpp
- $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
-!endif
-
!if "$(USE_GUI)" == "1"
$(OBJS)\monodll_tooltip.obj: ..\..\src\msw\tooltip.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
@@ -6889,11 +6889,6 @@ $(OBJS)\monodll_textcmn.obj: ..\..\src\common\textcmn.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
!endif
-!if "$(USE_GUI)" == "1"
-$(OBJS)\monodll_timercmn.obj: ..\..\src\common\timercmn.cpp
- $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
-!endif
-
!if "$(USE_GUI)" == "1"
$(OBJS)\monodll_toplvcmn.obj: ..\..\src\common\toplvcmn.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
@@ -7397,6 +7392,12 @@ $(OBJS)\monolib_textbuf.obj: ..\..\src\common\textbuf.cpp
$(OBJS)\monolib_textfile.obj: ..\..\src\common\textfile.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
+$(OBJS)\monolib_timercmn.obj: ..\..\src\common\timercmn.cpp
+ $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
+
+$(OBJS)\monolib_timerimpl.obj: ..\..\src\common\timerimpl.cpp
+ $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
+
$(OBJS)\monolib_tokenzr.obj: ..\..\src\common\tokenzr.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
@@ -7475,6 +7476,9 @@ $(OBJS)\monolib_stdpaths.obj: ..\..\src\msw\stdpaths.cpp
$(OBJS)\monolib_thread.obj: ..\..\src\msw\thread.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
+$(OBJS)\monolib_timer.obj: ..\..\src\msw\timer.cpp
+ $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
+
$(OBJS)\monolib_utils.obj: ..\..\src\msw\utils.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
@@ -8211,11 +8215,6 @@ $(OBJS)\monolib_settings.obj: ..\..\src\msw\settings.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
!endif
-!if "$(USE_GUI)" == "1"
-$(OBJS)\monolib_timer.obj: ..\..\src\msw\timer.cpp
- $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
-!endif
-
!if "$(USE_GUI)" == "1"
$(OBJS)\monolib_tooltip.obj: ..\..\src\msw\tooltip.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
@@ -8946,11 +8945,6 @@ $(OBJS)\monolib_textcmn.obj: ..\..\src\common\textcmn.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
!endif
-!if "$(USE_GUI)" == "1"
-$(OBJS)\monolib_timercmn.obj: ..\..\src\common\timercmn.cpp
- $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
-!endif
-
!if "$(USE_GUI)" == "1"
$(OBJS)\monolib_toplvcmn.obj: ..\..\src\common\toplvcmn.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
@@ -9454,6 +9448,12 @@ $(OBJS)\basedll_textbuf.obj: ..\..\src\common\textbuf.cpp
$(OBJS)\basedll_textfile.obj: ..\..\src\common\textfile.cpp
$(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) $**
+$(OBJS)\basedll_timercmn.obj: ..\..\src\common\timercmn.cpp
+ $(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) $**
+
+$(OBJS)\basedll_timerimpl.obj: ..\..\src\common\timerimpl.cpp
+ $(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) $**
+
$(OBJS)\basedll_tokenzr.obj: ..\..\src\common\tokenzr.cpp
$(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) $**
@@ -9532,6 +9532,9 @@ $(OBJS)\basedll_stdpaths.obj: ..\..\src\msw\stdpaths.cpp
$(OBJS)\basedll_thread.obj: ..\..\src\msw\thread.cpp
$(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) $**
+$(OBJS)\basedll_timer.obj: ..\..\src\msw\timer.cpp
+ $(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) $**
+
$(OBJS)\basedll_utils.obj: ..\..\src\msw\utils.cpp
$(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) $**
@@ -9739,6 +9742,12 @@ $(OBJS)\baselib_textbuf.obj: ..\..\src\common\textbuf.cpp
$(OBJS)\baselib_textfile.obj: ..\..\src\common\textfile.cpp
$(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) $**
+$(OBJS)\baselib_timercmn.obj: ..\..\src\common\timercmn.cpp
+ $(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) $**
+
+$(OBJS)\baselib_timerimpl.obj: ..\..\src\common\timerimpl.cpp
+ $(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) $**
+
$(OBJS)\baselib_tokenzr.obj: ..\..\src\common\tokenzr.cpp
$(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) $**
@@ -9817,6 +9826,9 @@ $(OBJS)\baselib_stdpaths.obj: ..\..\src\msw\stdpaths.cpp
$(OBJS)\baselib_thread.obj: ..\..\src\msw\thread.cpp
$(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) $**
+$(OBJS)\baselib_timer.obj: ..\..\src\msw\timer.cpp
+ $(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) $**
+
$(OBJS)\baselib_utils.obj: ..\..\src\msw\utils.cpp
$(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) $**
@@ -10298,11 +10310,6 @@ $(OBJS)\coredll_settings.obj: ..\..\src\msw\settings.cpp
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
!endif
-!if "$(USE_GUI)" == "1"
-$(OBJS)\coredll_timer.obj: ..\..\src\msw\timer.cpp
- $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
-!endif
-
!if "$(USE_GUI)" == "1"
$(OBJS)\coredll_tooltip.obj: ..\..\src\msw\tooltip.cpp
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
@@ -11033,11 +11040,6 @@ $(OBJS)\coredll_textcmn.obj: ..\..\src\common\textcmn.cpp
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
!endif
-!if "$(USE_GUI)" == "1"
-$(OBJS)\coredll_timercmn.obj: ..\..\src\common\timercmn.cpp
- $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
-!endif
-
!if "$(USE_GUI)" == "1"
$(OBJS)\coredll_toplvcmn.obj: ..\..\src\common\toplvcmn.cpp
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
@@ -11598,11 +11600,6 @@ $(OBJS)\corelib_settings.obj: ..\..\src\msw\settings.cpp
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
!endif
-!if "$(USE_GUI)" == "1"
-$(OBJS)\corelib_timer.obj: ..\..\src\msw\timer.cpp
- $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
-!endif
-
!if "$(USE_GUI)" == "1"
$(OBJS)\corelib_tooltip.obj: ..\..\src\msw\tooltip.cpp
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
@@ -12333,11 +12330,6 @@ $(OBJS)\corelib_textcmn.obj: ..\..\src\common\textcmn.cpp
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
!endif
-!if "$(USE_GUI)" == "1"
-$(OBJS)\corelib_timercmn.obj: ..\..\src\common\timercmn.cpp
- $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
-!endif
-
!if "$(USE_GUI)" == "1"
$(OBJS)\corelib_toplvcmn.obj: ..\..\src\common\toplvcmn.cpp
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
diff --git a/build/msw/makefile.gcc b/build/msw/makefile.gcc
index 75f5cdb5d5..412106371b 100644
--- a/build/msw/makefile.gcc
+++ b/build/msw/makefile.gcc
@@ -336,6 +336,8 @@ MONODLL_OBJECTS = \
$(OBJS)\monodll_tarstrm.o \
$(OBJS)\monodll_textbuf.o \
$(OBJS)\monodll_textfile.o \
+ $(OBJS)\monodll_timercmn.o \
+ $(OBJS)\monodll_timerimpl.o \
$(OBJS)\monodll_tokenzr.o \
$(OBJS)\monodll_txtstrm.o \
$(OBJS)\monodll_unichar.o \
@@ -362,6 +364,7 @@ MONODLL_OBJECTS = \
$(OBJS)\monodll_stackwalk.o \
$(OBJS)\monodll_stdpaths.o \
$(OBJS)\monodll_thread.o \
+ $(OBJS)\monodll_timer.o \
$(OBJS)\monodll_utils.o \
$(OBJS)\monodll_utilsexc.o \
$(OBJS)\monodll_event.o \
@@ -467,6 +470,8 @@ MONOLIB_OBJECTS = \
$(OBJS)\monolib_tarstrm.o \
$(OBJS)\monolib_textbuf.o \
$(OBJS)\monolib_textfile.o \
+ $(OBJS)\monolib_timercmn.o \
+ $(OBJS)\monolib_timerimpl.o \
$(OBJS)\monolib_tokenzr.o \
$(OBJS)\monolib_txtstrm.o \
$(OBJS)\monolib_unichar.o \
@@ -493,6 +498,7 @@ MONOLIB_OBJECTS = \
$(OBJS)\monolib_stackwalk.o \
$(OBJS)\monolib_stdpaths.o \
$(OBJS)\monolib_thread.o \
+ $(OBJS)\monolib_timer.o \
$(OBJS)\monolib_utils.o \
$(OBJS)\monolib_utilsexc.o \
$(OBJS)\monolib_event.o \
@@ -595,6 +601,8 @@ BASEDLL_OBJECTS = \
$(OBJS)\basedll_tarstrm.o \
$(OBJS)\basedll_textbuf.o \
$(OBJS)\basedll_textfile.o \
+ $(OBJS)\basedll_timercmn.o \
+ $(OBJS)\basedll_timerimpl.o \
$(OBJS)\basedll_tokenzr.o \
$(OBJS)\basedll_txtstrm.o \
$(OBJS)\basedll_unichar.o \
@@ -621,6 +629,7 @@ BASEDLL_OBJECTS = \
$(OBJS)\basedll_stackwalk.o \
$(OBJS)\basedll_stdpaths.o \
$(OBJS)\basedll_thread.o \
+ $(OBJS)\basedll_timer.o \
$(OBJS)\basedll_utils.o \
$(OBJS)\basedll_utilsexc.o \
$(OBJS)\basedll_event.o \
@@ -706,6 +715,8 @@ BASELIB_OBJECTS = \
$(OBJS)\baselib_tarstrm.o \
$(OBJS)\baselib_textbuf.o \
$(OBJS)\baselib_textfile.o \
+ $(OBJS)\baselib_timercmn.o \
+ $(OBJS)\baselib_timerimpl.o \
$(OBJS)\baselib_tokenzr.o \
$(OBJS)\baselib_txtstrm.o \
$(OBJS)\baselib_unichar.o \
@@ -732,6 +743,7 @@ BASELIB_OBJECTS = \
$(OBJS)\baselib_stackwalk.o \
$(OBJS)\baselib_stdpaths.o \
$(OBJS)\baselib_thread.o \
+ $(OBJS)\baselib_timer.o \
$(OBJS)\baselib_utils.o \
$(OBJS)\baselib_utilsexc.o \
$(OBJS)\baselib_event.o \
@@ -1522,7 +1534,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_region.o \
$(OBJS)\monodll_renderer.o \
$(OBJS)\monodll_settings.o \
- $(OBJS)\monodll_timer.o \
$(OBJS)\monodll_tooltip.o \
$(OBJS)\monodll_toplevel.o \
$(OBJS)\monodll_utilsgui.o \
@@ -1666,7 +1677,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_stockitem.o \
$(OBJS)\monodll_tbarbase.o \
$(OBJS)\monodll_textcmn.o \
- $(OBJS)\monodll_timercmn.o \
$(OBJS)\monodll_toplvcmn.o \
$(OBJS)\monodll_treebase.o \
$(OBJS)\monodll_valgen.o \
@@ -1751,7 +1761,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_region.o \
$(OBJS)\monodll_renderer.o \
$(OBJS)\monodll_settings.o \
- $(OBJS)\monodll_timer.o \
$(OBJS)\monodll_tooltip.o \
$(OBJS)\monodll_toplevel.o \
$(OBJS)\monodll_utilsgui.o \
@@ -1898,7 +1907,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_stockitem.o \
$(OBJS)\monodll_tbarbase.o \
$(OBJS)\monodll_textcmn.o \
- $(OBJS)\monodll_timercmn.o \
$(OBJS)\monodll_toplvcmn.o \
$(OBJS)\monodll_treebase.o \
$(OBJS)\monodll_valgen.o \
@@ -2159,7 +2167,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_region.o \
$(OBJS)\monolib_renderer.o \
$(OBJS)\monolib_settings.o \
- $(OBJS)\monolib_timer.o \
$(OBJS)\monolib_tooltip.o \
$(OBJS)\monolib_toplevel.o \
$(OBJS)\monolib_utilsgui.o \
@@ -2303,7 +2310,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_stockitem.o \
$(OBJS)\monolib_tbarbase.o \
$(OBJS)\monolib_textcmn.o \
- $(OBJS)\monolib_timercmn.o \
$(OBJS)\monolib_toplvcmn.o \
$(OBJS)\monolib_treebase.o \
$(OBJS)\monolib_valgen.o \
@@ -2388,7 +2394,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_region.o \
$(OBJS)\monolib_renderer.o \
$(OBJS)\monolib_settings.o \
- $(OBJS)\monolib_timer.o \
$(OBJS)\monolib_tooltip.o \
$(OBJS)\monolib_toplevel.o \
$(OBJS)\monolib_utilsgui.o \
@@ -2535,7 +2540,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_stockitem.o \
$(OBJS)\monolib_tbarbase.o \
$(OBJS)\monolib_textcmn.o \
- $(OBJS)\monolib_timercmn.o \
$(OBJS)\monolib_toplvcmn.o \
$(OBJS)\monolib_treebase.o \
$(OBJS)\monolib_valgen.o \
@@ -2723,7 +2727,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_region.o \
$(OBJS)\coredll_renderer.o \
$(OBJS)\coredll_settings.o \
- $(OBJS)\coredll_timer.o \
$(OBJS)\coredll_tooltip.o \
$(OBJS)\coredll_toplevel.o \
$(OBJS)\coredll_utilsgui.o \
@@ -2867,7 +2870,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_stockitem.o \
$(OBJS)\coredll_tbarbase.o \
$(OBJS)\coredll_textcmn.o \
- $(OBJS)\coredll_timercmn.o \
$(OBJS)\coredll_toplvcmn.o \
$(OBJS)\coredll_treebase.o \
$(OBJS)\coredll_valgen.o \
@@ -2952,7 +2954,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_region.o \
$(OBJS)\coredll_renderer.o \
$(OBJS)\coredll_settings.o \
- $(OBJS)\coredll_timer.o \
$(OBJS)\coredll_tooltip.o \
$(OBJS)\coredll_toplevel.o \
$(OBJS)\coredll_utilsgui.o \
@@ -3099,7 +3100,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_stockitem.o \
$(OBJS)\coredll_tbarbase.o \
$(OBJS)\coredll_textcmn.o \
- $(OBJS)\coredll_timercmn.o \
$(OBJS)\coredll_toplvcmn.o \
$(OBJS)\coredll_treebase.o \
$(OBJS)\coredll_valgen.o \
@@ -3192,7 +3192,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_region.o \
$(OBJS)\corelib_renderer.o \
$(OBJS)\corelib_settings.o \
- $(OBJS)\corelib_timer.o \
$(OBJS)\corelib_tooltip.o \
$(OBJS)\corelib_toplevel.o \
$(OBJS)\corelib_utilsgui.o \
@@ -3336,7 +3335,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_stockitem.o \
$(OBJS)\corelib_tbarbase.o \
$(OBJS)\corelib_textcmn.o \
- $(OBJS)\corelib_timercmn.o \
$(OBJS)\corelib_toplvcmn.o \
$(OBJS)\corelib_treebase.o \
$(OBJS)\corelib_valgen.o \
@@ -3421,7 +3419,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_region.o \
$(OBJS)\corelib_renderer.o \
$(OBJS)\corelib_settings.o \
- $(OBJS)\corelib_timer.o \
$(OBJS)\corelib_tooltip.o \
$(OBJS)\corelib_toplevel.o \
$(OBJS)\corelib_utilsgui.o \
@@ -3568,7 +3565,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_stockitem.o \
$(OBJS)\corelib_tbarbase.o \
$(OBJS)\corelib_textcmn.o \
- $(OBJS)\corelib_timercmn.o \
$(OBJS)\corelib_toplvcmn.o \
$(OBJS)\corelib_treebase.o \
$(OBJS)\corelib_valgen.o \
@@ -5501,6 +5497,12 @@ $(OBJS)\monodll_textbuf.o: ../../src/common/textbuf.cpp
$(OBJS)\monodll_textfile.o: ../../src/common/textfile.cpp
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\monodll_timercmn.o: ../../src/common/timercmn.cpp
+ $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\monodll_timerimpl.o: ../../src/common/timerimpl.cpp
+ $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
+
$(OBJS)\monodll_tokenzr.o: ../../src/common/tokenzr.cpp
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
@@ -5579,6 +5581,9 @@ $(OBJS)\monodll_stdpaths.o: ../../src/msw/stdpaths.cpp
$(OBJS)\monodll_thread.o: ../../src/msw/thread.cpp
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\monodll_timer.o: ../../src/msw/timer.cpp
+ $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
+
$(OBJS)\monodll_utils.o: ../../src/msw/utils.cpp
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
@@ -6315,11 +6320,6 @@ $(OBJS)\monodll_settings.o: ../../src/msw/settings.cpp
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
endif
-ifeq ($(USE_GUI),1)
-$(OBJS)\monodll_timer.o: ../../src/msw/timer.cpp
- $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
-endif
-
ifeq ($(USE_GUI),1)
$(OBJS)\monodll_tooltip.o: ../../src/msw/tooltip.cpp
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
@@ -7150,11 +7150,6 @@ $(OBJS)\monodll_textcmn.o: ../../src/common/textcmn.cpp
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
endif
-ifeq ($(USE_GUI),1)
-$(OBJS)\monodll_timercmn.o: ../../src/common/timercmn.cpp
- $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
-endif
-
ifeq ($(USE_GUI),1)
$(OBJS)\monodll_toplvcmn.o: ../../src/common/toplvcmn.cpp
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
@@ -7658,6 +7653,12 @@ $(OBJS)\monolib_textbuf.o: ../../src/common/textbuf.cpp
$(OBJS)\monolib_textfile.o: ../../src/common/textfile.cpp
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\monolib_timercmn.o: ../../src/common/timercmn.cpp
+ $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\monolib_timerimpl.o: ../../src/common/timerimpl.cpp
+ $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
+
$(OBJS)\monolib_tokenzr.o: ../../src/common/tokenzr.cpp
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
@@ -7736,6 +7737,9 @@ $(OBJS)\monolib_stdpaths.o: ../../src/msw/stdpaths.cpp
$(OBJS)\monolib_thread.o: ../../src/msw/thread.cpp
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\monolib_timer.o: ../../src/msw/timer.cpp
+ $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
+
$(OBJS)\monolib_utils.o: ../../src/msw/utils.cpp
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
@@ -8472,11 +8476,6 @@ $(OBJS)\monolib_settings.o: ../../src/msw/settings.cpp
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
endif
-ifeq ($(USE_GUI),1)
-$(OBJS)\monolib_timer.o: ../../src/msw/timer.cpp
- $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
-endif
-
ifeq ($(USE_GUI),1)
$(OBJS)\monolib_tooltip.o: ../../src/msw/tooltip.cpp
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
@@ -9307,11 +9306,6 @@ $(OBJS)\monolib_textcmn.o: ../../src/common/textcmn.cpp
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
endif
-ifeq ($(USE_GUI),1)
-$(OBJS)\monolib_timercmn.o: ../../src/common/timercmn.cpp
- $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
-endif
-
ifeq ($(USE_GUI),1)
$(OBJS)\monolib_toplvcmn.o: ../../src/common/toplvcmn.cpp
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
@@ -9815,6 +9809,12 @@ $(OBJS)\basedll_textbuf.o: ../../src/common/textbuf.cpp
$(OBJS)\basedll_textfile.o: ../../src/common/textfile.cpp
$(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\basedll_timercmn.o: ../../src/common/timercmn.cpp
+ $(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\basedll_timerimpl.o: ../../src/common/timerimpl.cpp
+ $(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
+
$(OBJS)\basedll_tokenzr.o: ../../src/common/tokenzr.cpp
$(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
@@ -9893,6 +9893,9 @@ $(OBJS)\basedll_stdpaths.o: ../../src/msw/stdpaths.cpp
$(OBJS)\basedll_thread.o: ../../src/msw/thread.cpp
$(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\basedll_timer.o: ../../src/msw/timer.cpp
+ $(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
+
$(OBJS)\basedll_utils.o: ../../src/msw/utils.cpp
$(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
@@ -10100,6 +10103,12 @@ $(OBJS)\baselib_textbuf.o: ../../src/common/textbuf.cpp
$(OBJS)\baselib_textfile.o: ../../src/common/textfile.cpp
$(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\baselib_timercmn.o: ../../src/common/timercmn.cpp
+ $(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\baselib_timerimpl.o: ../../src/common/timerimpl.cpp
+ $(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
+
$(OBJS)\baselib_tokenzr.o: ../../src/common/tokenzr.cpp
$(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
@@ -10178,6 +10187,9 @@ $(OBJS)\baselib_stdpaths.o: ../../src/msw/stdpaths.cpp
$(OBJS)\baselib_thread.o: ../../src/msw/thread.cpp
$(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\baselib_timer.o: ../../src/msw/timer.cpp
+ $(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
+
$(OBJS)\baselib_utils.o: ../../src/msw/utils.cpp
$(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
@@ -10659,11 +10671,6 @@ $(OBJS)\coredll_settings.o: ../../src/msw/settings.cpp
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
endif
-ifeq ($(USE_GUI),1)
-$(OBJS)\coredll_timer.o: ../../src/msw/timer.cpp
- $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
-endif
-
ifeq ($(USE_GUI),1)
$(OBJS)\coredll_tooltip.o: ../../src/msw/tooltip.cpp
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
@@ -11494,11 +11501,6 @@ $(OBJS)\coredll_textcmn.o: ../../src/common/textcmn.cpp
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
endif
-ifeq ($(USE_GUI),1)
-$(OBJS)\coredll_timercmn.o: ../../src/common/timercmn.cpp
- $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
-endif
-
ifeq ($(USE_GUI),1)
$(OBJS)\coredll_toplvcmn.o: ../../src/common/toplvcmn.cpp
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
@@ -12059,11 +12061,6 @@ $(OBJS)\corelib_settings.o: ../../src/msw/settings.cpp
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
endif
-ifeq ($(USE_GUI),1)
-$(OBJS)\corelib_timer.o: ../../src/msw/timer.cpp
- $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
-endif
-
ifeq ($(USE_GUI),1)
$(OBJS)\corelib_tooltip.o: ../../src/msw/tooltip.cpp
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
@@ -12894,11 +12891,6 @@ $(OBJS)\corelib_textcmn.o: ../../src/common/textcmn.cpp
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
endif
-ifeq ($(USE_GUI),1)
-$(OBJS)\corelib_timercmn.o: ../../src/common/timercmn.cpp
- $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
-endif
-
ifeq ($(USE_GUI),1)
$(OBJS)\corelib_toplvcmn.o: ../../src/common/toplvcmn.cpp
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
diff --git a/build/msw/makefile.vc b/build/msw/makefile.vc
index fba3aae3ed..99d9f8d82e 100644
--- a/build/msw/makefile.vc
+++ b/build/msw/makefile.vc
@@ -351,6 +351,8 @@ MONODLL_OBJECTS = \
$(OBJS)\monodll_tarstrm.obj \
$(OBJS)\monodll_textbuf.obj \
$(OBJS)\monodll_textfile.obj \
+ $(OBJS)\monodll_timercmn.obj \
+ $(OBJS)\monodll_timerimpl.obj \
$(OBJS)\monodll_tokenzr.obj \
$(OBJS)\monodll_txtstrm.obj \
$(OBJS)\monodll_unichar.obj \
@@ -377,6 +379,7 @@ MONODLL_OBJECTS = \
$(OBJS)\monodll_stackwalk.obj \
$(OBJS)\monodll_stdpaths.obj \
$(OBJS)\monodll_thread.obj \
+ $(OBJS)\monodll_timer.obj \
$(OBJS)\monodll_utils.obj \
$(OBJS)\monodll_utilsexc.obj \
$(OBJS)\monodll_event.obj \
@@ -486,6 +489,8 @@ MONOLIB_OBJECTS = \
$(OBJS)\monolib_tarstrm.obj \
$(OBJS)\monolib_textbuf.obj \
$(OBJS)\monolib_textfile.obj \
+ $(OBJS)\monolib_timercmn.obj \
+ $(OBJS)\monolib_timerimpl.obj \
$(OBJS)\monolib_tokenzr.obj \
$(OBJS)\monolib_txtstrm.obj \
$(OBJS)\monolib_unichar.obj \
@@ -512,6 +517,7 @@ MONOLIB_OBJECTS = \
$(OBJS)\monolib_stackwalk.obj \
$(OBJS)\monolib_stdpaths.obj \
$(OBJS)\monolib_thread.obj \
+ $(OBJS)\monolib_timer.obj \
$(OBJS)\monolib_utils.obj \
$(OBJS)\monolib_utilsexc.obj \
$(OBJS)\monolib_event.obj \
@@ -619,6 +625,8 @@ BASEDLL_OBJECTS = \
$(OBJS)\basedll_tarstrm.obj \
$(OBJS)\basedll_textbuf.obj \
$(OBJS)\basedll_textfile.obj \
+ $(OBJS)\basedll_timercmn.obj \
+ $(OBJS)\basedll_timerimpl.obj \
$(OBJS)\basedll_tokenzr.obj \
$(OBJS)\basedll_txtstrm.obj \
$(OBJS)\basedll_unichar.obj \
@@ -645,6 +653,7 @@ BASEDLL_OBJECTS = \
$(OBJS)\basedll_stackwalk.obj \
$(OBJS)\basedll_stdpaths.obj \
$(OBJS)\basedll_thread.obj \
+ $(OBJS)\basedll_timer.obj \
$(OBJS)\basedll_utils.obj \
$(OBJS)\basedll_utilsexc.obj \
$(OBJS)\basedll_event.obj \
@@ -736,6 +745,8 @@ BASELIB_OBJECTS = \
$(OBJS)\baselib_tarstrm.obj \
$(OBJS)\baselib_textbuf.obj \
$(OBJS)\baselib_textfile.obj \
+ $(OBJS)\baselib_timercmn.obj \
+ $(OBJS)\baselib_timerimpl.obj \
$(OBJS)\baselib_tokenzr.obj \
$(OBJS)\baselib_txtstrm.obj \
$(OBJS)\baselib_unichar.obj \
@@ -762,6 +773,7 @@ BASELIB_OBJECTS = \
$(OBJS)\baselib_stackwalk.obj \
$(OBJS)\baselib_stdpaths.obj \
$(OBJS)\baselib_thread.obj \
+ $(OBJS)\baselib_timer.obj \
$(OBJS)\baselib_utils.obj \
$(OBJS)\baselib_utilsexc.obj \
$(OBJS)\baselib_event.obj \
@@ -1690,7 +1702,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_region.obj \
$(OBJS)\monodll_renderer.obj \
$(OBJS)\monodll_settings.obj \
- $(OBJS)\monodll_timer.obj \
$(OBJS)\monodll_tooltip.obj \
$(OBJS)\monodll_toplevel.obj \
$(OBJS)\monodll_utilsgui.obj \
@@ -1834,7 +1845,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_stockitem.obj \
$(OBJS)\monodll_tbarbase.obj \
$(OBJS)\monodll_textcmn.obj \
- $(OBJS)\monodll_timercmn.obj \
$(OBJS)\monodll_toplvcmn.obj \
$(OBJS)\monodll_treebase.obj \
$(OBJS)\monodll_valgen.obj \
@@ -1917,7 +1927,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_region.obj \
$(OBJS)\monodll_renderer.obj \
$(OBJS)\monodll_settings.obj \
- $(OBJS)\monodll_timer.obj \
$(OBJS)\monodll_tooltip.obj \
$(OBJS)\monodll_toplevel.obj \
$(OBJS)\monodll_utilsgui.obj \
@@ -2064,7 +2073,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_stockitem.obj \
$(OBJS)\monodll_tbarbase.obj \
$(OBJS)\monodll_textcmn.obj \
- $(OBJS)\monodll_timercmn.obj \
$(OBJS)\monodll_toplvcmn.obj \
$(OBJS)\monodll_treebase.obj \
$(OBJS)\monodll_valgen.obj \
@@ -2327,7 +2335,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_region.obj \
$(OBJS)\monolib_renderer.obj \
$(OBJS)\monolib_settings.obj \
- $(OBJS)\monolib_timer.obj \
$(OBJS)\monolib_tooltip.obj \
$(OBJS)\monolib_toplevel.obj \
$(OBJS)\monolib_utilsgui.obj \
@@ -2471,7 +2478,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_stockitem.obj \
$(OBJS)\monolib_tbarbase.obj \
$(OBJS)\monolib_textcmn.obj \
- $(OBJS)\monolib_timercmn.obj \
$(OBJS)\monolib_toplvcmn.obj \
$(OBJS)\monolib_treebase.obj \
$(OBJS)\monolib_valgen.obj \
@@ -2554,7 +2560,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_region.obj \
$(OBJS)\monolib_renderer.obj \
$(OBJS)\monolib_settings.obj \
- $(OBJS)\monolib_timer.obj \
$(OBJS)\monolib_tooltip.obj \
$(OBJS)\monolib_toplevel.obj \
$(OBJS)\monolib_utilsgui.obj \
@@ -2701,7 +2706,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_stockitem.obj \
$(OBJS)\monolib_tbarbase.obj \
$(OBJS)\monolib_textcmn.obj \
- $(OBJS)\monolib_timercmn.obj \
$(OBJS)\monolib_toplvcmn.obj \
$(OBJS)\monolib_treebase.obj \
$(OBJS)\monolib_valgen.obj \
@@ -2905,7 +2909,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_region.obj \
$(OBJS)\coredll_renderer.obj \
$(OBJS)\coredll_settings.obj \
- $(OBJS)\coredll_timer.obj \
$(OBJS)\coredll_tooltip.obj \
$(OBJS)\coredll_toplevel.obj \
$(OBJS)\coredll_utilsgui.obj \
@@ -3049,7 +3052,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_stockitem.obj \
$(OBJS)\coredll_tbarbase.obj \
$(OBJS)\coredll_textcmn.obj \
- $(OBJS)\coredll_timercmn.obj \
$(OBJS)\coredll_toplvcmn.obj \
$(OBJS)\coredll_treebase.obj \
$(OBJS)\coredll_valgen.obj \
@@ -3132,7 +3134,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_region.obj \
$(OBJS)\coredll_renderer.obj \
$(OBJS)\coredll_settings.obj \
- $(OBJS)\coredll_timer.obj \
$(OBJS)\coredll_tooltip.obj \
$(OBJS)\coredll_toplevel.obj \
$(OBJS)\coredll_utilsgui.obj \
@@ -3279,7 +3280,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_stockitem.obj \
$(OBJS)\coredll_tbarbase.obj \
$(OBJS)\coredll_textcmn.obj \
- $(OBJS)\coredll_timercmn.obj \
$(OBJS)\coredll_toplvcmn.obj \
$(OBJS)\coredll_treebase.obj \
$(OBJS)\coredll_valgen.obj \
@@ -3372,7 +3372,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_region.obj \
$(OBJS)\corelib_renderer.obj \
$(OBJS)\corelib_settings.obj \
- $(OBJS)\corelib_timer.obj \
$(OBJS)\corelib_tooltip.obj \
$(OBJS)\corelib_toplevel.obj \
$(OBJS)\corelib_utilsgui.obj \
@@ -3516,7 +3515,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_stockitem.obj \
$(OBJS)\corelib_tbarbase.obj \
$(OBJS)\corelib_textcmn.obj \
- $(OBJS)\corelib_timercmn.obj \
$(OBJS)\corelib_toplvcmn.obj \
$(OBJS)\corelib_treebase.obj \
$(OBJS)\corelib_valgen.obj \
@@ -3599,7 +3597,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_region.obj \
$(OBJS)\corelib_renderer.obj \
$(OBJS)\corelib_settings.obj \
- $(OBJS)\corelib_timer.obj \
$(OBJS)\corelib_tooltip.obj \
$(OBJS)\corelib_toplevel.obj \
$(OBJS)\corelib_utilsgui.obj \
@@ -3746,7 +3743,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_stockitem.obj \
$(OBJS)\corelib_tbarbase.obj \
$(OBJS)\corelib_textcmn.obj \
- $(OBJS)\corelib_timercmn.obj \
$(OBJS)\corelib_toplvcmn.obj \
$(OBJS)\corelib_treebase.obj \
$(OBJS)\corelib_valgen.obj \
@@ -4509,7 +4505,7 @@ clean:
-if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl.lib del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl.lib
cd ..\..\samples
$(MAKE) -f makefile.vc $(MAKEARGS) clean
- cd $(MAKEDIR)
+ cd "$(MAKEDIR)"
setup_h: $(SETUPHDIR)\wx ..\..\include\wx\$(__SETUP_H_SUBDIR_FILENAMES)\setup.h $(SETUPHDIR)\wx\setup.h $(SETUPHDIR)\wx\msw\rcdefs.h
@@ -4862,7 +4858,7 @@ wxgl: $(____wxgl_namedll_DEP) $(____wxgl_namelib_DEP)
sub_samples:
cd ..\..\samples
$(MAKE) -f makefile.vc $(MAKEARGS) all
- cd $(MAKEDIR)
+ cd "$(MAKEDIR)"
$(LIBDIRNAME):
if not exist $(LIBDIRNAME) mkdir $(LIBDIRNAME)
@@ -5692,6 +5688,12 @@ $(OBJS)\monodll_textbuf.obj: ..\..\src\common\textbuf.cpp
$(OBJS)\monodll_textfile.obj: ..\..\src\common\textfile.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
+$(OBJS)\monodll_timercmn.obj: ..\..\src\common\timercmn.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
+
+$(OBJS)\monodll_timerimpl.obj: ..\..\src\common\timerimpl.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
+
$(OBJS)\monodll_tokenzr.obj: ..\..\src\common\tokenzr.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
@@ -5770,6 +5772,9 @@ $(OBJS)\monodll_stdpaths.obj: ..\..\src\msw\stdpaths.cpp
$(OBJS)\monodll_thread.obj: ..\..\src\msw\thread.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
+$(OBJS)\monodll_timer.obj: ..\..\src\msw\timer.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
+
$(OBJS)\monodll_utils.obj: ..\..\src\msw\utils.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
@@ -6506,11 +6511,6 @@ $(OBJS)\monodll_settings.obj: ..\..\src\msw\settings.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
!endif
-!if "$(USE_GUI)" == "1"
-$(OBJS)\monodll_timer.obj: ..\..\src\msw\timer.cpp
- $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
-!endif
-
!if "$(USE_GUI)" == "1"
$(OBJS)\monodll_tooltip.obj: ..\..\src\msw\tooltip.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
@@ -7241,11 +7241,6 @@ $(OBJS)\monodll_textcmn.obj: ..\..\src\common\textcmn.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
!endif
-!if "$(USE_GUI)" == "1"
-$(OBJS)\monodll_timercmn.obj: ..\..\src\common\timercmn.cpp
- $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
-!endif
-
!if "$(USE_GUI)" == "1"
$(OBJS)\monodll_toplvcmn.obj: ..\..\src\common\toplvcmn.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
@@ -7749,6 +7744,12 @@ $(OBJS)\monolib_textbuf.obj: ..\..\src\common\textbuf.cpp
$(OBJS)\monolib_textfile.obj: ..\..\src\common\textfile.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
+$(OBJS)\monolib_timercmn.obj: ..\..\src\common\timercmn.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
+
+$(OBJS)\monolib_timerimpl.obj: ..\..\src\common\timerimpl.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
+
$(OBJS)\monolib_tokenzr.obj: ..\..\src\common\tokenzr.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
@@ -7827,6 +7828,9 @@ $(OBJS)\monolib_stdpaths.obj: ..\..\src\msw\stdpaths.cpp
$(OBJS)\monolib_thread.obj: ..\..\src\msw\thread.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
+$(OBJS)\monolib_timer.obj: ..\..\src\msw\timer.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
+
$(OBJS)\monolib_utils.obj: ..\..\src\msw\utils.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
@@ -8563,11 +8567,6 @@ $(OBJS)\monolib_settings.obj: ..\..\src\msw\settings.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
!endif
-!if "$(USE_GUI)" == "1"
-$(OBJS)\monolib_timer.obj: ..\..\src\msw\timer.cpp
- $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
-!endif
-
!if "$(USE_GUI)" == "1"
$(OBJS)\monolib_tooltip.obj: ..\..\src\msw\tooltip.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
@@ -9298,11 +9297,6 @@ $(OBJS)\monolib_textcmn.obj: ..\..\src\common\textcmn.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
!endif
-!if "$(USE_GUI)" == "1"
-$(OBJS)\monolib_timercmn.obj: ..\..\src\common\timercmn.cpp
- $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
-!endif
-
!if "$(USE_GUI)" == "1"
$(OBJS)\monolib_toplvcmn.obj: ..\..\src\common\toplvcmn.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
@@ -9806,6 +9800,12 @@ $(OBJS)\basedll_textbuf.obj: ..\..\src\common\textbuf.cpp
$(OBJS)\basedll_textfile.obj: ..\..\src\common\textfile.cpp
$(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) $**
+$(OBJS)\basedll_timercmn.obj: ..\..\src\common\timercmn.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) $**
+
+$(OBJS)\basedll_timerimpl.obj: ..\..\src\common\timerimpl.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) $**
+
$(OBJS)\basedll_tokenzr.obj: ..\..\src\common\tokenzr.cpp
$(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) $**
@@ -9884,6 +9884,9 @@ $(OBJS)\basedll_stdpaths.obj: ..\..\src\msw\stdpaths.cpp
$(OBJS)\basedll_thread.obj: ..\..\src\msw\thread.cpp
$(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) $**
+$(OBJS)\basedll_timer.obj: ..\..\src\msw\timer.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) $**
+
$(OBJS)\basedll_utils.obj: ..\..\src\msw\utils.cpp
$(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) $**
@@ -10091,6 +10094,12 @@ $(OBJS)\baselib_textbuf.obj: ..\..\src\common\textbuf.cpp
$(OBJS)\baselib_textfile.obj: ..\..\src\common\textfile.cpp
$(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) $**
+$(OBJS)\baselib_timercmn.obj: ..\..\src\common\timercmn.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) $**
+
+$(OBJS)\baselib_timerimpl.obj: ..\..\src\common\timerimpl.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) $**
+
$(OBJS)\baselib_tokenzr.obj: ..\..\src\common\tokenzr.cpp
$(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) $**
@@ -10169,6 +10178,9 @@ $(OBJS)\baselib_stdpaths.obj: ..\..\src\msw\stdpaths.cpp
$(OBJS)\baselib_thread.obj: ..\..\src\msw\thread.cpp
$(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) $**
+$(OBJS)\baselib_timer.obj: ..\..\src\msw\timer.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) $**
+
$(OBJS)\baselib_utils.obj: ..\..\src\msw\utils.cpp
$(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) $**
@@ -10650,11 +10662,6 @@ $(OBJS)\coredll_settings.obj: ..\..\src\msw\settings.cpp
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
!endif
-!if "$(USE_GUI)" == "1"
-$(OBJS)\coredll_timer.obj: ..\..\src\msw\timer.cpp
- $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
-!endif
-
!if "$(USE_GUI)" == "1"
$(OBJS)\coredll_tooltip.obj: ..\..\src\msw\tooltip.cpp
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
@@ -11385,11 +11392,6 @@ $(OBJS)\coredll_textcmn.obj: ..\..\src\common\textcmn.cpp
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
!endif
-!if "$(USE_GUI)" == "1"
-$(OBJS)\coredll_timercmn.obj: ..\..\src\common\timercmn.cpp
- $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
-!endif
-
!if "$(USE_GUI)" == "1"
$(OBJS)\coredll_toplvcmn.obj: ..\..\src\common\toplvcmn.cpp
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
@@ -11950,11 +11952,6 @@ $(OBJS)\corelib_settings.obj: ..\..\src\msw\settings.cpp
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
!endif
-!if "$(USE_GUI)" == "1"
-$(OBJS)\corelib_timer.obj: ..\..\src\msw\timer.cpp
- $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
-!endif
-
!if "$(USE_GUI)" == "1"
$(OBJS)\corelib_tooltip.obj: ..\..\src\msw\tooltip.cpp
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
@@ -12685,11 +12682,6 @@ $(OBJS)\corelib_textcmn.obj: ..\..\src\common\textcmn.cpp
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
!endif
-!if "$(USE_GUI)" == "1"
-$(OBJS)\corelib_timercmn.obj: ..\..\src\common\timercmn.cpp
- $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
-!endif
-
!if "$(USE_GUI)" == "1"
$(OBJS)\corelib_toplvcmn.obj: ..\..\src\common\toplvcmn.cpp
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
diff --git a/build/msw/makefile.wat b/build/msw/makefile.wat
index 803b9986b8..04c24e2426 100644
--- a/build/msw/makefile.wat
+++ b/build/msw/makefile.wat
@@ -256,7 +256,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = &
$(OBJS)\monodll_region.obj &
$(OBJS)\monodll_renderer.obj &
$(OBJS)\monodll_settings.obj &
- $(OBJS)\monodll_timer.obj &
$(OBJS)\monodll_tooltip.obj &
$(OBJS)\monodll_toplevel.obj &
$(OBJS)\monodll_utilsgui.obj &
@@ -400,7 +399,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = &
$(OBJS)\monodll_stockitem.obj &
$(OBJS)\monodll_tbarbase.obj &
$(OBJS)\monodll_textcmn.obj &
- $(OBJS)\monodll_timercmn.obj &
$(OBJS)\monodll_toplvcmn.obj &
$(OBJS)\monodll_treebase.obj &
$(OBJS)\monodll_valgen.obj &
@@ -485,7 +483,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = &
$(OBJS)\monodll_region.obj &
$(OBJS)\monodll_renderer.obj &
$(OBJS)\monodll_settings.obj &
- $(OBJS)\monodll_timer.obj &
$(OBJS)\monodll_tooltip.obj &
$(OBJS)\monodll_toplevel.obj &
$(OBJS)\monodll_utilsgui.obj &
@@ -632,7 +629,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = &
$(OBJS)\monodll_stockitem.obj &
$(OBJS)\monodll_tbarbase.obj &
$(OBJS)\monodll_textcmn.obj &
- $(OBJS)\monodll_timercmn.obj &
$(OBJS)\monodll_toplvcmn.obj &
$(OBJS)\monodll_treebase.obj &
$(OBJS)\monodll_valgen.obj &
@@ -897,7 +893,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = &
$(OBJS)\monolib_region.obj &
$(OBJS)\monolib_renderer.obj &
$(OBJS)\monolib_settings.obj &
- $(OBJS)\monolib_timer.obj &
$(OBJS)\monolib_tooltip.obj &
$(OBJS)\monolib_toplevel.obj &
$(OBJS)\monolib_utilsgui.obj &
@@ -1041,7 +1036,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = &
$(OBJS)\monolib_stockitem.obj &
$(OBJS)\monolib_tbarbase.obj &
$(OBJS)\monolib_textcmn.obj &
- $(OBJS)\monolib_timercmn.obj &
$(OBJS)\monolib_toplvcmn.obj &
$(OBJS)\monolib_treebase.obj &
$(OBJS)\monolib_valgen.obj &
@@ -1126,7 +1120,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = &
$(OBJS)\monolib_region.obj &
$(OBJS)\monolib_renderer.obj &
$(OBJS)\monolib_settings.obj &
- $(OBJS)\monolib_timer.obj &
$(OBJS)\monolib_tooltip.obj &
$(OBJS)\monolib_toplevel.obj &
$(OBJS)\monolib_utilsgui.obj &
@@ -1273,7 +1266,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = &
$(OBJS)\monolib_stockitem.obj &
$(OBJS)\monolib_tbarbase.obj &
$(OBJS)\monolib_textcmn.obj &
- $(OBJS)\monolib_timercmn.obj &
$(OBJS)\monolib_toplvcmn.obj &
$(OBJS)\monolib_treebase.obj &
$(OBJS)\monolib_valgen.obj &
@@ -1472,7 +1464,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = &
$(OBJS)\coredll_region.obj &
$(OBJS)\coredll_renderer.obj &
$(OBJS)\coredll_settings.obj &
- $(OBJS)\coredll_timer.obj &
$(OBJS)\coredll_tooltip.obj &
$(OBJS)\coredll_toplevel.obj &
$(OBJS)\coredll_utilsgui.obj &
@@ -1616,7 +1607,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = &
$(OBJS)\coredll_stockitem.obj &
$(OBJS)\coredll_tbarbase.obj &
$(OBJS)\coredll_textcmn.obj &
- $(OBJS)\coredll_timercmn.obj &
$(OBJS)\coredll_toplvcmn.obj &
$(OBJS)\coredll_treebase.obj &
$(OBJS)\coredll_valgen.obj &
@@ -1701,7 +1691,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = &
$(OBJS)\coredll_region.obj &
$(OBJS)\coredll_renderer.obj &
$(OBJS)\coredll_settings.obj &
- $(OBJS)\coredll_timer.obj &
$(OBJS)\coredll_tooltip.obj &
$(OBJS)\coredll_toplevel.obj &
$(OBJS)\coredll_utilsgui.obj &
@@ -1848,7 +1837,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = &
$(OBJS)\coredll_stockitem.obj &
$(OBJS)\coredll_tbarbase.obj &
$(OBJS)\coredll_textcmn.obj &
- $(OBJS)\coredll_timercmn.obj &
$(OBJS)\coredll_toplvcmn.obj &
$(OBJS)\coredll_treebase.obj &
$(OBJS)\coredll_valgen.obj &
@@ -1943,7 +1931,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = &
$(OBJS)\corelib_region.obj &
$(OBJS)\corelib_renderer.obj &
$(OBJS)\corelib_settings.obj &
- $(OBJS)\corelib_timer.obj &
$(OBJS)\corelib_tooltip.obj &
$(OBJS)\corelib_toplevel.obj &
$(OBJS)\corelib_utilsgui.obj &
@@ -2087,7 +2074,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = &
$(OBJS)\corelib_stockitem.obj &
$(OBJS)\corelib_tbarbase.obj &
$(OBJS)\corelib_textcmn.obj &
- $(OBJS)\corelib_timercmn.obj &
$(OBJS)\corelib_toplvcmn.obj &
$(OBJS)\corelib_treebase.obj &
$(OBJS)\corelib_valgen.obj &
@@ -2172,7 +2158,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = &
$(OBJS)\corelib_region.obj &
$(OBJS)\corelib_renderer.obj &
$(OBJS)\corelib_settings.obj &
- $(OBJS)\corelib_timer.obj &
$(OBJS)\corelib_tooltip.obj &
$(OBJS)\corelib_toplevel.obj &
$(OBJS)\corelib_utilsgui.obj &
@@ -2319,7 +2304,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = &
$(OBJS)\corelib_stockitem.obj &
$(OBJS)\corelib_tbarbase.obj &
$(OBJS)\corelib_textcmn.obj &
- $(OBJS)\corelib_timercmn.obj &
$(OBJS)\corelib_toplvcmn.obj &
$(OBJS)\corelib_treebase.obj &
$(OBJS)\corelib_valgen.obj &
@@ -3292,6 +3276,8 @@ MONODLL_OBJECTS = &
$(OBJS)\monodll_tarstrm.obj &
$(OBJS)\monodll_textbuf.obj &
$(OBJS)\monodll_textfile.obj &
+ $(OBJS)\monodll_timercmn.obj &
+ $(OBJS)\monodll_timerimpl.obj &
$(OBJS)\monodll_tokenzr.obj &
$(OBJS)\monodll_txtstrm.obj &
$(OBJS)\monodll_unichar.obj &
@@ -3318,6 +3304,7 @@ MONODLL_OBJECTS = &
$(OBJS)\monodll_stackwalk.obj &
$(OBJS)\monodll_stdpaths.obj &
$(OBJS)\monodll_thread.obj &
+ $(OBJS)\monodll_timer.obj &
$(OBJS)\monodll_utils.obj &
$(OBJS)\monodll_utilsexc.obj &
$(OBJS)\monodll_event.obj &
@@ -3422,6 +3409,8 @@ MONOLIB_OBJECTS = &
$(OBJS)\monolib_tarstrm.obj &
$(OBJS)\monolib_textbuf.obj &
$(OBJS)\monolib_textfile.obj &
+ $(OBJS)\monolib_timercmn.obj &
+ $(OBJS)\monolib_timerimpl.obj &
$(OBJS)\monolib_tokenzr.obj &
$(OBJS)\monolib_txtstrm.obj &
$(OBJS)\monolib_unichar.obj &
@@ -3448,6 +3437,7 @@ MONOLIB_OBJECTS = &
$(OBJS)\monolib_stackwalk.obj &
$(OBJS)\monolib_stdpaths.obj &
$(OBJS)\monolib_thread.obj &
+ $(OBJS)\monolib_timer.obj &
$(OBJS)\monolib_utils.obj &
$(OBJS)\monolib_utilsexc.obj &
$(OBJS)\monolib_event.obj &
@@ -3550,6 +3540,8 @@ BASEDLL_OBJECTS = &
$(OBJS)\basedll_tarstrm.obj &
$(OBJS)\basedll_textbuf.obj &
$(OBJS)\basedll_textfile.obj &
+ $(OBJS)\basedll_timercmn.obj &
+ $(OBJS)\basedll_timerimpl.obj &
$(OBJS)\basedll_tokenzr.obj &
$(OBJS)\basedll_txtstrm.obj &
$(OBJS)\basedll_unichar.obj &
@@ -3576,6 +3568,7 @@ BASEDLL_OBJECTS = &
$(OBJS)\basedll_stackwalk.obj &
$(OBJS)\basedll_stdpaths.obj &
$(OBJS)\basedll_thread.obj &
+ $(OBJS)\basedll_timer.obj &
$(OBJS)\basedll_utils.obj &
$(OBJS)\basedll_utilsexc.obj &
$(OBJS)\basedll_event.obj &
@@ -3662,6 +3655,8 @@ BASELIB_OBJECTS = &
$(OBJS)\baselib_tarstrm.obj &
$(OBJS)\baselib_textbuf.obj &
$(OBJS)\baselib_textfile.obj &
+ $(OBJS)\baselib_timercmn.obj &
+ $(OBJS)\baselib_timerimpl.obj &
$(OBJS)\baselib_tokenzr.obj &
$(OBJS)\baselib_txtstrm.obj &
$(OBJS)\baselib_unichar.obj &
@@ -3688,6 +3683,7 @@ BASELIB_OBJECTS = &
$(OBJS)\baselib_stackwalk.obj &
$(OBJS)\baselib_stdpaths.obj &
$(OBJS)\baselib_thread.obj &
+ $(OBJS)\baselib_timer.obj &
$(OBJS)\baselib_utils.obj &
$(OBJS)\baselib_utilsexc.obj &
$(OBJS)\baselib_event.obj &
@@ -5772,6 +5768,12 @@ $(OBJS)\monodll_textbuf.obj : .AUTODEPEND ..\..\src\common\textbuf.cpp
$(OBJS)\monodll_textfile.obj : .AUTODEPEND ..\..\src\common\textfile.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
+$(OBJS)\monodll_timercmn.obj : .AUTODEPEND ..\..\src\common\timercmn.cpp
+ $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
+
+$(OBJS)\monodll_timerimpl.obj : .AUTODEPEND ..\..\src\common\timerimpl.cpp
+ $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
+
$(OBJS)\monodll_tokenzr.obj : .AUTODEPEND ..\..\src\common\tokenzr.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
@@ -5850,6 +5852,9 @@ $(OBJS)\monodll_stdpaths.obj : .AUTODEPEND ..\..\src\msw\stdpaths.cpp
$(OBJS)\monodll_thread.obj : .AUTODEPEND ..\..\src\msw\thread.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
+$(OBJS)\monodll_timer.obj : .AUTODEPEND ..\..\src\msw\timer.cpp
+ $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
+
$(OBJS)\monodll_utils.obj : .AUTODEPEND ..\..\src\msw\utils.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
@@ -6586,11 +6591,6 @@ $(OBJS)\monodll_settings.obj : .AUTODEPEND ..\..\src\msw\settings.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
!endif
-!ifeq USE_GUI 1
-$(OBJS)\monodll_timer.obj : .AUTODEPEND ..\..\src\msw\timer.cpp
- $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
-!endif
-
!ifeq USE_GUI 1
$(OBJS)\monodll_tooltip.obj : .AUTODEPEND ..\..\src\msw\tooltip.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
@@ -7421,11 +7421,6 @@ $(OBJS)\monodll_textcmn.obj : .AUTODEPEND ..\..\src\common\textcmn.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
!endif
-!ifeq USE_GUI 1
-$(OBJS)\monodll_timercmn.obj : .AUTODEPEND ..\..\src\common\timercmn.cpp
- $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
-!endif
-
!ifeq USE_GUI 1
$(OBJS)\monodll_toplvcmn.obj : .AUTODEPEND ..\..\src\common\toplvcmn.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
@@ -7929,6 +7924,12 @@ $(OBJS)\monolib_textbuf.obj : .AUTODEPEND ..\..\src\common\textbuf.cpp
$(OBJS)\monolib_textfile.obj : .AUTODEPEND ..\..\src\common\textfile.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
+$(OBJS)\monolib_timercmn.obj : .AUTODEPEND ..\..\src\common\timercmn.cpp
+ $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
+
+$(OBJS)\monolib_timerimpl.obj : .AUTODEPEND ..\..\src\common\timerimpl.cpp
+ $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
+
$(OBJS)\monolib_tokenzr.obj : .AUTODEPEND ..\..\src\common\tokenzr.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
@@ -8007,6 +8008,9 @@ $(OBJS)\monolib_stdpaths.obj : .AUTODEPEND ..\..\src\msw\stdpaths.cpp
$(OBJS)\monolib_thread.obj : .AUTODEPEND ..\..\src\msw\thread.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
+$(OBJS)\monolib_timer.obj : .AUTODEPEND ..\..\src\msw\timer.cpp
+ $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
+
$(OBJS)\monolib_utils.obj : .AUTODEPEND ..\..\src\msw\utils.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
@@ -8743,11 +8747,6 @@ $(OBJS)\monolib_settings.obj : .AUTODEPEND ..\..\src\msw\settings.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
!endif
-!ifeq USE_GUI 1
-$(OBJS)\monolib_timer.obj : .AUTODEPEND ..\..\src\msw\timer.cpp
- $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
-!endif
-
!ifeq USE_GUI 1
$(OBJS)\monolib_tooltip.obj : .AUTODEPEND ..\..\src\msw\tooltip.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
@@ -9578,11 +9577,6 @@ $(OBJS)\monolib_textcmn.obj : .AUTODEPEND ..\..\src\common\textcmn.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
!endif
-!ifeq USE_GUI 1
-$(OBJS)\monolib_timercmn.obj : .AUTODEPEND ..\..\src\common\timercmn.cpp
- $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
-!endif
-
!ifeq USE_GUI 1
$(OBJS)\monolib_toplvcmn.obj : .AUTODEPEND ..\..\src\common\toplvcmn.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
@@ -10086,6 +10080,12 @@ $(OBJS)\basedll_textbuf.obj : .AUTODEPEND ..\..\src\common\textbuf.cpp
$(OBJS)\basedll_textfile.obj : .AUTODEPEND ..\..\src\common\textfile.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(BASEDLL_CXXFLAGS) $<
+$(OBJS)\basedll_timercmn.obj : .AUTODEPEND ..\..\src\common\timercmn.cpp
+ $(CXX) -bt=nt -zq -fo=$^@ $(BASEDLL_CXXFLAGS) $<
+
+$(OBJS)\basedll_timerimpl.obj : .AUTODEPEND ..\..\src\common\timerimpl.cpp
+ $(CXX) -bt=nt -zq -fo=$^@ $(BASEDLL_CXXFLAGS) $<
+
$(OBJS)\basedll_tokenzr.obj : .AUTODEPEND ..\..\src\common\tokenzr.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(BASEDLL_CXXFLAGS) $<
@@ -10164,6 +10164,9 @@ $(OBJS)\basedll_stdpaths.obj : .AUTODEPEND ..\..\src\msw\stdpaths.cpp
$(OBJS)\basedll_thread.obj : .AUTODEPEND ..\..\src\msw\thread.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(BASEDLL_CXXFLAGS) $<
+$(OBJS)\basedll_timer.obj : .AUTODEPEND ..\..\src\msw\timer.cpp
+ $(CXX) -bt=nt -zq -fo=$^@ $(BASEDLL_CXXFLAGS) $<
+
$(OBJS)\basedll_utils.obj : .AUTODEPEND ..\..\src\msw\utils.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(BASEDLL_CXXFLAGS) $<
@@ -10371,6 +10374,12 @@ $(OBJS)\baselib_textbuf.obj : .AUTODEPEND ..\..\src\common\textbuf.cpp
$(OBJS)\baselib_textfile.obj : .AUTODEPEND ..\..\src\common\textfile.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(BASELIB_CXXFLAGS) $<
+$(OBJS)\baselib_timercmn.obj : .AUTODEPEND ..\..\src\common\timercmn.cpp
+ $(CXX) -bt=nt -zq -fo=$^@ $(BASELIB_CXXFLAGS) $<
+
+$(OBJS)\baselib_timerimpl.obj : .AUTODEPEND ..\..\src\common\timerimpl.cpp
+ $(CXX) -bt=nt -zq -fo=$^@ $(BASELIB_CXXFLAGS) $<
+
$(OBJS)\baselib_tokenzr.obj : .AUTODEPEND ..\..\src\common\tokenzr.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(BASELIB_CXXFLAGS) $<
@@ -10449,6 +10458,9 @@ $(OBJS)\baselib_stdpaths.obj : .AUTODEPEND ..\..\src\msw\stdpaths.cpp
$(OBJS)\baselib_thread.obj : .AUTODEPEND ..\..\src\msw\thread.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(BASELIB_CXXFLAGS) $<
+$(OBJS)\baselib_timer.obj : .AUTODEPEND ..\..\src\msw\timer.cpp
+ $(CXX) -bt=nt -zq -fo=$^@ $(BASELIB_CXXFLAGS) $<
+
$(OBJS)\baselib_utils.obj : .AUTODEPEND ..\..\src\msw\utils.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(BASELIB_CXXFLAGS) $<
@@ -10930,11 +10942,6 @@ $(OBJS)\coredll_settings.obj : .AUTODEPEND ..\..\src\msw\settings.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
!endif
-!ifeq USE_GUI 1
-$(OBJS)\coredll_timer.obj : .AUTODEPEND ..\..\src\msw\timer.cpp
- $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
-!endif
-
!ifeq USE_GUI 1
$(OBJS)\coredll_tooltip.obj : .AUTODEPEND ..\..\src\msw\tooltip.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
@@ -11765,11 +11772,6 @@ $(OBJS)\coredll_textcmn.obj : .AUTODEPEND ..\..\src\common\textcmn.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
!endif
-!ifeq USE_GUI 1
-$(OBJS)\coredll_timercmn.obj : .AUTODEPEND ..\..\src\common\timercmn.cpp
- $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
-!endif
-
!ifeq USE_GUI 1
$(OBJS)\coredll_toplvcmn.obj : .AUTODEPEND ..\..\src\common\toplvcmn.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
@@ -12330,11 +12332,6 @@ $(OBJS)\corelib_settings.obj : .AUTODEPEND ..\..\src\msw\settings.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
!endif
-!ifeq USE_GUI 1
-$(OBJS)\corelib_timer.obj : .AUTODEPEND ..\..\src\msw\timer.cpp
- $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
-!endif
-
!ifeq USE_GUI 1
$(OBJS)\corelib_tooltip.obj : .AUTODEPEND ..\..\src\msw\tooltip.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
@@ -13165,11 +13162,6 @@ $(OBJS)\corelib_textcmn.obj : .AUTODEPEND ..\..\src\common\textcmn.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
!endif
-!ifeq USE_GUI 1
-$(OBJS)\corelib_timercmn.obj : .AUTODEPEND ..\..\src\common\timercmn.cpp
- $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
-!endif
-
!ifeq USE_GUI 1
$(OBJS)\corelib_toplvcmn.obj : .AUTODEPEND ..\..\src\common\toplvcmn.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
diff --git a/build/msw/wx_base.dsp b/build/msw/wx_base.dsp
index b70b75825a..487f50b8d9 100644
--- a/build/msw/wx_base.dsp
+++ b/build/msw/wx_base.dsp
@@ -707,6 +707,14 @@ SOURCE=..\..\src\common\textfile.cpp
# End Source File
# Begin Source File
+SOURCE=..\..\src\common\timercmn.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\src\common\timerimpl.cpp
+# End Source File
+# Begin Source File
+
SOURCE=..\..\src\common\tokenzr.cpp
# End Source File
# Begin Source File
@@ -827,6 +835,10 @@ SOURCE=..\..\src\msw\thread.cpp
# End Source File
# Begin Source File
+SOURCE=..\..\src\msw\timer.cpp
+# End Source File
+# Begin Source File
+
SOURCE=..\..\src\msw\utils.cpp
# End Source File
# Begin Source File
diff --git a/build/msw/wx_core.dsp b/build/msw/wx_core.dsp
index 8eaba14b64..bcb28a60f4 100644
--- a/build/msw/wx_core.dsp
+++ b/build/msw/wx_core.dsp
@@ -814,10 +814,6 @@ SOURCE=..\..\src\common\textcmn.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\src\common\timercmn.cpp
-# End Source File
-# Begin Source File
-
SOURCE=..\..\src\common\toplvcmn.cpp
# End Source File
# Begin Source File
@@ -3873,10 +3869,6 @@ SOURCE=..\..\src\msw\tglbtn.cpp
# End Source File
# Begin Source File
-SOURCE=..\..\src\msw\timer.cpp
-# End Source File
-# Begin Source File
-
SOURCE=..\..\src\msw\tooltip.cpp
# End Source File
# Begin Source File
@@ -8185,10 +8177,6 @@ SOURCE=..\..\include\wx\msw\tglbtn.h
# End Source File
# Begin Source File
-SOURCE=..\..\include\wx\msw\timer.h
-# End Source File
-# Begin Source File
-
SOURCE=..\..\include\wx\msw\tooltip.h
# End Source File
# Begin Source File
@@ -8417,10 +8405,6 @@ SOURCE=..\..\include\wx\generic\textdlgg.h
# End Source File
# Begin Source File
-SOURCE=..\..\include\wx\generic\timer.h
-# End Source File
-# Begin Source File
-
SOURCE=..\..\include\wx\generic\treectlg.h
# End Source File
# Begin Source File
diff --git a/include/wx/apptrait.h b/include/wx/apptrait.h
index c2ad503e72..06d77247b7 100644
--- a/include/wx/apptrait.h
+++ b/include/wx/apptrait.h
@@ -24,6 +24,8 @@ class WXDLLIMPEXP_BASE wxLog;
class WXDLLIMPEXP_BASE wxMessageOutput;
class WXDLLEXPORT wxRendererNative;
class WXDLLIMPEXP_BASE wxString;
+class WXDLLIMPEXP_BASE wxTimer;
+class WXDLLIMPEXP_BASE wxTimerImpl;
class GSocketGUIFunctionsTable;
@@ -117,6 +119,10 @@ public:
virtual GSocketGUIFunctionsTable* GetSocketGUIFunctionsTable() = 0;
#endif
+#if wxUSE_TIMER
+ // return platform and toolkit dependent wxTimer implementation
+ virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer) = 0;
+#endif
// functions returning port-specific information
// ------------------------------------------------------------------------
diff --git a/include/wx/cocoa/timer.h b/include/wx/cocoa/private/timer.h
similarity index 65%
rename from include/wx/cocoa/timer.h
rename to include/wx/cocoa/private/timer.h
index fb1677a977..accc23910c 100644
--- a/include/wx/cocoa/timer.h
+++ b/include/wx/cocoa/private/timer.h
@@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////////
-// Name: timer.h
+// Name: wx/cocoa/private/timer.h
// Purpose: Cocoa wxTimer class
// Author: Ryan Norton
// Id: $Id$
@@ -7,9 +7,10 @@
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
+#ifndef _WX_COCOA_PRIVATE_TIMER_H_
+#define _WX_COCOA_PRIVATE_TIMER_H_
-#ifndef __WX_TIMER_H__
-#define __WX_TIMER_H__
+#include "wx/private/timer.h"
#include "wx/cocoa/ObjcRef.h"
@@ -19,29 +20,24 @@
DECLARE_WXCOCOA_OBJC_CLASS(NSTimer);
-class WXDLLEXPORT wxTimer : public wxTimerBase
+class WXDLLEXPORT wxCocoaTimerImpl : public wxTimerImpl
{
public:
- wxTimer() { Init(); }
- wxTimer(wxEvtHandler *owner, int timerid = -1) : wxTimerBase(owner, timerid)
- { Init(); }
- virtual ~wxTimer();
+ wxCocoaTimerImpl(wxTimer* timer) : wxTimerImpl(timer) { Init(); }
+ virtual ~wxCocoaTimerImpl();
virtual bool Start(int millisecs = -1, bool oneShot = false);
virtual void Stop();
virtual bool IsRunning() const;
- inline WX_NSTimer GetNSTimer()
- { return m_cocoaNSTimer; }
+ WX_NSTimer GetNSTimer() { return m_cocoaNSTimer; }
protected:
void Init();
private:
WX_NSTimer m_cocoaNSTimer;
-
- DECLARE_ABSTRACT_CLASS(wxTimer)
};
-#endif // __WX_TIMER_H__
+#endif // _WX_COCOA_PRIVATE_TIMER_H_
diff --git a/include/wx/event.h b/include/wx/event.h
index ae07baef49..3a9feb32c6 100644
--- a/include/wx/event.h
+++ b/include/wx/event.h
@@ -157,7 +157,7 @@ BEGIN_DECLARE_EVENT_TYPES()
// Sockets and timers send events, too
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_BASE, wxEVT_SOCKET, 50)
- DECLARE_EVENT_TYPE(wxEVT_TIMER , 80)
+ DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_BASE, wxEVT_TIMER , 80)
// Mouse event types
DECLARE_EVENT_TYPE(wxEVT_LEFT_DOWN, 100)
diff --git a/include/wx/generic/timer.h b/include/wx/generic/private/timer.h
similarity index 69%
rename from include/wx/generic/timer.h
rename to include/wx/generic/private/timer.h
index 63f0ab1a63..9db8f41489 100644
--- a/include/wx/generic/timer.h
+++ b/include/wx/generic/private/timer.h
@@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////////
-// Name: timer.h
+// Name: wx/generic/private/timer.h
// Purpose: Generic implementation of wxTimer class
// Author: Vaclav Slavik
// Id: $Id$
@@ -8,8 +8,10 @@
/////////////////////////////////////////////////////////////////////////////
-#ifndef __WX_TIMER_H__
-#define __WX_TIMER_H__
+#ifndef _WX_GENERIC_PRIVATE_TIMER_H_
+#define _WX_GENERIC_PRIVATE_TIMER_H_
+
+#include "wx/private/timer.h"
//-----------------------------------------------------------------------------
// wxTimer
@@ -17,13 +19,11 @@
class wxTimerDesc;
-class WXDLLEXPORT wxTimer : public wxTimerBase
+class WXDLLEXPORT wxGenericTimerImpl : public wxTimerImpl
{
public:
- wxTimer() { Init(); }
- wxTimer(wxEvtHandler *owner, int timerid = -1) : wxTimerBase(owner, timerid)
- { Init(); }
- virtual ~wxTimer();
+ wxGenericTimerImpl(wxTimer* timer) : wxTimerImpl(timer) { Init(); }
+ virtual ~wxGenericTimerImpl();
virtual bool Start(int millisecs = -1, bool oneShot = false);
virtual void Stop();
@@ -38,8 +38,6 @@ protected:
private:
wxTimerDesc *m_desc;
-
- DECLARE_ABSTRACT_CLASS(wxTimer)
};
-#endif // __WX_TIMER_H__
+#endif // _WX_GENERIC_PRIVATE_TIMER_H_
diff --git a/include/wx/gtk/timer.h b/include/wx/gtk/private/timer.h
similarity index 54%
rename from include/wx/gtk/timer.h
rename to include/wx/gtk/private/timer.h
index cb1d10e8c1..2753541ef6 100644
--- a/include/wx/gtk/timer.h
+++ b/include/wx/gtk/private/timer.h
@@ -1,38 +1,32 @@
/////////////////////////////////////////////////////////////////////////////
-// Name: wx/gtk/timer.h
-// Purpose:
+// Name: wx/private/gtk/timer.h
+// Purpose: wxTimerImpl for wxGTK
// Author: Robert Roebling
// Id: $Id$
// Copyright: (c) 1998 Robert Roebling
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifndef _WX_GTK_TIMER_H_
-#define _WX_GTK_TIMER_H_
+#ifndef _WX_GTK_PRIVATE_TIMER_H_
+#define _WX_GTK_PRIVATE_TIMER_H_
+
+#include "wx/private/timer.h"
//-----------------------------------------------------------------------------
// wxTimer
//-----------------------------------------------------------------------------
-class WXDLLIMPEXP_CORE wxTimer : public wxTimerBase
+class WXDLLIMPEXP_CORE wxGTKTimerImpl : public wxTimerImpl
{
public:
- wxTimer() { Init(); }
- wxTimer(wxEvtHandler *owner, int id = -1) : wxTimerBase(owner, id)
- { Init(); }
- virtual ~wxTimer();
+ wxGTKTimerImpl(wxTimer* timer) : wxTimerImpl(timer) { m_sourceId = 0; };
- virtual bool Start(int millisecs = -1, bool oneShot = false);
+ virtual bool Start( int millisecs = -1, bool oneShot = false );
virtual void Stop();
-
virtual bool IsRunning() const { return m_sourceId != 0; }
-private:
- void Init();
-
- unsigned m_sourceId;
-
- DECLARE_ABSTRACT_CLASS(wxTimer)
+protected:
+ int m_sourceId;
};
-#endif // _WX_GTK_TIMER_H_
+#endif // _WX_GTK_PRIVATE_TIMER_H_
diff --git a/include/wx/gtk1/timer.h b/include/wx/gtk1/private/timer.h
similarity index 54%
rename from include/wx/gtk1/timer.h
rename to include/wx/gtk1/private/timer.h
index 1f78b5de53..6c76a42163 100644
--- a/include/wx/gtk1/timer.h
+++ b/include/wx/gtk1/private/timer.h
@@ -1,39 +1,34 @@
/////////////////////////////////////////////////////////////////////////////
-// Name: wx/gtk1/timer.h
-// Purpose:
+// Name: wx/gtk1/private/timer.h
+// Purpose: wxTimerImpl for wxGTK
// Author: Robert Roebling
// Id: $Id$
// Copyright: (c) 1998 Robert Roebling
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifndef __GTKTIMERH__
-#define __GTKTIMERH__
+#ifndef _WX_GTK1_PRIVATE_TIMER_H_
+#define _WX_GTK1_PRIVATE_TIMER_H_
+
+#include "wx/private/timer.h"
//-----------------------------------------------------------------------------
// wxTimer
//-----------------------------------------------------------------------------
-class WXDLLIMPEXP_CORE wxTimer : public wxTimerBase
+class WXDLLIMPEXP_CORE wxGTKTimerImpl : public wxTimerImpl
{
public:
- wxTimer() { Init(); }
- wxTimer(wxEvtHandler *owner, int id = -1) : wxTimerBase(owner, id)
- { Init(); }
- virtual ~wxTimer();
+ wxGTKTimerImpl(wxTimer *timer) : wxTimerImpl(timer) { m_tag = -1; }
- virtual bool Start( int millisecs = -1, bool oneShot = FALSE );
+ virtual bool Start(int millisecs = -1, bool oneShot = FALSE);
virtual void Stop();
virtual bool IsRunning() const { return m_tag != -1; }
-protected:
- void Init();
-
- int m_tag;
-
private:
- DECLARE_ABSTRACT_CLASS(wxTimer)
+ // registered timeout id, -1 if the timer isn't running
+ int m_tag;
};
-#endif // __GTKTIMERH__
+#endif // _WX_GTK1_PRIVATE_TIMER_H_
diff --git a/include/wx/mac/carbon/apptrait.h b/include/wx/mac/carbon/apptrait.h
index a2b4ed00c0..1b4d2ee9ef 100644
--- a/include/wx/mac/carbon/apptrait.h
+++ b/include/wx/mac/carbon/apptrait.h
@@ -19,6 +19,10 @@
class WXDLLEXPORT wxConsoleAppTraits : public wxConsoleAppTraitsBase
{
public:
+ // no timer support in wxBase yet
+#if wxUSE_TIMER
+ virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer) { return NULL; };
+#endif
// other miscellaneous helpers
// ---------------------------
@@ -30,6 +34,9 @@ public:
class WXDLLEXPORT wxGUIAppTraits : public wxGUIAppTraitsBase
{
public:
+#if wxUSE_TIMER
+ virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer);
+#endif
// other miscellaneous helpers
// ---------------------------
diff --git a/include/wx/mac/carbon/private/timer.h b/include/wx/mac/carbon/private/timer.h
new file mode 100644
index 0000000000..8d643fe2db
--- /dev/null
+++ b/include/wx/mac/carbon/private/timer.h
@@ -0,0 +1,34 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: wx/mac/carbon/private/timer.h
+// Purpose: wxTimer class
+// Author: Stefan Csomor
+// Created: 1998-01-01
+// RCS-ID: $Id$
+// Copyright: (c) Stefan Csomor
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_MAC_PRIVATE_TIMER_H_
+#define _WX_MAC_PRIVATE_TIMER_H_
+
+#include "wx/mac/macnotfy.h"
+#include "wx/private/timer.h"
+
+struct MacTimerInfo;
+
+class WXDLLEXPORT wxCarbonTimerImpl : public wxTimerImpl
+{
+public:
+ wxCarbonTimerImpl(wxTimer *timer);
+ virtual ~wxCarbonTimerImpl();
+
+ virtual bool Start(int milliseconds = -1, bool one_shot = false);
+ virtual void Stop();
+
+ virtual bool IsRunning() const;
+
+private:
+ MacTimerInfo *m_info;
+};
+
+#endif // _WX_MAC_PRIVATE_TIMER_H_
diff --git a/include/wx/mac/carbon/timer.h b/include/wx/mac/carbon/timer.h
deleted file mode 100644
index f9a5d79861..0000000000
--- a/include/wx/mac/carbon/timer.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/////////////////////////////////////////////////////////////////////////////
-// Name: timer.h
-// Purpose: wxTimer class
-// Author: Stefan Csomor
-// Modified by:
-// Created: 1998-01-01
-// RCS-ID: $Id$
-// Copyright: (c) Stefan Csomor
-// Licence: wxWindows licence
-/////////////////////////////////////////////////////////////////////////////
-
-#ifndef _WX_TIMER_H_
-#define _WX_TIMER_H_
-
-#include "wx/object.h"
-#include "wx/mac/macnotfy.h"
-
-class wxTimer ;
-
-struct MacTimerInfo ;
-
-class WXDLLEXPORT wxTimer: public wxTimerBase
-{
-public:
- wxTimer() { Init(); }
- wxTimer(wxEvtHandler *owner, int id = -1) : wxTimerBase(owner, id) { Init(); }
- virtual ~wxTimer();
-
- virtual bool Start(int milliseconds = -1,
- bool one_shot = FALSE); // Start timer
- virtual void Stop(); // Stop timer
-
- virtual bool IsRunning() const ;
-
- MacTimerInfo* m_info;
-protected :
- void Init();
-private:
-
- DECLARE_ABSTRACT_CLASS(wxTimer)
-};
-
-#endif
- // _WX_TIMER_H_
diff --git a/include/wx/mac/private/timer.h b/include/wx/mac/private/timer.h
new file mode 100644
index 0000000000..4532e42f54
--- /dev/null
+++ b/include/wx/mac/private/timer.h
@@ -0,0 +1,5 @@
+#ifdef __WXMAC_CLASSIC__
+#include "wx/mac/classic/private/timer.h"
+#else
+#include "wx/mac/carbon/private/timer.h"
+#endif
diff --git a/include/wx/mac/timer.h b/include/wx/mac/timer.h
deleted file mode 100644
index 7ffc64c55c..0000000000
--- a/include/wx/mac/timer.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#ifdef __WXMAC_CLASSIC__
-#include "wx/mac/classic/timer.h"
-#else
-#include "wx/mac/carbon/timer.h"
-#endif
diff --git a/include/wx/motif/private/timer.h b/include/wx/motif/private/timer.h
new file mode 100644
index 0000000000..b717a32402
--- /dev/null
+++ b/include/wx/motif/private/timer.h
@@ -0,0 +1,37 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: wx/motif/private/timer.h
+// Purpose: wxTimer class
+// Author: Julian Smart
+// Created: 17/09/98
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_MOTIF_PRIVATE_TIMER_H_
+#define _WX_MOTIF_PRIVATE_TIMER_H_
+
+#include "wx/private/timer.h"
+
+class WXDLLEXPORT wxMotifTimerImpl : public wxTimerImpl
+{
+public:
+ wxMotifTimerImpl(wxTimer* timer) : wxTimerImpl(timer) { m_id = 0; }
+ virtual ~wxMotifTimerImpl();
+
+ virtual bool Start(int milliseconds = -1, bool oneShot = false);
+ virtual void Stop();
+ virtual bool IsRunning() const { return m_id != 0; }
+
+ // override this to rearm the timer if necessary (i.e. if not one shot) as
+ // X timeouts are removed automatically when they expire
+ virtual void Notify();
+
+protected:
+ // common part of Start() and Notify()
+ void DoStart();
+
+ long m_id;
+};
+
+#endif // _WX_MOTIF_PRIVATE_TIMER_H_
diff --git a/include/wx/motif/timer.h b/include/wx/motif/timer.h
deleted file mode 100644
index add463502d..0000000000
--- a/include/wx/motif/timer.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/////////////////////////////////////////////////////////////////////////////
-// Name: wx/motif/timer.h
-// Purpose: wxTimer class
-// Author: Julian Smart
-// Modified by:
-// Created: 17/09/98
-// RCS-ID: $Id$
-// Copyright: (c) Julian Smart
-// Licence: wxWindows licence
-/////////////////////////////////////////////////////////////////////////////
-
-#ifndef _WX_TIMER_H_
-#define _WX_TIMER_H_
-
-class WXDLLEXPORT wxTimer : public wxTimerBase
-{
- friend void wxTimerCallback(wxTimer * timer);
-
-public:
- wxTimer() { Init(); }
- wxTimer(wxEvtHandler *owner, int id = -1) : wxTimerBase(owner, id)
- { Init(); }
- virtual ~wxTimer();
-
- virtual bool Start(int milliseconds = -1, bool oneShot = false);
- virtual void Stop();
-
- virtual bool IsRunning() const { return m_id != 0; }
-
-protected:
- void Init();
-
- long m_id;
-
-private:
- DECLARE_DYNAMIC_CLASS(wxTimer)
-};
-
-#endif
-// _WX_TIMER_H_
diff --git a/include/wx/msw/apptrait.h b/include/wx/msw/apptrait.h
index 7b7971a578..d4d89c0141 100644
--- a/include/wx/msw/apptrait.h
+++ b/include/wx/msw/apptrait.h
@@ -22,7 +22,9 @@ public:
virtual void *BeforeChildWaitLoop();
virtual void AlwaysYield();
virtual void AfterChildWaitLoop(void *data);
-
+#if wxUSE_TIMER
+ virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer);
+#endif
virtual bool DoMessageFromThreadWait();
virtual WXDWORD WaitForThread(WXHANDLE hThread);
};
@@ -35,7 +37,9 @@ public:
virtual void *BeforeChildWaitLoop();
virtual void AlwaysYield();
virtual void AfterChildWaitLoop(void *data);
-
+#if wxUSE_TIMER
+ virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer);
+#endif
virtual bool DoMessageFromThreadWait();
virtual wxPortId GetToolkitVersion(int *majVer, int *minVer) const;
virtual WXDWORD WaitForThread(WXHANDLE hThread);
diff --git a/include/wx/msw/timer.h b/include/wx/msw/private/timer.h
similarity index 56%
rename from include/wx/msw/timer.h
rename to include/wx/msw/private/timer.h
index ad80f5080c..07139ee528 100644
--- a/include/wx/msw/timer.h
+++ b/include/wx/msw/private/timer.h
@@ -1,26 +1,22 @@
/////////////////////////////////////////////////////////////////////////////
-// Name: timer.h
+// Name: wx/msw/private/timer.h
// Purpose: wxTimer class
// Author: Julian Smart
-// Modified by:
// Created: 01/02/97
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifndef _WX_TIMER_H_
-#define _WX_TIMER_H_
+#ifndef _WX_MSW_PRIVATE_TIMER_H_
+#define _WX_MSW_PRIVATE_TIMER_H_
-class WXDLLEXPORT wxTimer : public wxTimerBase
+#include "wx/private/timer.h"
+
+class WXDLLIMPEXP_BASE wxMSWTimerImpl : public wxTimerImpl
{
-friend void wxProcessTimer(wxTimer& timer);
-
public:
- wxTimer() { Init(); }
- wxTimer(wxEvtHandler *owner, int id = wxID_ANY) : wxTimerBase(owner, id)
- { Init(); }
- virtual ~wxTimer();
+ wxMSWTimerImpl(wxTimer *timer) : wxTimerImpl(timer) { m_id = 0; }
virtual bool Start(int milliseconds = -1, bool oneShot = false);
virtual void Stop();
@@ -28,13 +24,7 @@ public:
virtual bool IsRunning() const { return m_id != 0; }
protected:
- void Init();
-
unsigned long m_id;
-
-private:
- DECLARE_DYNAMIC_CLASS_NO_COPY(wxTimer)
};
-#endif
- // _WX_TIMERH_
+#endif // _WX_TIMERH_
diff --git a/include/wx/os2/apptrait.h b/include/wx/os2/apptrait.h
index 3b8168570c..3c172f2087 100644
--- a/include/wx/os2/apptrait.h
+++ b/include/wx/os2/apptrait.h
@@ -19,6 +19,9 @@
class WXDLLIMPEXP_BASE wxConsoleAppTraits : public wxConsoleAppTraitsBase
{
public:
+#if wxUSE_TIMER
+ virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer) { return NULL; };
+#endif
};
#if wxUSE_GUI
@@ -26,6 +29,9 @@ public:
class WXDLLIMPEXP_CORE wxGUIAppTraits : public wxGUIAppTraitsBase
{
public:
+#if wxUSE_TIMER
+ virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer);
+#endif
virtual wxPortId GetToolkitVersion(int *majVer, int *minVer) const;
// wxThread helpers
diff --git a/include/wx/os2/timer.h b/include/wx/os2/private/timer.h
similarity index 71%
rename from include/wx/os2/timer.h
rename to include/wx/os2/private/timer.h
index fb7bddc775..fc231d26c3 100644
--- a/include/wx/os2/timer.h
+++ b/include/wx/os2/private/timer.h
@@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////////
-// Name: timer.h
+// Name: wx/os2/private/timer.h
// Purpose: wxTimer class
// Author: David Webster
// Modified by:
@@ -12,22 +12,15 @@
#ifndef _WX_TIMER_H_
#define _WX_TIMER_H_
-#include "wx/object.h"
+#include "wx/private/timerimpl.h"
-class WXDLLEXPORT wxTimer: public wxTimerBase
+class WXDLLEXPORT wxOS2TimerImpl: public wxTimerImpl
{
-friend void wxProcessTimer(wxTimer& timer);
+friend void wxProcessTimer(wxOS2TimerImpl& timer);
public:
- wxTimer() { Init(); }
- wxTimer( wxEvtHandler* pOwner
- ,int nId = -1
- )
- : wxTimerBase( pOwner
- ,nId
- )
- { Init(); }
- virtual ~wxTimer();
+ wxOS2TimerImpl(wxTimer *timer) : wxTimerImpl(timer) { Init(); }
+ virtual ~wxOS2TimerImpl();
virtual void Notify(void);
virtual bool Start( int nMilliseconds = -1
@@ -43,9 +36,6 @@ protected:
ULONG m_ulId;
HAB m_Hab;
-
-private:
- DECLARE_ABSTRACT_CLASS(wxTimer)
};
extern ULONG wxTimerProc( HWND WXUNUSED(hwnd)
diff --git a/include/wx/palmos/apptrait.h b/include/wx/palmos/apptrait.h
index cfe8fde4f9..af90da7225 100644
--- a/include/wx/palmos/apptrait.h
+++ b/include/wx/palmos/apptrait.h
@@ -22,7 +22,9 @@ public:
virtual void *BeforeChildWaitLoop();
virtual void AlwaysYield();
virtual void AfterChildWaitLoop(void *data);
-
+#if wxUSE_TIMER
+ virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer) { return NULL; };
+#endif
virtual bool DoMessageFromThreadWait();
};
@@ -34,7 +36,10 @@ public:
virtual void *BeforeChildWaitLoop();
virtual void AlwaysYield();
virtual void AfterChildWaitLoop(void *data);
-
+#if wxUSE_TIMER
+ // there is no wxTimer support yet
+ virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer);
+#endif
virtual bool DoMessageFromThreadWait();
virtual wxPortId GetToolkitVersion(int *majVer, int *minVer) const;
};
diff --git a/include/wx/palmos/private/timer.h b/include/wx/palmos/private/timer.h
new file mode 100644
index 0000000000..d6e73ac3c1
--- /dev/null
+++ b/include/wx/palmos/private/timer.h
@@ -0,0 +1,37 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: wx/palmos/private/timer.h
+// Purpose: wxTimer class
+// Author: William Osborne - minimal working wxPalmOS port
+// Modified by:
+// Created: 10/13/04
+// RCS-ID: $Id$
+// Copyright: (c) William Osborne
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_TIMER_H_
+#define _WX_TIMER_H_
+
+#include "wx/private/timerimpl.h"
+
+class WXDLLEXPORT wxPalmOSTimerImpl : public wxTimerImpl
+{
+friend void wxProcessTimer(wxTimer& timer);
+
+public:
+ wxPalmOSTimerImpl(wxTimer* timer) : wxTimerImpl(timer) { Init(); }
+ virtual ~wxPalmOSTimerImpl();
+
+ virtual bool Start(int milliseconds = -1, bool oneShot = FALSE);
+ virtual void Stop();
+
+ virtual bool IsRunning() const { return m_id != 0; }
+
+protected:
+ void Init();
+
+ unsigned long m_id;
+};
+
+#endif
+ // _WX_TIMERH_
diff --git a/include/wx/private/timer.h b/include/wx/private/timer.h
new file mode 100644
index 0000000000..c33a2a8432
--- /dev/null
+++ b/include/wx/private/timer.h
@@ -0,0 +1,73 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: wx/private/timerimpl.h
+// Purpose: Base class for wxTimer implementations
+// Author: Lukasz Michalski
+// Created: 31.10.2006
+// RCS-ID: $Id$
+// Copyright: (c) 2006-2007 wxWidgets dev team
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_TIMERIMPL_H_BASE_
+#define _WX_TIMERIMPL_H_BASE_
+
+#include "wx/defs.h"
+#include "wx/event.h"
+#include "wx/timer.h"
+
+// ----------------------------------------------------------------------------
+// wxTimerImpl: abstract base class for wxTimer implementations
+// ----------------------------------------------------------------------------
+
+class WXDLLIMPEXP_BASE wxTimerImpl
+{
+public:
+ // default ctor, SetOwner() must be called after it (wxTimer does it)
+ wxTimerImpl(wxTimer *owner);
+
+ // this must be called initially but may be also called later
+ void SetOwner(wxEvtHandler *owner, int timerid);
+
+ // empty but virtual base class dtor, the caller is responsible for
+ // stopping the timer before it's destroyed (it can't be done from here as
+ // it's too late)
+ virtual ~wxTimerImpl() { }
+
+
+ // start the timer. When overriding call base version first.
+ virtual bool Start(int milliseconds = -1, bool oneShot = false);
+
+ // stop the timer, only called if the timer is really running (unlike
+ // wxTimer::Stop())
+ virtual void Stop() = 0;
+
+ // return true if the timer is running
+ virtual bool IsRunning() const = 0;
+
+ // this should be called by the port-specific code when the timer expires
+ virtual void Notify() { m_timer->Notify(); }
+
+ // the default implementation of wxTimer::Notify(): generate a wxEVT_TIMER
+ void SendEvent();
+
+
+ // accessors for wxTimer:
+ wxEvtHandler *GetOwner() const { return m_owner; }
+ int GetId() const { return m_idTimer; }
+ int GetInterval() const { return m_milli; }
+ bool IsOneShot() const { return m_oneShot; }
+
+protected:
+ wxTimer *m_timer;
+
+ wxEvtHandler *m_owner;
+
+ int m_idTimer; // id passed to wxTimerEvent
+ int m_milli; // the timer interval
+ bool m_oneShot; // true if one shot
+
+
+ DECLARE_NO_COPY_CLASS(wxTimerImpl);
+};
+
+#endif // _WX_TIMERIMPL_H_BASE_
diff --git a/include/wx/timer.h b/include/wx/timer.h
index c79633c6c0..1a5d5d70f8 100644
--- a/include/wx/timer.h
+++ b/include/wx/timer.h
@@ -15,13 +15,13 @@
#include "wx/defs.h"
-#if wxUSE_GUI && wxUSE_TIMER
+#if wxUSE_TIMER
#include "wx/object.h"
#include "wx/longlong.h"
#include "wx/event.h"
#include "wx/stopwatch.h" // for backwards compatibility
-#include "wx/window.h" // only for NewControlId()
+#include "wx/utils.h"
// more readable flags for Start():
@@ -32,8 +32,10 @@
// only send the notification once and then stop the timer
#define wxTIMER_ONE_SHOT true
+class WXDLLIMPEXP_BASE wxTimerImpl;
+
// the interface of wxTimer class
-class WXDLLEXPORT wxTimerBase : public wxEvtHandler
+class WXDLLIMPEXP_BASE wxTimer : public wxEvtHandler
{
public:
// ctors and initializers
@@ -41,29 +43,33 @@ public:
// default: if you don't call SetOwner(), your only chance to get timer
// notifications is to override Notify() in the derived class
- wxTimerBase()
- { Init(); SetOwner(this); }
+ wxTimer()
+ {
+ Init();
+ SetOwner(this);
+ }
// ctor which allows to avoid having to override Notify() in the derived
// class: the owner will get timer notifications which can be handled with
// EVT_TIMER
- wxTimerBase(wxEvtHandler *owner, int timerid = wxID_ANY)
- { Init(); SetOwner(owner, timerid); }
-
- // same as ctor above
- void SetOwner(wxEvtHandler *owner, int timerid = wxID_ANY)
+ wxTimer(wxEvtHandler *owner, int timerid = wxID_ANY)
{
- m_owner = owner;
- m_idTimer = timerid == wxID_ANY ? wxWindow::NewControlId() : timerid;
+ Init();
+ SetOwner(owner, timerid);
}
- wxEvtHandler *GetOwner() const { return m_owner; }
+ // same as ctor above
+ void SetOwner(wxEvtHandler *owner, int timerid = wxID_ANY);
+
+ virtual ~wxTimer();
- virtual ~wxTimerBase();
// working with the timer
// ----------------------
+ // NB: Start() and Stop() are not supposed to be overridden, they are only
+ // virtual for historical reasons, only Notify() can be overridden
+
// start the timer: if milliseconds == -1, use the same value as for the
// last Start()
//
@@ -71,63 +77,41 @@ public:
// timer if it is already running
virtual bool Start(int milliseconds = -1, bool oneShot = false);
- // stop the timer
- virtual void Stop() = 0;
+ // stop the timer, does nothing if the timer is not running
+ virtual void Stop();
// override this in your wxTimer-derived class if you want to process timer
// messages in it, use non default ctor or SetOwner() otherwise
virtual void Notify();
- // getting info
- // ------------
+
+ // accessors
+ // ---------
+
+ // get the object notified about the timer events
+ wxEvtHandler *GetOwner() const;
// return true if the timer is running
- virtual bool IsRunning() const = 0;
+ bool IsRunning() const;
// return the timer ID
- int GetId() const { return m_idTimer; }
+ int GetId() const;
// get the (last) timer interval in milliseconds
- int GetInterval() const { return m_milli; }
+ int GetInterval() const;
// return true if the timer is one shot
- bool IsOneShot() const { return m_oneShot; }
+ bool IsOneShot() const;
protected:
// common part of all ctors
- void Init()
- { m_owner = NULL; m_idTimer = wxID_ANY; m_milli = 0; m_oneShot = false; }
+ void Init();
- wxEvtHandler *m_owner;
- int m_idTimer;
- int m_milli; // the timer interval
- bool m_oneShot; // true if one shot
+ wxTimerImpl *m_impl;
- DECLARE_NO_COPY_CLASS(wxTimerBase)
+ DECLARE_NO_COPY_CLASS(wxTimer)
};
-// ----------------------------------------------------------------------------
-// wxTimer itself
-// ----------------------------------------------------------------------------
-
-#if defined(__WXMSW__)
- #include "wx/msw/timer.h"
-#elif defined(__WXMOTIF__)
- #include "wx/motif/timer.h"
-#elif defined(__WXGTK20__)
- #include "wx/gtk/timer.h"
-#elif defined(__WXGTK__)
- #include "wx/gtk1/timer.h"
-#elif defined(__WXX11__) || defined(__WXMGL__) || defined(__WXDFB__)
- #include "wx/generic/timer.h"
-#elif defined (__WXCOCOA__)
- #include "wx/cocoa/timer.h"
-#elif defined(__WXMAC__)
- #include "wx/mac/timer.h"
-#elif defined(__WXPM__)
- #include "wx/os2/timer.h"
-#endif
-
// ----------------------------------------------------------------------------
// wxTimerRunner: starts the timer in its ctor, stops in the dtor
// ----------------------------------------------------------------------------
@@ -195,7 +179,6 @@ typedef void (wxEvtHandler::*wxTimerEventFunction)(wxTimerEvent&);
#define EVT_TIMER(timerid, func) \
wx__DECLARE_EVT1(wxEVT_TIMER, timerid, wxTimerEventHandler(func))
-#endif // wxUSE_GUI && wxUSE_TIMER
+#endif // wxUSE_TIMER
-#endif
- // _WX_TIMER_H_BASE_
+#endif // _WX_TIMER_H_BASE_
diff --git a/include/wx/unix/apptrait.h b/include/wx/unix/apptrait.h
index 4a59ace1f6..e4495aa2f6 100644
--- a/include/wx/unix/apptrait.h
+++ b/include/wx/unix/apptrait.h
@@ -23,6 +23,9 @@ public:
virtual bool IsWriteFDOfEndProcessPipe(wxExecuteData& execData, int fd);
virtual void DetachWriteFDOfEndProcessPipe(wxExecuteData& execData);
virtual int WaitForChild(wxExecuteData& execData);
+#if wxUSE_TIMER
+ virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer);
+#endif
};
#if wxUSE_GUI
@@ -34,6 +37,9 @@ public:
virtual bool IsWriteFDOfEndProcessPipe(wxExecuteData& execData, int fd);
virtual void DetachWriteFDOfEndProcessPipe(wxExecuteData& execData);
virtual int WaitForChild(wxExecuteData& execData);
+#if wxUSE_TIMER
+ virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer);
+#endif
#if defined(__WXMAC__) || defined(__WXCOCOA__)
virtual wxStandardPathsBase& GetStandardPaths();
diff --git a/include/wx/unix/private/timer.h b/include/wx/unix/private/timer.h
new file mode 100644
index 0000000000..cdcf53b3d2
--- /dev/null
+++ b/include/wx/unix/private/timer.h
@@ -0,0 +1,131 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: wx/unix/private/timer.h
+// Purpose: wxTimer for wxBase (unix)
+// Author: Lukasz Michalski
+// Created: 15/01/2005
+// RCS-ID: $Id$
+// Copyright: (c) Lukasz Michalski
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_UNIX_PRIVATE_TIMER_H_
+#define _WX_UNIX_PRIVATE_TIMER_H_
+
+#include "wx/private/timer.h"
+
+// the type used for milliseconds is large enough for microseconds too but
+// introduce a synonym for it to avoid confusion
+typedef wxMilliClock_t wxUsecClock_t;
+
+// ----------------------------------------------------------------------------
+// wxTimer implementation class for Unix platforms
+// ----------------------------------------------------------------------------
+
+class wxUnixTimerImpl : public wxTimerImpl
+{
+public:
+ wxUnixTimerImpl(wxTimer *timer);
+ virtual ~wxUnixTimerImpl();
+
+ virtual bool IsRunning() const;
+ virtual bool Start(int milliseconds = -1, bool oneShot = false);
+ virtual void Stop();
+
+private:
+ bool m_isRunning;
+
+ friend class wxTimerScheduler;
+};
+
+// ----------------------------------------------------------------------------
+// wxTimerSchedule: information about a single timer, used by wxTimerScheduler
+// ----------------------------------------------------------------------------
+
+struct wxTimerSchedule
+{
+ wxTimerSchedule(wxUnixTimerImpl *timer, wxUsecClock_t expiration)
+ : m_timer(timer),
+ m_expiration(expiration)
+ {
+ }
+
+ // the timer itself (we don't own this pointer)
+ wxUnixTimerImpl *m_timer;
+
+ // the time of its next expiration, in usec
+ wxUsecClock_t m_expiration;
+};
+
+// the linked list of all active timers, we keep it sorted by expiration time
+WX_DECLARE_LIST(wxTimerSchedule, wxTimerList);
+
+// ----------------------------------------------------------------------------
+// wxTimerScheduler: class responsible for updating all timers
+// ----------------------------------------------------------------------------
+
+class wxTimerScheduler
+{
+public:
+ // get the unique timer scheduler instance
+ static wxTimerScheduler& Get()
+ {
+ if ( !ms_instance )
+ ms_instance = new wxTimerScheduler;
+
+ return *ms_instance;
+ }
+
+ // must be called on shutdown to delete the global timer scheduler
+ static void Shutdown()
+ {
+ if ( ms_instance )
+ {
+ delete ms_instance;
+ ms_instance = NULL;
+ }
+ }
+
+ // adds timer which should expire at the given absolute time to the list
+ void AddTimer(wxUnixTimerImpl *timer, wxUsecClock_t expiration);
+
+ // remove timer from the list, called automatically from timer dtor
+ void RemoveTimer(wxUnixTimerImpl *timer);
+
+
+ // the functions below are used by the event loop implementation to monitor
+ // and notify timers:
+
+ // if this function returns true, the time remaining until the next time
+ // expiration is returned in the provided parameter (always positive or 0)
+ //
+ // it returns false if there are no timers
+ bool GetNext(wxUsecClock_t *remaining) const;
+
+ // trigger the timer event for all timers which have expired
+ void NotifyExpired();
+
+private:
+ // ctor and dtor are private, this is a singleton class only created by
+ // Get() and destroyed by Shutdown()
+ wxTimerScheduler() { }
+ ~wxTimerScheduler();
+
+ // add the given timer schedule to the list in the right place
+ //
+ // we take ownership of the pointer "s" which must be heap-allocated
+ void DoAddTimer(wxTimerSchedule *s);
+
+
+ // the list of all currently active timers sorted by expiration
+ wxTimerList m_timers;
+
+ static wxTimerScheduler *ms_instance;
+};
+
+// this helper function currently only exists for Unix platforms but could be
+// moved to wx/stopwatch.h if it turns out to be useful elsewhere
+//
+// returns the number of microseconds since the Epoch
+extern wxUsecClock_t wxGetLocalTimeUsec();
+
+#endif // _WX_UNIX_PRIVATE_TIMER_H_
diff --git a/include/wx/utils.h b/include/wx/utils.h
index 40e742482c..ea2630239c 100644
--- a/include/wx/utils.h
+++ b/include/wx/utils.h
@@ -266,21 +266,20 @@ private:
// Returns the current state of the mouse position, buttons and modifers
WXDLLEXPORT wxMouseState wxGetMouseState();
+#endif // wxUSE_GUI
// ----------------------------------------------------------------------------
// Window ID management
// ----------------------------------------------------------------------------
-// Generate a unique ID
-WXDLLEXPORT long wxNewId();
-
// Ensure subsequent IDs don't clash with this one
-WXDLLEXPORT void wxRegisterId(long id);
+WXDLLIMPEXP_BASE void wxRegisterId(long id);
// Return the current ID
-WXDLLEXPORT long wxGetCurrentId();
+WXDLLIMPEXP_BASE long wxGetCurrentId();
-#endif // wxUSE_GUI
+// Generate a unique ID
+WXDLLIMPEXP_BASE long wxNewId();
// ----------------------------------------------------------------------------
// Various conversions
diff --git a/src/cocoa/timer.mm b/src/cocoa/timer.mm
index 4815472d7b..ebcae18430 100644
--- a/src/cocoa/timer.mm
+++ b/src/cocoa/timer.mm
@@ -22,32 +22,22 @@
#if wxUSE_TIMER
-#include "wx/timer.h"
-
-#ifndef WX_PRECOMP
-#endif
-
+#include "wx/cocoa/private/timer.h"
#include "wx/cocoa/autorelease.h"
#import
-// ============================================================================
-// implementation
-// ============================================================================
-
-IMPLEMENT_CLASS(wxTimer, wxTimerBase)
-
// ========================================================================
// wxNSTimerData
// ========================================================================
@interface wxNSTimerData : NSObject
{
- wxTimer* m_timer;
+ wxCocoaTimerImpl* m_timer;
}
- (id)init;
-- (id)initWithWxTimer:(wxTimer*)theTimer;
-- (wxTimer*)timer;
+- (id)initWithWxTimer:(wxCocoaTimerImpl*)theTimer;
+- (wxCocoaTimerImpl*)timer;
- (void)onNotify:(NSTimer *)theTimer;
@end // interface wxNSTimerData : NSObject
@@ -60,7 +50,7 @@ IMPLEMENT_CLASS(wxTimer, wxTimerBase)
return self;
}
-- (id)initWithWxTimer:(wxTimer*)theTimer;
+- (id)initWithWxTimer:(wxCocoaTimerImpl*)theTimer;
{
if(!(self = [super init]))
return nil;
@@ -68,32 +58,32 @@ IMPLEMENT_CLASS(wxTimer, wxTimerBase)
return self;
}
-- (wxTimer*)timer
+- (wxCocoaTimerImpl*)timer
{
return m_timer;
}
- (void)onNotify:(NSTimer *)theTimer
{
- m_timer->Notify(); //wxTimerBase method
+ m_timer->Notify();
}
@end
// ----------------------------------------------------------------------------
-// wxTimer
+// wxCocoaTimerImpl
// ----------------------------------------------------------------------------
-wxTimer::~wxTimer()
+wxCocoaTimerImpl::~wxCocoaTimerImpl()
{
Stop();
}
-void wxTimer::Init()
+void wxCocoaTimerImpl::Init()
{
m_cocoaNSTimer = NULL;
}
-bool wxTimer::Start(int millisecs, bool oneShot)
+bool wxCocoaTimerImpl::Start(int millisecs, bool oneShot)
{
Stop();
@@ -111,7 +101,7 @@ bool wxTimer::Start(int millisecs, bool oneShot)
return IsRunning();
}
-void wxTimer::Stop()
+void wxCocoaTimerImpl::Stop()
{
if (m_cocoaNSTimer)
{
@@ -122,7 +112,7 @@ void wxTimer::Stop()
}
}
-bool wxTimer::IsRunning() const
+bool wxCocoaTimerImpl::IsRunning() const
{
return m_cocoaNSTimer != NULL && [m_cocoaNSTimer isValid];
}
diff --git a/src/cocoa/utils.cpp b/src/cocoa/utils.cpp
index 081d9e567f..a2ae48aa1a 100644
--- a/src/cocoa/utils.cpp
+++ b/src/cocoa/utils.cpp
@@ -1,11 +1,10 @@
/////////////////////////////////////////////////////////////////////////////
// Name: src/cocoa/utils.cpp
// Purpose: Various utilities
-// Author: AUTHOR
-// Modified by:
+// Author: David Elliott
// Created: 2003/??/??
// RCS-ID: $Id$
-// Copyright: (c) AUTHOR
+// Copyright: (c) wxWidgets dev team
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@@ -19,6 +18,7 @@
#include "wx/apptrait.h"
#include "wx/display.h"
+#include "wx/cocoa/private/timer.h"
#include
@@ -62,6 +62,11 @@ wxPortId wxGUIAppTraits::GetToolkitVersion(int *verMaj, int *verMin) const
return wxPORT_COCOA;
}
+wxTimerImpl* wxGUIAppTraits::CreateTimerImpl(wxTimer* timer)
+{
+ return new wxCocoaTimerImpl(timer);
+}
+
wxWindow* wxFindWindowAtPoint(const wxPoint& pt)
{
return wxGenericFindWindowAtPoint(pt);
diff --git a/src/common/event.cpp b/src/common/event.cpp
index abde457635..e04611b837 100644
--- a/src/common/event.cpp
+++ b/src/common/event.cpp
@@ -147,6 +147,7 @@ const wxEventType wxEVT_USER_FIRST = wxEVT_FIRST + 2000;
DEFINE_EVENT_TYPE(wxEVT_NULL)
DEFINE_EVENT_TYPE(wxEVT_IDLE)
DEFINE_EVENT_TYPE(wxEVT_SOCKET)
+DEFINE_EVENT_TYPE(wxEVT_TIMER)
#endif // !WXWIN_COMPATIBILITY_EVENT_TYPES
@@ -173,9 +174,6 @@ DEFINE_EVENT_TYPE(wxEVT_COMMAND_TOOL_RCLICKED)
DEFINE_EVENT_TYPE(wxEVT_COMMAND_TOOL_ENTER)
DEFINE_EVENT_TYPE(wxEVT_COMMAND_SPINCTRL_UPDATED)
-// Sockets and timers send events, too
-DEFINE_EVENT_TYPE(wxEVT_TIMER)
-
// Mouse event types
DEFINE_EVENT_TYPE(wxEVT_LEFT_DOWN)
DEFINE_EVENT_TYPE(wxEVT_LEFT_UP)
diff --git a/src/common/timercmn.cpp b/src/common/timercmn.cpp
index 90623b23eb..bb89232709 100644
--- a/src/common/timercmn.cpp
+++ b/src/common/timercmn.cpp
@@ -28,9 +28,13 @@
#if wxUSE_TIMER
#ifndef WX_PRECOMP
- #include "wx/timer.h"
+ #include "wx/app.h"
#endif
+#include "wx/timer.h"
+#include "wx/apptrait.h"
+#include "wx/private/timer.h"
+
// ----------------------------------------------------------------------------
// wxWin macros
// ----------------------------------------------------------------------------
@@ -41,47 +45,92 @@ IMPLEMENT_DYNAMIC_CLASS(wxTimerEvent, wxEvent)
// wxTimerBase implementation
// ============================================================================
-wxTimerBase::~wxTimerBase()
+wxTimer::~wxTimer()
{
- // this destructor is required for Darwin
+ Stop();
+
+ delete m_impl;
}
-void wxTimerBase::Notify()
+void wxTimer::Init()
+{
+ wxAppTraits * const traits = wxTheApp ? wxTheApp->GetTraits() : NULL;
+ m_impl = traits ? traits->CreateTimerImpl(this) : NULL;
+ if ( !m_impl )
+ {
+ wxFAIL_MSG( _T("No timer implementation for this platform") );
+
+ }
+}
+
+// ============================================================================
+// rest of wxTimer implementation forwarded to wxTimerImpl
+// ============================================================================
+
+void wxTimer::SetOwner(wxEvtHandler *owner, int timerid)
+{
+ wxCHECK_RET( m_impl, _T("uninitialized timer") );
+
+ m_impl->SetOwner(owner, timerid);
+}
+
+wxEvtHandler *wxTimer::GetOwner() const
+{
+ wxCHECK_MSG( m_impl, NULL, _T("uninitialized timer") );
+
+ return m_impl->GetOwner();
+}
+
+bool wxTimer::Start(int milliseconds, bool oneShot)
+{
+ wxCHECK_MSG( m_impl, false, _T("uninitialized timer") );
+
+ return m_impl->Start(milliseconds, oneShot);
+}
+
+void wxTimer::Stop()
+{
+ wxCHECK_RET( m_impl, _T("uninitialized timer") );
+
+ if ( m_impl->IsRunning() )
+ m_impl->Stop();
+}
+
+void wxTimer::Notify()
{
// the base class version generates an event if it has owner - which it
// should because otherwise nobody can process timer events
- wxCHECK_RET( m_owner, _T("wxTimer::Notify() should be overridden.") );
+ wxCHECK_RET( GetOwner(), _T("wxTimer::Notify() should be overridden.") );
- wxTimerEvent event(m_idTimer, m_milli);
- event.SetEventObject(this);
- (void)m_owner->ProcessEvent(event);
+ m_impl->SendEvent();
}
-bool wxTimerBase::Start(int milliseconds, bool oneShot)
+bool wxTimer::IsRunning() const
{
- // under MSW timers only work when they're started from the main thread so
- // let the caller know about it
-#if wxUSE_THREADS
- wxASSERT_MSG( wxThread::IsMain(),
- _T("timer can only be started from the main thread") );
-#endif // wxUSE_THREADS
+ wxCHECK_MSG( m_impl, false, _T("uninitialized timer") );
- if ( IsRunning() )
- {
- // not stopping the already running timer might work for some
- // platforms (no problems under MSW) but leads to mysterious crashes
- // on the others (GTK), so to be on the safe side do it here
- Stop();
- }
+ return m_impl->IsRunning();
+}
- if ( milliseconds != -1 )
- {
- m_milli = milliseconds;
- }
+int wxTimer::GetId() const
+{
+ wxCHECK_MSG( m_impl, wxID_ANY, _T("uninitialized timer") );
- m_oneShot = oneShot;
+ return m_impl->GetId();
+}
- return true;
+int wxTimer::GetInterval() const
+{
+ wxCHECK_MSG( m_impl, -1, _T("uninitialized timer") );
+
+ return m_impl->GetInterval();
+}
+
+bool wxTimer::IsOneShot() const
+{
+ wxCHECK_MSG( m_impl, false, _T("uninitialized timer") );
+
+ return m_impl->IsOneShot();
}
#endif // wxUSE_TIMER
diff --git a/src/common/timerimpl.cpp b/src/common/timerimpl.cpp
new file mode 100644
index 0000000000..d952af816f
--- /dev/null
+++ b/src/common/timerimpl.cpp
@@ -0,0 +1,84 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: common/timercmn.cpp
+// Purpose: wxTimerBase implementation
+// Author: Julian Smart, Guillermo Rodriguez, Vadim Zeitlin
+// Modified by: VZ: extracted all non-wxTimer stuff in stopwatch.cpp (20.06.03)
+// Created: 04/01/98
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// (c) 1999 Guillermo Rodriguez
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+// ============================================================================
+// declarations
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// wxWin headers
+// ----------------------------------------------------------------------------
+
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
+#if wxUSE_TIMER
+
+#include "wx/private/timer.h"
+#include "wx/utils.h" // for wxNewId()
+
+wxTimerImpl::wxTimerImpl(wxTimer *timer)
+{
+ m_timer = timer;
+ m_owner = NULL;
+ m_idTimer = wxID_ANY;
+ m_milli = 0;
+ m_oneShot = false;
+}
+
+void wxTimerImpl::SetOwner(wxEvtHandler *owner, int timerid)
+{
+ m_owner = owner;
+ m_idTimer = timerid == wxID_ANY ? wxNewId() : timerid;
+}
+
+void wxTimerImpl::SendEvent()
+{
+ wxTimerEvent event(m_idTimer, m_milli);
+ event.SetEventObject(m_owner);
+ (void)m_owner->ProcessEvent(event);
+}
+
+bool wxTimerImpl::Start(int milliseconds, bool oneShot)
+{
+ // under MSW timers only work when they're started from the main thread so
+ // let the caller know about it
+#if wxUSE_THREADS
+ wxASSERT_MSG( wxThread::IsMain(),
+ _T("timer can only be started from the main thread") );
+#endif // wxUSE_THREADS
+
+ if ( IsRunning() )
+ {
+ // not stopping the already running timer might work for some
+ // platforms (no problems under MSW) but leads to mysterious crashes
+ // on the others (GTK), so to be on the safe side do it here
+ Stop();
+ }
+
+ if ( milliseconds != -1 )
+ {
+ m_milli = milliseconds;
+ }
+
+ m_oneShot = oneShot;
+
+ return true;
+}
+
+
+#endif // wxUSE_TIMER
+
diff --git a/src/common/utilscmn.cpp b/src/common/utilscmn.cpp
index 3d7707581c..0f9a147fe3 100644
--- a/src/common/utilscmn.cpp
+++ b/src/common/utilscmn.cpp
@@ -845,14 +845,6 @@ bool wxYieldIfNeeded()
return wxTheApp && wxTheApp->Yield(true);
}
-#endif // wxUSE_BASE
-
-// ============================================================================
-// GUI-only functions from now on
-// ============================================================================
-
-#if wxUSE_GUI
-
// Id generation
static long wxCurrentId = 100;
@@ -875,6 +867,14 @@ wxRegisterId (long id)
wxCurrentId = id + 1;
}
+#endif // wxUSE_BASE
+
+// ============================================================================
+// GUI-only functions from now on
+// ============================================================================
+
+#if wxUSE_GUI
+
// ----------------------------------------------------------------------------
// Menu accelerators related functions
// ----------------------------------------------------------------------------
diff --git a/src/dfb/evtloop.cpp b/src/dfb/evtloop.cpp
index c4c6c3bdeb..16a348110b 100644
--- a/src/dfb/evtloop.cpp
+++ b/src/dfb/evtloop.cpp
@@ -26,7 +26,7 @@
#endif
#include "wx/thread.h"
-#include "wx/timer.h"
+#include "wx/generic/private/timer.h"
#include "wx/private/selectdispatcher.h"
#include "wx/dfb/private.h"
#include "wx/nonownedwnd.h"
@@ -136,7 +136,7 @@ void wxEventLoop::WakeUp()
void wxEventLoop::OnNextIteration()
{
#if wxUSE_TIMER
- wxTimer::NotifyTimers();
+ wxGenericTimerImpl::NotifyTimers();
#endif
#if wxUSE_SOCKETS
diff --git a/src/generic/timer.cpp b/src/generic/timer.cpp
index a2daf62003..4f7ebe8bf1 100644
--- a/src/generic/timer.cpp
+++ b/src/generic/timer.cpp
@@ -22,13 +22,14 @@
#if wxUSE_TIMER
-#include "wx/timer.h"
-
#ifndef WX_PRECOMP
#include "wx/log.h"
#include "wx/module.h"
#endif
+#include "wx/apptrait.h"
+#include "wx/generic/private/timer.h"
+
// ----------------------------------------------------------------------------
// Time input function
// ----------------------------------------------------------------------------
@@ -93,15 +94,15 @@
class wxTimerDesc
{
public:
- wxTimerDesc(wxTimer *t) :
+ wxTimerDesc(wxGenericTimerImpl *t) :
timer(t), running(false), next(NULL), prev(NULL),
shotTime(0), deleteFlag(NULL) {}
- wxTimer *timer;
- bool running;
- wxTimerDesc *next, *prev;
- wxTimerTick_t shotTime;
- volatile bool *deleteFlag; // see comment in ~wxTimer
+ wxGenericTimerImpl *timer;
+ bool running;
+ wxTimerDesc *next, *prev;
+ wxTimerTick_t shotTime;
+ volatile bool *deleteFlag; // see comment in ~wxTimer
};
class wxTimerScheduler
@@ -207,18 +208,16 @@ void wxTimerScheduler::NotifyTimers()
// wxTimer
// ----------------------------------------------------------------------------
-IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxEvtHandler)
-
wxTimerScheduler *gs_scheduler = NULL;
-void wxTimer::Init()
+void wxGenericTimerImpl::Init()
{
if ( !gs_scheduler )
gs_scheduler = new wxTimerScheduler;
m_desc = new wxTimerDesc(this);
}
-wxTimer::~wxTimer()
+wxGenericTimerImpl::~wxGenericTimerImpl()
{
wxLogTrace( wxT("timer"), wxT("destroying timer %p..."), this);
if ( IsRunning() )
@@ -235,31 +234,31 @@ wxTimer::~wxTimer()
wxLogTrace( wxT("timer"), wxT(" ...done destroying timer %p..."), this);
}
-bool wxTimer::IsRunning() const
+bool wxGenericTimerImpl::IsRunning() const
{
return m_desc->running;
}
-bool wxTimer::Start(int millisecs, bool oneShot)
+bool wxGenericTimerImpl::Start(int millisecs, bool oneShot)
{
wxLogTrace( wxT("timer"), wxT("started timer %p: %i ms, oneshot=%i"),
this, millisecs, oneShot);
- if ( !wxTimerBase::Start(millisecs, oneShot) )
- return false;
+ if ( !wxTimerImpl::Start(millisecs, oneShot) )
+ return false;
gs_scheduler->QueueTimer(m_desc);
return true;
}
-void wxTimer::Stop()
+void wxGenericTimerImpl::Stop()
{
if ( !m_desc->running ) return;
gs_scheduler->RemoveTimer(m_desc);
}
-/*static*/ void wxTimer::NotifyTimers()
+/*static*/ void wxGenericTimerImpl::NotifyTimers()
{
if ( gs_scheduler )
gs_scheduler->NotifyTimers();
@@ -279,5 +278,14 @@ public:
IMPLEMENT_DYNAMIC_CLASS(wxTimerModule, wxModule)
+// ----------------------------------------------------------------------------
+// wxGUIAppTraits
+// ----------------------------------------------------------------------------
+
+wxTimerImpl *wxGUIAppTraits::CreateTimerImpl(wxTimer *timer)
+{
+ return new wxGenericTimerImpl(timer);
+}
+
#endif //wxUSE_TIMER
diff --git a/src/gtk/timer.cpp b/src/gtk/timer.cpp
index 7bb0317952..628ede1a18 100644
--- a/src/gtk/timer.cpp
+++ b/src/gtk/timer.cpp
@@ -12,28 +12,23 @@
#if wxUSE_TIMER
-#include "wx/timer.h"
+#include "wx/gtk/private/timer.h"
#include
// ----------------------------------------------------------------------------
-// wxTimer
+// wxTimerImpl
// ----------------------------------------------------------------------------
-IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxEvtHandler)
-
extern "C" {
+
static gboolean timeout_callback(gpointer data)
{
- wxTimer *timer = (wxTimer*)data;
+ wxGTKTimerImpl *timer = (wxGTKTimerImpl*)data;
- // Don't change the order of anything in this callback!
-
- if (timer->IsOneShot())
- {
- // This sets m_tag to -1
+ const bool keepGoing = !timer->IsOneShot();
+ if ( !keepGoing )
timer->Stop();
- }
// When getting called from GDK's timer handler we
// are no longer within GDK's grab on the GUI
@@ -45,40 +40,29 @@ static gboolean timeout_callback(gpointer data)
// Release lock again.
gdk_threads_leave();
- return !timer->IsOneShot();
-}
+ return keepGoing;
}
-void wxTimer::Init()
+} // extern "C"
+
+bool wxGTKTimerImpl::Start(int millisecs, bool oneShot)
{
- m_sourceId = 0;
- m_milli = 1000;
-}
+ if ( !wxTimerImpl::Start(millisecs, oneShot) )
+ return false;
-wxTimer::~wxTimer()
-{
- Stop();
-}
-
-bool wxTimer::Start( int millisecs, bool oneShot )
-{
- (void)wxTimerBase::Start(millisecs, oneShot);
-
- if (m_sourceId != 0)
- g_source_remove(m_sourceId);
+ wxASSERT_MSG( !m_sourceId, _T("shouldn't be still running") );
m_sourceId = g_timeout_add(m_milli, timeout_callback, this);
return true;
}
-void wxTimer::Stop()
+void wxGTKTimerImpl::Stop()
{
- if (m_sourceId != 0)
- {
- g_source_remove(m_sourceId);
- m_sourceId = 0;
- }
+ wxASSERT_MSG( m_sourceId, _T("should be running") );
+
+ g_source_remove(m_sourceId);
+ m_sourceId = 0;
}
#endif // wxUSE_TIMER
diff --git a/src/gtk/utilsgtk.cpp b/src/gtk/utilsgtk.cpp
index d3df80a878..f5af22987d 100644
--- a/src/gtk/utilsgtk.cpp
+++ b/src/gtk/utilsgtk.cpp
@@ -24,6 +24,8 @@
#include "wx/unix/execute.h"
+#include "wx/gtk/private/timer.h"
+
#ifdef __WXDEBUG__
#include "wx/gtk/assertdlg_gtk.h"
#if wxUSE_STACKWALKER
@@ -286,6 +288,11 @@ wxPortId wxGUIAppTraits::GetToolkitVersion(int *verMaj, int *verMin) const
return wxPORT_GTK;
}
+wxTimerImpl *wxGUIAppTraits::CreateTimerImpl(wxTimer *timer)
+{
+ return new wxGTKTimerImpl(timer);
+}
+
#if wxUSE_DETECT_SM
static wxString GetSM()
{
diff --git a/src/gtk1/timer.cpp b/src/gtk1/timer.cpp
index c5e8bd37ad..b90de7064c 100644
--- a/src/gtk1/timer.cpp
+++ b/src/gtk1/timer.cpp
@@ -7,12 +7,11 @@
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#if wxUSE_TIMER
-#include "wx/timer.h"
+#include "wx/gtk1/private/timer.h"
#include "gtk/gtk.h"
@@ -20,20 +19,14 @@
// wxTimer
// ----------------------------------------------------------------------------
-IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxEvtHandler)
-
extern "C" {
-static gint timeout_callback( gpointer data )
+static gint timeout_callback(void *data)
{
- wxTimer *timer = (wxTimer*)data;
+ wxTimerImpl * const timer = (wxTimerImpl *)data;
- // Don't change the order of anything in this callback!
-
- if (timer->IsOneShot())
- {
- // This sets m_tag to -1
+ const bool keepGoing = !timer->IsOneShot();
+ if ( !keepGoing )
timer->Stop();
- }
// When getting called from GDK's timer handler we
// are no longer within GDK's grab on the GUI
@@ -45,43 +38,28 @@ static gint timeout_callback( gpointer data )
// Release lock again.
gdk_threads_leave();
- if (timer->IsOneShot())
- return FALSE;
-
- return TRUE;
+ return keepGoing;
}
}
-void wxTimer::Init()
+bool wxGTKTimerImpl::Start(int millisecs, bool oneShot)
{
- m_tag = -1;
- m_milli = 1000;
-}
+ if ( !wxTimerImpl::Start(millisecs, oneShot) )
+ return false;
-wxTimer::~wxTimer()
-{
- wxTimer::Stop();
-}
-
-bool wxTimer::Start( int millisecs, bool oneShot )
-{
- (void)wxTimerBase::Start(millisecs, oneShot);
-
- if (m_tag != -1)
- gtk_timeout_remove( m_tag );
+ wxASSERT_MSG( m_tag == -1, _T("shouldn't be still running") );
m_tag = gtk_timeout_add( m_milli, timeout_callback, this );
- return TRUE;
+ return true;
}
-void wxTimer::Stop()
+void wxGTKTimerImpl::Stop()
{
- if (m_tag != -1)
- {
- gtk_timeout_remove( m_tag );
- m_tag = -1;
- }
+ wxASSERT_MSG( m_tag != -1, _T("should be running") );
+
+ gtk_timeout_remove( m_tag );
+ m_tag = -1;
}
#endif // wxUSE_TIMER
diff --git a/src/gtk1/utilsgtk.cpp b/src/gtk1/utilsgtk.cpp
index 29fb44c8c6..3aa1d8b457 100644
--- a/src/gtk1/utilsgtk.cpp
+++ b/src/gtk1/utilsgtk.cpp
@@ -19,7 +19,7 @@
#endif
#include "wx/apptrait.h"
-
+#include "wx/gtk1/private/timer.h"
#include "wx/process.h"
#include "wx/unix/execute.h"
@@ -183,6 +183,11 @@ int wxAddProcessCallback(wxEndProcessData *proc_data, int fd)
return tag;
}
+wxTimerImpl* wxGUIAppTraits::CreateTimerImpl(wxTimer *timer)
+{
+ return new wxGTKTimerImpl(timer);
+}
+
// ----------------------------------------------------------------------------
// wxPlatformInfo-related
// ----------------------------------------------------------------------------
diff --git a/src/mac/carbon/timer.cpp b/src/mac/carbon/timer.cpp
index 3c576d0650..28179a84f4 100644
--- a/src/mac/carbon/timer.cpp
+++ b/src/mac/carbon/timer.cpp
@@ -17,7 +17,7 @@
#include "wx/dynarray.h"
#endif
-#include "wx/timer.h"
+#include "wx/mac/private/timer.h"
#ifdef __WXMAC__
#include "wx/mac/private.h"
@@ -27,26 +27,23 @@
#include
#endif
-IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxEvtHandler)
-
#define wxMAC_USE_CARBON_TIMER 1
#if wxMAC_USE_CARBON_TIMER
struct MacTimerInfo
{
- wxTimer* m_timer;
+ wxCarbonTimerImpl* m_timer;
EventLoopTimerUPP m_proc;
EventLoopTimerRef m_timerRef;
};
-static pascal void wxProcessTimer( EventLoopTimerRef theTimer, void *data );
static pascal void wxProcessTimer( EventLoopTimerRef theTimer, void *data )
{
if ( data == NULL )
return;
- wxTimer* timer = (wxTimer*)data;
+ wxCarbonTimerImpl* timer = (wxCarbonTimerImpl*)data;
if ( timer->IsOneShot() )
timer->Stop();
@@ -54,7 +51,8 @@ static pascal void wxProcessTimer( EventLoopTimerRef theTimer, void *data )
timer->Notify();
}
-void wxTimer::Init()
+wxCarbonTimerImpl::wxCarbonTimerImpl(wxTimer *timer)
+ : wxTimerImpl(timer)
{
m_info = new MacTimerInfo();
m_info->m_timer = this;
@@ -62,24 +60,19 @@ void wxTimer::Init()
m_info->m_timerRef = kInvalidID;
}
-bool wxTimer::IsRunning() const
+bool wxCarbonTimerImpl::IsRunning() const
{
return ( m_info->m_timerRef != kInvalidID );
}
-wxTimer::~wxTimer()
+wxCarbonTimerImpl::~wxCarbonTimerImpl()
{
- Stop();
- if (m_info != NULL)
- {
- delete m_info;
- m_info = NULL;
- }
+ delete m_info;
}
-bool wxTimer::Start( int milliseconds, bool mode )
+bool wxCarbonTimerImpl::Start( int milliseconds, bool mode )
{
- (void)wxTimerBase::Start(milliseconds, mode);
+ (void)wxTimerImpl::Start(milliseconds, mode);
wxCHECK_MSG( m_milli > 0, false, wxT("invalid value for timer timeout") );
wxCHECK_MSG( m_info->m_timerRef == NULL, false, wxT("attempting to restart a timer") );
@@ -99,7 +92,7 @@ bool wxTimer::Start( int milliseconds, bool mode )
return true;
}
-void wxTimer::Stop()
+void wxCarbonTimerImpl::Stop()
{
if (m_info->m_timerRef)
RemoveEventLoopTimer( m_info->m_timerRef );
@@ -110,13 +103,13 @@ void wxTimer::Stop()
m_info->m_timerRef = kInvalidID;
}
-#else
+#else // !wxMAC_USE_CARBON_TIMER
typedef struct MacTimerInfo
{
TMTask m_task;
wxMacNotifierTableRef m_table;
- wxTimer* m_timer;
+ wxCarbonTimerImpl* m_timer;
};
static void wxProcessTimer( unsigned long event, void *data );
@@ -138,8 +131,8 @@ static void wxProcessTimer( unsigned long event, void *data )
if ( data == NULL )
return;
- wxTimer* timer = (wxTimer*) data;
- if ( timer->IsOneShot() )
+ wxCarbonTimerImpl* timer = (wxCarbonTimerImpl*) data;
+ if ( timer->m_oneShot )
timer->Stop();
gTimersInProcess.Add( timer );
@@ -155,7 +148,7 @@ static void wxProcessTimer( unsigned long event, void *data )
}
}
-void wxTimer::Init()
+void wxCarbonTimerImpl::Init()
{
m_info = new MacTimerInfo();
m_info->m_task.tmAddr = NULL;
@@ -166,14 +159,14 @@ void wxTimer::Init()
m_info->m_timer = this;
}
-bool wxTimer::IsRunning() const
+bool wxCarbonTimerImpl::IsRunning() const
{
// as the qType may already indicate it is elapsed, but it
// was not handled internally yet
return ( m_info->m_task.tmAddr != NULL );
}
-wxTimer::~wxTimer()
+wxCarbonTimerImpl::~wxCarbonTimerImpl()
{
Stop();
if (m_info != NULL)
@@ -187,7 +180,7 @@ wxTimer::~wxTimer()
gTimersInProcess.RemoveAt( index );
}
-bool wxTimer::Start( int milliseconds, bool mode )
+bool wxCarbonTimerImpl::Start( int milliseconds, bool mode )
{
(void)wxTimerBase::Start( milliseconds, mode );
@@ -205,7 +198,7 @@ bool wxTimer::Start( int milliseconds, bool mode )
return true;
}
-void wxTimer::Stop()
+void wxCarbonTimerImpl::Stop()
{
if ( m_info->m_task.tmAddr )
{
@@ -217,7 +210,7 @@ void wxTimer::Stop()
wxMacRemoveAllNotifiersForData( wxMacGetNotifierTable(), this );
}
-#endif // wxMAC_USE_CARBON_TIMER
+#endif // wxMAC_USE_CARBON_TIMER/!wxMAC_USE_CARBON_TIMER
#endif // wxUSE_TIMER
diff --git a/src/mac/carbon/utils.cpp b/src/mac/carbon/utils.cpp
index f8f817d58c..c777fce344 100644
--- a/src/mac/carbon/utils.cpp
+++ b/src/mac/carbon/utils.cpp
@@ -57,6 +57,8 @@
#include
#include
#endif
+
+#include "wx/mac/private/timer.h"
#endif // wxUSE_GUI
#include "wx/mac/private.h"
@@ -378,6 +380,11 @@ wxPortId wxGUIAppTraits::GetToolkitVersion(int *verMaj, int *verMin) const
return wxPORT_MAC;
}
+wxTimerImpl* wxGUIAppTraits::CreateTimerImpl(wxTimer *timer)
+{
+ return new wxCarbonTimerImpl(timer);
+}
+
int gs_wxBusyCursorCount = 0;
extern wxCursor gMacCurrentCursor;
wxCursor gMacStoredActiveCursor;
diff --git a/src/motif/timer.cpp b/src/motif/timer.cpp
index 48677e8a1f..fb6815fc06 100644
--- a/src/motif/timer.cpp
+++ b/src/motif/timer.cpp
@@ -12,7 +12,7 @@
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
-#include "wx/timer.h"
+#include "wx/motif/private/timer.h"
#ifndef WX_PRECOMP
#include "wx/app.h"
@@ -29,66 +29,66 @@
#include "wx/motif/private.h"
-IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxEvtHandler)
+WX_DECLARE_VOIDPTR_HASH_MAP(wxMotifTimerImpl*, wxTimerHashMap);
-WX_DECLARE_VOIDPTR_HASH_MAP(wxTimer*, wxTimerHashMap);
+static wxTimerHashMap gs_timers;
-static wxTimerHashMap s_timers;
-
-void wxTimerCallback (wxTimer * timer)
+void wxTimerCallback (wxMotifTimerImpl *timer)
{
- // Check to see if it's still on
- if (s_timers.find(timer) == s_timers.end())
- return;
+ // Check to see if it's still on
+ if ( gs_timers.find(timer) == gs_timers.end() )
+ return;
- if (timer->m_id == 0)
- return; // Avoid to process spurious timer events
+ if ( !timer->IsRunning() )
+ return; // Avoid to process spurious timer events
- if (!timer->m_oneShot)
- timer->m_id = XtAppAddTimeOut((XtAppContext) wxTheApp->GetAppContext(),
- timer->m_milli,
- (XtTimerCallbackProc) wxTimerCallback,
- (XtPointer) timer);
- else
- timer->m_id = 0;
-
- timer->Notify();
+ timer->Notify();
}
-void wxTimer::Init()
+wxMotifTimerImpl::~wxMotifTimerImpl()
{
- m_id = 0;
- m_milli = 1000;
+ gs_timers.erase(this);
}
-wxTimer::~wxTimer()
+void wxMotifTimerImpl::DoStart()
{
- Stop();
- s_timers.erase(this);
-}
-
-bool wxTimer::Start(int milliseconds, bool mode)
-{
- Stop();
-
- (void)wxTimerBase::Start(milliseconds, mode);
-
- if (s_timers.find(this) == s_timers.end())
- s_timers[this] = this;
-
m_id = XtAppAddTimeOut((XtAppContext) wxTheApp->GetAppContext(),
m_milli,
(XtTimerCallbackProc) wxTimerCallback,
(XtPointer) this);
+}
+
+bool wxMotifTimerImpl::Start(int milliseconds, bool mode)
+{
+ if ( !wxTimerImpl::Start(milliseconds, mode) )
+ return false;
+
+ if ( gs_timers.find(this) == gs_timers.end() )
+ gs_timers[this] = this;
+
+ DoStart();
+
return true;
}
-void wxTimer::Stop()
+void wxMotifTimerImpl::Stop()
{
- if (m_id > 0)
+ XtRemoveTimeOut (m_id);
+ m_id = 0;
+}
+
+void wxMotifTimerImpl::Notify()
+{
+ if ( IsOneShot() )
{
- XtRemoveTimeOut (m_id);
+ // nothing to do, timeout is removed automatically by X
m_id = 0;
}
- m_milli = 0 ;
+ else // rearm the timer
+ {
+ DoStart();
+ }
+
+ wxTimerImpl::Notify();
}
+
diff --git a/src/motif/utils.cpp b/src/motif/utils.cpp
index d60e87705e..f43c5b0349 100644
--- a/src/motif/utils.cpp
+++ b/src/motif/utils.cpp
@@ -34,6 +34,7 @@
#include "wx/apptrait.h"
#include "wx/evtloop.h"
+#include "wx/motif/private/timer.h"
#include
@@ -135,6 +136,11 @@ wxPortId wxGUIAppTraits::GetToolkitVersion(int *verMaj, int *verMin) const
return wxPORT_MOTIF;
}
+wxTimerImpl* wxGUIAppTraits::CreateTimerImpl(wxTimer* timer)
+{
+ return new wxMotifTimerImpl(timer);
+}
+
// ----------------------------------------------------------------------------
// display info
// ----------------------------------------------------------------------------
diff --git a/src/msw/app.cpp b/src/msw/app.cpp
index 3c72ccbde8..beecee9e62 100644
--- a/src/msw/app.cpp
+++ b/src/msw/app.cpp
@@ -52,6 +52,7 @@
#include "wx/msw/private.h"
#include "wx/msw/ole/oleutils.h"
+#include "wx/msw/private/timer.h"
#if wxUSE_TOOLTIPS
#include "wx/tooltip.h"
@@ -265,6 +266,12 @@ wxPortId wxGUIAppTraits::GetToolkitVersion(int *majVer, int *minVer) const
#endif
}
+wxTimerImpl *
+wxGUIAppTraits::CreateTimerImpl(wxTimer *timer)
+{
+ return new wxMSWTimerImpl(timer);
+};
+
// ===========================================================================
// wxApp implementation
// ===========================================================================
diff --git a/src/msw/basemsw.cpp b/src/msw/basemsw.cpp
index 47a9aac846..e033e2be88 100644
--- a/src/msw/basemsw.cpp
+++ b/src/msw/basemsw.cpp
@@ -28,6 +28,7 @@
#endif //WX_PRECOMP
#include "wx/apptrait.h"
+#include "wx/msw/private/timer.h"
// MBN: this is a workaround for MSVC 5: if it is not #included in
// some wxBase file, wxRecursionGuard methods won't be exported from
// wxBase.dll, and MSVC 5 will give linker errors
@@ -80,6 +81,13 @@ bool wxConsoleAppTraits::DoMessageFromThreadWait()
return true;
}
+wxTimerImpl *
+wxConsoleAppTraits::CreateTimerImpl(wxTimer *timer)
+{
+ return new wxMSWTimerImpl(timer);
+}
+
+
WXDWORD wxConsoleAppTraits::WaitForThread(WXHANDLE hThread)
{
return DoSimpleWaitForThread(hThread);
diff --git a/src/msw/timer.cpp b/src/msw/timer.cpp
index 8fe20ab638..9027958705 100644
--- a/src/msw/timer.cpp
+++ b/src/msw/timer.cpp
@@ -18,11 +18,10 @@
#if wxUSE_TIMER
-#include "wx/timer.h"
+#include "wx/msw/private/timer.h"
#ifndef WX_PRECOMP
#include "wx/list.h"
- #include "wx/window.h"
#include "wx/event.h"
#include "wx/app.h"
#include "wx/intl.h"
@@ -38,7 +37,7 @@
// define a hash containing all the timers: it is indexed by timer id and
// contains the corresponding timer
-WX_DECLARE_HASH_MAP(unsigned long, wxTimer *, wxIntegerHash, wxIntegerEqual,
+WX_DECLARE_HASH_MAP(unsigned long, wxMSWTimerImpl *, wxIntegerHash, wxIntegerEqual,
wxTimerMap);
// instead of using a global here, wrap it in a static function as otherwise it
@@ -58,35 +57,18 @@ static wxTimerMap& TimerMap()
// timer callback used for all timers
void WINAPI wxTimerProc(HWND hwnd, UINT msg, UINT_PTR idTimer, DWORD dwTime);
-// ----------------------------------------------------------------------------
-// macros
-// ----------------------------------------------------------------------------
-
-IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxEvtHandler)
-
// ============================================================================
// implementation
// ============================================================================
// ----------------------------------------------------------------------------
-// wxTimer class
+// wxMSWTimerImpl class
// ----------------------------------------------------------------------------
-void wxTimer::Init()
+bool wxMSWTimerImpl::Start(int milliseconds, bool oneShot)
{
- m_id = 0;
-}
-
-wxTimer::~wxTimer()
-{
- wxTimer::Stop();
-}
-
-bool wxTimer::Start(int milliseconds, bool oneShot)
-{
- (void)wxTimerBase::Start(milliseconds, oneShot);
-
- wxCHECK_MSG( m_milli > 0, false, wxT("invalid value for timer timeout") );
+ if ( !wxTimerImpl::Start(milliseconds, oneShot) )
+ return false;
m_id = ::SetTimer
(
@@ -121,14 +103,13 @@ bool wxTimer::Start(int milliseconds, bool oneShot)
return true;
}
-void wxTimer::Stop()
+void wxMSWTimerImpl::Stop()
{
- if ( m_id )
- {
- ::KillTimer(NULL, m_id);
+ wxASSERT_MSG( m_id, _T("should be running") );
- TimerMap().erase(m_id);
- }
+ ::KillTimer(NULL, m_id);
+
+ TimerMap().erase(m_id);
m_id = 0;
}
@@ -137,9 +118,9 @@ void wxTimer::Stop()
// private functions
// ----------------------------------------------------------------------------
-void wxProcessTimer(wxTimer& timer)
+void wxProcessTimer(wxMSWTimerImpl& timer)
{
- wxASSERT_MSG( timer.m_id != 0, _T("bogus timer id") );
+ wxASSERT_MSG( timer.IsRunning(), _T("bogus timer id") );
if ( timer.IsOneShot() )
timer.Stop();
diff --git a/src/msw/utils.cpp b/src/msw/utils.cpp
index 4767b04cfb..c236c47c4e 100644
--- a/src/msw/utils.cpp
+++ b/src/msw/utils.cpp
@@ -29,7 +29,6 @@
#include "wx/app.h"
#include "wx/intl.h"
#include "wx/log.h"
- #include "wx/timer.h"
#endif //WX_PRECOMP
#include "wx/msw/registry.h"
diff --git a/src/os2/timer.cpp b/src/os2/timer.cpp
index 6d2a8c071d..46f01a8ded 100644
--- a/src/os2/timer.cpp
+++ b/src/os2/timer.cpp
@@ -12,7 +12,7 @@
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
-#include "wx/timer.h"
+#include "wx/os2/private/timer.h"
#ifndef WX_PRECOMP
#include "wx/list.h"
@@ -36,7 +36,7 @@
// define a hash containing all the timers: it is indexed by timer id and
// contains the corresponding timer
-WX_DECLARE_HASH_MAP(unsigned long, wxTimer *, wxIntegerHash, wxIntegerEqual,
+WX_DECLARE_HASH_MAP(unsigned long, wxOS2TimerImpl *, wxIntegerHash, wxIntegerEqual,
wxTimerMap);
// instead of using a global here, wrap it in a static function as otherwise it
@@ -56,12 +56,6 @@ static wxTimerMap& TimerMap()
// timer callback used for all timers
ULONG wxTimerProc(HWND hwnd, ULONG, int nIdTimer, ULONG);
-// ----------------------------------------------------------------------------
-// macros
-// ----------------------------------------------------------------------------
-
-IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxEvtHandler)
-
// ============================================================================
// implementation
// ============================================================================
@@ -70,17 +64,17 @@ IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxEvtHandler)
// wxTimer class
// ----------------------------------------------------------------------------
-void wxTimer::Init()
+void wxOS2TimerImpl::Init()
{
m_ulId = 0;
}
-wxTimer::~wxTimer()
+wxOS2TimerImpl::~wxOS2TimerImpl()
{
- wxTimer::Stop();
+ wxOS2TimerImpl::Stop();
}
-void wxTimer::Notify()
+void wxOS2TimerImpl::Notify()
{
//
// The base class version generates an event if it has owner - which it
@@ -96,9 +90,9 @@ void wxTimer::Notify()
(void)m_owner->ProcessEvent(vEvent);
} // end of wxTimer::Notify
-bool wxTimer::Start( int nMilliseconds, bool bOneShot )
+bool wxOS2TimerImpl::Start( int nMilliseconds, bool bOneShot )
{
- (void)wxTimerBase::Start( nMilliseconds, bOneShot );
+ (void)wxTimerImpl::Start( nMilliseconds, bOneShot );
wxCHECK_MSG( m_milli > 0L, false, wxT("invalid value for timer") );
@@ -147,7 +141,7 @@ bool wxTimer::Start( int nMilliseconds, bool bOneShot )
}
}
-void wxTimer::Stop()
+void wxOS2TimerImpl::Stop()
{
if ( m_ulId )
{
@@ -170,7 +164,7 @@ void wxTimer::Stop()
// ----------------------------------------------------------------------------
void wxProcessTimer(
- wxTimer& rTimer
+ wxOS2TimerImpl& rTimer
)
{
//
diff --git a/src/os2/utilsgui.cpp b/src/os2/utilsgui.cpp
index 03436d722b..d75c0a0ab2 100644
--- a/src/os2/utilsgui.cpp
+++ b/src/os2/utilsgui.cpp
@@ -33,6 +33,7 @@
#endif //WX_PRECOMP
#include "wx/apptrait.h"
+#include "wx/os2/private/timer.h"
#include "wx/os2/private.h" // includes
@@ -261,6 +262,11 @@ wxPortId wxGUIAppTraits::GetToolkitVersion(int *verMaj, int *verMin) const
return wxPORT_OS2;
}
+wxTimerImpl* wxGUIAppTraits::CreateTimerImpl(wxTimer *timer)
+{
+ return new wxOS2TimerImpl(timer);
+}
+
// ---------------------------------------------------------------------------
// window information functions
diff --git a/src/palmos/app.cpp b/src/palmos/app.cpp
index 82c5cef7c1..1447a4905a 100644
--- a/src/palmos/app.cpp
+++ b/src/palmos/app.cpp
@@ -119,6 +119,10 @@ wxPortId wxGUIAppTraits::GetToolkitVersion(int *majVer, int *minVer) const
return wxPORT_PALMOS;
}
+wxTimerImpl* wxGUIAppTraits::CreateTimerImpl(wxTimer *timer)
+{
+ return new wxPalmOSTimerImpl(timer);
+};
// ===========================================================================
// wxApp implementation
// ===========================================================================
diff --git a/src/palmos/timer.cpp b/src/palmos/timer.cpp
index f9628a20d4..8b7241b828 100644
--- a/src/palmos/timer.cpp
+++ b/src/palmos/timer.cpp
@@ -18,7 +18,7 @@
#if wxUSE_TIMER
-#include "wx/timer.h"
+#include "wx/palmos/private/timer.h"
#ifndef WX_PRECOMP
#include "wx/list.h"
@@ -42,7 +42,7 @@ wxCreateHiddenWindow(LPCTSTR *pclassname, LPCTSTR classname, WNDPROC wndproc);
// define a hash containing all the timers: it is indexed by timer id and
// contains the corresponding timer
-WX_DECLARE_HASH_MAP(unsigned long, wxTimer *, wxIntegerHash, wxIntegerEqual,
+WX_DECLARE_HASH_MAP(unsigned long, wxPalmOSTimerImpl*, wxIntegerHash, wxIntegerEqual,
wxTimerMap);
static wxTimerMap g_timerMap;
@@ -53,12 +53,6 @@ static wxTimerMap g_timerMap;
void WINAPI wxTimerProc(HWND hwnd, WORD, int idTimer, DWORD);
-// ----------------------------------------------------------------------------
-// macros
-// ----------------------------------------------------------------------------
-
-IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxEvtHandler)
-
// ============================================================================
// implementation
// ============================================================================
@@ -67,20 +61,20 @@ IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxEvtHandler)
// wxTimer class
// ----------------------------------------------------------------------------
-void wxTimer::Init()
+void wxPalmOSTimerImpl::Init()
{
}
-wxTimer::~wxTimer()
+wxPalmOSTimerImpl::~wxPalmOSTimerImpl()
{
}
-bool wxTimer::Start(int milliseconds, bool oneShot)
+bool wxPalmOSTimerImpl::Start(int milliseconds, bool oneShot)
{
return false;
}
-void wxTimer::Stop()
+void wxPalmOSTimerImpl::Stop()
{
}
@@ -88,7 +82,7 @@ void wxTimer::Stop()
// private functions
// ----------------------------------------------------------------------------
-void wxProcessTimer(wxTimer& timer)
+void wxProcessTimer(wxPalmOSTimerImpl& timer)
{
}
diff --git a/src/unix/baseunix.cpp b/src/unix/baseunix.cpp
index 8f63455618..822a55bcb6 100644
--- a/src/unix/baseunix.cpp
+++ b/src/unix/baseunix.cpp
@@ -32,6 +32,7 @@
#include "wx/apptrait.h"
#include "wx/unix/execute.h"
+#include "wx/unix/private/timer.h"
// for waitpid()
#include
@@ -81,3 +82,10 @@ wxConsoleAppTraits::WaitForChild(wxExecuteData& execData)
return exitcode;
}
+wxTimerImpl*
+wxConsoleAppTraits::CreateTimerImpl(wxTimer *timer)
+{
+ // this doesn't work yet as there is no main loop in console applications
+ // (but it will be added later)
+ return new wxUnixTimerImpl(timer);
+}
diff --git a/src/unix/timerunx.cpp b/src/unix/timerunx.cpp
new file mode 100644
index 0000000000..12dc0bdf27
--- /dev/null
+++ b/src/unix/timerunx.cpp
@@ -0,0 +1,251 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: src/unix/timerunx.cpp
+// Purpose: wxTimer implementation for non-GUI applications under Unix
+// Author: Lukasz Michalski
+// Created: 15/01/2005
+// RCS-ID: $Id$
+// Copyright: (c) 2007 Lukasz Michalski
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+// ============================================================================
+// declarations
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+#include "wx/wxprec.h"
+
+#ifndef WX_PRECOMP
+ #include "wx/log.h"
+ #include "wx/module.h"
+ #include "wx/app.h"
+ #include "wx/list.h"
+ #include "wx/hashmap.h"
+ #include "wx/event.h"
+#endif
+
+#include "wx/longlong.h"
+
+#include
+#include
+
+#include "wx/unix/private/timer.h"
+
+#include "wx/listimpl.cpp"
+WX_DEFINE_LIST(wxTimerList);
+
+// trace mask for the debugging messages used here
+#define wxTrace_Timer wxT("timer")
+
+// ----------------------------------------------------------------------------
+// local functions
+// ----------------------------------------------------------------------------
+
+// helper function to format wxUsecClock_t
+static inline wxString wxUsecClockAsString(wxUsecClock_t usec)
+{
+ #if wxUSE_LONGLONG
+ return usec.ToString();
+ #else // wxUsecClock_t == double
+ return wxString::Format(_T("%.0f"), usec);
+ #endif
+}
+
+// ============================================================================
+// wxTimerScheduler implementation
+// ============================================================================
+
+wxTimerScheduler *wxTimerScheduler::ms_instance = NULL;
+
+wxTimerScheduler::~wxTimerScheduler()
+{
+ for ( wxTimerList::iterator node = m_timers.begin();
+ node != m_timers.end();
+ ++node )
+ {
+ delete *node;
+ }
+}
+
+void wxTimerScheduler::AddTimer(wxUnixTimerImpl *timer, wxUsecClock_t expiration)
+{
+ DoAddTimer(new wxTimerSchedule(timer, expiration));
+}
+
+void wxTimerScheduler::DoAddTimer(wxTimerSchedule *s)
+{
+ // do an insertion sort to keep the list sorted in expiration order
+ wxTimerList::iterator node;
+ for ( node = m_timers.begin(); node != m_timers.end(); ++node )
+ {
+ wxASSERT_MSG( (*node)->m_timer != s->m_timer,
+ _T("adding the same timer twice?") );
+
+ if ( (*node)->m_expiration > s->m_expiration )
+ break;
+ }
+
+ m_timers.insert(node, s);
+
+ wxLogTrace(wxTrace_Timer, wxT("Inserted timer %d expiring at %s"),
+ s->m_timer->GetId(),
+ wxUsecClockAsString(s->m_expiration).c_str());
+}
+
+void wxTimerScheduler::RemoveTimer(wxUnixTimerImpl *timer)
+{
+ wxLogTrace(wxTrace_Timer, wxT("Removing timer %d"), timer->GetId());
+
+ for ( wxTimerList::iterator node = m_timers.begin();
+ node != m_timers.end();
+ ++node )
+ {
+ if ( (*node)->m_timer == timer )
+ {
+ delete *node;
+ m_timers.erase(node);
+ return;
+ }
+ }
+
+ wxFAIL_MSG( _T("removing inexistent timer?") );
+}
+
+bool wxTimerScheduler::GetNext(wxUsecClock_t *remaining) const
+{
+ if ( m_timers.empty() )
+ return false;
+
+ wxCHECK_MSG( remaining, false, _T("NULL pointer") );
+
+ *remaining = (*m_timers.begin())->m_expiration - wxGetLocalTimeUsec();
+ if ( *remaining < 0 )
+ {
+ // timer already expired, don't wait at all before notifying it
+ *remaining = 0;
+ }
+
+ return true;
+}
+
+void wxTimerScheduler::NotifyExpired()
+{
+ if ( m_timers.empty() )
+ return;
+
+ const wxUsecClock_t now = wxGetLocalTimeUsec();
+
+ wxTimerList::iterator cur,
+ next;
+ for ( cur = m_timers.begin(); cur != m_timers.end(); cur = next )
+ {
+ wxTimerSchedule * const s = *cur;
+ if ( s->m_expiration > now )
+ {
+ // as the list is sorted by expiration time, we can skip the rest
+ break;
+ }
+
+ // remember next as we will delete the node pointed to by cur
+ next = cur;
+ ++next;
+
+ m_timers.erase(cur);
+
+ // check whether we need to keep this timer
+ wxUnixTimerImpl * const timer = s->m_timer;
+ if ( timer->IsOneShot() )
+ {
+ // don't need it any more
+ delete s;
+ }
+ else // reschedule the next timer expiration
+ {
+ s->m_expiration += timer->GetInterval()*1000;
+ DoAddTimer(s);
+ }
+
+ // and finally notify the timer
+ timer->Notify();
+ }
+}
+
+// ============================================================================
+// wxUnixTimerImpl implementation
+// ============================================================================
+
+wxUnixTimerImpl::wxUnixTimerImpl(wxTimer* timer)
+ : wxTimerImpl(timer)
+{
+ m_isRunning = false;
+}
+
+bool wxUnixTimerImpl::Start(int milliseconds, bool oneShot)
+{
+ // notice that this will stop an already running timer
+ wxTimerImpl::Start(milliseconds, oneShot);
+
+ wxTimerScheduler::Get().AddTimer(this, wxGetLocalTimeUsec() + m_milli*1000);
+ m_isRunning = true;
+
+ return true;
+}
+
+void wxUnixTimerImpl::Stop()
+{
+ if ( m_isRunning )
+ {
+ wxTimerScheduler::Get().RemoveTimer(this);
+
+ m_isRunning = false;
+ }
+}
+
+bool wxUnixTimerImpl::IsRunning() const
+{
+ return m_isRunning;
+}
+
+wxUnixTimerImpl::~wxUnixTimerImpl()
+{
+ wxASSERT_MSG( !m_isRunning, _T("must have been stopped before") );
+}
+
+// ============================================================================
+// wxTimerUnixModule: responsible for freeing the global timer scheduler
+// ============================================================================
+
+class wxTimerUnixModule : public wxModule
+{
+public:
+ wxTimerUnixModule() {}
+ virtual bool OnInit() { return true; }
+ virtual void OnExit() { wxTimerScheduler::Shutdown(); }
+
+ DECLARE_DYNAMIC_CLASS(wxTimerUnixModule)
+};
+
+IMPLEMENT_DYNAMIC_CLASS(wxTimerUnixModule, wxModule)
+
+// ============================================================================
+// global functions
+// ============================================================================
+
+wxUsecClock_t wxGetLocalTimeUsec()
+{
+#ifdef HAVE_GETTIMEOFDAY
+ struct timeval tv;
+ if ( wxGetTimeOfDay(&tv) != -1 )
+ {
+ wxUsecClock_t val = 1000000L; // usec/sec
+ val *= tv.tv_sec;
+ return val + tv.tv_usec;
+ }
+#endif // HAVE_GETTIMEOFDAY
+
+ return wxGetLocalTimeMillis() * 1000L;
+}
+
diff --git a/src/x11/app.cpp b/src/x11/app.cpp
index afcc29cb00..ab6b3fc909 100644
--- a/src/x11/app.cpp
+++ b/src/x11/app.cpp
@@ -22,7 +22,6 @@
#include "wx/frame.h"
#include "wx/icon.h"
#include "wx/dialog.h"
- #include "wx/timer.h"
#include "wx/memory.h"
#include "wx/gdicmn.h"
#include "wx/module.h"
@@ -33,6 +32,7 @@
#include "wx/univ/theme.h"
#include "wx/univ/renderer.h"
+#include "wx/generic/private/timer.h"
#if wxUSE_THREADS
#include "wx/thread.h"
@@ -812,7 +812,7 @@ bool wxApp::Yield(bool onlyIfNeeded)
wxTheApp->Dispatch();
#if wxUSE_TIMER
- wxTimer::NotifyTimers();
+ wxGenericTimerImpl::NotifyTimers();
#endif
ProcessIdle();
diff --git a/src/x11/evtloop.cpp b/src/x11/evtloop.cpp
index 5609a82ab1..f718baab53 100644
--- a/src/x11/evtloop.cpp
+++ b/src/x11/evtloop.cpp
@@ -26,7 +26,6 @@
#include "wx/hash.h"
#include "wx/app.h"
#include "wx/window.h"
- #include "wx/timer.h"
#include "wx/module.h"
#endif
@@ -34,6 +33,7 @@
#include "wx/unix/private.h"
#include "wx/x11/private.h"
#include "X11/Xlib.h"
+#include "wx/generic/private/timer.h"
#if wxUSE_THREADS
#include "wx/thread.h"
@@ -165,7 +165,7 @@ int wxEventLoop::Run()
while ( ! Pending() )
{
#if wxUSE_TIMER
- wxTimer::NotifyTimers(); // TODO: is this the correct place for it?
+ wxGenericTimerImpl::NotifyTimers(); // TODO: is this the correct place for it?
#endif
if (!m_impl->SendIdleEvent())
{
diff --git a/src/x11/reparent.cpp b/src/x11/reparent.cpp
index eea2b4d6fe..ac394ccf1a 100644
--- a/src/x11/reparent.cpp
+++ b/src/x11/reparent.cpp
@@ -39,6 +39,8 @@
#include "wx/x11/private.h"
#include "X11/Xatom.h"
+#include "wx/generic/private/timer.h"
+
/*
* wxAdoptedWindow
*/
@@ -173,7 +175,7 @@ bool wxReparenter::WaitAndReparent(wxWindow* newParent, wxAdoptedWindow* toRepar
else
{
#if wxUSE_TIMER
- wxTimer::NotifyTimers();
+ wxGenericTimerImpl::NotifyTimers();
wxTheApp->ProcessIdle();
#endif
}
diff --git a/src/x11/utils.cpp b/src/x11/utils.cpp
index 80e3fcacda..665d4a2ec9 100644
--- a/src/x11/utils.cpp
+++ b/src/x11/utils.cpp
@@ -34,6 +34,7 @@
#endif
#include "wx/apptrait.h"
+#include "wx/generic/private/timer.h"
#include
#include
@@ -169,7 +170,6 @@ wxPortId wxGUIAppTraits::GetToolkitVersion(int *verMaj, int *verMin) const
return wxPORT_X11;
}
-
// ----------------------------------------------------------------------------
// display info
// ----------------------------------------------------------------------------