]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/filename.tex
mention wxLogBuffer
[wxWidgets.git] / docs / latex / wx / filename.tex
index 3239145221a882555ee26a26c678135637e4ed33..870e8a53d8f696827f28597f8b9733a8713948a3 100644 (file)
@@ -19,6 +19,47 @@ Second, it includes the functions for working with the files itself. Note that
 to change the file data you should use \helpref{wxFile}{wxfile} class instead.
 wxFileName provides functions for working with the file attributes.
 
 to change the file data you should use \helpref{wxFile}{wxfile} class instead.
 wxFileName provides functions for working with the file attributes.
 
+When working with directory names (i.e. without filename and extension)
+make sure not to misuse the file name part of this class with the last
+directory. Instead initialize the wxFileName instance like this:
+
+\begin{verbatim}
+wxFileName dirname( "C:\mydir", "" );
+MyMethod( dirname.GetPath() );
+\end{verbatim}
+
+The same can be done using the static method \helpref{wxFileName::DirName}{wxfilenamedirname}:
+
+\begin{verbatim}
+wxFileName dirname = wxFileName::DirName( "C:\mydir" );
+MyMethod( dirname.GetPath() );
+\end{verbatim}
+
+Accordingly, methods dealing with directories or directory names
+like \helpref{IsDirReadable}{wxfilenameisdirreadable} use
+\helpref{GetPath}{wxfilenamegetpath} whereas methods dealing 
+with file names like \helpref{IsFileReadable}{wxfilenameisfilereadable}
+use \helpref{GetFullPath}{wxfilenamegetfullpath}.
+
+If it is not known wether a string contains a directory name or
+a complete file name (such as when interpreting user input) you need to use
+the static function \helpref{wxFileName::DirExists}{wxfilenamedirexists}
+(or its identical variants \helpref{wxDir::Exists}{wxdirexists} and
+\helpref{wxDirExists}{functionwxdirexists}) and construct the wxFileName
+instance accordingly. This will only work if the directory actually exists,
+of course:
+
+\begin{verbatim}
+wxString user_input;
+// get input from user
+
+wxFileName fname;
+if (wxDirExists(user_input))
+    fname.AssignDir( user_input );
+else
+    fname.Assign( user_input );
+\end{verbatim}
+
 \wxheading{Derived from}
 
 No base class
 \wxheading{Derived from}
 
 No base class
@@ -27,6 +68,10 @@ No base class
 
 <wx/filename.h>
 
 
 <wx/filename.h>
 
+\wxheading{Library}
+
+\helpref{wxBase}{librarieslist}
+
 \wxheading{Data structures}
 
 Many wxFileName methods accept the path format argument which is by\rtfsp
 \wxheading{Data structures}
 
 Many wxFileName methods accept the path format argument which is by\rtfsp
@@ -43,7 +88,7 @@ enum wxPathFormat
     wxPATH_NATIVE = 0,      // the path format for the current platform
     wxPATH_UNIX,
     wxPATH_BEOS = wxPATH_UNIX,
     wxPATH_NATIVE = 0,      // the path format for the current platform
     wxPATH_UNIX,
     wxPATH_BEOS = wxPATH_UNIX,
-    wxPATH_MAC,
+    wxPATH_MAC,             // the old HFS format, deprecated
     wxPATH_DOS,
     wxPATH_WIN = wxPATH_DOS,
     wxPATH_OS2 = wxPATH_DOS,
     wxPATH_DOS,
     wxPATH_WIN = wxPATH_DOS,
     wxPATH_OS2 = wxPATH_DOS,
@@ -101,6 +146,8 @@ You can initialize a wxFileName instance using one of the following functions:
 \helpref{AssignDir}{wxfilenameassigndir}\\
 \helpref{AssignHomeDir}{wxfilenameassignhomedir}\\
 \helpref{AssignHomeTempFileName}{wxfilenameassigntempfilename}\\
 \helpref{AssignDir}{wxfilenameassigndir}\\
 \helpref{AssignHomeDir}{wxfilenameassignhomedir}\\
 \helpref{AssignHomeTempFileName}{wxfilenameassigntempfilename}\\
+\helpref{DirName}{wxfilenamedirname}\\
+\helpref{FileName}{wxfilenamefilename}\\
 \helpref{operator $=$}{wxfilenameoperatorassign}
 
 
 \helpref{operator $=$}{wxfilenameoperatorassign}
 
 
@@ -575,6 +622,12 @@ under Windows and the inode change time under Unix (as it is impossible to
 retrieve the real file creation time there anyhow) which can also be changed
 by many operations after the file creation.
 
 retrieve the real file creation time there anyhow) which can also be changed
 by many operations after the file creation.
 
+If no filename or extension is specified in this instance of wxFileName
+(and therefore \helpref{IsDir}{wxfilenameisdir} returns {\tt true}) then
+this function will return the directory times of the path specified by
+\helpref{GetPath}{wxfilenamegetpath}, otherwise the file times of the
+file specified by \helpref{GetFullPath}{wxfilenamegetfullpath}.
+
 Any of the pointers may be {\tt NULL} if the corresponding time is not
 needed.
 
 Any of the pointers may be {\tt NULL} if the corresponding time is not
 needed.