]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/unix/apptrait.h
Fix wxGTK compilation in wxUSE_MENUS==0 case.
[wxWidgets.git] / include / wx / unix / apptrait.h
... / ...
CommitLineData
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
7// RCS-ID: $Id$
8// Copyright: (c) 2003 Vadim Zeitlin <vadim@wxwidgets.org>
9// Licence: wxWindows licence
10///////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_UNIX_APPTRAIT_H_
13#define _WX_UNIX_APPTRAIT_H_
14
15// ----------------------------------------------------------------------------
16// wxGUI/ConsoleAppTraits: must derive from wxAppTraits, not wxAppTraitsBase
17// ----------------------------------------------------------------------------
18
19class WXDLLIMPEXP_BASE wxConsoleAppTraits : public wxConsoleAppTraitsBase
20{
21public:
22#if wxUSE_CONSOLE_EVENTLOOP
23 virtual wxEventLoopBase *CreateEventLoop();
24#endif // wxUSE_CONSOLE_EVENTLOOP
25#if wxUSE_TIMER
26 virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer);
27#endif
28};
29
30#if wxUSE_GUI
31
32// GTK+ and Motif integrate sockets and child processes monitoring directly in
33// their main loop, the other Unix ports do it at wxEventLoop level and so use
34// the non-GUI traits and don't need anything here
35//
36// TODO: Should we use XtAddInput() for wxX11 too? Or, vice versa, if there is
37// no advantage in doing this compared to the generic way currently used
38// by wxX11, should we continue to use GTK/Motif-specific stuff?
39#if defined(__WXGTK__) || defined(__WXMOTIF__)
40 #define wxHAS_GUI_FDIOMANAGER
41 #define wxHAS_GUI_PROCESS_CALLBACKS
42#endif // ports using wxFDIOManager
43
44#if defined(__WXMAC__)
45 #define wxHAS_GUI_PROCESS_CALLBACKS
46 #define wxHAS_GUI_SOCKET_MANAGER
47#endif
48
49class WXDLLIMPEXP_CORE wxGUIAppTraits : public wxGUIAppTraitsBase
50{
51public:
52 virtual wxEventLoopBase *CreateEventLoop();
53 virtual int WaitForChild(wxExecuteData& execData);
54#if wxUSE_TIMER
55 virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer);
56#endif
57#if wxUSE_THREADS && defined(__WXGTK20__)
58 virtual void MutexGuiEnter();
59 virtual void MutexGuiLeave();
60#endif
61
62#if (defined(__WXMAC__) || defined(__WXCOCOA__)) && wxUSE_STDPATHS
63 virtual wxStandardPaths& GetStandardPaths();
64#endif
65 virtual wxPortId GetToolkitVersion(int *majVer = NULL, int *minVer = NULL) const;
66
67#ifdef __WXGTK20__
68 virtual wxString GetDesktopEnvironment() const;
69 virtual wxString GetStandardCmdLineOptions(wxArrayString& names,
70 wxArrayString& desc) const;
71#endif // __WXGTK20____
72
73#if defined(__WXGTK20__)
74 virtual bool ShowAssertDialog(const wxString& msg);
75#endif
76
77#if wxUSE_SOCKETS
78
79#ifdef wxHAS_GUI_SOCKET_MANAGER
80 virtual wxSocketManager *GetSocketManager();
81#endif
82
83#ifdef wxHAS_GUI_FDIOMANAGER
84 virtual wxFDIOManager *GetFDIOManager();
85#endif
86
87#endif // wxUSE_SOCKETS
88
89 virtual wxEventLoopSourcesManagerBase* GetEventLoopSourcesManager();
90};
91
92#endif // wxUSE_GUI
93
94#endif // _WX_UNIX_APPTRAIT_H_
95