]> git.saurik.com Git - wxWidgets.git/blob - include/wx/unix/apptrait.h
don't include wx/msw/dc.h from wx/msw/private.h, this results in circular inclusion...
[wxWidgets.git] / include / wx / unix / apptrait.h
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
19 class WXDLLIMPEXP_BASE wxConsoleAppTraits : public wxConsoleAppTraitsBase
20 {
21 public:
22 #if wxUSE_CONSOLE_EVENTLOOP
23 virtual wxEventLoopBase *CreateEventLoop();
24 #endif // wxUSE_CONSOLE_EVENTLOOP
25 virtual bool CreateEndProcessPipe(wxExecuteData& execData);
26 virtual bool IsWriteFDOfEndProcessPipe(wxExecuteData& execData, int fd);
27 virtual void DetachWriteFDOfEndProcessPipe(wxExecuteData& execData);
28 virtual int WaitForChild(wxExecuteData& execData);
29 #if wxUSE_TIMER
30 virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer);
31 #endif
32 };
33
34 #if wxUSE_GUI
35
36 class WXDLLEXPORT wxGUIAppTraits : public wxGUIAppTraitsBase
37 {
38 public:
39 virtual wxEventLoopBase *CreateEventLoop();
40 virtual bool CreateEndProcessPipe(wxExecuteData& execData);
41 virtual bool IsWriteFDOfEndProcessPipe(wxExecuteData& execData, int fd);
42 virtual void DetachWriteFDOfEndProcessPipe(wxExecuteData& execData);
43 virtual int WaitForChild(wxExecuteData& execData);
44 #if wxUSE_TIMER
45 virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer);
46 #endif
47 #if wxUSE_THREADS && defined(__WXGTK20__)
48 virtual void MutexGuiEnter();
49 virtual void MutexGuiLeave();
50 #endif
51
52 #if (defined(__WXMAC__) || defined(__WXCOCOA__)) && wxUSE_STDPATHS
53 virtual wxStandardPathsBase& GetStandardPaths();
54 #endif
55 virtual wxPortId GetToolkitVersion(int *majVer, int *minVer) const;
56
57 #if defined(__WXGTK__) && wxUSE_INTL
58 virtual void SetLocale();
59 #endif // __WXGTK__
60
61 #ifdef __WXGTK20__
62 virtual wxString GetDesktopEnvironment() const;
63 virtual wxString GetStandardCmdLineOptions(wxArrayString& names,
64 wxArrayString& desc) const;
65 #endif // __WXGTK20____
66
67 #if defined(__WXDEBUG__) && defined(__WXGTK20__)
68 virtual bool ShowAssertDialog(const wxString& msg);
69 #endif
70
71 // GTK+ and Motif integrate sockets directly in their main loop, the other
72 // Unix ports do it at wxEventLoop level
73 //
74 // TODO: Should we use XtAddInput() for wxX11 too? Or, vice versa, if there
75 // is no advantage in doing this compared to the generic way
76 // currently used by wxX11, should we continue to use GTK/Motif-
77 // specific stuff?
78 #if wxUSE_SOCKETS && (defined(__WXGTK__) || defined(__WXMOTIF__))
79 virtual GSocketManager *GetSocketManager();
80 #endif
81 };
82
83 #endif // wxUSE_GUI
84
85 #endif // _WX_UNIX_APPTRAIT_H_
86