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, you may find one here:
19 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
20 * or you may search the http://www.gnu.org website for the version 2 license,
21 * or you may write to the Free Software Foundation, Inc.,
22 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
23 */
24
25#pragma once
26
27#include <map>
28#include <kicommon.h>
29#include <wx/arrstr.h>
30#include <wx/dir.h>
31#include <wx/filename.h>
32#include <wx/process.h>
33#include <wx/zipstrm.h>
34
35
39#define UNIX_STRING_DIR_SEP wxT( "/" )
40#define WIN_STRING_DIR_SEP wxT( "\\" )
41
42/* Forward class declarations. */
43class EDA_LIST_DIALOG;
44
45
53KICOMMON_API bool OpenPDF( const wxString& file );
54
60KICOMMON_API void KiCopyFile( const wxString& aSrcPath, const wxString& aDestPath,
61 wxString& aErrors );
62
70KICOMMON_API void CopySexprFile( const wxString& aSrcPath, const wxString& aDestPath,
71 std::function<bool( const std::string& token, wxString& value )> aCallback,
72 wxString& aErrors );
73
84KICOMMON_API int ExecuteFile( const wxString& aEditorName,
85 const wxString& aFileName = wxEmptyString,
86 wxProcess* aCallback = nullptr, bool aFileForKicad = true );
87
93KICOMMON_API void QuoteString( wxString& string );
94
105KICOMMON_API wxString FindKicadFile( const wxString& shortname );
106
117KICOMMON_API extern wxString QuoteFullPath( wxFileName& fn, wxPathFormat format = wxPATH_NATIVE );
118
119
124KICOMMON_API bool RmDirRecursive( const wxString& aDirName, wxString* aErrors = nullptr );
125
133KICOMMON_API bool CopyDirectory( const wxString& aSourceDir, const wxString& aDestDir,
134 const std::vector<wxString>& aOverwriteExclusions, wxString& aErrors );
135
136KICOMMON_API bool CopyFilesOrDirectory( const wxString& aSourceDir, const wxString& aDestDir, bool aAllowOverwrite,
137 wxString& aErrors, std::vector<wxString>& aPathsWritten );
138
147KICOMMON_API bool AddDirectoryToZip( wxZipOutputStream& aZip, const wxString& aSourceDir, wxString& aErrors,
148 const wxString& aParentDir = "" );
149
166KICOMMON_API void CollectFilesLoopSafe( const wxString& aRoot, wxArrayString& aFiles,
167 const wxString& aFileSpec = wxEmptyString,
168 int aFlags = wxDIR_DEFAULT );
169
181KICOMMON_API void CollectSubdirsLoopSafe( const wxString& aRoot, wxArrayString& aDirs,
182 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:509
KICOMMON_API wxString QuoteFullPath(wxFileName &fn, wxPathFormat format=wxPATH_NATIVE)
Quote return value of wxFileName::GetFullPath().
Definition gestfich.cpp:401
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:455
KICOMMON_API void KiCopyFile(const wxString &aSrcPath, const wxString &aDestPath, wxString &aErrors)
Definition gestfich.cpp:311
KICOMMON_API bool OpenPDF(const wxString &file)
Run the PDF viewer and display a PDF file.
Definition gestfich.cpp:275
KICOMMON_API void QuoteString(wxString &string)
Add un " to the start and the end of string (if not already done).
Definition gestfich.cpp:55
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:65
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:831
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:821
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:407
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:338
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:164
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:632
#define KICOMMON_API
Definition kicommon.h:27