32#include <wx/filedlg.h>
34#include <wx/translation.h>
38 const std::vector<std::string>& aReference,
bool aCaseSensitive )
41 std::string regexString =
"(";
44 for(
const std::string& ext : aReference )
58 std::regex extRegex( regexString, aCaseSensitive ? std::regex::ECMAScript : std::regex::icase );
59 return std::regex_match( aExtension, extRegex );
66#if defined( __WXGTK__ )
68 for(
const auto& ch : aWildcard )
71 wc += wxString::Format(
"[%c%c]", wxTolower( ch ), wxToupper( ch ) );
87 if( aExts.size() == 0 )
91 filter << wxS(
" (" ) << wxFileSelectorDefaultWildcardStr << wxS(
")|" )
92 << wxFileSelectorDefaultWildcardStr;
96 wxString files_filter = wxS(
" (" );
99 for(
const std::string& ext : aExts )
101 if( files_filter.length() > 2 )
102 files_filter << wxS(
"; " );
104 files_filter <<
"*." << ext;
107 files_filter << wxS(
")|*." );
112 for(
const std::string& ext : aExts )
115 files_filter << wxS(
";*." );
205 return gerberRE.Matches( ext );
217 return _(
"KiCad symbol library files" )
230 return _(
"KiCad legacy project files" )
237 return _(
"All KiCad project files" )
244 return _(
"All KiCad schematic files" )
251 return _(
"KiCad legacy schematic files" )
258 return _(
"KiCad s-expression schematic files" )
277 return _(
"OrcadPCB2 netlist files" )
290 return _(
"Allegro netlist files" )
309 return _(
"KiCad printed circuit board files" )
322 return _(
"KiCad footprint library paths" )
329 return _(
"Drawing sheet files" )
337 return _(
"KiCad symbol footprint link files" )
345 return _(
"Drill files" )
478 return _(
"Specctra DSN file" )
485 return _(
"Specctra Session file" )
492 return _(
"IPC-D-356 Test Files" )
499 return _(
"Workbook file" )
const std::string KiCadFootprintLibPathExtension
const std::string SpiceFileExtension
const std::string DatabaseLibraryFileExtension
const std::string LegacyPcbFileExtension
const std::string EagleFootprintLibPathExtension
const std::string CadstarPcbFileExtension
const std::string SpecctraDsnFileExtension
const std::string CadstarNetlistFileExtension
const std::string PdfFileExtension
const std::string StepFileExtension
const std::string AltiumFootprintLibPathExtension
const std::string BackupFileSuffix
const std::string KiCadSymbolLibFileExtension
const std::string LegacySchematicFileExtension
const std::string SpecctraSessionFileExtension
const std::string FootprintAssignmentFileExtension
wxString AddFileExtListToFilter(const std::vector< std::string > &aExts)
Build the wildcard extension file dialog wildcard filter to add to the base message dialog.
const std::string WorkbookFileExtension
wxString formatWildcardExt(const wxString &aWildcard)
Format wildcard extension to support case sensitive file dialogs.
const std::string FootprintPlaceFileExtension
const std::string GerberJobFileExtension
const std::string LegacySymbolDocumentFileExtension
const std::string DrillFileExtension
const std::string LockFilePrefix
const std::string HotkeyFileExtension
const std::string JpegFileExtension
const wxString GerberFileExtensionsRegex
const std::string KiCadFootprintFileExtension
const std::string LegacyProjectFileExtension
const std::string MarkdownFileExtension
const std::string KiCadPcbFileExtension
bool IsGerberFileExtension(const wxString &ext)
const std::string LegacyFootprintLibPathExtension
const std::string ProjectLocalSettingsFileExtension
const std::string SVGFileExtension
const std::string TextFileExtension
const std::string StepFileAbrvExtension
const std::string ProjectFileExtension
const std::string CsvFileExtension
const std::string MacrosFileExtension
const std::string NetlistFileExtension
const std::string CadstarPartsLibraryFileExtension
const std::string OrCadPcb2NetlistFileExtension
const std::string EaglePcbFileExtension
const std::string DesignRulesFileExtension
bool compareFileExtensions(const std::string &aExtension, const std::vector< std::string > &aReference, bool aCaseSensitive)
Compare the given extension against the reference extensions to see if it matches any of the referenc...
const std::string AllegroNetlistFileExtension
const std::string HtmlFileExtension
const std::string XmlFileExtension
const std::string LockFileExtension
const std::string VrmlFileExtension
const std::string CadstarSchematicFileExtension
const std::string GltfBinaryFileExtension
const std::string PngFileExtension
const std::string IpcD356FileExtension
const std::string JsonFileExtension
const std::string EquFileExtension
const std::string GedaPcbFootprintLibFileExtension
const std::string KiCadSchematicFileExtension
const std::string ReportFileExtension
const std::string HTTPLibraryFileExtension
const std::string DrawingSheetFileExtension
const std::string GerberFileExtension
const std::string ArchiveFileExtension
const std::string SchematicSymbolFileExtension
const std::string LegacySymbolLibFileExtension
wxString KiCadSchematicFileWildcard()
wxString IDF3DFileWildcard()
wxString NetlistFileWildcard()
wxString SpecctraDsnFileWildcard()
wxString ErcFileWildcard()
wxString DxfFileWildcard()
wxString AllProjectFilesWildcard()
wxString IpcD356FileWildcard()
wxString LegacyProjectFileWildcard()
wxString EasyEdaProFileWildcard()
wxString ProjectFileWildcard()
wxString SpiceLibraryFileWildcard()
wxString KiCadFootprintLibPathWildcard()
wxString FootprintPlaceFileWildcard()
wxString EasyEdaArchiveWildcard()
wxString TextFileWildcard()
wxString DrillFileWildcard()
wxString EagleFilesWildcard()
wxString SVGFileWildcard()
wxString SpecctraSessionFileWildcard()
wxString EquFileWildcard()
wxString ReportFileWildcard()
wxString LegacySchematicFileWildcard()
wxString Shapes3DFileWildcard()
wxString FootprintAssignmentFileWildcard()
wxString PdfFileWildcard()
wxString WorkbookFileWildcard()
wxString ModLegacyExportFileWildcard()
wxString OrCadPcb2NetlistFileWildcard()
wxString CadstarNetlistFileWildcard()
wxString KiCadFootprintLibFileWildcard()
wxString PngFileWildcard()
wxString DrawingSheetFileWildcard()
wxString HtmlFileWildcard()
wxString AllSchematicFilesWildcard()
wxString PSFileWildcard()
wxString CadstarArchiveFilesWildcard()
wxString HotkeyFileWildcard()
wxString AllFilesWildcard()
wxString SpiceNetlistFileWildcard()
wxString PcbFileWildcard()
wxString JsonFileWildcard()
wxString AllegroNetlistFileWildcard()
wxString GerberJobFileWildcard()
wxString GencadFileWildcard()
wxString KiCadSymbolLibFileWildcard()
wxString ZipFileWildcard()
wxString JpegFileWildcard()
wxString CsvFileWildcard()
const std::string CadstarFootprintLibPathExtension("cpa")
Definition of file extensions used in Kicad.