KiCad PCB EDA Suite
pcbnew_scripting_helpers.cpp File Reference

Scripting helper functions for pcbnew functionality. More...

#include <Python.h>
#include <action_plugin.h>
#include <build_version.h>
#include <class_board.h>
#include <cstdlib>
#include <fp_lib_table.h>
#include <io_mgr.h>
#include <kicad_string.h>
#include <macros.h>
#include <pcb_draw_panel_gal.h>
#include <pcbnew.h>
#include <pcbnew_scripting_helpers.h>
#include <project.h>
#include <settings/settings_manager.h>
#include <wildcards_and_files_ext.h>

Go to the source code of this file.

Functions

BOARDGetBoard ()
 
void ScriptingSetPcbEditFrame (PCB_EDIT_FRAME *aPcbEditFrame)
 
BOARDLoadBoard (wxString &aFileName)
 
SETTINGS_MANAGERGetSettingsManager ()
 
PROJECTGetDefaultProject ()
 
BOARDLoadBoard (wxString &aFileName, IO_MGR::PCB_FILE_T aFormat)
 
BOARDCreateEmptyBoard ()
 Constructs a default BOARD with a tempoary (no filename) project. More...
 
bool SaveBoard (wxString &aFileName, BOARD *aBoard, IO_MGR::PCB_FILE_T aFormat)
 
bool SaveBoard (wxString &aFileName, BOARD *aBoard)
 
FP_LIB_TABLEGetFootprintLibraryTable ()
 
wxArrayString GetFootprintLibraries ()
 will get the nicknames of all of the footprint libraries configured in pcbnew in both the project and global library tables More...
 
wxArrayString GetFootprints (const wxString &aNickName)
 will get the names of all of the footprints available in a footprint library More...
 
bool ExportSpecctraDSN (wxString &aFullFilename)
 will export the current BOARD to a specctra dsn file. More...
 
bool ImportSpecctraSES (wxString &aFullFilename)
 will import a specctra *.ses file and use it to relocate MODULEs and to replace all vias and tracks in an existing and loaded BOARD. More...
 
bool ArchiveModulesOnBoard (bool aStoreInNewLib, const wxString &aLibName, wxString *aLibPath)
 Function ArchiveModulesOnBoard Save modules in a library: More...
 
