# wxDirTraverser Class Reference
[File Handling]

`#include <wx/dir.h>`

## Detailed Description

wxDirTraverser is an abstract interface which must be implemented by objects passed to wxDir::Traverse() function.

Example of use (this works almost like wxDir::GetAllFiles()):

        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);

##

Library: wxBase

Category: File Handling

## Public Member Functions
virtual wxDirTraverseResult | OnDir (const wxString &dirname)=0
| This function is called for each directory.
virtual wxDirTraverseResult | OnFile (const wxString &filename)=0
| This function is called for each file.
virtual wxDirTraverseResult | OnOpenError (const wxString &openerrorname)
| This function is called for each directory which we failed to open for enumerating.

List of all members.

## Member Function Documentation

virtual wxDirTraverseResult wxDirTraverser::OnDir | ( | const wxString & | dirname | ) | `[pure virtual]`

This function is called for each directory.

It may return wxDIR_STOP to abort traversing completely, wxDIR_IGNORE to skip this directory but continue with others or wxDIR_CONTINUE to enumerate all files and subdirectories in this directory.

This is a pure virtual function and must be implemented in the derived class.

virtual wxDirTraverseResult wxDirTraverser::OnFile | ( | const wxString & | filename | ) | `[pure virtual]`

This function is called for each file.

It may return wxDIR_STOP to abort traversing (for example, if the file being searched is found) or wxDIR_CONTINUE to proceed.

This is a pure virtual function and must be implemented in the derived class.

virtual wxDirTraverseResult wxDirTraverser::OnOpenError | ( | const wxString & | openerrorname | ) | `[virtual]`

This function is called for each directory which we failed to open for enumerating.

It may return wxDIR_STOP to abort traversing completely, wxDIR_IGNORE to skip this directory but continue with others or wxDIR_CONTINUE to retry opening this directory once again.

The base class version always returns wxDIR_IGNORE.

|  | [ top ]