X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6ae3ead6f0ed2b7b1bfc40317e65ffe71e0b3321..ca77701441e39245dcbfce903049e76f166979e5:/include/wx/stdpaths.h diff --git a/include/wx/stdpaths.h b/include/wx/stdpaths.h index 9f6c619f63..1bf5af0831 100644 --- a/include/wx/stdpaths.h +++ b/include/wx/stdpaths.h @@ -17,6 +17,8 @@ #include "wx/string.h" #include "wx/filefn.h" +class WXDLLIMPEXP_FWD_BASE wxStandardPaths; + // ---------------------------------------------------------------------------- // wxStandardPaths returns the standard locations in the file system // ---------------------------------------------------------------------------- @@ -26,7 +28,7 @@ class WXDLLIMPEXP_BASE wxStandardPathsBase { public: - // possible resources categorires + // possible resources categories enum ResourceCat { // no special category @@ -39,9 +41,18 @@ public: ResourceCat_Max }; + // what should we use to construct paths unique to this application: + // (AppInfo_AppName and AppInfo_VendorName can be combined together) + enum + { + AppInfo_None = 0, // nothing + AppInfo_AppName = 1, // the application name + AppInfo_VendorName = 2 // the vendor name + }; + // return the global standard paths object - static wxStandardPathsBase& Get(); + static wxStandardPaths& Get(); // return the path (directory+filename) of the running executable or // wxEmptyString if it couldn't be determined. @@ -118,30 +129,54 @@ public: // return the "Documents" directory for the current user // - // C:\Documents and Settings\username\Documents under Windows, + // C:\Documents and Settings\username\My Documents under Windows, // $HOME under Unix and ~/Documents under Mac virtual wxString GetDocumentsDir() const; + // return the directory for the documents files used by this application: + // it's a subdirectory of GetDocumentsDir() constructed using the + // application name/vendor if it exists or just GetDocumentsDir() otherwise + virtual wxString GetAppDocumentsDir() const; + // return the temporary directory for the current user virtual wxString GetTempDir() const; + // ctor for the base class + wxStandardPathsBase(); + // virtual dtor for the base class virtual ~wxStandardPathsBase(); + // Information used by AppendAppInfo + void UseAppInfo(int info) + { + m_usedAppInfo = info; + } + + bool UsesAppInfo(int info) const { return (m_usedAppInfo & info) != 0; } + + protected: - // append "/appname" suffix if the app name is set (doesn't append the - // slash if dir already ends with a slash or dot) - static wxString AppendAppName(const wxString& dir); + // append the path component, with a leading path separator if a + // path separator or dot (.) is not already at the end of dir + static wxString AppendPathComponent(const wxString& dir, const wxString& component); + + // append application information determined by m_usedAppInfo to dir + wxString AppendAppInfo(const wxString& dir) const; + + + // combination of AppInfo_XXX flags used by AppendAppInfo() + int m_usedAppInfo; }; #if wxUSE_STDPATHS - #if defined(__WXMSW__) + #if defined(__WINDOWS__) #include "wx/msw/stdpaths.h" #define wxHAS_NATIVE_STDPATHS // We want CoreFoundation paths on both CarbonLib and Darwin (for all ports) #elif defined(__WXMAC__) || defined(__DARWIN__) - #include "wx/mac/corefoundation/stdpaths.h" + #include "wx/osx/core/stdpaths.h" #define wxHAS_NATIVE_STDPATHS #elif defined(__OS2__) #include "wx/os2/stdpaths.h" @@ -149,9 +184,6 @@ protected: #elif defined(__UNIX__) #include "wx/unix/stdpaths.h" #define wxHAS_NATIVE_STDPATHS - #elif defined(__PALMOS__) - #include "wx/palmos/stdpaths.h" - #define wxHAS_NATIVE_STDPATHS #endif #endif