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 )
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(
";*." );
195 return gerberRE.Matches( ext );
213 return _(
"KiCad symbol library files" )
226 return _(
"KiCad database library files" )
233 return _(
"All KiCad symbol library files" )
248 return _(
"KiCad legacy project files" )
255 return _(
"All KiCad project files" )
262 return _(
"All KiCad schematic files" )
269 return _(
"KiCad legacy schematic files" )
276 return _(
"KiCad s-expression schematic files" )
313 return _(
"OrcadPCB2 netlist files" )
367 return _(
"KiCad printed circuit board files" ) +
374 return _(
"KiCad footprint files" )
381 return _(
"KiCad footprint library paths" )
412 return _(
"Drawing sheet files" )
420 return _(
"KiCad symbol footprint link files" )
428 return _(
"Drill files" )
555 return _(
"Specctra DSN file" )
562 return _(
"Specctra Session file" )
569 return _(
"IPC-D-356 Test Files" )
576 return _(
"Workbook file" )
wxString AddFileExtListToFilter(const std::vector< std::string > &aExts)
Build the wildcard extension file dialog wildcard filter to add to the base message dialog.
wxString formatWildcardExt(const wxString &aWildcard)
Format wildcard extension to support case sensitive file dialogs.
bool IsGerberFileExtension(const wxString &ext)
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...
wxString KiCadSchematicFileWildcard()
wxString IDF3DFileWildcard()
wxString NetlistFileWildcard()
wxString SpecctraDsnFileWildcard()
wxString EagleFootprintLibPathWildcard()
wxString DatabaseLibFileWildcard()
wxString ErcFileWildcard()
wxString DxfFileWildcard()
wxString AllProjectFilesWildcard()
wxString IpcD356FileWildcard()
wxString LegacyProjectFileWildcard()
wxString ProjectFileWildcard()
wxString SpiceLibraryFileWildcard()
wxString KiCadFootprintLibPathWildcard()
wxString LegacyPcbFileWildcard()
wxString SchematicSymbolFileWildcard()
wxString FootprintPlaceFileWildcard()
wxString TextFileWildcard()
wxString LegacySymbolLibFileWildcard()
wxString DrillFileWildcard()
wxString AltiumFootprintLibPathWildcard()
wxString EagleFilesWildcard()
wxString SVGFileWildcard()
wxString CadstarPcbArchiveFileWildcard()
wxString SpecctraSessionFileWildcard()
wxString EquFileWildcard()
wxString ReportFileWildcard()
wxString LegacySchematicFileWildcard()
wxString Shapes3DFileWildcard()
wxString FootprintAssignmentFileWildcard()
wxString AltiumDesignerPcbFileWildcard()
wxString PCadPcbFileWildcard()
wxString PdfFileWildcard()
wxString WorkbookFileWildcard()
wxString ModLegacyExportFileWildcard()
wxString OrCadPcb2NetlistFileWildcard()
wxString EaglePcbFileWildcard()
wxString FabmasterPcbFileWildcard()
wxString AltiumCircuitMakerPcbFileWildcard()
wxString CadstarNetlistFileWildcard()
wxString KiCadFootprintLibFileWildcard()
wxString PngFileWildcard()
wxString CadstarSchematicArchiveFileWildcard()
wxString DrawingSheetFileWildcard()
wxString HtmlFileWildcard()
wxString AllSchematicFilesWildcard()
wxString AltiumSchematicFileWildcard()
wxString LegacyFootprintLibPathWildcard()
wxString AltiumCircuitStudioPcbFileWildcard()
wxString PSFileWildcard()
wxString CadstarArchiveFilesWildcard()
wxString HotkeyFileWildcard()
wxString AllFilesWildcard()
wxString SpiceNetlistFileWildcard()
wxString PcbFileWildcard()
wxString GedaPcbFootprintLibFileWildcard()
wxString GerberJobFileWildcard()
wxString GencadFileWildcard()
wxString EagleSchematicFileWildcard()
wxString KiCadSymbolLibFileWildcard()
wxString ZipFileWildcard()
wxString AllSymbolLibFilesWildcard()
wxString JpegFileWildcard()
wxString CsvFileWildcard()
void Format(OUTPUTFORMATTER *out, int aNestLevel, int aCtl, const CPTREE &aTree)
Output a PTREE into s-expression format via an OUTPUTFORMATTER derivative.
const std::string SpecctraSessionFileExtension("ses")
const std::string TextFileExtension("txt")
const std::string JpegFileExtension("jpg")
const std::string DatabaseLibraryFileExtension("kicad_dbl")
const std::string ProjectFileExtension("kicad_pro")
const std::string KiCadSymbolLibFileExtension("kicad_sym")
const std::string OrCadPcb2NetlistFileExtension("net")
const std::string PdfFileExtension("pdf")
const std::string ReportFileExtension("rpt")
const std::string CadstarPcbFileExtension("cpa")
const std::string WorkbookFileExtension("wbk")
const wxString GerberFileExtensionsRegex("(gbr|gko|pho|(g[tb][alops])|(gm?\\d\\d*)|(gp[tb]))")
const std::string GedaPcbFootprintLibFileExtension("fp")
const std::string HtmlFileExtension("html")
const std::string SpecctraDsnFileExtension("dsn")
const std::string EaglePcbFileExtension("brd")
const std::string KiCadSchematicFileExtension("kicad_sch")
const std::string GerberJobFileExtension("gbrjob")
const std::string KiCadPcbFileExtension("kicad_pcb")
const std::string EagleSchematicFileExtension("sch")
const std::string MarkdownFileExtension("md")
const std::string CsvFileExtension("csv")
const std::string SchematicSymbolFileExtension("sym")
const std::string IpcD356FileExtension("d356")
const std::string BackupFileSuffix("-bak")
const std::string HotkeyFileExtension("hotkeys")
const std::string VrmlFileExtension("wrl")
const std::string ProjectLocalSettingsFileExtension("kicad_prl")
const std::string AltiumFootprintLibPathExtension("PcbLib")
const std::string FootprintPlaceFileExtension("pos")
const std::string NetlistFileExtension("net")
const std::string ArchiveFileExtension("zip")
const std::string EquFileExtension("equ")
const std::string GerberFileExtension("gbr")
const std::string LegacySchematicFileExtension("sch")
const std::string PngFileExtension("png")
const std::string SpiceFileExtension("cir")
const std::string LegacySymbolLibFileExtension("lib")
const std::string KiCadFootprintLibPathExtension("pretty")
const std::string CadstarNetlistFileExtension("frp")
const std::string DrillFileExtension("drl")
const std::string KiCadFootprintFileExtension("kicad_mod")
const std::string DrawingSheetFileExtension("kicad_wks")
const std::string CadstarSchematicFileExtension("csa")
const std::string XmlFileExtension("xml")
const std::string DesignRulesFileExtension("kicad_dru")
const std::string LegacySymbolDocumentFileExtension("dcm")
const std::string EagleFootprintLibPathExtension("lbr")
const std::string FootprintAssignmentFileExtension("cmp")
const std::string SVGFileExtension("svg")
const std::string LegacyPcbFileExtension("brd")
const std::string MacrosFileExtension("mcr")
const std::string LegacyFootprintLibPathExtension("mod")
const std::string LegacyProjectFileExtension("pro")
Definition of file extensions used in Kicad.