]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/filename.h
Fix for wxTextCtrl::GetSelection for singel line controls in GTK2 mode
[wxWidgets.git] / include / wx / filename.h
index d024415ac29a769eedbb7f6a9dd3fc9faa28e280..13df3117b2302961243d6d7eb48300db077ba746 100644 (file)
@@ -52,13 +52,14 @@ enum wxPathFormat
 {
     wxPATH_NATIVE = 0,      // the path format for the current platform
     wxPATH_UNIX,
+    wxPATH_BEOS = wxPATH_UNIX,
     wxPATH_MAC,
     wxPATH_DOS,
+    wxPATH_WIN = wxPATH_DOS,
+    wxPATH_OS2 = wxPATH_DOS,
     wxPATH_VMS,
 
-    wxPATH_BEOS = wxPATH_UNIX,
-    wxPATH_WIN = wxPATH_DOS,
-    wxPATH_OS2 = wxPATH_DOS
+    wxPATH_MAX // Not a valid value for specifying path format
 };
 
 // the kind of normalization to do with the file name: these values can be
@@ -98,7 +99,7 @@ public:
 
         // the usual stuff
     wxFileName() { Clear(); }
-    wxFileName( const wxFileName &filepath ) { Assign(filepath); }
+    wxFileName(const wxFileName& filepath) { Assign(filepath); }
 
         // from a full filename: if it terminates with a '/', a directory path
         // is contructed (the name will be empty), otherwise a file name and
@@ -150,7 +151,7 @@ public:
                 wxPathFormat format = wxPATH_NATIVE)
     {
         // empty volume
-        Assign(_T(""), path, name, ext, format);
+        Assign(wxEmptyString, path, name, ext, format);
     }
 
     void AssignDir(const wxString& dir, wxPathFormat format = wxPATH_NATIVE);
@@ -167,8 +168,10 @@ public:
     void Clear();
 
         // static pseudo constructors
-    static wxFileName FileName(const wxString& file);
-    static wxFileName DirName(const wxString& dir);
+    static wxFileName FileName(const wxString& file,
+                               wxPathFormat format = wxPATH_NATIVE);
+    static wxFileName DirName(const wxString& dir,
+                              wxPathFormat format = wxPATH_NATIVE);
 
     // file tests
 
@@ -244,7 +247,6 @@ public:
                                        wxFile *fileTemp = NULL);
 
     // directory creation and removal.
-    // if full is TRUE, will try to make each directory in the path.
     bool Mkdir( int perm = 0777, int flags = 0);
     static bool Mkdir( const wxString &dir, int perm = 0777, int flags = 0 );
 
@@ -267,10 +269,10 @@ public:
         //
         // pass an empty string to get a path relative to the working directory
         //
-        // returns TRUE if the file name was modified, FALSE if we failed to do
+        // returns true if the file name was modified, false if we failed to do
         // anything with it (happens when the file is on a different volume,
         // for example)
-    bool MakeRelativeTo(const wxString& pathBase = _T(""),
+    bool MakeRelativeTo(const wxString& pathBase = wxEmptyString,
                         wxPathFormat format = wxPATH_NATIVE);
 
         // make the path absolute
@@ -309,6 +311,10 @@ public:
     bool IsRelative(wxPathFormat format = wxPATH_NATIVE) const
         { return !IsAbsolute(format); }
 
+    // Returns the characters that aren't allowed in filenames
+    // on the specified platform.
+    static wxString GetForbiddenChars(wxPathFormat format = wxPATH_NATIVE);
+
     // Information about path format
 
     // get the string separating the volume from the path for this format,
@@ -353,7 +359,8 @@ public:
     const wxArrayString& GetDirs() const        { return m_dirs; }
 
     // flags are combination of wxPATH_GET_XXX flags
-    wxString GetPath(int flags = 0, wxPathFormat format = wxPATH_NATIVE) const;
+    wxString GetPath(int flags = wxPATH_GET_VOLUME,
+                     wxPathFormat format = wxPATH_NATIVE) const;
 
     // Replace current path with this one
     void SetPath( const wxString &path, wxPathFormat format = wxPATH_NATIVE );
@@ -417,9 +424,9 @@ private:
     // that our path is '/', i.e. the root directory
     //
     // we use m_relative to distinguish between these two cases, it will be
-    // TRUE in the former and FALSE in the latter
+    // true in the former and false in the latter
     //
-    // NB: the path is not absolute just because m_relative is FALSE, it still
+    // NB: the path is not absolute just because m_relative is false, it still
     //     needs the drive (i.e. volume) in some formats (Windows)
     bool            m_relative;
 };