KiCad PCB EDA Suite
|
The common library. More...
#include <kicommon.h>
#include <functional>
#include <memory>
#include <wx/fileconf.h>
#include <wx/string.h>
#include <wx/process.h>
Go to the source code of this file.
Functions | |
KICOMMON_API wxString | SearchHelpFileFullPath (const wxString &aBaseName) |
Return the help file's full path. | |
KICOMMON_API bool | EnsureFileDirectoryExists (wxFileName *aTargetFullFileName, const wxString &aBaseFilename, REPORTER *aReporter=nullptr) |
Make aTargetFullFileName absolute and create the path of this file if it doesn't yet exist. | |
KICOMMON_API wxString | EnsureFileExtension (const wxString &aFilename, const wxString &aExtension) |
It's annoying to throw up nag dialogs when the extension isn't right. | |
KICOMMON_API const wxString | ExpandEnvVarSubstitutions (const wxString &aString, const PROJECT *aProject) |
Replace any environment variable & text variable references with their values. | |
KICOMMON_API wxString | ExpandTextVars (const wxString &aSource, const std::function< bool(wxString *)> *aResolver) |
Expand '${var-name}' templates in text. | |
KICOMMON_API wxString | ExpandTextVars (const wxString &aSource, const PROJECT *aProject) |
KICOMMON_API wxString | GetTextVars (const wxString &aSource) |
Returns any variables unexpanded, e.g. | |
KICOMMON_API bool | IsTextVar (const wxString &aSource) |
Returns true if the string is a text var, e.g starts with ${. | |
KICOMMON_API const wxString | ResolveUriByEnvVars (const wxString &aUri, const PROJECT *aProject) |
Replace any environment and/or text variables in URIs. | |
KICOMMON_API long long | TimestampDir (const wxString &aDirPath, const wxString &aFilespec) |
A copy of ConvertFileTimeToWx() because wxWidgets left it as a static function private to src/common/filename.cpp. | |
KICOMMON_API bool | WarnUserIfOperatingSystemUnsupported () |
Checks if the operating system is explicitly unsupported and displays a disclaimer message box. | |
The common library.
Definition in file common.h.
KICOMMON_API bool EnsureFileDirectoryExists | ( | wxFileName * | aTargetFullFileName, |
const wxString & | aBaseFilename, | ||
REPORTER * | aReporter = nullptr |
||
) |
Make aTargetFullFileName absolute and create the path of this file if it doesn't yet exist.
aTargetFullFileName | the wxFileName containing the full path and file name to modify. The path may be absolute or relative to aBaseFilename . |
aBaseFilename | a full filename. Only its path is used to set the aTargetFullFileName path. |
aReporter | a point to a REPORTER object use to show messages (can be NULL) |
Definition at line 369 of file common.cpp.
References _, REPORTER::Report(), RPT_SEVERITY_ERROR, and RPT_SEVERITY_INFO.
Referenced by DIALOG_GEN_FOOTPRINT_POSITION::CreateAsciiFiles(), DIALOG_GEN_FOOTPRINT_POSITION::CreateGerberFiles(), SCH_PLOTTER::createPlotFileName(), DIALOG_EXPORT_SVG::ExportSVGFile(), DIALOG_GENDRILL::GenDrillAndMapFiles(), DIALOG_SYMBOL_FIELDS_TABLE::OnExport(), PLOT_CONTROLLER::OpenPlotfile(), and DIALOG_PLOT::Plot().
KICOMMON_API wxString EnsureFileExtension | ( | const wxString & | aFilename, |
const wxString & | aExtension | ||
) |
It's annoying to throw up nag dialogs when the extension isn't right.
Just fix it.
Definition at line 422 of file common.cpp.
Referenced by AskSaveBoardFileName(), SCH_EDIT_FRAME::createNewDesignBlockLibrary(), PCB_BASE_EDIT_FRAME::createNewLibrary(), BITMAP2CMP_FRAME::ExportEeschemaFormat(), FOOTPRINT_EDIT_FRAME::ExportFootprint(), BITMAP2CMP_FRAME::ExportPcbnewFormat(), GERBVIEW_CONTROL::ExportToPcbnew(), SCH_EDIT_FRAME::NewProject(), PNS_LOG_VIEWER_FRAME::onSaveAs(), DIALOG_SHEET_PROPERTIES::onSheetFilenameChanged(), SCH_EDITOR_CONTROL::SaveCurrSheetCopyAs(), PCB_EDIT_FRAME::SavePcbCopy(), SCH_EDIT_FRAME::SaveProject(), FIELDS_GRID_TABLE::SetValue(), DIALOG_FIELD_PROPERTIES::TransferDataFromWindow(), and DIALOG_SHEET_PROPERTIES::TransferDataFromWindow().
KICOMMON_API const wxString ExpandEnvVarSubstitutions | ( | const wxString & | aString, |
const PROJECT * | aProject | ||
) |
Replace any environment variable & text variable references with their values.
aString | a string containing (perhaps) references to env var |
Definition at line 348 of file common.cpp.
References KIwxExpandEnvVars().
Referenced by FILENAME_RESOLVER::addPath(), FILENAME_RESOLVER::checkEnvVarPath(), S3D_PLUGIN_MANAGER::checkPluginName(), DIALOG_GEN_FOOTPRINT_POSITION::CreateAsciiFiles(), DIALOG_GEN_FOOTPRINT_POSITION::CreateGerberFiles(), FILENAME_RESOLVER::createPathList(), DIALOG_EXPORT_SVG::ExportSVGFile(), DIALOG_GENDRILL::GenDrillAndMapFiles(), LIB_TABLE_ROW::GetFullURI(), DIALOG_PLOT_SCHEMATIC::getOutputPath(), DIALOG_EXPORT_STEP::onBrowseClicked(), DIALOG_EXPORT_2581::onBrowseClicked(), DIALOG_EXPORT_ODBPP::onBrowseClicked(), TEXT_BUTTON_FILE_BROWSER::OnButtonClick(), PANEL_SYM_LIB_TABLE::onConvertLegacyLibraries(), DIALOG_SYMBOL_FIELDS_TABLE::OnExport(), DIALOG_EXPORT_STEP::onExportButton(), DIALOG_GENDRILL::OnGenReportFile(), PANEL_DESIGN_BLOCK_LIB_TABLE::onMigrateLibraries(), PANEL_FP_LIB_TABLE::onMigrateLibraries(), DIALOG_PLOT::onOpenOutputDirectory(), DIALOG_PLOT_SCHEMATIC::OnOutputDirectoryBrowseClicked(), DIALOG_EXPORT_SVG::OnOutputDirectoryBrowseClicked(), DIALOG_GEN_FOOTPRINT_POSITION::OnOutputDirectoryBrowseClicked(), DIALOG_GENDRILL::OnOutputDirectoryBrowseClicked(), DIALOG_PLOT::OnOutputDirectoryBrowseClicked(), DIALOG_SYMBOL_FIELDS_TABLE::OnOutputFileBrowseClicked(), DIALOG_PAGES_SETTINGS::OnWksFileSelection(), PLOT_CONTROLLER::OpenPlotfile(), DIALOG_PLOT::Plot(), SIM_LIB_MGR::ResolveLibraryPath(), FILENAME_RESOLVER::ResolvePath(), ResolveUriByEnvVars(), S3D_CACHE::Set3DConfigDir(), FILENAME_RESOLVER::Set3DConfigDir(), FILENAME_RESOLVER::SetProject(), FILENAME_RESOLVER::ShortenPath(), DRC_TEST_PROVIDER_MISC::testTextVars(), ERC_TESTER::TestTextVars(), and NETLIST_EXPORTER_SPICE::writeInclude().
KICOMMON_API wxString ExpandTextVars | ( | const wxString & | aSource, |
const PROJECT * | aProject | ||
) |
Definition at line 59 of file common.cpp.
References ExpandTextVars(), and PROJECT::TextVarResolver().
Referenced by AddGerberX2Header(), GERBER_JOBFILE_WRITER::addJSONGeneralSpecs(), DS_DRAW_ITEM_LIST::BuildFullText(), DIALOG_GEN_FOOTPRINT_POSITION::CreateAsciiFiles(), DIALOG_GEN_FOOTPRINT_POSITION::CreateGerberFiles(), GENCAD_EXPORTER::CreateHeaderInfoData(), SCH_PLOTTER::createPDFFile(), KIGFX::SCH_PAINTER::expandLibItemTextVars(), ExpandTextVars(), DIALOG_EXPORT_SVG::ExportSVGFile(), DIALOG_GENDRILL::GenDrillAndMapFiles(), FIELDS_EDITOR_GRID_DATA_MODEL::getFieldShownText(), DIALOG_PLOT_SCHEMATIC::getOutputPath(), PCB_TEXT::GetShownText(), PCB_TEXTBOX::GetShownText(), SCH_FIELD::GetShownText(), SCH_TEXT::GetShownText(), SCH_TEXTBOX::GetShownText(), SCH_LABEL_BASE::GetShownText(), GetTextVars(), NETLIST_EXPORTER_XML::makeDesignHeader(), DIALOG_SYMBOL_FIELDS_TABLE::OnExport(), DIALOG_EXPORT_STEP::onExportButton(), DIALOG_PLOT::onOpenOutputDirectory(), DIALOG_PLOT::OnOutputDirectoryBrowseClicked(), PLOT_CONTROLLER::OpenPlotfile(), DIALOG_PLOT::Plot(), ResolveUriByEnvVars(), and TITLE_BLOCK::TextVarResolver().
KICOMMON_API wxString ExpandTextVars | ( | const wxString & | aSource, |
const std::function< bool(wxString *)> * | aResolver | ||
) |
Expand '${var-name}' templates in text.
Definition at line 71 of file common.cpp.
KICOMMON_API wxString GetTextVars | ( | const wxString & | aSource | ) |
Returns any variables unexpanded, e.g.
${VAR} -> VAR
Definition at line 121 of file common.cpp.
References ExpandTextVars().
Referenced by DIALOG_SYMBOL_FIELDS_TABLE::doApplyBomPreset(), SCHEMATIC::GetContextualTextVars(), BOARD::GetContextualTextVars(), SCH_FIELD::GetShownName(), EESCHEMA_JOBS_HANDLER::JobExportBom(), DIALOG_SYMBOL_FIELDS_TABLE::LoadFieldNames(), and DIALOG_SYMBOL_FIELDS_TABLE::OnAddField().
KICOMMON_API bool IsTextVar | ( | const wxString & | aSource | ) |
Returns true if the string is a text var, e.g starts with ${.
Definition at line 133 of file common.cpp.
Referenced by FIELDS_EDITOR_GRID_DATA_MODEL::ApplyData(), FIELDS_EDITOR_GRID_DATA_MODEL::getFieldShownText(), FIELDS_EDITOR_GRID_DATA_MODEL::GetValue(), FIELDS_EDITOR_GRID_DATA_MODEL::groupMatch(), EESCHEMA_JOBS_HANDLER::JobExportBom(), DIALOG_SYMBOL_FIELDS_TABLE::SetupColumnProperties(), FIELDS_EDITOR_GRID_DATA_MODEL::SetValue(), and FIELDS_EDITOR_GRID_DATA_MODEL::updateDataStoreSymbolField().
KICOMMON_API const wxString ResolveUriByEnvVars | ( | const wxString & | aUri, |
const PROJECT * | aProject | ||
) |
Replace any environment and/or text variables in URIs.
Definition at line 361 of file common.cpp.
References ExpandEnvVarSubstitutions(), and ExpandTextVars().
Referenced by PDF_PLOTTER::EndPlot(), and GetAssociatedDocument().
KICOMMON_API wxString SearchHelpFileFullPath | ( | const wxString & | aBaseName | ) |
Return the help file's full path.
Return the full path and name (including extension) of the given KiCad help file. It is expected to be found in a subfolder help/<LANG>/ in one of the system paths. Supported file types are *.html and *.pdf. If no such file is available for the current locale, an attempt to find the English version is made. The search order for <LANG> is: 1) canonical form (e.g., "fr_FR"), 2) short form (e.g., "fr"), and 3) "en".
aBaseName | is the name of the help file to search for (without extension). |
Definition at line 32 of file searchhelpfilefullpath.cpp.
References SEARCH_STACK::AddPaths(), PATHS::GetDocumentationPath(), PGM_BASE::GetLocale(), path, Pgm(), SystemDirsAppend(), and tracePathsAndFiles.
Referenced by COMMON_CONTROL::ShowHelp().
KICOMMON_API long long TimestampDir | ( | const wxString & | aDirPath, |
const wxString & | aFilespec | ||
) |
A copy of ConvertFileTimeToWx() because wxWidgets left it as a static function private to src/common/filename.cpp.
This routine offers SIGNIFICANT performance benefits over using wxWidgets to gather timestamps from matching files in a directory.
aDirPath | is the directory to search. |
aFilespec | is a (wildcarded) file spec to match against. |
Definition at line 597 of file common.cpp.
References matchWild().
Referenced by DESIGN_BLOCK_IO::GetLibraryTimestamp(), GPCB_FPL_CACHE::GetTimestamp(), and FP_CACHE::GetTimestamp().
KICOMMON_API bool WarnUserIfOperatingSystemUnsupported | ( | ) |
Checks if the operating system is explicitly unsupported and displays a disclaimer message box.
Definition at line 696 of file common.cpp.
References _, and KIPLATFORM::APP::IsOperatingSystemUnsupported().
Referenced by PGM_BASE::InitPgm(), and COMMON_CONTROL::ReportBug().