void Assign(const wxString& path,
const wxString& name,
const wxString& ext,
- wxPathFormat format = wxPATH_NATIVE)
- {
- // empty volume
- Assign(wxEmptyString, path, name, ext, format);
- }
+ wxPathFormat format = wxPATH_NATIVE);
void AssignDir(const wxString& dir, wxPathFormat format = wxPATH_NATIVE);
// file tests
// is the filename valid at all?
- bool IsOk() const { return m_dirs.size() != 0 || !m_name.IsEmpty(); }
+ bool IsOk() const
+ {
+ // we're fine if we have the path or the name or if we're a root dir
+ return m_dirs.size() != 0 || !m_name.IsEmpty() || !m_relative;
+ }
// does the file with this name exists?
bool FileExists() const;
// get the string of path separators for this format
static wxString GetPathSeparators(wxPathFormat format = wxPATH_NATIVE);
+ // get the string of path terminators, i.e. characters which terminate the
+ // path
+ static wxString GetPathTerminators(wxPathFormat format = wxPATH_NATIVE);
+
// get the canonical path separator for this format
static wxChar GetPathSeparator(wxPathFormat format = wxPATH_NATIVE)
{ return GetPathSeparators(format)[0u]; }
static bool IsPathSeparator(wxChar ch, wxPathFormat format = wxPATH_NATIVE);
// Dir accessors
- void AppendDir( const wxString &dir );
- void PrependDir( const wxString &dir );
- void InsertDir( int before, const wxString &dir );
- void RemoveDir( int pos );
size_t GetDirCount() const { return m_dirs.size(); }
+ void AppendDir(const wxString& dir);
+ void PrependDir(const wxString& dir);
+ void InsertDir(size_t before, const wxString& dir);
+ void RemoveDir(size_t pos);
+ void RemoveLastDir() { RemoveDir(GetDirCount() - 1); }
// Other accessors
void SetExt( const wxString &ext ) { m_ext = ext; }
wxString *ext,
wxPathFormat format = wxPATH_NATIVE);
+ // split a path into volume and pure path part
+ static void SplitVolume(const wxString& fullpathWithVolume,
+ wxString *volume,
+ wxString *path,
+ wxPathFormat format = wxPATH_NATIVE);
// deprecated methods, don't use any more
// --------------------------------------