X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f70c044346a655e3115879ab2554bfd665139670..a71d815bbe669ebb9bdb9409926a272c37a5a9aa:/docs/latex/wx/filename.tex

diff --git a/docs/latex/wx/filename.tex b/docs/latex/wx/filename.tex
index 641e5e9408..0c0d22dc1e 100644
--- a/docs/latex/wx/filename.tex
+++ b/docs/latex/wx/filename.tex
@@ -6,7 +6,7 @@
 %% Created:     30.11.01
 %% RCS-ID:      $Id$
 %% Copyright:   (c) 2001 Vadim Zeitlin
-%% License:     wxWidgets license
+%% License:     wxWindows license
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \section{\class{wxFileName}}\label{wxfilename}
@@ -56,7 +56,7 @@ enum wxPathFormat
 \latexignore{\rtfignore{\wxheading{Function groups}}}
 
 
-\membersection{File name format}
+\membersection{File name format}\label{filenameformat}
 
 wxFileName currently supports the file names in the Unix, DOS/Windows, Mac OS
 and VMS formats. Although these formats are quite different, wxFileName tries
@@ -88,12 +88,12 @@ class are \helpref{GetVolumeSeparator}{wxfilenamegetvolumeseparator},\rtfsp
 \helpref{IsRelative}{wxfilenameisrelative}
 
 
-\membersection{File name construction}
+\membersection{File name construction}\label{filenameconstruction}
 
 TODO.
 
 
-\membersection{File tests}
+\membersection{File tests}\label{filetests}
 
 Before doing the other tests you should use \helpref{IsOk}{wxfilenameisok} to
 verify that the filename is well defined. If it is, 
@@ -105,15 +105,17 @@ File names should be compared using \helpref{SameAs}{wxfilenamesameas} method
 or \helpref{$==$}{wxfilenameoperatorequal}.
 
 
-\membersection{File name components}
+\membersection{File name components}\label{filenamecomponents}
 
-These functions allow to examine and modify the directories of the path:
+These functions allow to examine and modify the individual directories of the
+path:
 
 \helpref{AppendDir}{wxfilenameappenddir}\\
 \helpref{InsertDir}{wxfilenameinsertdir}\\
 \helpref{GetDirCount}{wxfilenamegetdircount}
 \helpref{PrependDir}{wxfilenameprependdir}\\
-\helpref{RemoveDir}{wxfilenameremovedir}
+\helpref{RemoveDir}{wxfilenameremovedir}\\
+\helpref{RemoveLastDir}{wxfilenameremovelastdir}
 
 To change the components of the file name individually you can use the
 following functions:
@@ -125,11 +127,13 @@ following functions:
 \helpref{HasName}{wxfilenamehasname}\\
 \helpref{HasVolume}{wxfilenamehasvolume}\\
 \helpref{SetExt}{wxfilenamesetext}\\
+\helpref{ClearExt}{wxfilenameclearext}\\
+\helpref{SetEmptyExt}{wxfilenamesetemptyext}\\
 \helpref{SetName}{wxfilenamesetname}\\
 \helpref{SetVolume}{wxfilenamesetvolume}\\
 
 
-\membersection{Operations}
+\membersection{Operations}\label{filenameoperations}
 
 These methods allow to work with the file creation, access and modification
 times. Note that not all filesystems under all platforms implement these times
@@ -195,6 +199,8 @@ assert failure in debug build).
 
 \func{void}{Assign}{\param{const wxString\& }{fullpath}, \param{wxPathFormat }{format = wxPATH\_NATIVE}}
 
+\func{void}{Assign}{\param{const wxString\& }{volume}, \param{const wxString\& }{path}, \param{const wxString\& }{name}, \param{const wxString\& }{ext}, \param{bool }{hasExt}, \param{wxPathFormat }{format = wxPATH\_NATIVE}}
+
 \func{void}{Assign}{\param{const wxString\& }{volume}, \param{const wxString\& }{path}, \param{const wxString\& }{name}, \param{const wxString\& }{ext}, \param{wxPathFormat }{format = wxPATH\_NATIVE}}
 
 \func{void}{Assign}{\param{const wxString\& }{path}, \param{const wxString\& }{name}, \param{wxPathFormat }{format = wxPATH\_NATIVE}}
