]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/unix/apptrait.h
turning on core timer implementation for carbon as well
[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_PROCESS_CALLBACKS
41 #define wxHAS_GUI_SOCKET_MANAGER
42#endif
43
44#ifdef __DARWIN__
45 #define wxHAS_GUI_PROCESS_CALLBACKS
46#endif
47
48class WXDLLIMPEXP_CORE wxGUIAppTraits : public wxGUIAppTraitsBase
49{
50public:
51 virtual wxEventLoopBase *CreateEventLoop();
52 virtual int WaitForChild(wxExecuteData& execData);
53#ifdef wxHAS_GUI_PROCESS_CALLBACKS
54 virtual int AddProcessCallback(wxEndProcessData *data, int fd);
55#endif
56#if wxUSE_TIMER
57 virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer);
58#endif
59#if wxUSE_THREADS && defined(__WXGTK20__)
60 virtual void MutexGuiEnter();
61 virtual void MutexGuiLeave();
62#endif
63
64#if (defined(__WXMAC__) || defined(__WXCOCOA__)) && wxUSE_STDPATHS
65 virtual wxStandardPathsBase& GetStandardPaths();
66#endif
67 virtual wxPortId GetToolkitVersion(int *majVer = NULL, int *minVer = NULL) const;
68
69#if defined(__WXGTK__) && wxUSE_INTL
70 virtual void SetLocale();
71#endif // __WXGTK__
72
73#ifdef __WXGTK20__
74 virtual wxString GetDesktopEnvironment() const;
75 virtual wxString GetStandardCmdLineOptions(wxArrayString& names,
76 wxArrayString& desc) const;
77#endif // __WXGTK20____
78
79#if defined(__WXDEBUG__) && defined(__WXGTK20__)
80 virtual bool ShowAssertDialog(const wxString& msg);
81#endif
82
83#if wxUSE_SOCKETS && defined(wxHAS_GUI_SOCKET_MANAGER)
84 virtual GSocketManager *GetSocketManager();
85#endif
86};
87
88#endif // wxUSE_GUI
89
90#endif // _WX_UNIX_APPTRAIT_H_
91