wxDirTraverserwxDirTraverser is an abstract interface which must be implemented by objects passed to Traverse function. Example of use (this works almost like 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);Derived from No base class Constants The elements of wxDirTraverseResult are the possible return values of the callback functions:
Include files <wx/dir.h> Members
wxDirTraverser::OnDir
wxDirTraverser::OnDirvirtual wxDirTraverseResult OnDir(const wxString& dirname) This function is called for each directory. It may return wxSIR_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.
wxDirTraverser::OnFilevirtual wxDirTraverseResult OnFile(const wxString& filename) 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.
wxDirTraverser::OnOpenErrorvirtual wxDirTraverseResult OnOpenError(const wxString& openerrorname) This function is called for each directory which we failed to open for enumerating. It may return wxSIR_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.
|