X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1f5c66294a280b8408a4e1464f6468bb97d141b2..ccaf2891c9082773460c50c7eb7a910ea51e7003:/include/wx/msw/apptrait.h diff --git a/include/wx/msw/apptrait.h b/include/wx/msw/apptrait.h index aca686e5fa..81a203f78f 100644 --- a/include/wx/msw/apptrait.h +++ b/include/wx/msw/apptrait.h @@ -21,33 +21,77 @@ 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); +#endif // !__WXWINCE__ }; #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; + +#ifndef __WXWINCE__ + virtual bool CanUseStderr(); + virtual bool WriteToStderr(const wxString& text); +#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; - virtual WXDWORD WaitForThread(WXHANDLE hThread); + +#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_ -