KiCad PCB EDA Suite
Loading...
Searching...
No Matches
project_tree_traverser.h
Go to the documentation of this file.
1/*
2 * This program source code file is part of KiCad, a free EDA CAD application.
3 *
4 * Copyright The KiCad Developers, see AUTHORS.txt for contributors.
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version 2
9 * of the License, or (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <https://www.gnu.org/licenses/>.
18 */
19
20#ifndef PROJECT_TREE_TRAVERSER_H
21#define PROJECT_TREE_TRAVERSER_H
22
23#include <wx/dir.h>
24#include <wx/filename.h>
25#include <wx/string.h>
26
28
36class PROJECT_TREE_TRAVERSER : public wxDirTraverser
37{
38public:
40 const wxString& aSrcProjectDirPath,
41 const wxString& aSrcProjectName,
42 const wxString& aNewProjectDirPath,
43 const wxString& aNewProjectName );
44
45 virtual wxDirTraverseResult OnFile( const wxString& aSrcFilePath ) override;
46 virtual wxDirTraverseResult OnDir( const wxString& aSrcDirPath ) override;
47
48 wxString GetErrors() const { return m_errors; }
49 wxFileName GetNewProjectFile() const { return m_newProjectFile; }
50
51private:
52 KICAD_MANAGER_FRAME* m_frame; // nullptr for simple copy mode (templates)
53
55 wxString m_projectName;
58
59 wxFileName m_newProjectFile;
60 wxString m_errors;
61};
62
63#endif // PROJECT_TREE_TRAVERSER_H
The main KiCad project manager frame.
KICAD_MANAGER_FRAME * m_frame
wxFileName GetNewProjectFile() const
virtual wxDirTraverseResult OnFile(const wxString &aSrcFilePath) override
PROJECT_TREE_TRAVERSER(KICAD_MANAGER_FRAME *aFrame, const wxString &aSrcProjectDirPath, const wxString &aSrcProjectName, const wxString &aNewProjectDirPath, const wxString &aNewProjectName)
virtual wxDirTraverseResult OnDir(const wxString &aSrcDirPath) override