X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4cd15b49b45eefa12d64802d6c4052ba04b1fbcb..e02edc0e6ece01b0301164b57c9f6b76c66fdd5b:/interface/wx/stdpaths.h diff --git a/interface/wx/stdpaths.h b/interface/wx/stdpaths.h index fa4d965c4f..4d25136413 100644 --- a/interface/wx/stdpaths.h +++ b/interface/wx/stdpaths.h @@ -3,7 +3,7 @@ // Purpose: interface of wxStandardPaths // Author: wxWidgets team // RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /** @@ -15,14 +15,20 @@ In the description of the methods below, the example return values are given for the Unix, Windows and Mac OS X systems, however please note that these are just the examples and the actual values may differ. For example, under Windows: - the system administrator may change the standard directories locations, i.e. + the system administrator may change the standard directories locations, e.g. the Windows directory may be named @c "W:\Win2003" instead of the default @c "C:\Windows". - The strings @c appname and @c username should be replaced with the value - returned by wxApp::GetAppName() and the name of the currently logged in user, - respectively. The string @c prefix is only used under Unix and is @c /usr/local by - default but may be changed using wxStandardPaths::SetInstallPrefix. + Notice that in the examples below the string @c appinfo may be either just + the application name (as returned by wxApp::GetAppName()) or a combination + of the vendor name (wxApp::GetVendorName()) and the application name, with + a path separator between them. By default, only the application name is + used, use UseAppInfo() to change this. + + The other placeholders should be self-explanatory: the string @c username + should be replaced with the value the name of the currently logged in user. + and @c prefix is only used under Unix and is @c /usr/local by default but + may be changed using wxStandardPaths::SetInstallPrefix(). The directories returned by the methods of this class may or may not exist. If they don't exist, it's up to the caller to create them, wxStandardPaths doesn't @@ -48,6 +54,17 @@ class wxStandardPaths { public: + /// Possible values for category parameter of GetLocalizedResourcesDir(). + enum ResourceCat + { + /// No special category, this is the default. + ResourceCat_None, + + /// Message catalog resources category. + ResourceCat_Messages + }; + + /** MSW-specific function undoing the effect of IgnoreAppSubDir() calls. @@ -73,9 +90,9 @@ public: returns GetDocumentsDir(). Example return values: - - Unix: @c ~/appname - - Windows: @c "C:\Documents and Settings\username\My Documents\appname" - - Mac: @c ~/Documents/appname + - Unix: @c ~/appinfo + - Windows: @c "C:\Documents and Settings\username\My Documents\appinfo" + - Mac: @c ~/Documents/appinfo @since 2.9.0 @@ -97,10 +114,19 @@ public: /** Return the location of the applications global, i.e. not user-specific, data files. + Example return values: - - Unix: @c prefix/share/appname + - Unix: @c prefix/share/appinfo - Windows: the directory where the executable file is located - - Mac: @c appname.app/Contents/SharedSupport bundle subdirectory + - Mac: @c appinfo.app/Contents/SharedSupport bundle subdirectory + + Under Unix (only) it is possible to override the default value returned + from this function by setting the value of @c WX_APPNAME_DATA_DIR + environment variable to the directory to use (where @c APPNAME is the + upper-cased value of wxApp::GetAppName()). This is useful in order to + be able to run applications using this function without installing them + as you can simply set this environment variable to the source directory + location to allow the application to find its files there. @see GetLocalDataDir() */ @@ -125,7 +151,7 @@ public: Example return values: - Unix: @c /usr/local/bin/exename - Windows: @c "C:\Programs\AppFolder\exename.exe" - - Mac: @c /Programs/exename + - Mac: @c /Applications/exename.app/Contents/MacOS/exename */ virtual wxString GetExecutablePath() const; @@ -144,7 +170,7 @@ public: Return the location for application data files which are host-specific and can't, or shouldn't, be shared with the other machines. - This is the same as GetDataDir() except under Unix where it returns @c /etc/appname. + This is the same as GetDataDir() except under Unix where it returns @c /etc/appinfo. */ virtual wxString GetLocalDataDir() const; @@ -159,15 +185,16 @@ public: @since 2.7.0 */ - virtual wxString GetLocalizedResourcesDir(const wxString& lang, - ResourceCat category) const; + virtual wxString + GetLocalizedResourcesDir(const wxString& lang, + ResourceCat category = ResourceCat_None) const; /** Return the directory where the loadable modules (plugins) live. Example return values: - - Unix: @c prefix/lib/appname + - Unix: @c prefix/lib/appinfo - Windows: the directory of the executable file - - Mac: @c appname.app/Contents/PlugIns bundle subdirectory + - Mac: @c appinfo.app/Contents/PlugIns bundle subdirectory @see wxDynamicLibrary */ @@ -181,9 +208,9 @@ public: This function is the same as GetDataDir() for all platforms except Mac OS X. Example return values: - - Unix: @c prefix/share/appname + - Unix: @c prefix/share/appinfo - Windows: the directory where the executable file is located - - Mac: @c appname.app/Contents/Resources bundle subdirectory + - Mac: @c appinfo.app/Contents/Resources bundle subdirectory @since 2.7.0 @@ -213,9 +240,9 @@ public: /** Return the directory for the user-dependent application data files: - - Unix: @c ~/.appname - - Windows: @c "C:\Documents and Settings\username\Application Data\appname" - - Mac: @c "~/Library/Application Support/appname" + - Unix: @c ~/.appinfo + - Windows: @c "C:\Documents and Settings\username\Application Data\appinfo" + - Mac: @c "~/Library/Application Support/appinfo" */ virtual wxString GetUserDataDir() const; @@ -224,7 +251,7 @@ public: the other machines. This is the same as GetUserDataDir() for all platforms except Windows where it returns - @c "C:\Documents and Settings\username\Local Settings\Application Data\appname" + @c "C:\Documents and Settings\username\Local Settings\Application Data\appinfo" */ virtual wxString GetUserLocalDataDir() const; @@ -275,6 +302,26 @@ public: */ void IgnoreAppBuildSubDirs(); + /** + Returns location of Windows shell special folder. + + This function is, by definition, MSW-specific. It can be used to access + pre-defined shell directories not covered by the existing methods of + this class, e.g.: + @code + #ifdef __WXMSW__ + // get the location of files waiting to be burned on a CD + wxString cdburnArea = + wxStandardPaths::MSWGetShellDir(CSIDL_CDBURN_AREA); + #endif // __WXMSW__ + @endcode + + @param csidl + + @since 2.9.1 + */ + static wxString MSWGetShellDir(int csidl); + /** Lets wxStandardPaths know about the real program installation prefix on a Unix system. By default, the value returned by GetInstallPrefix() is used. @@ -293,12 +340,17 @@ public: should be unique to this program, such as the application data directory, the plugins directory on Unix, etc. - Valid values for @a info are @c AppInfo_None and either one or combination - of @c AppInfo_AppName and @c AppInfo_VendorName. The first one tells this - class to not use neither application nor vendor name in the paths. + Valid values for @a info are: + - @c AppInfo_None: don't use neither application nor vendor name in + the paths. + - @c AppInfo_AppName: use the application name in the paths. + - @c AppInfo_VendorName: use the vendor name in the paths, usually + used combined with AppInfo_AppName, i.e. as @code AppInfo_AppName | + AppInfo_VendorName @endcode + + By default, only the application name is used. - By default, only the application name is used under Unix systems but both - application and vendor names are used under Windows and Mac. + @since 2.9.0 */ void UseAppInfo(int info); };