X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c2ca375c5620209d77a88d2d378bdcdedbc82e7e..4ed85025f3ba537206f70f3dd10466e16da926d4:/include/wx/msw/apptrait.h diff --git a/include/wx/msw/apptrait.h b/include/wx/msw/apptrait.h index d4d89c0141..81a203f78f 100644 --- a/include/wx/msw/apptrait.h +++ b/include/wx/msw/apptrait.h @@ -19,33 +19,79 @@ 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 wxPortId GetToolkitVersion(int *majVer, int *minVer) const; - virtual WXDWORD WaitForThread(WXHANDLE hThread); + 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; + +#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_ -