]> git.saurik.com Git - wxWidgets.git/blame - include/wx/unix/apptrait.h
wxMessageBox off the main thread lost result code.
[wxWidgets.git] / include / wx / unix / apptrait.h
CommitLineData
e2478fde
VZ
1///////////////////////////////////////////////////////////////////////////////
2// Name: wx/unix/apptrait.h
3// Purpose: standard implementations of wxAppTraits for Unix
4// Author: Vadim Zeitlin
5// Modified by:
6// Created: 23.06.2003
77ffb593 7// Copyright: (c) 2003 Vadim Zeitlin <vadim@wxwidgets.org>
65571936 8// Licence: wxWindows licence
e2478fde
VZ
9///////////////////////////////////////////////////////////////////////////////
10
11#ifndef _WX_UNIX_APPTRAIT_H_
12#define _WX_UNIX_APPTRAIT_H_
13
14// ----------------------------------------------------------------------------
15// wxGUI/ConsoleAppTraits: must derive from wxAppTraits, not wxAppTraitsBase
16// ----------------------------------------------------------------------------
17
163b3ad7 18class WXDLLIMPEXP_BASE wxConsoleAppTraits : public wxConsoleAppTraitsBase
e2478fde
VZ
19{
20public:
a1873279 21#if wxUSE_CONSOLE_EVENTLOOP
2ddff00c 22 virtual wxEventLoopBase *CreateEventLoop();
a1873279 23#endif // wxUSE_CONSOLE_EVENTLOOP
c2ca375c
VZ
24#if wxUSE_TIMER
25 virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer);
26#endif
e2478fde
VZ
27};
28
29#if wxUSE_GUI
30
13d4419b
VZ
31// GTK+ and Motif integrate sockets and child processes monitoring directly in
32// their main loop, the other Unix ports do it at wxEventLoop level and so use
33// the non-GUI traits and don't need anything here
34//
35// TODO: Should we use XtAddInput() for wxX11 too? Or, vice versa, if there is
36// no advantage in doing this compared to the generic way currently used
5815e959 37// by wxX11, should we continue to use GTK/Motif-specific stuff?
6bcc1145
VZ
38#if defined(__WXGTK__) || defined(__WXMOTIF__)
39 #define wxHAS_GUI_FDIOMANAGER
40 #define wxHAS_GUI_PROCESS_CALLBACKS
41#endif // ports using wxFDIOManager
42
43#if defined(__WXMAC__)
a0f4d368
VZ
44 #define wxHAS_GUI_PROCESS_CALLBACKS
45 #define wxHAS_GUI_SOCKET_MANAGER
46#endif
47
53a2db12 48class WXDLLIMPEXP_CORE wxGUIAppTraits : public wxGUIAppTraitsBase
e2478fde
VZ
49{
50public:
2ddff00c 51 virtual wxEventLoopBase *CreateEventLoop();
e2478fde 52 virtual int WaitForChild(wxExecuteData& execData);
c2ca375c
VZ
53#if wxUSE_TIMER
54 virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer);
55#endif
d254213e
PC
56#if wxUSE_THREADS && defined(__WXGTK20__)
57 virtual void MutexGuiEnter();
58 virtual void MutexGuiLeave();
59#endif
e2478fde 60
6ae3ead6 61#if (defined(__WXMAC__) || defined(__WXCOCOA__)) && wxUSE_STDPATHS
25f49256 62 virtual wxStandardPaths& GetStandardPaths();
fc480dc1 63#endif
1f5c6629 64 virtual wxPortId GetToolkitVersion(int *majVer = NULL, int *minVer = NULL) const;
db9febdf 65
b46b1d59 66#ifdef __WXGTK20__
88bbc332 67 virtual wxString GetDesktopEnvironment() const;
d3a0a0ee
VZ
68 virtual wxString GetStandardCmdLineOptions(wxArrayString& names,
69 wxArrayString& desc) const;
b46b1d59 70#endif // __WXGTK20____
5807e60c 71
657a8a35 72#if defined(__WXGTK20__)
5807e60c 73 virtual bool ShowAssertDialog(const wxString& msg);
88bbc332 74#endif
2804f77d 75
6bcc1145
VZ
76#if wxUSE_SOCKETS
77
78#ifdef wxHAS_GUI_SOCKET_MANAGER
51fe4b60 79 virtual wxSocketManager *GetSocketManager();
2804f77d 80#endif
6bcc1145
VZ
81
82#ifdef wxHAS_GUI_FDIOMANAGER
83 virtual wxFDIOManager *GetFDIOManager();
84#endif
85
86#endif // wxUSE_SOCKETS
71e9885b
VZ
87
88 virtual wxEventLoopSourcesManagerBase* GetEventLoopSourcesManager();
e2478fde
VZ
89};
90
91#endif // wxUSE_GUI
92
93#endif // _WX_UNIX_APPTRAIT_H_
94