X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/784ee7d511ddec88c2a53c1b50c85850eb341dc6..438959cca892a7651634cc3a7aad4819ac49b23c:/include/wx/msw/apptrait.h diff --git a/include/wx/msw/apptrait.h b/include/wx/msw/apptrait.h index 0c8f8ea2bf..81a203f78f 100644 --- a/include/wx/msw/apptrait.h +++ b/include/wx/msw/apptrait.h @@ -21,13 +21,14 @@ class WXDLLIMPEXP_BASE wxConsoleAppTraits : public wxConsoleAppTraitsBase public: virtual wxEventLoopBase *CreateEventLoop(); virtual void *BeforeChildWaitLoop(); - virtual void AlwaysYield(); virtual void AfterChildWaitLoop(void *data); #if wxUSE_TIMER virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer); -#endif +#endif // wxUSE_TIMER +#if wxUSE_THREADS virtual bool DoMessageFromThreadWait(); - virtual WXDWORD WaitForThread(WXHANDLE hThread); + virtual WXDWORD WaitForThread(WXHANDLE hThread, int flags); +#endif // wxUSE_THREADS #ifndef __WXWINCE__ virtual bool CanUseStderr() { return true; } virtual bool WriteToStderr(const wxString& text); @@ -36,19 +37,22 @@ public: #if wxUSE_GUI +#if defined(__WXMSW__) + class WXDLLIMPEXP_CORE wxGUIAppTraits : public wxGUIAppTraitsBase { public: virtual wxEventLoopBase *CreateEventLoop(); virtual void *BeforeChildWaitLoop(); - virtual void AlwaysYield(); virtual void AfterChildWaitLoop(void *data); #if wxUSE_TIMER virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer); -#endif +#endif // wxUSE_TIMER +#if wxUSE_THREADS virtual bool DoMessageFromThreadWait(); + virtual WXDWORD WaitForThread(WXHANDLE hThread, int flags); +#endif // wxUSE_THREADS virtual wxPortId GetToolkitVersion(int *majVer = NULL, int *minVer = NULL) const; - virtual WXDWORD WaitForThread(WXHANDLE hThread); #ifndef __WXWINCE__ virtual bool CanUseStderr(); @@ -56,6 +60,38 @@ public: #endif // !__WXWINCE__ }; +#elif defined(__WXGTK__) + +class WXDLLIMPEXP_CORE wxGUIAppTraits : public wxGUIAppTraitsBase +{ +public: + virtual wxEventLoopBase *CreateEventLoop(); + virtual void *BeforeChildWaitLoop() { return NULL; } + virtual void AfterChildWaitLoop(void *WXUNUSED(data)) { } +#if wxUSE_TIMER + virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer); +#endif + +#if wxUSE_THREADS && defined(__WXGTK20__) + virtual void MutexGuiEnter(); + virtual void MutexGuiLeave(); +#endif + +#if wxUSE_THREADS + virtual bool DoMessageFromThreadWait() { return true; } + virtual WXDWORD WaitForThread(WXHANDLE hThread, int WXUNUSED(flags)) + { return DoSimpleWaitForThread(hThread); } +#endif // wxUSE_THREADS + virtual wxPortId GetToolkitVersion(int *majVer = NULL, int *minVer = NULL) const; + +#ifndef __WXWINCE__ + virtual bool CanUseStderr() { return false; } + virtual bool WriteToStderr(const wxString& WXUNUSED(text)) { return false; } +#endif // !__WXWINCE__ +}; + +#endif + #endif // wxUSE_GUI #endif // _WX_MSW_APPTRAIT_H_