]>
git.saurik.com Git - wxWidgets.git/blob - interface/wx/stdpaths.h
   1 ///////////////////////////////////////////////////////////////////////////// 
   3 // Purpose:     interface of wxStandardPaths 
   4 // Author:      wxWidgets team 
   6 // Licence:     wxWindows license 
   7 ///////////////////////////////////////////////////////////////////////////// 
  10     @class wxStandardPaths 
  12     wxStandardPaths returns the standard locations in the file system and should be 
  13     used by applications to find their data files in a portable way. 
  15     In the description of the methods below, the example return values are given 
  16     for the Unix, Windows and Mac OS X systems, however please note that these are 
  17     just the examples and the actual values may differ. For example, under Windows: 
  18     the system administrator may change the standard directories locations, i.e. 
  19     the Windows directory may be named @c "W:\Win2003" instead of 
  20     the default @c "C:\Windows". 
  22     The strings @c appname and @c username should be replaced with the value 
  23     returned by wxApp::GetAppName() and the name of the currently logged in user, 
  24     respectively. The string @c prefix is only used under Unix and is @c /usr/local by 
  25     default but may be changed using wxStandardPaths::SetInstallPrefix. 
  27     The directories returned by the methods of this class may or may not exist. 
  28     If they don't exist, it's up to the caller to create them, wxStandardPaths doesn't 
  31     Finally note that these functions only work with standardly packaged 
  32     applications. I.e. under Unix you should follow the standard installation 
  33     conventions and under Mac you should create your application bundle according 
  34     to the Apple guidelines. Again, this class doesn't help you to do it. 
  36     This class is MT-safe: its methods may be called concurrently from different 
  37     threads without additional locking. 
  39     Note that you don't allocate an instance of class wxStandardPaths, but retrieve the 
  40     global standard paths object using @c wxStandardPaths::Get on which you call the 
  52         Returns reference to the unique global standard paths object. 
  54     static wxStandardPathsBase 
Get(); 
  57         Return the directory containing the system config files. 
  58         Example return values: 
  60         - Windows: @c "C:\Documents and Settings\All Users\Application Data" 
  61         - Mac: @c /Library/Preferences 
  65     virtual wxString 
GetConfigDir() const; 
  68         Return the location of the applications global, i.e. not user-specific, 
  70         Example return values: 
  71         - Unix: @c prefix/share/appname 
  72         - Windows: the directory where the executable file is located 
  73         - Mac: @c appname.app/Contents/SharedSupport bundle subdirectory 
  75         @see GetLocalDataDir() 
  77     virtual wxString 
GetDataDir() const; 
  80         Return the directory containing the current user's documents. 
  81         Example return values: 
  82         - Unix: @c ~ (the home directory) 
  83         - Windows: @c "C:\Documents and Settings\username\My Documents" 
  88     virtual wxString 
GetDocumentsDir() const; 
  91         Return the directory and the filename for the current executable. 
  92         Example return values: 
  93         - Unix: @c /usr/local/bin/exename 
  94         - Windows: @c "C:\Programs\AppFolder\exename.exe" 
  95         - Mac: @c /Programs/exename 
  97     virtual wxString 
GetExecutablePath() const; 
 100         Return the program installation prefix, e.g. @c /usr, @c /opt or @c /home/zeitlin. 
 102         If the prefix had been previously by SetInstallPrefix(), returns that 
 103         value, otherwise tries to determine it automatically (Linux only right now) 
 104         and finally returns the default @c /usr/local value if it failed. 
 106         @note This function is only available under Unix. 
 108     wxString 
GetInstallPrefix() const; 
 111         Return the location for application data files which are host-specific and 
 112         can't, or shouldn't, be shared with the other machines. 
 114         This is the same as GetDataDir() except under Unix where it returns @c /etc/appname. 
 116     virtual wxString 
GetLocalDataDir() const; 
 119         Return the localized resources directory containing the resource files of the 
 120         specified category for the given language. 
 122         In general this is just the same as @a lang subdirectory of GetResourcesDir() 
 123         (or @c lang.lproj under Mac OS X) but is something quite different for 
 124         message catalog category under Unix where it returns the standard 
 125         @c prefix/share/locale/lang/LC_MESSAGES directory. 
 129     virtual wxString 
GetLocalizedResourcesDir(const wxString
& lang
, 
 130                                               ResourceCat category
) const; 
 133         Return the directory where the loadable modules (plugins) live. 
 134         Example return values: 
 135         - Unix: @c prefix/lib/appname 
 136         - Windows: the directory of the executable file 
 137         - Mac: @c appname.app/Contents/PlugIns bundle subdirectory 
 139         @see wxDynamicLibrary 
 141     virtual wxString 
GetPluginsDir() const; 
 144         Return the directory where the application resource files are located. 
 146         The resources are the auxiliary data files needed for the application to run 
 147         and include, for example, image and sound files it might use. 
 149         This function is the same as GetDataDir() for all platforms except Mac OS X. 
 150         Example return values: 
 151         - Unix: @c prefix/share/appname 
 152         - Windows: the directory where the executable file is located 
 153         - Mac: @c appname.app/Contents/Resources bundle subdirectory 
 157         @see GetLocalizedResourcesDir() 
 159     virtual wxString 
GetResourcesDir() const; 
 162         Return the directory for storing temporary files. 
 163         To create unique temporary files, it is best to use wxFileName::CreateTempFileName 
 164         for correct behaviour when multiple processes are attempting to create temporary files. 
 168     virtual wxString 
GetTempDir() const; 
 171         Return the directory for the user config files: 
 172         - Unix: @c ~ (the home directory) 
 173         - Windows: @c "C:\Documents and Settings\username\Application Data" 
 174         - Mac: @c ~/Library/Preferences 
 176         Only use this method if you have a single configuration file to put in this 
 177         directory, otherwise GetUserDataDir() is more appropriate. 
 179     virtual wxString 
GetUserConfigDir() const; 
 182         Return the directory for the user-dependent application data files: 
 183         - Unix: @c ~/.appname 
 184         - Windows: @c "C:\Documents and Settings\username\Application Data\appname" 
 185         - Mac: @c "~/Library/Application Support/appname" 
 187     virtual wxString 
GetUserDataDir() const; 
 190         Return the directory for user data files which shouldn't be shared with 
 193         This is the same as GetUserDataDir() for all platforms except Windows where it returns 
 194         @c "C:\Documents and Settings\username\Local Settings\Application Data\appname" 
 196     virtual wxString 
GetUserLocalDataDir() const; 
 199         Lets wxStandardPaths know about the real program installation prefix on a Unix 
 200         system. By default, the value returned by GetInstallPrefix() is used. 
 202         Although under Linux systems the program prefix may usually be determined 
 203         automatically, portable programs should call this function. Usually the prefix 
 204         is set during program configuration if using GNU autotools and so it is enough 
 205         to pass its value defined in @c config.h to this function. 
 207         @note This function is only available under Unix. 
 209     void SetInstallPrefix(const wxString
& prefix
); 
 212         Controls what application information is used when constructing paths that 
 213         should be unique to this program, such as the application data directory, the 
 214         plugins directory on Unix, etc. 
 216         Valid values for @a info are @c AppInfo_None and either one or combination 
 217         of @c AppInfo_AppName and @c AppInfo_VendorName. The first one tells this 
 218         class to not use neither application nor vendor name in the paths. 
 220         By default, only the application name is used under Unix systems but both 
 221         application and vendor names are used under Windows and Mac. 
 223     void UseAppInfo(int info
);