+ Please note that many wxFileName methods accept the path format argument
+ which is by @c wxPATH_NATIVE by default meaning to use the path format
+ native for the current platform.
+ The path format affects the operation of wxFileName functions in several ways:
+ first and foremost, it defines the path separator character to use, but it
+ also affects other things such as whether the path has the drive part or not.
+ See wxPathFormat for more info.
+
+
+ @section filename_format File name format
+
+ wxFileName currently supports the file names in the Unix, DOS/Windows,
+ Mac OS and VMS formats. Although these formats are quite different,
+ wxFileName tries to treat them all in the same generic way.
+ It supposes that all file names consist of the following parts: the volume
+ (also known as drive under Windows or device under VMS), the path which is
+ a sequence of directory names separated by the path separators and the full
+ filename itself which, in turn, is composed from the base file name and the
+ extension. All of the individual components of the file name may be empty
+ and, for example, the volume name is always empty under Unix, but if they
+ are all empty simultaneously, the filename object is considered to be in an
+ invalid state and wxFileName::IsOk() returns false for it.
+
+ File names can be case-sensitive or not, the function wxFileName::IsCaseSensitive()
+ allows to determine this. The rules for determining whether the file name is
+ absolute or relative also depend on the file name format and the only portable way
+ to answer this question is to use wxFileName::IsAbsolute() or wxFileName::IsRelative()
+ method.
+
+ Note that on Windows,"X:" refers to the current working directory on drive X.
+ Therefore, a wxFileName instance constructed from for example "X:dir/file.ext"
+ treats the portion beyond drive separator as being relative to that directory.
+ To ensure that the filename is absolute, you may use wxFileName::MakeAbsolute().
+ There is also an inverse function wxFileName::MakeRelativeTo() which undoes
+ what wxFileName::Normalize(wxPATH_NORM_DOTS) does.
+ Other functions returning information about the file format provided by this
+ class are wxFileName::GetVolumeSeparator(), wxFileName::IsPathSeparator().
+
+
+ @section filename_construction File name construction
+
+ You can initialize a wxFileName instance using one of the following functions:
+
+ @li wxFileName::wxFileName()
+ @li wxFileName::Assign()
+ @li wxFileName::AssignCwd()
+ @li wxFileName::AssignDir()
+ @li wxFileName::AssignHomeDir()
+ @li wxFileName::AssignTempFileName()
+ @li wxFileName::DirName()
+ @li wxFileName::FileName()
+ @li wxFileName::operator=()
+
+
+ @section filename_tests File name tests
+
+ Before doing other tests, you should use wxFileName::IsOk() to verify that
+ the filename is well defined. If it is, FileExists() can be used to test whether
+ a file with such name exists and wxFileName::DirExists() can be used to test
+ for directory existence.
+ File names should be compared using the wxFileName::SameAs() method or
+ wxFileName::operator==(). For testing basic access modes, you can use:
+
+ @li wxFileName::IsDirWritable()
+ @li wxFileName::IsDirReadable()
+ @li wxFileName::IsFileWritable()
+ @li wxFileName::IsFileReadable()
+ @li wxFileName::IsFileExecutable()
+
+
+ @section filename_components File name components
+
+ These functions allow to examine and modify the individual directories
+ of the path:
+
+ @li wxFileName::AppendDir()
+ @li wxFileName::InsertDir()
+ @li wxFileName::GetDirCount()
+ @li wxFileName::PrependDir()
+ @li wxFileName::RemoveDir()
+ @li wxFileName::RemoveLastDir()
+
+ To change the components of the file name individually you can use the
+ following functions:
+
+ @li wxFileName::GetExt()
+ @li wxFileName::GetName()
+ @li wxFileName::GetVolume()
+ @li wxFileName::HasExt()
+ @li wxFileName::HasName()
+ @li wxFileName::HasVolume()
+ @li wxFileName::SetExt()
+ @li wxFileName::ClearExt()
+ @li wxFileName::SetEmptyExt()
+ @li wxFileName::SetName()
+ @li wxFileName::SetVolume()
+
+ You can initialize a wxFileName instance using one of the following functions:
+
+
+ @section filename_operations File name operations
+
+ These methods allow to work with the file creation, access and modification
+ times. Note that not all filesystems under all platforms implement these times
+ in the same way. For example, the access time under Windows has a resolution of
+ one day (so it is really the access date and not time). The access time may be
+ updated when the file is executed or not depending on the platform.
+
+ @li wxFileName::GetModificationTime()
+ @li wxFileName::GetTimes()
+ @li wxFileName::SetTimes()
+ @li wxFileName::Touch()
+
+ Other file system operations functions are:
+
+ @li wxFileName::Mkdir()
+ @li wxFileName::Rmdir()
+
+