%% Created: 04.04.00
%% RCS-ID: $Id$
%% Copyright: (c) Vadim Zeitlin
-%% License: wxWindows license
+%% License: wxWidgets license
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{\class{wxDir}}\label{wxdir}
\wxheading{Constants}
-These flags define what kind of filenames is included in the list of files
-enumerated by GetFirst/GetNext
+These flags define what kind of filename is included in the list of files
+enumerated by GetFirst/GetNext.
{\small
\begin{verbatim}
\latexignore{\rtfignore{\wxheading{Members}}}
-\membersection{wxDir::Exists}\label{wxdirexists}
-
-\func{static bool}{Exists}{\param{const wxString\& }{dir}}
-
-Test for existence of a directory with the given name
-
\membersection{wxDir::wxDir}\label{wxdirwxdir}
\func{}{wxDir}{\void}
Opens the directory for enumeration, use \helpref{IsOpened()}{wxdirisopened}
to test for errors.
+
\membersection{wxDir::\destruct{wxDir}}\label{wxdirdtor}
\func{}{\destruct{wxDir}}{\void}
-Destructor cleans up the associated ressources. It is not virtual and so this
+Destructor cleans up the associated resources. It is not virtual and so this
class is not meant to be used polymorphically.
-\membersection{wxDir::Open}\label{wxdiropen}
-\func{bool}{Open}{\param{const wxString\& }{dir}}
+\membersection{wxDir::Exists}\label{wxdirexists}
-Open the directory for enumerating, returns TRUE on success or FALSE if an
-error occurred.
+\func{static bool}{Exists}{\param{const wxString\& }{dir}}
-\membersection{wxDir::IsOpened}\label{wxdirisopened}
+Test for existence of a directory with the given name
-\constfunc{bool}{IsOpened}{\void}
-Returns TRUE if the directory was successfully opened by a previous call to
-\helpref{Open}{wxdiropen}.
+\membersection{wxDir::GetAllFiles}\label{wxdirgetallfiles}
+
+\func{static size\_t}{GetAllFiles}{\param{const wxString\& }{dirname}, \param{wxArrayString *}{files}, \param{const wxString\& }{filespec = wxEmptyString}, \param{int }{flags = wxDIR\_DEFAULT}}
+
+The function appends the names of all the files under directory {\it dirname}
+to the array {\it files} (note that its old contents is preserved). Only files
+matching the {\it filespec} are taken, with empty spec matching all the files.
+
+The {\it flags} parameter should always include {\tt wxDIR\_FILES} or the array
+would be unchanged and should include {\tt wxDIR\_DIRS} flag to recurse into
+subdirectories (both flags are included in the value by default).
+
+See also: \helpref{Traverse}{wxdirtraverse}
+
\membersection{wxDir::GetFirst}\label{wxdirgetfirst}
\constfunc{bool}{GetFirst}{\param{wxString* }{filename}, \param{const wxString\& }{filespec = wxEmptyString}, \param{int }{flags = wxDIR\_DEFAULT}}
Start enumerating all files matching {\it filespec} (or all files if it is
-empty) and flags, return TRUE on success.
+empty) and flags, return true on success.
-\membersection{wxDir::GetNext}\label{wxdirgetnext}
-\constfunc{bool}{GetNext}{\param{wxString* }{filename}}
+\membersection{wxDir::GetName}\label{wxdirgetname}
-Continue enumerating files satisfying the criteria specified by the last call
-to \helpref{GetFirst}{wxdirgetfirst}.
+\constfunc{wxString}{GetName}{\void}
-\membersection{wxDir::Traverse}\label{wxdirtraverse}
+Returns the name of the directory itself. The returned string does not have the
+trailing path separator (slash or backslash).
-\func{size\_t}{Traverse}{\param{wxDirTraverser& }{sink}, \param{const wxString& }{filespec = wxEmptyString}, \param{int }{flags = wxDIR\_DEFAULT}}
-Enumerate all files and directories under the given directory recursively
-calling the element of the provided \helpref{wxDirTraverser}{wxdirtraverser}
-object for each of them.
-
-More precisely, the function will really recurse into subdirectories if
-{\it flags} contains {\tt wxDIR\_DIRS} flag. It will ignore the files (but
-still possibly recurse into subdirectories) if {\tt wxDIR\_FILES} flag is
-given.
+\membersection{wxDir::GetNext}\label{wxdirgetnext}
-For each found directory, \helpref{sink.OnDir()}{wxdirtraverserondir} is called
-and \helpref{sink.OnFile()}{wxdirtraverseronfile} is called for every file.
-Depending on the return value, the enumeration may continue or stop.
+\constfunc{bool}{GetNext}{\param{wxString* }{filename}}
-The function returns the total number of files found or {\tt (size\_t)-1} on
-error.
+Continue enumerating files satisfying the criteria specified by the last call
+to \helpref{GetFirst}{wxdirgetfirst}.
-See also: \helpref{GetAllFiles}{wxdirgetallfiles}
-\membersection{wxDir::GetAllFiles}\label{wxdirgetallfiles}
+\membersection{wxDir::HasFiles}\label{wxdirhasfiles}
-\func{static size\_t}{GetAllFiles}{\param{const wxString& }{dirname}, \param{wxArrayString *}{files}, \param{const wxString& }{filespec = wxEmptyString}, \param{int }{flags = wxDIR\_DEFAULT}}
+\func{bool}{HasFiles}{\param{const wxString\& }{filespec = wxEmptyString}}
-The function appends the names of all the files under directory {\it dirname}
-to the array {\it files} (note that its old contents is preserved). Only files
-matching the {\it filespec} are taken, with empty spec matching all the files.
+Returns {\tt true} if the directory contains any files matching the given
+{\it filespec}. If {\it filespec} is empty, look for any files at all. In any
+case, even hidden files are taken into account.
-The {\it flags} parameter should always include {\tt wxDIR\_FILES} or the array
-would be unchanged and should include {\tt wxDIR\_DIRS} flag to recurse into
-subdirectories (both flags are included in the value by default).
-See also: \helpref{Traverse}{wxdirtraverse}
+\membersection{wxDir::HasSubDirs}\label{wxdirhassubdirs}
-\section{\class{wxDirTraverser}}\label{wxdirtraverser}
+\func{bool}{HasSubDirs}{\param{const wxString\& }{dirspec = wxEmptyString}}
-wxDirTraverser is an abstract interface which must be implemented by objects
-passed to \helpref{Traverse}{wxdirtraverse} function.
+Returns {\tt true} if the directory contains any subdirectories (if a non
+empty {\it filespec} is given, only check for directories matching it).
+The hidden subdirectories are taken into account as well.
-Example of use (this works almost like \helpref{GetAllFiles}{wxdirgetallfiles}):
-\begin{verbatim}
- class wxDirTraverserSimple : public wxDirTraverser
- {
- public:
- wxDirTraverserSimple(wxArrayString& files) : m_files(files) { }
-
- virtual wxDirTraverseResult OnFile(const wxString& filename)
- {
- m_files.Add(filename);
- return wxDIR_CONTINUE;
- }
-
- virtual wxDirTraverseResult OnDir(const wxString& WXUNUSED(dirname))
- {
- return wxDIR_CONTINUE;
- }
-
- private:
- wxArrayString& m_files;
- };
-
- // get the names of all files in the array
- wxArrayString files;
- wxDirTraverserSimple traverser(files);
-
- wxDir dir(dirname);
- dir.Traverse(traverser);
-\end{verbatim}
+\membersection{wxDir::IsOpened}\label{wxdirisopened}
-\wxheading{Derived from}
+\constfunc{bool}{IsOpened}{\void}
-No base class
+Returns true if the directory was successfully opened by a previous call to
+\helpref{Open}{wxdiropen}.
-\wxheading{Constants}
-The elements of {\tt wxDirTraverseResult} are the possible return values of the
-callback functions:
+\membersection{wxDir::Open}\label{wxdiropen}
-{\small
-\begin{verbatim}
-enum wxDirTraverseResult
-{
- wxDIR_IGNORE = -1, // ignore this directory but continue with others
- wxDIR_STOP, // stop traversing
- wxDIR_CONTINUE // continue into this directory
-};
-\end{verbatim}
-}
+\func{bool}{Open}{\param{const wxString\& }{dir}}
-\wxheading{Include files}
+Open the directory for enumerating, returns true on success or false if an
+error occurred.
-<wx/dir.h>
-\latexignore{\rtfignore{\wxheading{Members}}}
+\membersection{wxDir::Traverse}\label{wxdirtraverse}
-\membersection{wxDirTraverser::OnFile}\label{wxdirtraverseronfile}
+\func{size\_t}{Traverse}{\param{wxDirTraverser\& }{sink}, \param{const wxString\& }{filespec = wxEmptyString}, \param{int }{flags = wxDIR\_DEFAULT}}
-\func{virtual wxDirTraverseResult}{OnFile}{\param{const wxString& }{filename}}
+Enumerate all files and directories under the given directory recursively
+calling the element of the provided \helpref{wxDirTraverser}{wxdirtraverser}
+object for each of them.
-This function is called for each file. It may return {\tt wxDIR\_STOP} to abort
-traversing (for example, if the file being searched is found) or
-{\tt wxDIR\_CONTINUE} to proceed.
+More precisely, the function will really recurse into subdirectories if
+{\it flags} contains {\tt wxDIR\_DIRS} flag. It will ignore the files (but
+still possibly recurse into subdirectories) if {\tt wxDIR\_FILES} flag is
+given.
-\membersection{wxDirTraverser::OnDir}\label{wxdirtraverserondir}
+For each found directory, \helpref{sink.OnDir()}{wxdirtraverserondir} is called
+and \helpref{sink.OnFile()}{wxdirtraverseronfile} is called for every file.
+Depending on the return value, the enumeration may continue or stop.
-\func{virtual wxDirTraverseResult}{OnDir}{\param{const wxString& }{dirname}}
+The function returns the total number of files found or {\tt (size\_t)-1} on
+error.
-This function is called for each directory. It may return {\tt wxSIR\_STOP}
-to abort traversing completely, {\tt wxDIR\_IGNORE} to skip this directory but
-continue with others or {\tt wxDIR\_CONTINUE} to enumerate all files and
-subdirectories in this directory.
+See also: \helpref{GetAllFiles}{wxdirgetallfiles}