X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9e8d860761774a8e54ba9caa8a1dc38380332a9a..8d7ddd02649628327f8169cf2f4f9ee7b52f39c7:/include/wx/filename.h?ds=sidebyside diff --git a/include/wx/filename.h b/include/wx/filename.h index 76f9e2169e..06696bfdf2 100644 --- a/include/wx/filename.h +++ b/include/wx/filename.h @@ -36,6 +36,7 @@ // ridiculously enough, this will replace DirExists with wxDirExists etc #include "wx/filefn.h" +#include "wx/datetime.h" // ---------------------------------------------------------------------------- // constants @@ -65,7 +66,8 @@ enum wxPathNormalize wxPATH_NORM_TILDE = 0x0004, // Unix only: replace ~ and ~user wxPATH_NORM_CASE = 0x0008, // if case insensitive => tolower wxPATH_NORM_ABSOLUTE = 0x0010, // make the path absolute - wxPATH_NORM_ALL = 0x001f + wxPATH_NORM_LONG = 0x0020, // make the path the long form + wxPATH_NORM_ALL = 0x003f }; // ---------------------------------------------------------------------------- @@ -100,14 +102,6 @@ public: wxPathFormat format = wxPATH_NATIVE) { Assign(path, name, ext, format); } - // assorted assignment operators - - wxFileName& operator=(const wxFileName& filename) - { Assign(filename); return *this; } - - wxFileName& operator=(const wxString& filename) - { Assign(filename); return *this; } - // the same for delayed initialization // VZ: wouldn't it be better to call this Create() for consistency with @@ -126,6 +120,14 @@ public: void AssignDir(const wxString& dir, wxPathFormat format = wxPATH_NATIVE) { Assign(dir, _T(""), format); } + // assorted assignment operators + + wxFileName& operator=(const wxFileName& filename) + { Assign(filename); return *this; } + + wxFileName& operator=(const wxString& filename) + { Assign(filename); return *this; } + // reset all components to default, uninitialized state void Clear(); @@ -146,6 +148,9 @@ public: bool DirExists(); static bool DirExists( const wxString &dir ); + // Well, get modification time with sec resolution + wxDateTime GetModificationTime(); + // VZ: also need: IsDirWritable(), IsFileExecutable() &c (TODO) // various file/dir operations @@ -165,9 +170,10 @@ public: // get a temp file name starting with thespecified prefix void AssignTempFileName( const wxString &prefix ); - // directory creation and removal - bool Mkdir( int perm = 0777 ); - static bool Mkdir( const wxString &dir, int perm = 0777 ); + // directory creation and removal. + // if full is TRUE, will try to make each directory in the path. + bool Mkdir( int perm = 0777, bool full = FALSE); + static bool Mkdir( const wxString &dir, int perm = 0777, bool full = FALSE ); bool Rmdir(); static bool Rmdir( const wxString &dir ); @@ -185,15 +191,15 @@ public: // Comparison + // compares with the rules of this platform + bool SameAs(const wxFileName &filepath, + wxPathFormat format = wxPATH_NATIVE); + // uses the current platform settings bool operator==(const wxFileName& filename) { return SameAs(filename); } bool operator==(const wxString& filename) { return *this == wxFileName(filename); } - // compares with the rules of this platform - bool SameAs(const wxFileName &filepath, - wxPathFormat format = wxPATH_NATIVE); - // Tests static bool IsCaseSensitive( wxPathFormat format = wxPATH_NATIVE ); bool IsRelative( wxPathFormat format = wxPATH_NATIVE ); @@ -224,12 +230,15 @@ public: wxString GetName() const { return m_name; } bool HasName() const { return !m_name.IsEmpty(); } + // full name is the file name + extension (but without the path) + void SetFullName(const wxString& fullname); wxString GetFullName() const; const wxArrayString &GetDirs() const { return m_dirs; } // Construct path only - possibly with the trailing separator - wxString GetPath( bool add_separator = FALSE, wxPathFormat format = wxPATH_NATIVE ) const; + wxString GetPath( bool add_separator = FALSE, + wxPathFormat format = wxPATH_NATIVE ) const; // more readable synonym wxString GetPathWithSep(wxPathFormat format = wxPATH_NATIVE ) const @@ -238,6 +247,12 @@ public: // Construct full path with name and ext wxString GetFullPath( wxPathFormat format = wxPATH_NATIVE ) const; + // Return the short form of the path (returns identity on non-Windows platforms) + wxString GetShortPath() const; + + // Return the long form of the path (returns identity on non-Windows platforms) + wxString GetLongPath() const; + // various helpers // get the canonical path format for this platform