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

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

View File

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