KiCad PCB EDA Suite
Loading...
Searching...
No Matches
pgm_base.h File Reference

see class PGM_BASE More...

#include <kicommon.h>
#include <singleton.h>
#include <exception>
#include <map>
#include <vector>
#include <memory>
#include <search_stack.h>
#include <settings/environment.h>
#include <wx/filename.h>

Go to the source code of this file.

Classes

struct  LANGUAGE_DESCR
 A small class to handle the list of existing translations. More...
 
class  PGM_BASE
 Container for data for KiCad programs. More...
 

Functions

KICOMMON_API PGM_BASEPgm ()
 The global program "get" accessor.
 
KICOMMON_API PGM_BASEPgmOrNull ()
 Return a reference that can be nullptr when running a shared lib from a script, not from a kicad app.
 
KICOMMON_API void SetPgm (PGM_BASE *pgm)
 

Variables

KICOMMON_API LANGUAGE_DESCR LanguagesList []
 An array containing all the languages that KiCad supports.
 

Detailed Description

see class PGM_BASE

Definition in file pgm_base.h.

Function Documentation

◆ Pgm()

The global program "get" accessor.

Implemented in:

  1. common/single_top.cpp
  2. kicad/kicad.cpp
  3. scripting/kiway.i

Definition at line 902 of file pgm_base.cpp.

References process.

