1 /////////////////////////////////////////////////////////////////////////////
 
   3 // Purpose:     SWIG interface for wxStandardPaths
 
   7 // Created:     10-Nov-2004
 
   9 // Copyright:   (c) 2004 by Total Control Software
 
  10 // Licence:     wxWindows license
 
  11 /////////////////////////////////////////////////////////////////////////////
 
  16 //---------------------------------------------------------------------------
 
  19 #include <wx/stdpaths.h>
 
  23 //---------------------------------------------------------------------------
 
  26 DocStr(wxStandardPaths,
 
  27 "wx.StandardPaths returns standard locations in the file system and
 
  28 should be used by programs to find their data files in a portable way.
 
  30 In the description of the methods below, the example return values are
 
  31 given for the Unix, Windows and Mac OS X systems, however please note
 
  32 that these are just  examples and the actual values may differ. For
 
  33 example, under Windows the system administrator may change the
 
  34 standard directories locations, i.e. the Windows directory may be
 
  35 named W:\Win2003 instead of the default C:\Windows.
 
  37 The strings appname and username should be replaced with the value
 
  38 returned by `wx.App.GetAppName` and the name of the currently logged
 
  39 in user, respectively. The string prefix is only used under Unix and
 
  40 is /usr/local by default but may be changed using `SetInstallPrefix`.
 
  42 The directories returned by the methods of this class may or may not
 
  43 exist. If they don't exist, it's up to the caller to create them,
 
  44 wx.StandardPaths doesn't do it.
 
  46 Finally note that these functions only work with standardly packaged
 
  47 applications. I.e. under Unix you should follow the standard
 
  48 installation conventions and under Mac you should create your
 
  49 application bundle according to the Apple guidelines. Again, this
 
  50 class doesn't help you to do it.", "");
 
  55     // possible resources categorires
 
  58         // no special category
 
  61         // message catalog resources
 
  70         "Return the global standard paths singleton", "");    
 
  72         static wxStandardPaths* Get() {
 
  73             return (wxStandardPaths*) &wxStandardPaths::Get();
 
  80         virtual wxString , GetConfigDir() const,
 
  81         "Return the directory with system config files: /etc under Unix,
 
  82 'c:\\Documents and Settings\\All Users\\Application Data' under Windows,
 
  83 /Library/Preferences for Mac", "");
 
  87         virtual wxString , GetUserConfigDir() const,
 
  88         "Return the directory for the user config files: $HOME under Unix,
 
  89 'c:\\Documents and Settings\\username' under Windows, and 
 
  90 ~/Library/Preferences under Mac
 
  92 Only use this if you have a single file to put there, otherwise
 
  93 `GetUserDataDir` is more appropriate", "");
 
  97         virtual wxString , GetDataDir() const,
 
  98         "Return the location of the application's global, (i.e. not
 
  99 user-specific,) data files: prefix/share/appname under Unix,
 
 100 'c:\\Program Files\\appname' under Windows,
 
 101 appname.app/Contents/SharedSupport app bundle directory under Mac.", "");
 
 105         virtual wxString , GetLocalDataDir() const,
 
 106         "Return the location for application data files which are
 
 107 host-specific.  Same as `GetDataDir` except under Unix where it is
 
 112         virtual wxString , GetUserDataDir() const,
 
 113         "Return the directory for the user-dependent application data files:
 
 114 $HOME/.appname under Unix, c:\\Documents and
 
 115 Settings\\username\\Application Data\\appname under Windows and
 
 116 ~/Library/Application Support/appname under Mac", "");
 
 120         virtual wxString , GetUserLocalDataDir() const,
 
 121         "Return the directory for user data files which shouldn't be shared
 
 122 with the other machines
 
 124 Same as `GetUserDataDir` for all platforms except Windows where it is
 
 125 the 'Local Settings\\Application Data\\appname' directory.", "");
 
 129         virtual wxString , GetPluginsDir() const,
 
 130         "Return the directory where the loadable modules (plugins) live:
 
 131 prefix/lib/appname under Unix, program directory under Windows and
 
 132 Contents/Plugins app bundle subdirectory under Mac", "");
 
 135     // get resources directory: resources are auxiliary files used by the
 
 136     // application and include things like image and sound files
 
 138     // same as GetDataDir() for all platforms except Mac where it returns
 
 139     // Contents/Resources subdirectory of the app bundle
 
 141         virtual wxString , GetResourcesDir() const,
 
 142         "Get resources directory.  Resources are auxiliary files used by the
 
 143 application and include things like image and sound files.
 
 145 Same as `GetDataDir` for all platforms except Mac where it returns
 
 146 Contents/Resources subdirectory of the app bundle.", "");
 
 151         GetLocalizedResourcesDir(const wxString& lang,
 
 152                                  ResourceCat category = ResourceCat_None) const,
 
 153         "Get localized resources directory containing the resource files of the
 
 154 specified category for the given language.
 
 156 In general this is just GetResourcesDir()/lang under Windows and Unix
 
 157 and GetResourcesDir()/lang.lproj under Mac but is something quite
 
 158 different under Unix for the message catalog category (namely the
 
 159 standard prefix/share/locale/lang/LC_MESSAGES.)", "");
 
 162         virtual wxString , GetDocumentsDir() const,
 
 163         "Return the Documents directory for the current user.
 
 165 C:\Documents and Settings\username\Documents under Windows,
 
 166 $HOME under Unix and ~/Documents under Mac", "");
 
 169         virtual wxString , GetTempDir() const,
 
 170         "Return the user's directory for temporary files.", "");
 
 173     DocStr(SetInstallPrefix,
 
 174            "Set the program installation directory which is /usr/local by default.
 
 175 This value will be used by other methods such as `GetDataDir` and
 
 176 `GetPluginsDir` as the prefix for what they return. (This function
 
 177 only has meaning on Unix systems.)", "");
 
 179     DocStr(GetInstallPrefix,
 
 180            "Get the program installation prefix. The default is the prefix where
 
 181 Python is installed. (This function only has meaning on Unix systems.)", "");
 
 184     void SetInstallPrefix(const wxString& prefix);
 
 185     wxString GetInstallPrefix() const;
 
 188         void SetInstallPrefix(const wxString& prefix) {}
 
 189         wxString GetInstallPrefix() { return wxEmptyString; }
 
 195 //---------------------------------------------------------------------------