@@ -248,6 +254,18 @@ temporary file couldn't be created, the object is put into the\rtfsp
 Reset all components to default, uninitialized state.
 
 
+\membersection{wxFileName::ClearExt}\label{wxfilenameclearext}
+
+\func{void}{SetClearExt}{\void}
+
+Removes the extension from the file name resulting in a 
+file name with no trailing dot.
+
+\wxheading{See also}
+
+\helpref{SetExt}{wxfilenamesetext}
+\helpref{SetEmptyExt}{wxfilenamesetemptyext}
+
 \membersection{wxFileName::CreateTempFileName}\label{wxfilenamecreatetempfilename}
 
 \func{static wxString}{CreateTempFileName}{\param{const wxString\& }{prefix}, \param{wxFile *}{fileTemp = {\tt NULL}}}
@@ -324,7 +342,7 @@ function exists mainly for symmetry with \helpref{DirName}{wxfilenamedirname}.
 \func{static wxString}{GetCwd}{\param{const wxString\& }{volume = ""}}
 
 Retrieves the value of the current working directory on the specified volume. If
-the volume is empty, the programs current working directory is returned for the
+the volume is empty, the program's current working directory is returned for the
 current volume.
 
 \wxheading{Return value}
@@ -535,7 +553,7 @@ Returns {\tt true} if a volume specifier is present.
 
 \membersection{wxFileName::InsertDir}\label{wxfilenameinsertdir}
 
-\func{void}{InsertDir}{\param{int }{before}, \param{const wxString\& }{dir}}
+\func{void}{InsertDir}{\param{size\_t }{before}, \param{const wxString\& }{dir}}
 
 Inserts a directory component before the zero-based position in the directory
 list. Please see \helpref{AppendDir}{wxfilenameappenddir} for important notes.
@@ -589,6 +607,23 @@ directory or file really exists, you should use
 \helpref{DirExists}{wxfilenamedirexists} or 
 \helpref{FileExists}{wxfilenamefileexists} for this.
 
+\membersection{wxFileName::MacFindDefaultTypeAndCreator}\label{wxfilenamemacfinddefaulttypeandcreator}
+
+\func{static bool}{MacFindDefaultTypeAndCreator}{\param{const wxString\& }{ext}, \param{wxUint32* }{type}, \param{wxUint32* }{creator}}
+
+On Mac OS, gets the common type and creator for the given extension.
+
+\membersection{wxFileName::MacRegisterDefaultTypeAndCreator}\label{wxfilenamemacregisterdefaulttypeandcreator}
+
+\func{static void}{MacRegisterDefaultTypeAndCreator}{\param{const wxString\& }{ext}, \param{wxUint32 }{type}, \param{wxUint32 }{creator}}
+
+On Mac OS, registers application defined extensions and their default type and creator.
+
+\membersection{wxFileName::MacSetDefaultTypeAndCreator}\label{wxfilenamemacsetdefaulttypeandcreator}
+
+\func{bool}{MacSetDefaultTypeAndCreator}{\void}
+
+On Mac OS, looks up the appropriate type and creator from the registration and then sets it.
 
 \membersection{wxFileName::MakeAbsolute}\label{wxfilenamemakeabsolute}
 
@@ -663,7 +698,7 @@ any or-combination of the following constants:
 \twocolitem{{\bf wxPATH\_NORM\_ENV\_VARS}}{replace env vars with their values}
 \twocolitem{{\bf wxPATH\_NORM\_DOTS}}{squeeze all .. and . and prepend cwd}
 \twocolitem{{\bf wxPATH\_NORM\_TILDE}}{Unix only: replace ~ and ~user}
