KiCad PCB EDA Suite
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
ENV_VAR Namespace Reference

Functions

KICOMMON_API bool IsEnvVarImmutable (const wxString &aEnvVar)
 Determine if an environment variable is "predefined", i.e.
 
KICOMMON_API const std::vector< wxString > & GetPredefinedEnvVars ()
 Get the list of pre-defined environment variables.
 
KICOMMON_API void GetEnvVarAutocompleteTokens (wxArrayString *aVars)
 Return autocomplete tokens for environment variables for Scintilla.
 
KICOMMON_API wxString GetVersionedEnvVarName (const wxString &aBaseName)
 Construct a versioned environment variable based on this KiCad major version.
 
KICOMMON_API std::optional< wxString > GetVersionedEnvVarValue (const std::map< wxString, ENV_VAR_ITEM > &aMap, const wxString &aBaseName)
 Attempt to retrieve the value of a versioned environment variable, such as KICAD8_TEMPLATE_DIR.
 
KICOMMON_API wxString LookUpEnvVarHelp (const wxString &aEnvVar)
 Look up long-form help text for a given environment variable.
 
template<typename VAL_TYPE >
KICOMMON_API std::optional< VAL_TYPE > GetEnvVar (const wxString &aEnvVarName)
 Get an environment variable as a specific type, if set correctly.
 
template<>
KICOMMON_API std::optional< wxString > GetEnvVar (const wxString &aEnvVarName)
 Get a string environment variable, if it is set.
 
template<>
KICOMMON_API std::optional< double > GetEnvVar (const wxString &aEnvVarName)
 Get a double from an environment variable, if set.
 

Function Documentation

◆ GetEnvVar() [1/3]

template<typename VAL_TYPE >
KICOMMON_API std::optional< VAL_TYPE > ENV_VAR::GetEnvVar ( const wxString &  aEnvVarName)

Get an environment variable as a specific type, if set correctly.

Parameters
aEnvVarNamethe name of the environment variable.
Returns
an std::optional containing the value, if set and parseable, otherwise empty.

◆ GetEnvVar() [2/3]

template<>
std::optional< wxString > ENV_VAR::GetEnvVar ( const wxString &  aEnvVarName)

Get a string environment variable, if it is set.

Parameters
aEnvVarNamethe name of the environment variable
Returns
an std::optional containing the value, if set, otherwise empty.

Definition at line 170 of file env_vars.cpp.

◆ GetEnvVar() [3/3]

template<>
KICOMMON_API std::optional< double > ENV_VAR::GetEnvVar ( const wxString &  aEnvVarName)

Get a double from an environment variable, if set.

Parameters
aEnvVarNamethe name of the environment variable
Returns
an std::optional containing the value, if set and parseable as a double, otherwise empty.

◆ GetEnvVarAutocompleteTokens()

void ENV_VAR::GetEnvVarAutocompleteTokens ( wxArrayString *  aVars)

Return autocomplete tokens for environment variables for Scintilla.

Definition at line 73 of file env_vars.cpp.

References alg::contains(), and GetPredefinedEnvVars().

Referenced by DIALOG_EXECUTECOMMAND_JOB_SETTINGS::DIALOG_EXECUTECOMMAND_JOB_SETTINGS().

◆ GetPredefinedEnvVars()

const std::vector< wxString > & ENV_VAR::GetPredefinedEnvVars ( )

Get the list of pre-defined environment variables.

Definition at line 67 of file env_vars.cpp.

References predefinedEnvVars.

Referenced by GetEnvVarAutocompleteTokens(), KIwxExpandEnvVars(), and DIALOG_CONFIGURE_PATHS::OnHelp().

◆ GetVersionedEnvVarName()

◆ GetVersionedEnvVarValue()

std::optional< wxString > ENV_VAR::GetVersionedEnvVarValue ( const std::map< wxString, ENV_VAR_ITEM > &  aMap,
const wxString &  aBaseName 
)

Attempt to retrieve the value of a versioned environment variable, such as KICAD8_TEMPLATE_DIR.

If this value exists in the map, it will be returned. If not, the map will be searched for keys matching KICAD*_<aBaseName>, and the first match's value will be returned. If there are no matches, std::nullopt will be returned.

Parameters
aMapis an ENV_VAR_MAP (
See also
environment.h).
Parameters
aBaseNameis the suffix for the environment variable (
See also
GetVersionedEnvVarName).

Definition at line 92 of file env_vars.cpp.

References GetVersionedEnvVarName().

Referenced by DESIGN_BLOCK_LIB_TABLE::LoadGlobalTable(), FP_LIB_TABLE::LoadGlobalTable(), SYMBOL_LIB_TABLE::LoadGlobalTable(), KICAD_MANAGER_CONTROL::NewFromTemplate(), PGM_KICAD::OnPgmInit(), PLUGIN_CONTENT_MANAGER::ReadEnvVar(), API_PLUGIN_MANAGER::ReloadPlugins(), and DIALOG_GLOBAL_LIB_TABLE_CONFIG::TransferDataToWindow().

◆ IsEnvVarImmutable()

bool ENV_VAR::IsEnvVarImmutable ( const wxString &  aEnvVar)

Determine if an environment variable is "predefined", i.e.

if the name of the variable is special to KiCad, and isn't just a user-specified substitution name.

Parameters
aEnvVarthe variable to check.
Returns
true if predefined.

Definition at line 52 of file env_vars.cpp.

References predefinedEnvVars, and versionedEnvVarRegex().

Referenced by DIALOG_CONFIGURE_PATHS::AppendEnvVar(), and DIALOG_CONFIGURE_PATHS::OnRemoveEnvVar().

◆ LookUpEnvVarHelp()

wxString ENV_VAR::LookUpEnvVarHelp ( const wxString &  aEnvVar)

Look up long-form help text for a given environment variable.

This is intended for use in more verbose help resources (as opposed to tooltip text).

Parameters
aEnvVarThe variable to look up.
Returns
A string with help for that variable. Empty if no help available for this variable.

Definition at line 158 of file env_vars.cpp.

References initialiseEnvVarHelp().

Referenced by DIALOG_CONFIGURE_PATHS::OnHelp().