]> git.saurik.com Git - wxWidgets.git/blame - interface/apptrait.h
further prototype fixes (thanks to ifacecheck)
[wxWidgets.git] / interface / apptrait.h
CommitLineData
23324ae1
FM
1/////////////////////////////////////////////////////////////////////////////
2// Name: apptrait.h
e54c96f1 3// Purpose: interface of wxAppTraits
23324ae1
FM
4// Author: wxWidgets team
5// RCS-ID: $Id$
6// Licence: wxWindows license
7/////////////////////////////////////////////////////////////////////////////
8
9/**
10 @class wxAppTraits
11 @wxheader{apptrait.h}
7c913512 12
23324ae1 13 The @b wxAppTraits class defines various configurable aspects of a wxApp.
96d7cc9b
FM
14 You can access it using wxApp::GetTraits function and you can create your
15 own wxAppTraits overriding the wxApp::CreateTraits function.
7c913512 16
23324ae1 17 By default, wxWidgets creates a @c wxConsoleAppTraits object for console
96d7cc9b
FM
18 applications (i.e. those applications linked against wxBase library only -
19 see the @ref page_libs page) and a @c wxGUIAppTraits object for GUI
23324ae1 20 applications.
7c913512 21
23324ae1 22 @library{wxbase}
96d7cc9b 23 @category{appmanagement}
7c913512 24
96d7cc9b 25 @see @ref overview_app, wxApp
23324ae1 26*/
7c913512 27class wxAppTraits
23324ae1
FM
28{
29public:
30 /**
31 Called by wxWidgets to create the default configuration object for the
96d7cc9b
FM
32 application. The default version creates a registry-based wxRegConfig
33 class under MSW and wxFileConfig under all other platforms.
34
35 The wxApp::GetAppName and wxApp::GetVendorName methods are used to
36 determine the registry key or file name.
23324ae1 37 */
4cc4bfaf 38 virtual wxConfigBase* CreateConfig();
23324ae1
FM
39
40 /**
41 Creates the global font mapper object used for encodings/charset mapping.
42 */
4cc4bfaf 43 virtual wxFontMapper* CreateFontMapper();
23324ae1
FM
44
45 /**
8064223b
FM
46 Creates a wxLog class for the application to use for logging errors.
47 The default implementation returns a new wxLogGui class.
48
49 @see wxLog
23324ae1 50 */
4cc4bfaf 51 virtual wxLog* CreateLogTarget();
23324ae1
FM
52
53 /**
54 Creates the global object used for printing out messages.
55 */
4cc4bfaf 56 virtual wxMessageOutput* CreateMessageOutput();
23324ae1
FM
57
58 /**
96d7cc9b
FM
59 Returns the renderer to use for drawing the generic controls (return
60 value may be @NULL in which case the default renderer for the current
61 platform is used); this is used in GUI mode only and always returns @NULL
62 in console.
63
64 @note the returned pointer needs to be deleted by the caller.
23324ae1 65 */
4cc4bfaf 66 virtual wxRendererNative* CreateRenderer();
23324ae1
FM
67
68 /**
69 This method returns the name of the desktop environment currently
70 running in a Unix desktop. Currently only "KDE" or "GNOME" are
71 supported and the code uses the X11 session protocol vendor name
72 to figure out, which desktop environment is running. The method
73 returns an empty string otherwise and on all other platforms.
74 */
328f5751 75 virtual wxString GetDesktopEnvironment() const;
23324ae1
FM
76
77 /**
78 Returns the wxStandardPaths object for the application.
96d7cc9b
FM
79 It's normally the same for wxBase and wxGUI except in the case of wxMac
80 and wxCocoa.
23324ae1 81 */
cc6e1a74 82 virtual wxStandardPaths& GetStandardPaths();
23324ae1
FM
83
84 /**
85 Returns the wxWidgets port ID used by the running program and eventually
86 fills the given pointers with the values of the major and minor digits
87 of the native toolkit currently used.
96d7cc9b 88
23324ae1
FM
89 The version numbers returned are thus detected at run-time and not compile-time
90 (except when this is not possible e.g. wxMotif).
96d7cc9b 91
23324ae1 92 E.g. if your program is using wxGTK port this function will return wxPORT_GTK
96d7cc9b 93 and put in given pointers the versions of the GTK library in use.
23324ae1
FM
94 See wxPlatformInfo for more details.
95 */
4cc4bfaf
FM
96 virtual wxPortId GetToolkitVersion(int* major = NULL,
97 int* minor = NULL);
23324ae1
FM
98
99 /**
100 Returns @true if @c fprintf(stderr) goes somewhere, @false otherwise.
101 */
102 virtual bool HasStderr();
103
104 /**
96d7cc9b
FM
105 Returns @true if the library was built as wxUniversal.
106 Always returns @false for wxBase-only apps.
23324ae1 107 */
328f5751 108 bool IsUsingUniversalWidgets() const;
23324ae1
FM
109
110 /**
111 Shows the assert dialog with the specified message in GUI mode or just prints
112 the string to stderr in console mode.
23324ae1
FM
113 Returns @true to suppress subsequent asserts, @false to continue as before.
114 */
4cc4bfaf 115 virtual bool ShowAssertDialog(const wxString& msg);
23324ae1 116};
e54c96f1 117