X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b46b1d59d6f69ad80dcf5955375578a6504d100a..73b51ea4364c84af8b4cc4c5c79b4a9c41c1cf7d:/include/wx/unix/apptrait.h diff --git a/include/wx/unix/apptrait.h b/include/wx/unix/apptrait.h index aa8a3b0f83..fe5639731a 100644 --- a/include/wx/unix/apptrait.h +++ b/include/wx/unix/apptrait.h @@ -16,10 +16,12 @@ // wxGUI/ConsoleAppTraits: must derive from wxAppTraits, not wxAppTraitsBase // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxConsoleAppTraits : public wxConsoleAppTraitsBase +class WXDLLIMPEXP_BASE wxConsoleAppTraits : public wxConsoleAppTraitsBase { public: - virtual wxEventLoop *CreateEventLoop(); +#if wxUSE_CONSOLE_EVENTLOOP + virtual wxEventLoopBase *CreateEventLoop(); +#endif // wxUSE_CONSOLE_EVENTLOOP virtual bool CreateEndProcessPipe(wxExecuteData& execData); virtual bool IsWriteFDOfEndProcessPipe(wxExecuteData& execData, int fd); virtual void DetachWriteFDOfEndProcessPipe(wxExecuteData& execData); @@ -34,7 +36,7 @@ public: class WXDLLEXPORT wxGUIAppTraits : public wxGUIAppTraitsBase { public: - virtual wxEventLoop *CreateEventLoop(); + virtual wxEventLoopBase *CreateEventLoop(); virtual bool CreateEndProcessPipe(wxExecuteData& execData); virtual bool IsWriteFDOfEndProcessPipe(wxExecuteData& execData, int fd); virtual void DetachWriteFDOfEndProcessPipe(wxExecuteData& execData); @@ -42,8 +44,12 @@ public: #if wxUSE_TIMER virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer); #endif +#if wxUSE_THREADS && defined(__WXGTK20__) + virtual void MutexGuiEnter(); + virtual void MutexGuiLeave(); +#endif -#if defined(__WXMAC__) || defined(__WXCOCOA__) +#if (defined(__WXMAC__) || defined(__WXCOCOA__)) && wxUSE_STDPATHS virtual wxStandardPathsBase& GetStandardPaths(); #endif virtual wxPortId GetToolkitVersion(int *majVer, int *minVer) const; @@ -61,6 +67,17 @@ public: #if defined(__WXDEBUG__) && defined(__WXGTK20__) virtual bool ShowAssertDialog(const wxString& msg); #endif + + // GTK+ and Motif integrate sockets directly in their main loop, the other + // Unix ports do it at wxEventLoop level + // + // TODO: Should we use XtAddInput() for wxX11 too? Or, vice versa, if there + // is no advantage in doing this compared to the generic way + // currently used by wxX11, should we continue to use GTK/Motif- + // specific stuff? +#if wxUSE_SOCKETS && (defined(__WXGTK__) || defined(__WXMOTIF__)) + virtual GSocketManager *GetSocketManager(); +#endif }; #endif // wxUSE_GUI