preparation for allowing to use wxTimer in wxBase (heavily modified patch 1113088):

1. Changed wxTimer to use wxTimerImpl
2. Added Unix-specific generic timer implementation
3. Added wxAppTraits::CreateTimerImpl()


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45544 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2007-04-20 01:29:16 +00:00
parent a9c9588480
commit c2ca375c56
62 changed files with 1554 additions and 931 deletions

View File

@@ -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);

View File

@@ -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_