KiCad PCB EDA Suite
|
Definition of file extensions used in Kicad. More...
#include <regex>
#include <wildcards_and_files_ext.h>
#include <wx/filedlg.h>
#include <wx/regex.h>
#include <wx/translation.h>
Go to the source code of this file.
Functions | |
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 reference extensions. | |
wxString | formatWildcardExt (const wxString &aWildcard) |
Format wildcard extension to support case sensitive file dialogs. | |
wxString | AddFileExtListToFilter (const std::vector< std::string > &aExts) |
Build the wildcard extension file dialog wildcard filter to add to the base message dialog. | |
Definition of file extensions used in Kicad.
Definition in file wildcards_and_files_ext.cpp.
wxString AddFileExtListToFilter | ( | const std::vector< std::string > & | aExts | ) |
Build the wildcard extension file dialog wildcard filter to add to the base message dialog.
For instance, to open .txt files in a file dialog: the base message is for instance "Text files" the ext list is " (*.txt)|*.txt" and the returned string to add to the base message is " (*.txt)|*.txt" the message to display in the dialog is "Text files (*.txt)|*.txt"
This function produces a case-insensitive filter (so .txt, .TXT and .tXT are all match if you pass "txt" into the function).
aExts | is the list of exts to add to the filter. Do not include the leading dot. Empty means "allow all files". |
Definition at line 85 of file wildcards_and_files_ext.cpp.
References filter, and formatWildcardExt().
Referenced by FILEEXT::AllegroNetlistFileWildcard(), FILEEXT::AllFilesWildcard(), FILEEXT::AllProjectFilesWildcard(), FILEEXT::AllSchematicFilesWildcard(), AskLoadBoardFileName(), BOOST_AUTO_TEST_CASE(), FILEEXT::CadstarArchiveFilesWildcard(), FILEEXT::CadstarNetlistFileWildcard(), FILEEXT::CsvFileWildcard(), FILEEXT::DrawingSheetFileWildcard(), FILEEXT::DrillFileWildcard(), FILEEXT::DxfFileWildcard(), FILEEXT::EagleFilesWildcard(), FILEEXT::EasyEdaArchiveWildcard(), FILEEXT::EasyEdaProFileWildcard(), FILEEXT::EquFileWildcard(), FILEEXT::ErcFileWildcard(), BOARD_EDITOR_CONTROL::ExportNetlist(), IO_BASE::IO_FILE_DESC::FileFilter(), FILEEXT::FootprintAssignmentFileWildcard(), FILEEXT::FootprintPlaceFileWildcard(), FILEEXT::GencadFileWildcard(), PCB_NET_INSPECTOR_PANEL::generateReport(), FILEEXT::GerberJobFileWildcard(), FILEEXT::HotkeyFileWildcard(), FILEEXT::HtmlFileWildcard(), FILEEXT::IDF3DFileWildcard(), FIELDS_GRID_TABLE::initGrid(), FILEEXT::IpcD356FileWildcard(), FILEEXT::JobsetFileWildcard(), FILEEXT::JpegFileWildcard(), FILEEXT::JsonFileWildcard(), FILEEXT::KiCadDesignBlockLibPathWildcard(), FILEEXT::KiCadDesignBlockPathWildcard(), FILEEXT::KiCadFootprintLibFileWildcard(), FILEEXT::KiCadFootprintLibPathWildcard(), FILEEXT::KiCadSchematicFileWildcard(), FILEEXT::KiCadSymbolLibFileWildcard(), FILEEXT::LegacyProjectFileWildcard(), FILEEXT::LegacySchematicFileWildcard(), GERBVIEW_FRAME::LoadGerberFiles(), FILEEXT::ModLegacyExportFileWildcard(), FILEEXT::NetlistFileWildcard(), DIALOG_EXPORT_STEP::onBrowseClicked(), DIALOG_IMPORT_GFX_SCH::onBrowseFiles(), DIALOG_IMPORT_GRAPHICS::onBrowseFiles(), PNS_LOG_VIEWER_FRAME::onOpen(), PNS_LOG_VIEWER_FRAME::onSaveAs(), FILEEXT::OrCadPcb2NetlistFileWildcard(), FILEEXT::PADSNetlistFileWildcard(), FILEEXT::PcbFileWildcard(), FILEEXT::PdfFileWildcard(), FILEEXT::PngFileWildcard(), FILEEXT::ProjectFileWildcard(), FILEEXT::PSFileWildcard(), FILEEXT::ReportFileWildcard(), ROUTER_TOOL::saveRouterDebugLog(), FILEEXT::Shapes3DFileWildcard(), FILEEXT::SpecctraDsnFileWildcard(), FILEEXT::SpecctraSessionFileWildcard(), FILEEXT::SpiceLibraryFileWildcard(), FILEEXT::SpiceNetlistFileWildcard(), FILEEXT::SVGFileWildcard(), FILEEXT::TextFileWildcard(), FILEEXT::WorkbookFileWildcard(), and FILEEXT::ZipFileWildcard().
bool compareFileExtensions | ( | const std::string & | aExtension, |
const std::vector< std::string > & | aReference, | ||
bool | aCaseSensitive = false |
||
) |
Compare the given extension against the reference extensions to see if it matches any of the reference extensions.
This function uses the C++ regular expression functionality to perform the comparison, so the reference extensions can be regular expressions of their own right. This means that partial searches can be made, for example ^g.* can be used to see if the first character of the extension is g. The reference extensions are concatenated together as alternatives when doing the evaluation (e.g. (dxf|svg|^g.*) ).
aExtension | is the extension to test |
aReference | is a vector containing the extensions to test against |
aCaseSensitive | says if the comparison should be case sensitive or not |
Definition at line 37 of file wildcards_and_files_ext.cpp.
Referenced by BOOST_AUTO_TEST_CASE(), and GRAPHICS_IMPORT_MGR::GetPluginByExt().
wxString formatWildcardExt | ( | const wxString & | aWildcard | ) |
Format wildcard extension to support case sensitive file dialogs.
The file extension wildcards of the GTK+ file dialog are case sensitive so using all lower case characters means that only file extensions that are all lower case will show up in the file dialog. The GTK+ file dialog does support regular expressions so the file extension is converted to a regular expression ( sch -> [sS][cC][hH] ) when wxWidgets is built against GTK+. Please make sure you call this function when adding new file wildcards.
aWildcard | is the extension part of the wild card. |
Definition at line 63 of file wildcards_and_files_ext.cpp.
Referenced by AddFileExtListToFilter(), AskLoadBoardFileName(), PANEL_SYM_LIB_TABLE::browseLibrariesHandler(), GRAPHICS_IMPORT_PLUGIN::GetWildcards(), FOOTPRINT_EDIT_FRAME::ImportFootprint(), SYMBOL_EDIT_FRAME::ImportSymbol(), and SCH_EDIT_FRAME::OnImportProject().