Referenced by ACTION_TOOLBAR::Add(), ACTION_TOOLBAR_PALETTE::AddAction(), EDA_DRAW_FRAME::AddApiPluginTools(), KIUI::AddBitmapToMenuItem(), ACTION_TOOLBAR::AddButton(), DESIGN_BLOCK_PANE::AddDesignBlockLibrary(), ACTION_TOOLBAR::AddGroup(), SYMBOL_TREE_MODEL_ADAPTER::AddLibraries(), DESIGN_BLOCK_TREE_MODEL_ADAPTER::AddLibraries(), FP_TREE_MODEL_ADAPTER::AddLibraries(), SYMBOL_LIBRARY_MANAGER::addLibrary(), PCB_BASE_EDIT_FRAME::AddLibrary(), SYMBOL_EDIT_FRAME::addLibTableEntry(), MULTICHANNEL_TOOL::AutogenerateRuleAreas(), BOOST_AUTO_TEST_CASE(), BOOST_FIXTURE_TEST_CASE(), PANEL_DESIGN_BLOCK_LIB_TABLE::browseLibrariesHandler(), PANEL_FP_LIB_TABLE::browseLibrariesHandler(), PANEL_SYM_LIB_TABLE::browseLibrariesHandler(), PCB_NET_INSPECTOR_PANEL::buildColumns(), buildKicadAboutBanner(), CVPCB_MAINFRAME::BuildLibrariesList(), PCB_NET_INSPECTOR_PANEL::buildNetsList(), EDA_BASE_FRAME::CheckForAutoSaveFile(), SCH_EDIT_FRAME::CheckForAutoSaveFile(), UPDATE_MANAGER::CheckForUpdate(), PROJECT_PCB::Cleanup3DCache(), KICAD_MANAGER_FRAME::CloseProject(), EDA_BASE_FRAME::commonInit(), EDA_BASE_FRAME::CommonSettingsChanged(), EDA_DRAW_FRAME::CommonSettingsChanged(), KICAD_MANAGER_FRAME::CommonSettingsChanged(), TOOLS_HOLDER::CommonSettingsChanged(), FOOTPRINT_EDIT_FRAME::config(), SCH_EDIT_FRAME::configureToolbars(), PCB_EDIT_FRAME::configureToolbars(), PCB_CONTROL::ContrastModeFeedback(), BMP2CMP::IFACE::CreateKiWindow(), KICAD_MANAGER_FRAME::CreateNewProject(), KICAD_MANAGER_FRAME::CreatePCM(), DIALOG_SYMBOL_REMAP::createProjectSymbolLibTable(), PANEL_COLOR_SETTINGS::createThemeList(), PCB_TEST_FRAME_BASE::createView(), CVPCB_MAINFRAME::CVPCB_MAINFRAME(), EDA_BASE_FRAME::DeleteAutoSaveFile(), SCH_EDIT_FRAME::DeleteAutoSaveFile(), DIALOG_EXPORT_STEP::DIALOG_EXPORT_STEP(), DIALOG_PAGES_SETTINGS::DIALOG_PAGES_SETTINGS(), DIALOG_SHIM::DIALOG_SHIM(), SCH_EDIT_FRAME::doCloseWindow(), KICAD_MANAGER_FRAME::doCloseWindow(), PCB_EDIT_FRAME::doCloseWindow(), CLI::JOBSET_RUN_COMMAND::doPerform(), PLUGINS_GRID_TRICKS::doPopupSelection(), KICAD_MANAGER_FRAME::doReCreateMenuBar(), EDA_3D_CANVAS::DoRePaint(), EDA_DRAW_PANEL_GAL::DoRePaint(), ACTION_TOOLBAR::doSelectAction(), drawShapes(), KIWAY::dso_search_path(), EDA_DRAW_PANEL_GAL::EDA_DRAW_PANEL_GAL(), ElectricalPinTypeGetText(), BIN_MOD::End(), EVT_MENU_RANGE(), EVT_TOOL_RANGE(), EVT_UPDATE_UI_RANGE(), KICAD_MANAGER_CONTROL::Execute(), EXPORTER_STEP::EXPORTER_STEP(), APP_SINGLE_TOP::FilterEvent(), APP_KICAD::FilterEvent(), FindKicadFile(), FONT_CHOICE::FONT_CHOICE(), PCB_IO_KICAD_SEXPR::FootprintSave(), GERBVIEW_FRAME::GERBVIEW_FRAME(), PROJECT_PCB::Get3DCacheManager(), EDA_BASE_FRAME::GetAutoSaveInterval(), PCBNEW_JOBS_HANDLER::getBoard(), GetColorSettings(), EDA_TEXT::GetFontIndex(), PCB_BASE_FRAME::GetFootprintEditorSettings(), getGUIFont(), EDA_DRAW_FRAME::GetOrderedPluginActions(), PCB_BASE_FRAME::GetPcbNewSettings(), KICAD_MANAGER_FRAME::GetProjectFileName(), EESCHEMA_JOBS_HANDLER::getSchematic(), WX_AUI_TOOLBAR_ART::GetToolSize(), EDA_DRAW_PANEL_GAL::GetVcSettings(), PCB_BASE_FRAME::GetViewerSettingsBase(), SCH_EDITOR_CONTROL::GridFeedback(), gvconfig(), API_HANDLER_COMMON::handleExpandTextVariables(), API_HANDLER_COMMON::handleGetNetClasses(), API_HANDLER_COMMON::handleGetTextVariables(), API_HANDLER_COMMON::handleSetNetClasses(), API_HANDLER_COMMON::handleSetTextVariables(), SCH_DRAWING_TOOLS::ImportSheet(), init_unit_test(), DIALOG_PLOT_SCHEMATIC::initDlg(), FIELDS_GRID_TABLE::initGrid(), EESCHEMA_JOBS_HANDLER::InitRenderSettings(), InitTables(), API_PLUGIN_MANAGER::InvokeAction(), KIUI::IsModalDialogFocused(), KICAD_API_SERVER::KICAD_API_SERVER(), KIWAY::KiFACE(), PCB_CONTROL::LayerPresetFeedback(), LIB_TREE_NODE_UNIT::LIB_TREE_NODE_UNIT(), SETTINGS_MANAGER::loadAllColorSettings(), KIGFX::PCB_RENDER_SETTINGS::LoadColors(), EDA_3D_VIEWER_FRAME::loadCommonSettings(), SCH_EDIT_FRAME::LoadDrawingSheet(), PCB_EDIT_FRAME::LoadDrawingSheet(), SCH::IFACE::loadGlobalLibTable(), PCB::IFACE::loadGlobalLibTable(), DESIGN_BLOCK_LIB_TABLE::LoadGlobalTable(), FP_LIB_TABLE::LoadGlobalTable(), SYMBOL_LIB_TABLE::LoadGlobalTable(), loadKicadProject(), PCBNEW_JOBS_HANDLER::loadOverrideDrawingSheet(), KICAD_MANAGER_FRAME::LoadProject(), PANEL_PREVIEW_3D_MODEL::loadSettings(), PCB_TEST_FRAME_BASE::LoadSettings(), KIGFX::WX_VIEW_CONTROLS::LoadSettings(), EDA_BASE_FRAME::LoadSettings(), EDA_DRAW_FRAME::LoadSettings(), EDA_BASE_FRAME::LoadWindowState(), KIGFX::OPENGL_GAL::LockContext(), EDA_DRAW_FRAME::LockFile(), main(), PLUGIN_CONTENT_MANAGER::MarkInstalled(), APP_SETTINGS_BASE::MigrateFromLegacy(), EESCHEMA_SETTINGS::MigrateFromLegacy(), GERBVIEW_SETTINGS::MigrateFromLegacy(), FOOTPRINT_EDITOR_SETTINGS::MigrateFromLegacy(), PCBNEW_SETTINGS::MigrateFromLegacy(), FOOTPRINT_EDITOR_SETTINGS::migrateSchema0to1(), PCB_NET_INSPECTOR_PANEL::netFilterMatches(), FOOTPRINT_PREVIEW_PANEL::New(), KICAD_MANAGER_CONTROL::NewFromTemplate(), EDA_DRAW_FRAME::OnApiPluginInvoke(), KISTATUSBAR::onBackgroundProgressClick(), PCB_NET_INSPECTOR_PANEL::OnBoardChanged(), NETLIST_DIALOG_ADD_GENERATOR::OnBrowseGenerators(), TEXT_BUTTON_FILE_BROWSER::OnButtonClick(), PCB_NET_INSPECTOR_PANEL::OnConfigButton(), PANEL_SYM_LIB_TABLE::onConvertLegacyLibraries(), LIB_TREE::onDetailsLink(), DIALOG_CONFIG_EQUFILES::OnEditEquFile(), DIALOG_BOM::OnEditGenerator(), PROJECT_TREE_PANE::onGitCommit(), PROJECT_TREE_PANE::onGitStatusTimer(), PROJECT_TREE_PANE::onGitSyncTimer(), DIALOG_CONFIGURE_PATHS::OnGridCellChanging(), KICAD_MANAGER_FRAME::OnIdle(), APP_SINGLE_TOP::OnInit(), PANEL_DESIGN_BLOCK_LIB_TABLE::onMigrateLibraries(), PANEL_FP_LIB_TABLE::onMigrateLibraries(), KISTATUSBAR::onNotificationsIconClick(), DIALOG_CONFIG_EQUFILES::OnOkClick(), KICAD_MANAGER_FRAME::OnOpenFileInTextEditor(), PROJECT_TREE_PANE::onOpenSelectedFileWithTextEditor(), EDA_3D_MODEL_VIEWER::OnPaint(), PANEL_COMMON_SETTINGS::OnPDFViewerClick(), DIALOG_PRINT_GENERIC::onPrintButtonClick(), PROJECT_TREE_PANE::onRight(), APP_SINGLE_TOP::OnRun(), APP_KICAD::OnRun(), APP_KICAD_CLI::OnRun(), PANEL_COMMON_SETTINGS::OnTextEditorClick(), PANEL_COLOR_SETTINGS::OnThemeChanged(), DIALOG_PAGES_SETTINGS::OnWksFileSelection(), SYMBOL_EDITOR_CONTROL::OpenDirectory(), FOOTPRINT_EDITOR_CONTROL::OpenDirectory(), KIGFX::OPENGL_GAL::OPENGL_GAL(), OpenPDF(), SCH_EDIT_FRAME::OpenProjectFiles(), PCB_EDIT_FRAME::OpenProjectFiles(), SYMBOL_EDITOR_CONTROL::OpenWithTextEditor(), FOOTPRINT_EDITOR_CONTROL::OpenWithTextEditor(), PANEL_EESCHEMA_COLOR_SETTINGS::PANEL_EESCHEMA_COLOR_SETTINGS(), PANEL_FP_EDITOR_COLOR_SETTINGS::PANEL_FP_EDITOR_COLOR_SETTINGS(), PANEL_FP_PROPERTIES_3D_MODEL::PANEL_FP_PROPERTIES_3D_MODEL(), PANEL_SETUP_NETCLASSES::PANEL_SETUP_NETCLASSES(), PANEL_SETUP_RULES::PANEL_SETUP_RULES(), PANEL_SYMBOL_CHOOSER::PANEL_SYMBOL_CHOOSER(), PCB_IO_KICAD_SEXPR_PARSER::parseBOARD_unchecked(), SCH_IO_KICAD_SEXPR_PARSER::ParseSchematic(), PCB_DESIGN_BLOCK_PREVIEW_WIDGET::PCB_DESIGN_BLOCK_PREVIEW_WIDGET(), PROJECT::PinLibrary(), PinOrientationName(), PinOrientationNames(), PinShapeGetText(), PinShapeNames(), PinTypeNames(), BOARD_EDITOR_CONTROL::PlaceFootprint(), SCH_DRAWING_TOOLS::PlaceImage(), DRAWING_TOOL::PlaceReferenceImage(), SCH_DRAWING_TOOLS::PlaceSymbol(), DRAWING_TOOL::PlaceText(), KIWAY::Player(), playground_main_func(), KIWAY::Prj(), EDA_BASE_FRAME::ProcessEvent(), API_PLUGIN_MANAGER::processNextJob(), KICAD_MANAGER_FRAME::ProjectChanged(), PROPERTIES_PANEL::PROPERTIES_PANEL(), PCB_EDIT_FRAME::PythonSyncEnvironmentVariables(), PLUGIN_CONTENT_MANAGER::ReadEnvVar(), SCH::readSchematicFromFile(), SYMBOL_VIEWER_FRAME::ReCreateLibList(), FOOTPRINT_VIEWER_FRAME::ReCreateLibraryList(), PROJECT_TREE_PANE::ReCreateTreePrj(), RENDER_3D_OPENGL::Redraw(), ACTION_TOOLBAR::RefreshBitmaps(), EDA_3D_CANVAS::releaseOpenGL(), API_PLUGIN_MANAGER::ReloadPlugins(), SCH_EDITOR_CONTROL::ReloadPlugins(), SCRIPTING_TOOL::reloadPlugins(), MULTICHANNEL_TOOL::RepeatLayout(), SYMBOL_EDIT_FRAME::replaceLibTableEntry(), PLUGIN_CONTENT_MANAGER::RunBackgroundUpdate(), SAVE_AS_DIALOG::SAVE_AS_DIALOG(), PANEL_COLOR_SETTINGS::saveCurrentTheme(), SCH_EDIT_FRAME::saveProjectSettings(), PCB_NET_INSPECTOR_PANEL::SaveSettings(), EDA_BASE_FRAME::SaveSettings(), GERBVIEW_FRAME::SaveSettings(), SCH_DESIGN_BLOCK_PREVIEW_WIDGET::SCH_DESIGN_BLOCK_PREVIEW_WIDGET(), SCH_EDIT_FRAME::SCH_EDIT_FRAME(), PROJECT_SCH::SchLibs(), SearchHelpFileFullPath(), PCB_BASE_FRAME::SelectLibrary(), SCH_BASE_FRAME::SelectLibraryFromList(), PCB_TEST_FRAME_BASE::SetBoard(), EDA_TEXT::SetFontIndex(), KIWAY::SetLanguage(), PGM_BASE::SetLanguagePath(), BOARD_ADAPTER::SetLayerColors(), PANEL_PACKAGES_VIEW::SetSashOnIdle(), WX_GRID::SetTable(), SetTopFrame(), EDA_BASE_FRAME::setupUIConditions(), COMMON_CONTROL::ShowHelp(), KICAD_MANAGER_CONTROL::ShowPlayer(), KICAD_MANAGER_CONTROL::ShowPluginManager(), PLUGINS_GRID_TRICKS::showPopupMenu(), EDA_BASE_FRAME::ShowPreferences(), SCH_EDIT_FRAME::ShowSchematicSetupDialog(), GERBVIEW_INSPECTION_TOOL::ShowSource(), PCB_CONTROL::SnapModeFeedback(), SYMBOL_PREVIEW_WIDGET::SYMBOL_PREVIEW_WIDGET(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::Sync(), FP_TREE_SYNCHRONIZING_ADAPTER::Sync(), SystemDirsAppend(), BITMAP_STORE::ThemeChanged(), TOOL_INTERACTIVE::TOOL_INTERACTIVE(), PANEL_GIT_REPOS::TransferDataFromWindow(), DIALOG_PRINT::TransferDataFromWindow(), DIALOG_CONFIGURE_PATHS::TransferDataFromWindow(), PANEL_COMMON_SETTINGS::TransferDataFromWindow(), PANEL_MOUSE_SETTINGS::TransferDataFromWindow(), PANEL_PLUGIN_SETTINGS::TransferDataFromWindow(), PANEL_PCBNEW_ACTION_PLUGINS::TransferDataFromWindow(), PANEL_GIT_REPOS::TransferDataToWindow(), PANEL_SYM_COLOR_SETTINGS::TransferDataToWindow(), DIALOG_PRINT::TransferDataToWindow(), DIALOG_CONFIGURE_PATHS::TransferDataToWindow(), DIALOG_GLOBAL_LIB_TABLE_CONFIG::TransferDataToWindow(), PANEL_COMMON_SETTINGS::TransferDataToWindow(), PANEL_MOUSE_SETTINGS::TransferDataToWindow(), PANEL_PLUGIN_SETTINGS::TransferDataToWindow(), PANEL_PL_EDITOR_COLOR_SETTINGS::TransferDataToWindow(), PANEL_PCBNEW_ACTION_PLUGINS::TransferDataToWindow(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), PCB_CONTROL::unfilledZoneCheck(), KIGFX::OPENGL_GAL::UnlockContext(), PROJECT::UnpinLibrary(), PANEL_PLUGIN_SETTINGS::updateApiStatusText(), SCH_PROPERTIES_PANEL::updateFontList(), PROJECT_TREE_PANE::updateGitStatusIconMap(), PROJECT_TREE_PANE::updateGitStatusIcons(), PCB_PROPERTIES_PANEL::updateLists(), DIALOG_DRC::updateUI(), KIGFX::PCB_PAINTER::viewer_settings(), PCB_CALCULATOR_DATAFILE::WriteHeader(), NETLIST_EXPORTER_SPICE::writeInclude(), EDA_3D_MODEL_VIEWER::~EDA_3D_MODEL_VIEWER(), KICAD_MANAGER_FRAME::~KICAD_MANAGER_FRAME(), KIGFX::OPENGL_GAL::~OPENGL_GAL(), PANEL_PACKAGES_VIEW::~PANEL_PACKAGES_VIEW(), PANEL_SETUP_NETCLASSES::~PANEL_SETUP_NETCLASSES(), PANEL_SETUP_RULES::~PANEL_SETUP_RULES(), SYMBOL_EDIT_FRAME::~SYMBOL_EDIT_FRAME(), and UPDATE_CANCELLER::~UPDATE_CANCELLER().

◆ PgmOrNull()

KICOMMON_API PGM_BASE * PgmOrNull ( )

Return a reference that can be nullptr when running a shared lib from a script, not from a kicad app.

Definition at line 910 of file pgm_base.cpp.

References process.

Referenced by DS_DRAW_ITEM_LIST::BuildFullText(), GetAppSettings(), DRC_TEST_PROVIDER_CLEARANCE_BASE::GetGraphicsHandler(), GetKiCadThreadPool(), GetToolbarSettings(), LoadBoard(), KIGFX::PCB_RENDER_SETTINGS::LoadColors(), and ACTION_PLUGINS::register_action().

◆ SetPgm()

Variable Documentation

◆ LanguagesList

KICOMMON_API LANGUAGE_DESCR LanguagesList[]
extern

An array containing all the languages that KiCad supports.

Definition at line 89 of file pgm_base.cpp.

Referenced by EDA_BASE_FRAME::AddMenuLanguageList(), KIWAY::SetLanguage(), PGM_BASE::SetLanguage(), PGM_BASE::SetLanguageIdentifier(), and EDA_BASE_FRAME::setupUIConditions().