KiCad PCB EDA Suite
Loading...
Searching...
No Matches
gestfich.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 (C) 2009-2014 Jerry Jacobs
5 * Copyright The KiCad Developers, see AUTHORS.TXT for contributors.
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version 2
10 * of the License, or (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <https://www.gnu.org/licenses/>.
19 */
20
21#pragma once
22
23#include <map>
24#include <kicommon.h>
25#include <wx/arrstr.h>
26#include <wx/dir.h>
27#include <wx/filename.h>
28#include <wx/process.h>
29#include <wx/zipstrm.h>
30
31
35#define UNIX_STRING_DIR_SEP wxT( "/" )
36#define WIN_STRING_DIR_SEP wxT( "\\" )
37
38/* Forward class declarations. */
39class EDA_LIST_DIALOG;
40
41
49KICOMMON_API bool OpenPDF( const wxString& file );
50
56KICOMMON_API void KiCopyFile( const wxString& aSrcPath, const wxString& aDestPath,
57 wxString& aErrors );
58
66KICOMMON_API void CopySexprFile( const wxString& aSrcPath, const wxString& aDestPath,
67 std::function<bool( const std::string& token, wxString& value )> aCallback,
68 wxString& aErrors );
69
80KICOMMON_API int ExecuteFile( const wxString& aEditorName,
81 const wxString& aFileName = wxEmptyString,
82 wxProcess* aCallback = nullptr, bool aFileForKicad = true );
83
89KICOMMON_API void QuoteString( wxString& string );
90
101KICOMMON_API wxString FindKicadFile( const wxString& shortname );
102
113KICOMMON_API extern wxString QuoteFullPath( wxFileName& fn, wxPathFormat format = wxPATH_NATIVE );
114
115
120KICOMMON_API bool RmDirRecursive( const wxString& aDirName, wxString* aErrors = nullptr );
121
129KICOMMON_API bool CopyDirectory( const wxString& aSourceDir, const wxString& aDestDir,
130 const std::vector<wxString>& aOverwriteExclusions, wxString& aErrors );
131
132KICOMMON_API bool CopyFilesOrDirectory( const wxString& aSourceDir, const wxString& aDestDir, bool aAllowOverwrite,
133 wxString& aErrors, std::vector<wxString>& aPathsWritten );
134
143KICOMMON_API bool AddDirectoryToZip( wxZipOutputStream& aZip, const wxString& aSourceDir, wxString& aErrors,
144 const wxString& aParentDir = "" );
145
162KICOMMON_API void CollectFilesLoopSafe( const wxString& aRoot, wxArrayString& aFiles,
163 const wxString& aFileSpec = wxEmptyString,
164 int aFlags = wxDIR_DEFAULT );
165
177KICOMMON_API void CollectSubdirsLoopSafe( const wxString& aRoot, wxArrayString& aDirs,
178 int aFlags = wxDIR_DIRS );
A dialog which shows:
KICOMMON_API bool CopyFilesOrDirectory(const wxString &aSourceDir, const wxString &aDestDir, bool aAllowOverwrite, wxString &aErrors, std::vector< wxString > &aPathsWritten)
Definition gestfich.cpp:505
KICOMMON_API wxString QuoteFullPath(wxFileName &fn, wxPathFormat format=wxPATH_NATIVE)
Quote return value of wxFileName::GetFullPath().
Definition gestfich.cpp:397
KICOMMON_API bool CopyDirectory(const wxString &aSourceDir, const wxString &aDestDir, const std::vector< wxString > &aOverwriteExclusions, wxString &aErrors)
Copy a directory and its contents to another directory.
Definition gestfich.cpp:451
KICOMMON_API void KiCopyFile(const wxString &aSrcPath, const wxString &aDestPath, wxString &aErrors)
Definition gestfich.cpp:307
KICOMMON_API bool OpenPDF(const wxString &file)
Run the PDF viewer and display a PDF file.
Definition gestfich.cpp:271
KICOMMON_API void QuoteString(wxString &string)
Add un " to the start and the end of string (if not already done).
Definition gestfich.cpp:51
KICOMMON_API wxString FindKicadFile(const wxString &shortname)
Search the executable file shortname in KiCad binary path and return full file name if found or short...
Definition gestfich.cpp:61
KICOMMON_API void CollectSubdirsLoopSafe(const wxString &aRoot, wxArrayString &aDirs, int aFlags=wxDIR_DIRS)
Recursively collect every subdirectory under aRoot using the same loop detection as CollectFilesLoopS...
Definition gestfich.cpp:827
KICOMMON_API void CollectFilesLoopSafe(const wxString &aRoot, wxArrayString &aFiles, const wxString &aFileSpec=wxEmptyString, int aFlags=wxDIR_DEFAULT)
Recursively collect every file under aRoot, deduplicating subdirectories by their resolved path.
Definition gestfich.cpp:817
KICOMMON_API bool RmDirRecursive(const wxString &aDirName, wxString *aErrors=nullptr)
Remove the directory aDirName and all its contents including subdirectories and their files.
Definition gestfich.cpp:403
KICOMMON_API void CopySexprFile(const wxString &aSrcPath, const wxString &aDestPath, std::function< bool(const std::string &token, wxString &value)> aCallback, wxString &aErrors)
Definition gestfich.cpp:334
KICOMMON_API int ExecuteFile(const wxString &aEditorName, const wxString &aFileName=wxEmptyString, wxProcess *aCallback=nullptr, bool aFileForKicad=true)
Call the executable file aEditorName with the parameter aFileName.
Definition gestfich.cpp:160
KICOMMON_API bool AddDirectoryToZip(wxZipOutputStream &aZip, const wxString &aSourceDir, wxString &aErrors, const wxString &aParentDir="")
Add a directory and its contents to a zip file.
Definition gestfich.cpp:628
#define KICOMMON_API
Definition kicommon.h:27