projects
/
wxWidgets.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Smooth Aqua buttons in wxTreeCtrl.
[wxWidgets.git]
/
src
/
msw
/
timer.cpp
diff --git
a/src/msw/timer.cpp
b/src/msw/timer.cpp
index 6189c291602ff92ad86b83ec1b271e3828a65e8c..17f1c1755262b12c6e436c86148cde384a3162bb 100644
(file)
--- a/
src/msw/timer.cpp
+++ b/
src/msw/timer.cpp
@@
-6,7
+6,7
@@
// Created: 04/01/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart and Markus Holzem
// Created: 04/01/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart and Markus Holzem
-// Licence: wxWindows license
+// Licence:
wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
@@
-20,27
+20,21
@@
#pragma hdrstop
#endif
#pragma hdrstop
#endif
-#include "wx/window.h"
-#include "wx/msw/private.h"
+#if wxUSE_TIMER
#ifndef WX_PRECOMP
#include "wx/setup.h"
#ifndef WX_PRECOMP
#include "wx/setup.h"
+ #include "wx/window.h"
#include "wx/list.h"
#include "wx/event.h"
#include "wx/app.h"
#include "wx/list.h"
#include "wx/event.h"
#include "wx/app.h"
+ #include "wx/intl.h"
+ #include "wx/log.h"
#endif
#endif
-#include "wx/intl.h"
-#include "wx/log.h"
-
#include "wx/timer.h"
#include "wx/timer.h"
-#include <time.h>
-#include <sys/types.h>
-
-#if !defined(__SC__) && !defined(__GNUWIN32__) && !defined(__MWERKS__)
- #include <sys/timeb.h>
-#endif
+#include "wx/msw/private.h"
// ----------------------------------------------------------------------------
// private functions
// ----------------------------------------------------------------------------
// private functions
@@
-54,14
+48,12
@@
UINT WINAPI _EXPORT wxTimerProc(HWND hwnd, WORD, int idTimer, DWORD);
// ----------------------------------------------------------------------------
#ifdef __WIN32__
// ----------------------------------------------------------------------------
#ifdef __WIN32__
- #define _EXPORT
/**/
+ #define _EXPORT
#else
#define _EXPORT _export
#endif
#else
#define _EXPORT _export
#endif
-#if !USE_SHARED_LIBRARY
- IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxObject)
-#endif
+IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxObject)
// ============================================================================
// implementation
// ============================================================================
// implementation
@@
-70,39
+62,41
@@
UINT WINAPI _EXPORT wxTimerProc(HWND hwnd, WORD, int idTimer, DWORD);
// ----------------------------------------------------------------------------
// wxTimer class
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// wxTimer class
// ----------------------------------------------------------------------------
-wxTimer::wxTimer(void)
+
+void wxTimer::Init()
{
{
- milli = 0 ;
- lastMilli = -1 ;
- id = 0;
+ m_id = 0;
}
}
-wxTimer::~wxTimer(
void
)
+wxTimer::~wxTimer()
{
{
- Stop();
+
wxTimer::
Stop();
wxTimerList.DeleteObject(this);
}
wxTimerList.DeleteObject(this);
}
-bool wxTimer::Start(int milliseconds, bool
mode
)
+bool wxTimer::Start(int milliseconds, bool
oneShot
)
{
{
- oneShot = mode ;
- if (milliseconds < 0)
- milliseconds = lastMilli;
-
- wxCHECK_MSG( milliseconds > 0, FALSE, _T("invalid value for timer timeour") );
+ (void)wxTimerBase::Start(milliseconds, oneShot);
-
lastMilli = milli = milliseconds
;
+
wxCHECK_MSG( m_milli > 0, FALSE, wxT("invalid value for timer timeour") )
;
wxTimerList.DeleteObject(this);
wxTimerList.DeleteObject(this);
+
+#ifdef __WXMICROWIN__
+ m_id = SetTimer(NULL, (UINT)(m_id ? m_id : 1),
+ (UINT)milliseconds, (TIMERPROC) wxTimerProc);
+#else
TIMERPROC wxTimerProcInst = (TIMERPROC)
MakeProcInstance((FARPROC)wxTimerProc, wxGetInstance());
TIMERPROC wxTimerProcInst = (TIMERPROC)
MakeProcInstance((FARPROC)wxTimerProc, wxGetInstance());
- id = SetTimer(NULL, (UINT)(id ? id : 1),
- (UINT)milliseconds, wxTimerProcInst);
- if (id > 0)
+ m_id = SetTimer(NULL, (UINT)(m_id ? m_id : 1),
+ (UINT)milliseconds, wxTimerProcInst);
+#endif
+
+ if ( m_id > 0 )
{
{
- wxTimerList.Append(id, this);
+ wxTimerList.Append(
m_
id, this);
return TRUE;
}
return TRUE;
}
@@
-114,26
+108,28
@@
bool wxTimer::Start(int milliseconds, bool mode)
}
}
}
}
-void wxTimer::Stop(
void
)
+void wxTimer::Stop()
{
{
- if (id) {
- KillTimer(NULL, (UINT)id);
- wxTimerList.DeleteObject(this); /* @@@@ */
+ if ( m_id )
+ {
+ KillTimer(NULL, (UINT)m_id);
+ wxTimerList.DeleteObject(this);
}
}
- id = 0 ;
- m
illi = 0
;
+
+ m
_id = 0
;
}
// ----------------------------------------------------------------------------
// private functions
// ----------------------------------------------------------------------------
}
// ----------------------------------------------------------------------------
// private functions
// ----------------------------------------------------------------------------
+
void wxProcessTimer(wxTimer& timer)
{
// Avoid to process spurious timer events
void wxProcessTimer(wxTimer& timer)
{
// Avoid to process spurious timer events
- if ( timer.id == 0)
+ if ( timer.
m_
id == 0)
return;
return;
- if ( timer.
oneShot
)
+ if ( timer.
IsOneShot()
)
timer.Stop();
timer.Notify();
timer.Stop();
timer.Notify();
@@
-143,9
+139,11
@@
UINT WINAPI _EXPORT wxTimerProc(HWND WXUNUSED(hwnd), WORD, int idTimer, DWORD)
{
wxNode *node = wxTimerList.Find((long)idTimer);
{
wxNode *node = wxTimerList.Find((long)idTimer);
- wxCHECK_MSG( node, 0,
_
T("bogus timer id in wxTimerProc") );
+ wxCHECK_MSG( node, 0,
wx
T("bogus timer id in wxTimerProc") );
wxProcessTimer(*(wxTimer *)node->Data());
return 0;
}
wxProcessTimer(*(wxTimer *)node->Data());
return 0;
}
+
+#endif // wxUSE_TIMER