]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/stdpaths.tex
added HasHandlerForPath() (modified patch 1514524)
[wxWidgets.git] / docs / latex / wx / stdpaths.tex
CommitLineData
1ee445c7 1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
96e2aec5
VZ
2%% Name: stdpaths.tex
3%% Purpose: wxStandardPaths documentation
1ee445c7
VZ
4%% Author: Vadim Zeitlin
5%% Modified by:
6%% Created: 2004-10-17
7%% RCS-ID: $Id$
8%% Copyright: (c) 2004 Vadim Zeitlin <vadim@wxwindows.org>
8795498c 9%% License: wxWindows license
1ee445c7
VZ
10%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11
48713afd 12\section{\class{wxStandardPaths}}\label{wxstandardpaths}
1ee445c7 13
96e2aec5 14wxStandardPaths returns the standard locations in the file system and should be
dceb1c09 15used by applications to find their data files in a portable way.
1ee445c7 16
1ee445c7
VZ
17In the description of the methods below, the example return values are given
18for the Unix, Windows and Mac OS X systems, however please note that these are
48713afd
VZ
19just the examples and the actual values may differ. For example, under Windows:
20the system administrator may change the standard directories locations, i.e.
21the Windows directory may be named \texttt{W:$\backslash$Win2003} instead of
22the default \texttt{C:$\backslash$Windows}.
1ee445c7
VZ
23
24The strings \texttt{\textit{appname}} and \texttt{\textit{username}} should be
6cd6ec63
WS
25replaced with the value returned by \helpref{wxApp::GetAppName}{wxappgetappname}
26and the name of the currently logged in user, respectively. The string
48713afd
VZ
27\texttt{\textit{prefix}} is only used under Unix and is \texttt{/usr/local} by
28default but may be changed using \helpref{SetInstallPrefix}{wxstandardpathssetinstallprefix}.
1ee445c7
VZ
29
30The directories returned by the methods of this class may or may not exist. If
96e2aec5 31they don't exist, it's up to the caller to create them, wxStandardPaths doesn't
1ee445c7
VZ
32do it.
33
48713afd
VZ
34Finally note that these functions only work with standardly packaged
35applications. I.e. under Unix you should follow the standard installation
36conventions and under Mac you should create your application bundle according
37to the Apple guidelines. Again, this class doesn't help you to do it.
1ee445c7 38
b36d022a
VZ
39This class is MT-safe: its methods may be called concurrently from different
40threads without additional locking.
41
1ee445c7
VZ
42\wxheading{Derived from}
43
44No base class
45
46\wxheading{Include files}
47
08acda4f 48<wx/stdpaths.h>
1ee445c7
VZ
49
50
51\latexignore{\rtfignore{\wxheading{Members}}}
52
53
effdccd8
VZ
54\membersection{wxStandardPaths::Get}\label{wxstandardpathsget}
55
8648883b 56\func{static wxStandardPathsBase\&}{Get}{\void}
effdccd8
VZ
57
58Returns reference to the unique global standard paths object.
59
60
48713afd 61\membersection{wxStandardPaths::GetConfigDir}\label{wxstandardpathsgetconfigdir}
1ee445c7 62
effdccd8 63\func{wxString}{GetConfigDir}{\void}
1ee445c7
VZ
64
65Return the directory containing the system config files.
66
67Example return values:
68\begin{itemize}
69 \item Unix: \texttt{/etc}
b36d022a 70 \item Windows: \texttt{C:$\backslash$Documents and Settings$\backslash$All Users$\backslash$Application Data}
1ee445c7
VZ
71 \item Mac: \texttt{/Library/Preferences}
72\end{itemize}
73
74\wxheading{See also}
75
76\helpref{wxFileConfig}{wxfileconfig}
77
78
48713afd 79\membersection{wxStandardPaths::GetDataDir}\label{wxstandardpathsgetdatadir}
1ee445c7 80
effdccd8 81\func{wxString}{GetDataDir}{\void}
1ee445c7
VZ
82
83Return the location of the applications global, i.e. not user-specific,
84data files.
85
86Example return values:
87\begin{itemize}
48713afd 88 \item Unix: \texttt{\textit{prefix}/share/\textit{appname}}
90537299 89 \item Windows: the directory where the executable file is located
48713afd 90 \item Mac: \texttt{\textit{appname}.app/Contents/SharedSupport} bundle subdirectory
1ee445c7
VZ
91\end{itemize}
92
93\wxheading{See also}
94
48713afd
VZ
95\helpref{GetLocalDataDir}{wxstandardpathsgetlocaldatadir}
96
97
17af82fb
VZ
98\membersection{wxStandardPaths::GetDocumentsDir}\label{wxstandardpathsgetdocumentsdir}
99
100\func{wxString}{GetDocumentsDir}{\void}
101
102Return the directory containing the current user's documents.
103
104Example return values:
105\begin{itemize}
106 \item Unix: \tt{~} (the home directory)
107 \item Windows: \texttt{C:$\backslash$Documents and Settings$\backslash$\textit{username}$\backslash$Documents}
108 \item Mac: \texttt{~/Documents}
109\end{itemize}
110
a06ee288
MR
111\newsince{2.7.0}
112
17af82fb 113
48713afd
VZ
114\membersection{wxStandardPaths::GetInstallPrefix}\label{wxstandardpathsgetinstallprefix}
115
effdccd8 116\func{wxString}{GetInstallPrefix}{\void}
48713afd
VZ
117
118\textbf{Note: } This function is only available under Unix.
119
6cd6ec63 120Return the program installation prefix, e.g. \texttt{/usr}, \texttt{/opt} or
48713afd 121\texttt{/home/zeitlin}.
1ee445c7 122
6cd6ec63 123If the prefix had been previously by
48713afd
VZ
124\helpref{SetInstallPrefix}{wxstandardpathssetinstallprefix}, returns that
125value, otherwise tries to determine it automatically (Linux only right
126now) and finally returns the default \texttt{/usr/local} value if it failed.
1ee445c7 127
48713afd
VZ
128
129\membersection{wxStandardPaths::GetLocalDataDir}\label{wxstandardpathsgetlocaldatadir}
1ee445c7 130
effdccd8 131\func{wxString}{GetLocalDataDir}{\void}
1ee445c7
VZ
132
133Return the location for application data files which are host-specific and
134can't, or shouldn't, be shared with the other machines.
135
48713afd 136This is the same as \helpref{GetDataDir()}{wxstandardpathsgetdatadir} except
1ee445c7
VZ
137under Unix where it returns \texttt{/etc/\textit{appname}}.
138
139
f3b0f8ad
VZ
140\membersection{wxStandardPaths::GetLocalizedResourcesDir}\label{wxstandardpathsgetlocalizedresourcesdir}
141
6cd6ec63 142\func{wxString}{GetLocalizedResourcesDir}{\param{const wxChar*}{ lang}, \param{ResourceCat}{ category = ResourceCat\_None}}
f3b0f8ad
VZ
143
144Return the localized resources directory containing the resource files of the
145specified category for the given language.
146
6cd6ec63
WS
147In general this is just the same as \arg{lang} subdirectory of
148\helpref{GetResourcesDir()}{wxstandardpathsgetresourcesdir} (or
f3b0f8ad 149\texttt{\arg{lang}.lproj} under Mac OS X) but is something quite
6cd6ec63 150different for message catalog category under Unix where it returns the standard
f3b0f8ad
VZ
151\texttt{\textit{prefix}/share/locale/\arg{lang}/LC\_MESSAGES} directory.
152
a06ee288
MR
153\newsince{2.7.0}
154
f3b0f8ad 155
48713afd 156\membersection{wxStandardPaths::GetPluginsDir}\label{wxstandardpathsgetpluginsdir}
1ee445c7 157
effdccd8 158\func{wxString}{GetPluginsDir}{\void}
1ee445c7
VZ
159
160Return the directory where the loadable modules (plugins) live.
161
f3b0f8ad
VZ
162Example return values:
163\begin{itemize}
164 \item Unix: \texttt{\textit{prefix}/share/\textit{appname}}
165 \item Windows: the directory where the executable file is located
166 \item Mac: \texttt{\textit{appname}.app/Contents/Resources} bundle subdirectory
167\end{itemize}
168
169\wxheading{See also}
170
171\helpref{wxDynamicLibrary}{wxdynamiclibrary}
172
173
174\membersection{wxStandardPaths::GetResourcesDir}\label{wxstandardpathsgetresourcesdir}
175
176\func{wxString}{GetResourcesDir}{\void}
177
178Return the directory where the application resource files are located. The
179resources are the auxiliary data files needed for the application to run and
180include, for example, image and sound files it might use.
181
182This function is the same as \helpref{GetDataDir}{wxstandardpathsgetdatadir} for
183all platforms except Mac OS X.
184
1ee445c7
VZ
185Example return values:
186\begin{itemize}
48713afd 187 \item Unix: \texttt{\textit{prefix}/lib/\textit{appname}}
1ee445c7 188 \item Windows: the directory of the executable file
48713afd 189 \item Mac: \texttt{\textit{appname}.app/Contents/PlugIns} bundle subdirectory
1ee445c7
VZ
190\end{itemize}
191
a06ee288
MR
192\newsince{2.7.0}
193
194
1ee445c7
VZ
195\wxheading{See also}
196
f3b0f8ad 197\helpref{GetLocalizedResourcesDir}{wxstandardpathsgetlocalizedresourcesdir}
1ee445c7
VZ
198
199
48713afd 200\membersection{wxStandardPaths::GetUserConfigDir}\label{wxstandardpathsgetuserconfigdir}
1ee445c7 201
effdccd8 202\func{wxString}{GetUserConfigDir}{\void}
1ee445c7
VZ
203
204Return the directory for the user config files:
205\begin{itemize}
0d2b62c5 206 \item Unix: \tt{~} (the home directory)
6fdd4565 207 \item Windows: \tt{C:$\backslash$Documents and Settings$\backslash$\textit{username}}
0d2b62c5 208 \item Mac: \tt{~/Library/Preferences}
1ee445c7
VZ
209\end{itemize}
210
211Only use this method if you have a single configuration file to put in this
48713afd 212directory, otherwise \helpref{GetUserDataDir()}{wxstandardpathsgetuserdatadir} is
1ee445c7
VZ
213more appropriate.
214
215
48713afd 216\membersection{wxStandardPaths::GetUserDataDir}\label{wxstandardpathsgetuserdatadir}
1ee445c7 217
effdccd8 218\func{wxString}{GetUserDataDir}{\void}
1ee445c7
VZ
219
220Return the directory for the user-dependent application data files:
221\begin{itemize}
0d2b62c5 222 \item Unix: \tt{~/.\textit{appname}}
6fdd4565 223 \item Windows: \tt{C:$\backslash$Documents and Settings$\backslash$\textit{username}$\backslash$Application Data$\backslash$\textit{appname}}
0d2b62c5 224 \item Mac: \tt{~/Library/Application Support/\textit{appname}}
1ee445c7
VZ
225\end{itemize}
226
227
48713afd 228\membersection{wxStandardPaths::GetUserLocalDataDir}\label{wxstandardpathsgetuserlocaldatadir}
1ee445c7 229
effdccd8 230\func{wxString}{GetUserLocalDataDir}{\void}
1ee445c7
VZ
231
232Return the directory for user data files which shouldn't be shared with
233the other machines.
234
48713afd 235This is the same as \helpref{GetUserDataDir()}{wxstandardpathsgetuserdatadir} for
6cd6ec63 236all platforms except Windows where it returns
96e2aec5 237\texttt{C:$\backslash$Documents and Settings$\backslash$\textit{username}$\backslash$Local Settings$\backslash$Application Data$\backslash$\textit{appname}}
1ee445c7
VZ
238
239
48713afd
VZ
240\membersection{wxStandardPaths::SetInstallPrefix}\label{wxstandardpathssetinstallprefix}
241
effdccd8 242\func{void}{SetInstallPrefix}{\param{const wxString\& }{prefix}}
48713afd 243
dceb1c09 244\textbf{Note:} This function is only available under Unix.
48713afd
VZ
245
246Lets wxStandardPaths know about the real program installation prefix on a Unix
6cd6ec63 247system. By default, the value returned by
48713afd
VZ
248\helpref{GetInstallPrefix}{wxstandardpathsgetinstallprefix} is used.
249
250Although under Linux systems the program prefix may usually be determined
251automatically, portable programs should call this function. Usually the prefix
252is set during program configuration if using GNU autotools and so it is enough
253to pass its value defined in \texttt{config.h} to this function.
254
255