void Refresh ()
 Update the board display after modifying it by a python script (note: it is automatically called by action plugins, after running the plugin, so call this function is usually not needed inside action plugins. More...
 
void UpdateUserInterface ()
 Update the layer manager and other widgets from the board setup (layer and items visibility, colors ...) (note: it is automatically called by action plugins, after running the plugin, so call this function is usually not needed inside action plugins. More...
 
int GetUserUnits ()
 Returns the currently selected user unit value for the interface. More...
 
bool IsActionRunning ()
 Are we currently in an action plugin? More...
 

Variables

static PCB_EDIT_FRAMEs_PcbEditFrame = NULL
 
static SETTINGS_MANAGERs_SettingsManager = nullptr
 

Detailed Description

Scripting helper functions for pcbnew functionality.

Definition in file pcbnew_scripting_helpers.cpp.

Function Documentation

◆ ArchiveModulesOnBoard()

bool ArchiveModulesOnBoard ( bool  aStoreInNewLib,
const wxString &  aLibName = wxEmptyString,
wxString *  aLibPath = NULL 
)

Function ArchiveModulesOnBoard Save modules in a library:

Parameters
aStoreInNewLibtrue : save modules in a existing lib. Existing footprints will be kept or updated. This lib should be in fp lib table, and is type is .pretty false: save modules in a new lib. It it is an existing lib, previous footprints will be removed
aLibNameoptional library name to create, stops dialog call. must be called with aStoreInNewLib as true

Definition at line 246 of file pcbnew_scripting_helpers.cpp.

247 {
248  if( s_PcbEditFrame )
249  {
250  s_PcbEditFrame->ArchiveModulesOnBoard( aStoreInNewLib, aLibName, aLibPath );
251  return true;
252  }
253  else
254  {
255  return false;
256  }
257 }
void ArchiveModulesOnBoard(bool aStoreInNewLib, const wxString &aLibName=wxEmptyString, wxString *aLibPath=NULL)
Function ArchiveModulesOnBoard Save modules in a library:
static PCB_EDIT_FRAME * s_PcbEditFrame

References PCB_EDIT_FRAME::ArchiveModulesOnBoard(), and s_PcbEditFrame.

◆ CreateEmptyBoard()

BOARD* CreateEmptyBoard ( )

Constructs a default BOARD with a tempoary (no filename) project.

Returns
the created board

Definition at line 136 of file pcbnew_scripting_helpers.cpp.

137 {
138  BOARD* brd = new BOARD();
139 
140  brd->SetProject( GetDefaultProject() );
141 
142  return brd;
143 }
PROJECT * GetDefaultProject()
void SetProject(PROJECT *aProject)
Links a board to a given project.
BOARD holds information pertinent to a Pcbnew printed circuit board.
Definition: class_board.h:180

References GetDefaultProject(), and BOARD::SetProject().

◆ ExportSpecctraDSN()

bool ExportSpecctraDSN ( wxString &  aFullFilename)

will export the current BOARD to a specctra dsn file.

See http://www.autotraxeda.com/docs/SPECCTRA/SPECCTRA.pdf for the specification.

Returns
true if OK

Definition at line 218 of file pcbnew_scripting_helpers.cpp.

219 {
220  if( s_PcbEditFrame )
221  {
222  bool ok = s_PcbEditFrame->ExportSpecctraFile( aFullFilename );
223  return ok;
224  }
225  else
226  {
227  return false;
228  }
229 }
static PCB_EDIT_FRAME * s_PcbEditFrame
bool ExportSpecctraFile(const wxString &aFullFilename)
Function ExportSpecctraFile will export the current BOARD to a specctra dsn file.

References PCB_EDIT_FRAME::ExportSpecctraFile(), and s_PcbEditFrame.

◆ GetBoard()

BOARD* GetBoard ( )

Definition at line 52 of file pcbnew_scripting_helpers.cpp.

53 {
54  if( s_PcbEditFrame )
55  return s_PcbEditFrame->GetBoard();
56  else
57  return NULL;
58 }
#define NULL
BOARD * GetBoard() const
static PCB_EDIT_FRAME * s_PcbEditFrame

References PCB_BASE_FRAME::GetBoard(), NULL, and s_PcbEditFrame.

Referenced by ZONE_FILLER_TOOL::CheckAllZones(), DISPLAY_FOOTPRINTS_FRAME::DISPLAY_FOOTPRINTS_FRAME(), PCB_EDIT_FRAME::DoUpdatePCBFromNetlist(), EDA_3D_VIEWER::EDA_3D_VIEWER(), EVT_GRID_CMD_CELL_CHANGED(), PCB_EDIT_FRAME::ExportSpecctraFile(), PCB_EDIT_FRAME::ExportSVG(), FOOTPRINT_EDIT_FRAME::FOOTPRINT_EDIT_FRAME(), PCB_EDIT_FRAME::GetCurrentFileName(), PCB_BASE_FRAME::GetFootprintFromBoardByReference(), GetFootprintLibraryTable(), PCB_EDIT_FRAME::GetLastPath(), PCB_EDIT_FRAME::ImportSpecctraSession(), PCB_EDIT_FRAME::IsContentModified(), PCB_EDIT_FRAME::IsElementVisible(), FOOTPRINT_EDIT_FRAME::Load_Module_From_BOARD(), FOOTPRINT_EDIT_FRAME::LoadModuleFromLibrary(), PCB_EDIT_FRAME::LockModule(), PCB_EDIT_FRAME::onBoardLoaded(), PCB_EDIT_FRAME::OnCloseWindow(), PCB_EDIT_FRAME::OnExportHyperlynx(), PCB_EDIT_FRAME::OnNetlistChanged(), FOOTPRINT_EDIT_FRAME::OpenProjectFiles(), FOOTPRINT_EDIT_FRAME::Process_Special_Functions(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), PCB_EDIT_FRAME::RecordDRCExclusions(), PCB_EDIT_FRAME::RecreateBOMFileFromBoard(), PCB_EDIT_FRAME::ResolveDRCExclusions(), PCB_BASE_EDIT_FRAME::SaveCopyInUndoList(), ROUTER_TOOL::SelectCopperLayerPair(), PCB_EDIT_FRAME::SetElementVisibility(), PCB_EDIT_FRAME::SetLastPath(), PCB_EDIT_FRAME::SetPageSettings(), PCB_EDIT_FRAME::SetVisibleAlls(), PCB_EDIT_FRAME::ShowBoardSetupDialog(), GLOBAL_EDIT_TOOL::SwapLayers(), PCB_EDIT_FRAME::UpdateTitle(), and PCB_EDIT_FRAME::UpdateUserInterface().

◆ GetDefaultProject()

PROJECT* GetDefaultProject ( )

Definition at line 89 of file pcbnew_scripting_helpers.cpp.

90 {
91  PROJECT* project = GetSettingsManager()->GetProject( "" );
92 
93  if( !project )
94  {
96  project = GetSettingsManager()->GetProject( "" );
97  }
98 
99  return project;
100 }
PROJECT holds project specific data.
Definition: project.h:61
SETTINGS_MANAGER * GetSettingsManager()
bool LoadProject(const wxString &aFullPath, bool aSetActive=true)
Loads a project or sets up a new project with a specified path.
PROJECT * GetProject(const wxString &aFullPath) const
Retrieves a loaded project by name.

References SETTINGS_MANAGER::GetProject(), GetSettingsManager(), and SETTINGS_MANAGER::LoadProject().

Referenced by CreateEmptyBoard(), and LoadBoard().

◆ GetFootprintLibraries()

wxArrayString GetFootprintLibraries ( )

will get the nicknames of all of the footprint libraries configured in pcbnew in both the project and global library tables

Returns
the list of footprint library nicknames, empty on error

Definition at line 187 of file pcbnew_scripting_helpers.cpp.

188 {
189  wxArrayString footprintLibraryNames;
190 
192 
193  if( !tbl )
194  return footprintLibraryNames;
195 
196  for( const wxString& name : tbl->GetLogicalLibs() )
197  footprintLibraryNames.Add( name );
198 
199  return footprintLibraryNames;
200 }
FP_LIB_TABLE * GetFootprintLibraryTable()
const char * name
Definition: DXF_plotter.cpp:60
std::vector< wxString > GetLogicalLibs()
Return the logical library names, all of them that are pertinent to a look up done on this LIB_TABLE.

References GetFootprintLibraryTable(), LIB_TABLE::GetLogicalLibs(), and name.

◆ GetFootprintLibraryTable()

FP_LIB_TABLE* GetFootprintLibraryTable ( )

Definition at line 171 of file pcbnew_scripting_helpers.cpp.

172 {
173  BOARD* board = GetBoard();
174 
175  if( !board )
176  return nullptr;
177 
178  PROJECT* project = board->GetProject();
179 
180  if( !project )
181  return nullptr;
182 
183  return project->PcbFootprintLibs();
184 }
PROJECT holds project specific data.
Definition: project.h:61
PROJECT * GetProject() const
Definition: class_board.h:376
BOARD * GetBoard()
VTBL_ENTRY FP_LIB_TABLE * PcbFootprintLibs(KIWAY &aKiway)
Return the table of footprint libraries.
Definition: project.cpp:284
BOARD holds information pertinent to a Pcbnew printed circuit board.
Definition: class_board.h:180

References GetBoard(), BOARD::GetProject(), and PROJECT::PcbFootprintLibs().

Referenced by GetFootprintLibraries(), and GetFootprints().

◆ GetFootprints()

wxArrayString GetFootprints ( const wxString &  aNickName)

will get the names of all of the footprints available in a footprint library

Parameters
aNickNameis the nickname specifying which footprint library to fetch from
Returns
the list of footprint names, empty on error

Definition at line 203 of file pcbnew_scripting_helpers.cpp.

204 {
205  wxArrayString footprintNames;
206 
208 
209  if( !tbl )
210  return footprintNames;
211 
212  tbl->FootprintEnumerate( footprintNames, aNickName, true );
213 
214  return footprintNames;
215 }
void FootprintEnumerate(wxArrayString &aFootprintNames, const wxString &aNickname, bool aBestEfforts)
Return a list of footprint names contained within the library given by aNickname.
FP_LIB_TABLE * GetFootprintLibraryTable()

References FP_LIB_TABLE::FootprintEnumerate(), and GetFootprintLibraryTable().

◆ GetSettingsManager()

◆ GetUserUnits()

int GetUserUnits ( )

Returns the currently selected user unit value for the interface.

Returns
0 = Inches, 1=mm, -1 if the frame isn't set

Definition at line 280 of file pcbnew_scripting_helpers.cpp.

281 {
282  if( s_PcbEditFrame )
283  return static_cast<int>( s_PcbEditFrame->GetUserUnits() );
284 
285  return -1;
286 }
EDA_UNITS GetUserUnits() const
Return the user units currently in use.
static PCB_EDIT_FRAME * s_PcbEditFrame

References EDA_BASE_FRAME::GetUserUnits(), and s_PcbEditFrame.

◆ ImportSpecctraSES()

bool ImportSpecctraSES ( wxString &  aFullFilename)

will import a specctra *.ses file and use it to relocate MODULEs and to replace all vias and tracks in an existing and loaded BOARD.

See http://www.autotraxeda.com/docs/SPECCTRA/SPECCTRA.pdf for the specification.

Returns
true if OK

Definition at line 232 of file pcbnew_scripting_helpers.cpp.

233 {
234  if( s_PcbEditFrame )
235  {
236  bool ok = s_PcbEditFrame->ImportSpecctraSession( aFullFilename );
237  return ok;
238  }
239  else
240  {
241  return false;
242  }
243 }
bool ImportSpecctraSession(const wxString &aFullFilename)
Function ImportSpecctraSession will import a specctra *.ses file and use it to relocate MODULEs and t...
static PCB_EDIT_FRAME * s_PcbEditFrame

References PCB_EDIT_FRAME::ImportSpecctraSession(), and s_PcbEditFrame.

◆ IsActionRunning()

bool IsActionRunning ( )

Are we currently in an action plugin?

Definition at line 289 of file pcbnew_scripting_helpers.cpp.

290 {
292 }
static bool IsActionRunning()
Function IsActionRunning.

References ACTION_PLUGINS::IsActionRunning().

◆ LoadBoard() [1/2]

BOARD* LoadBoard ( wxString &  aFileName)

Definition at line 67 of file pcbnew_scripting_helpers.cpp.

68 {
69  if( aFileName.EndsWith( wxT( ".kicad_pcb" ) ) )
70  return LoadBoard( aFileName, IO_MGR::KICAD_SEXP );
71 
72  else if( aFileName.EndsWith( wxT( ".brd" ) ) )
73  return LoadBoard( aFileName, IO_MGR::LEGACY );
74 
75  // as fall back for any other kind use the legacy format
76  return LoadBoard( aFileName, IO_MGR::LEGACY );
77 }
BOARD * LoadBoard(wxString &aFileName)
Legacy Pcbnew file formats prior to s-expression.
Definition: io_mgr.h:56
S-expression Pcbnew file format.
Definition: io_mgr.h:57

References IO_MGR::KICAD_SEXP, IO_MGR::LEGACY, and LoadBoard().

Referenced by LoadBoard().

◆ LoadBoard() [2/2]

BOARD* LoadBoard ( wxString &  aFileName,
IO_MGR::PCB_FILE_T  aFormat 
)

Definition at line 103 of file pcbnew_scripting_helpers.cpp.

104 {
105  wxFileName pro = aFileName;
106  pro.SetExt( ProjectFileExtension );
107  pro.MakeAbsolute();
108  wxString projectPath = pro.GetFullPath();
109 
110  PROJECT* project = GetSettingsManager()->GetProject( projectPath );
111 
112  if( !project )
113  {
114  GetSettingsManager()->LoadProject( projectPath );
115  GetSettingsManager()->GetProject( projectPath );
116  }
117 
118  // Board cannot be loaded without a project, so create the default project
119  if( !project )
120  project = GetDefaultProject();
121 
122  BOARD* brd = IO_MGR::Load( aFormat, aFileName );
123 
124  if( brd )
125  {
126  brd->SetProject( project );
127  brd->BuildConnectivity();
128  brd->BuildListOfNets();
130  }
131 
132  return brd;
133 }
void BuildListOfNets()
Definition: class_board.h:718
PROJECT holds project specific data.
Definition: project.h:61
const std::string ProjectFileExtension
void SynchronizeNetsAndNetClasses()
Function SynchronizeNetsAndNetClasses copies NETCLASS info to each NET, based on NET membership in a ...
static BOARD * Load(PCB_FILE_T aFileType, const wxString &aFileName, BOARD *aAppendToMe=NULL, const PROPERTIES *aProperties=NULL)
Function Load finds the requested PLUGIN and if found, calls the PLUGIN->Load(..) funtion on it using...
Definition: io_mgr.cpp:176
void BuildConnectivity()
Builds or rebuilds the board connectivity database for the board, especially the list of connected it...
SETTINGS_MANAGER * GetSettingsManager()
PROJECT * GetDefaultProject()
bool LoadProject(const wxString &aFullPath, bool aSetActive=true)
Loads a project or sets up a new project with a specified path.
void SetProject(PROJECT *aProject)
Links a board to a given project.
BOARD holds information pertinent to a Pcbnew printed circuit board.
Definition: class_board.h:180
PROJECT * GetProject(const wxString &aFullPath) const
Retrieves a loaded project by name.

References BOARD::BuildConnectivity(), BOARD::BuildListOfNets(), GetDefaultProject(), SETTINGS_MANAGER::GetProject(), GetSettingsManager(), IO_MGR::Load(), SETTINGS_MANAGER::LoadProject(), ProjectFileExtension, BOARD::SetProject(), and BOARD::SynchronizeNetsAndNetClasses().

◆ Refresh()

void Refresh ( )

Update the board display after modifying it by a python script (note: it is automatically called by action plugins, after running the plugin, so call this function is usually not needed inside action plugins.

Could be deprecated because modifying a board (especially deleting items) outside a action plugin can crash Pcbnew.

Definition at line 259 of file pcbnew_scripting_helpers.cpp.

260 {
261  if( s_PcbEditFrame )
262  {
263  auto board = s_PcbEditFrame->GetBoard();
264  board->BuildConnectivity();
265 
266  // Re-init everything: this is the easy way to do that
269  }
270 }
void ActivateGalCanvas() override
PCB_DRAW_PANEL_GAL * GetCanvas() const override
Return a pointer to GAL-based canvas of given EDA draw frame.
void BuildConnectivity()
Builds or rebuilds the board connectivity database for the board, especially the list of connected it...
virtual void Refresh(bool aEraseBackground=true, const wxRect *aRect=NULL) override
Update the board display after modifying it by a python script (note: it is automatically called by a...
BOARD * GetBoard() const
static PCB_EDIT_FRAME * s_PcbEditFrame

References PCB_EDIT_FRAME::ActivateGalCanvas(), BOARD::BuildConnectivity(), PCB_BASE_FRAME::GetBoard(), PCB_BASE_FRAME::GetCanvas(), EDA_DRAW_PANEL_GAL::Refresh(), and s_PcbEditFrame.

Referenced by EDA_MSG_PANEL::AppendMessage(), C3D_MODEL_VIEWER::Clear3DModel(), LIB_EDIT_FRAME::emptyScreen(), SPLIT_BUTTON::Enable(), EDA_MSG_PANEL::EraseMsgBox(), PCB_EDIT_FRAME::ImportSpecctraSession(), LIB_EDIT_FRAME::LoadOneLibraryPartAux(), PCB_CALCULATOR_FRAME::OnAttenuatorSelection(), PCB_EDIT_FRAME::onBoardLoaded(), EDA_3D_CANVAS::OnEvent(), SPLIT_BUTTON::OnKillFocus(), PANEL_SETUP_BOARD_STACKUP::OnLayersOptionsChanged(), SPLIT_BUTTON::OnLeftButtonDown(), SPLIT_BUTTON::OnLeftButtonUp(), BM2CMP_FRAME::OnLoadFile(), SPLIT_BUTTON::OnMouseEnter(), SPLIT_BUTTON::OnMouseLeave(), C3D_MODEL_VIEWER::OnMouseMove(), C3D_MODEL_VIEWER::OnMouseWheel(), BM2CMP_FRAME::OnNegativeClicked(), FOOTPRINT_PREVIEW_WIDGET::OnStatusChange(), BM2CMP_FRAME::OnThresholdChange(), DIALOG_JUNCTION_PROPS::resetDefaults(), DIALOG_EDIT_LINE_STYLE::resetDefaults(), TEMPLATE_WIDGET::Select(), C3D_MODEL_VIEWER::Set3DModel(), EDA_MSG_PANEL::SetMessage(), FOOTPRINTS_LISTBOX::SetSelection(), LIBRARY_LISTBOX::SetSelection(), TEMPLATE_WIDGET::Unselect(), mpWindow::UpdateAll(), DIALOG_JUNCTION_PROPS::updateColorButton(), DIALOG_EDIT_LINE_STYLE::updateColorButton(), KIGFX::OPENGL_GAL::updatedGalDisplayOptions(), KIGFX::CAIRO_GAL::updatedGalDisplayOptions(), and DIALOG_PAGES_SETTINGS::UpdatePageLayoutExample().

◆ SaveBoard() [1/2]

bool SaveBoard ( wxString &  aFileName,
BOARD aBoard,
IO_MGR::PCB_FILE_T  aFormat 
)

Definition at line 146 of file pcbnew_scripting_helpers.cpp.

147 {
148  aBoard->BuildConnectivity();
151 
152  IO_MGR::Save( aFormat, aFileName, aBoard, NULL );
153 
154  wxFileName pro = aFileName;
155  pro.SetExt( ProjectFileExtension );
156  pro.MakeAbsolute();
157  wxString projectPath = pro.GetFullPath();
158 
159  GetSettingsManager()->SaveProject( pro.GetFullPath() );
160 
161  return true;
162 }
const std::string ProjectFileExtension
BOARD_DESIGN_SETTINGS & GetDesignSettings() const
Function GetDesignSettings.
Definition: class_board.h:551
void SynchronizeNetsAndNetClasses()
Function SynchronizeNetsAndNetClasses copies NETCLASS info to each NET, based on NET membership in a ...
#define NULL
static const char Default[]
the name of the default NETCLASS
Definition: netclass.h:80
void BuildConnectivity()
Builds or rebuilds the board connectivity database for the board, especially the list of connected it...
SETTINGS_MANAGER * GetSettingsManager()
static void Save(PCB_FILE_T aFileType, const wxString &aFileName, BOARD *aBoard, const PROPERTIES *aProperties=NULL)
Function Save will write either a full aBoard to a storage file in a format that this implementation ...
Definition: io_mgr.cpp:191
bool SetCurrentNetClass(const wxString &aNetClassName)
Function SetCurrentNetClass Must be called after a netclass selection (or after a netclass parameter ...
bool SaveProject(const wxString &aFullPath=wxEmptyString)
Saves a loaded project.

References BOARD::BuildConnectivity(), NETCLASS::Default, BOARD::GetDesignSettings(), GetSettingsManager(), NULL, ProjectFileExtension, IO_MGR::Save(), SETTINGS_MANAGER::SaveProject(), BOARD_DESIGN_SETTINGS::SetCurrentNetClass(), and BOARD::SynchronizeNetsAndNetClasses().

Referenced by SaveBoard().

◆ SaveBoard() [2/2]

bool SaveBoard ( wxString &  aFileName,
BOARD aBoard 
)

Definition at line 165 of file pcbnew_scripting_helpers.cpp.

166 {
167  return SaveBoard( aFileName, aBoard, IO_MGR::KICAD_SEXP );
168 }
bool SaveBoard(wxString &aFileName, BOARD *aBoard, IO_MGR::PCB_FILE_T aFormat)
S-expression Pcbnew file format.
Definition: io_mgr.h:57

References IO_MGR::KICAD_SEXP, and SaveBoard().

◆ ScriptingSetPcbEditFrame()

void ScriptingSetPcbEditFrame ( PCB_EDIT_FRAME aPcbEditFrame)

Definition at line 61 of file pcbnew_scripting_helpers.cpp.

62 {
63  s_PcbEditFrame = aPcbEditFrame;
64 }
static PCB_EDIT_FRAME * s_PcbEditFrame

References s_PcbEditFrame.

Referenced by PCB::IFACE::CreateWindow().

◆ UpdateUserInterface()

void UpdateUserInterface ( )

Update the layer manager and other widgets from the board setup (layer and items visibility, colors ...) (note: it is automatically called by action plugins, after running the plugin, so call this function is usually not needed inside action plugins.

Definition at line 273 of file pcbnew_scripting_helpers.cpp.

274 {
275  if( s_PcbEditFrame )
277 }
void UpdateUserInterface()
Update the layer manager and other widgets from the board setup (layer and items visibility,...
static PCB_EDIT_FRAME * s_PcbEditFrame

References s_PcbEditFrame, and PCB_EDIT_FRAME::UpdateUserInterface().

Referenced by PCB_EDIT_FRAME::ShowBoardSetupDialog().

Variable Documentation

◆ s_PcbEditFrame

◆ s_SettingsManager

SETTINGS_MANAGER* s_SettingsManager = nullptr
static

Definition at line 50 of file pcbnew_scripting_helpers.cpp.

Referenced by GetSettingsManager().