-\twocolitem{{\bf wxPATH\_NORM\_CASE}}{if filesystem is case insensitive, transform to tolower case}
+\twocolitem{{\bf wxPATH\_NORM\_CASE}}{if filesystem is case insensitive, transform to lower case}
 \twocolitem{{\bf wxPATH\_NORM\_ABSOLUTE}}{make the path absolute}
 \twocolitem{{\bf wxPATH\_NORM\_LONG}}{make the path the long form}
 \twocolitem{{\bf wxPATH\_NORM\_SHORTCUT}}{resolve if it is a shortcut (Windows only)}
@@ -688,9 +723,20 @@ Prepends a directory to the file path. Please see
 
 \membersection{wxFileName::RemoveDir}\label{wxfilenameremovedir}
 
-\func{void}{RemoveDir}{\param{int }{pos}}
+\func{void}{RemoveDir}{\param{size\_t }{pos}}
 
-Removes a directory name.
+Removes the specified directory component from the path.
+
+\wxheading{See also}
+
+\helpref{GetDirCount}{wxfilenamegetdircount}
+
+
+\membersection{wxFileName::RemoveLastDir}\label{wxfilenameremovelastdir}
+
+\func{void}{RemoveLastDir}{\void}
+
+Removes last directory component from the path.
 
 
 \membersection{wxFileName::Rmdir}\label{wxfilenamermdir}
@@ -722,8 +768,28 @@ Changes the current working directory.
 
 \func{void}{SetExt}{\param{const wxString\& }{ext}}
 
-Sets the extension of this file name.
+Sets the extension of the file name. Setting an empty string
+as the extension will remove the extension resulting in a file 
+name without a trailing dot, unlike a call to 
+\helpref{SetEmptyExt}{wxfilenamesetemptyext}.
+
+\wxheading{See also}
+
+\helpref{SetEmptyExt}{wxfilenamesetemptyext}
+\helpref{ClearExt}{wxfilenameclearext}
+
+\membersection{wxFileName::SetEmptyExt}\label{wxfilenamesetemptyext}
+
+\func{void}{SetEmptyExt}{\void}
+
+Sets the extension of the file name to be an empty extension. 
+This is different from having no extension at all as the file 
+name will have a trailing dot after a call to this method.
 
+\wxheading{See also}
+
+\helpref{SetExt}{wxfilenamesetext}
+\helpref{ClearExt}{wxfilenameclearext}
 
 \membersection{wxFileName::SetFullName}\label{wxfilenamesetfullname}
 
@@ -755,6 +821,8 @@ Sets the volume specifier.
 
 \membersection{wxFileName::SplitPath}\label{wxfilenamesplitpath}
 
+\func{static void}{SplitPath}{\param{const wxString\& }{fullpath}, \param{wxString* }{volume}, \param{wxString* }{path}, \param{wxString* }{name}, \param{wxString* }{ext}, \param{bool }{*hasExt = \texttt{NULL}}, \param{wxPathFormat }{format = wxPATH\_NATIVE}}
+
 \func{static void}{SplitPath}{\param{const wxString\& }{fullpath}, \param{wxString* }{volume}, \param{wxString* }{path}, \param{wxString* }{name}, \param{wxString* }{ext}, \param{wxPathFormat }{format = wxPATH\_NATIVE}}
 
 \func{static void}{SplitPath}{\param{const wxString\& }{fullpath}, \param{wxString* }{path}, \param{wxString* }{name}, \param{wxString* }{ext}, \param{wxPathFormat }{format = wxPATH\_NATIVE}}
@@ -771,6 +839,10 @@ without leading dot. All three of them may be empty if the corresponding
 component is. The old contents of the strings pointed to by these parameters
 will be overwritten in any case (if the pointers are not {\tt NULL}).
 
+Note that for a filename ``foo.'' the extension is present, as indicated by the
+trailing dot, but empty. If you need to cope with such cases, you should use 
+\arg{hasExt} instead of relying on testing whether \arg{ext} is empty or not.
+
 
 \membersection{wxFileName::SplitVolume}\label{wxfilenamesplitvolume}
 
