KiCad PCB EDA Suite
Loading...
Searching...
No Matches
HEADLESS_PCB_CONTEXT Class Reference

#include <headless_pcb_context.h>

Inheritance diagram for HEADLESS_PCB_CONTEXT:
PCB_CONTEXT BOARD_CONTEXT

Public Member Functions

 HEADLESS_PCB_CONTEXT (std::unique_ptr< BOARD > aBoard, PROJECT *aProject, APP_SETTINGS_BASE *aSettings, KIWAY *aKiway=nullptr)
 
 ~HEADLESS_PCB_CONTEXT () override
 
BOARDGetBoard () const override
 
PROJECTPrj () const override
 
TOOL_MANAGERGetToolManager () const override
 
KIWAYGetKiway () const override
 
wxString GetCurrentFileName () const override
 
bool CanAcceptApiCommands () const override
 
bool SaveBoard () override
 
bool SavePcbCopy (const wxString &aFileName, bool aCreateProject, bool aHeadless) override
 
bool ReadNetlistFromFile (const wxString &aFilename, NETLIST &aNetlist, REPORTER &aReporter) override
 Read a netlist file and preload component footprints.
 
std::unique_ptr< BOARD_NETLIST_UPDATERMakeNetlistUpdater () override
 Create a netlist updater bound to this context's board.
 
void OnNetlistChanged (BOARD_NETLIST_UPDATER &aUpdater) override
 Post-import board sync (nets, classes, DRC, ratsnest, new footprint placement).
 

Private Attributes

std::unique_ptr< BOARDm_board
 
PROJECTm_project
 
KIWAYm_kiway
 
std::unique_ptr< TOOL_MANAGERm_toolManager
 

Detailed Description

Definition at line 37 of file headless_pcb_context.h.

Constructor & Destructor Documentation

◆ HEADLESS_PCB_CONTEXT()

HEADLESS_PCB_CONTEXT::HEADLESS_PCB_CONTEXT ( std::unique_ptr< BOARD > aBoard,
PROJECT * aProject,
APP_SETTINGS_BASE * aSettings,
KIWAY * aKiway = nullptr )

Definition at line 39 of file headless_pcb_context.cpp.

References m_board, m_kiway, m_project, m_toolManager, and move.

◆ ~HEADLESS_PCB_CONTEXT()

HEADLESS_PCB_CONTEXT::~HEADLESS_PCB_CONTEXT ( )
override

Definition at line 55 of file headless_pcb_context.cpp.

References m_board.

Member Function Documentation

◆ CanAcceptApiCommands()

bool HEADLESS_PCB_CONTEXT::CanAcceptApiCommands ( ) const
inlineoverridevirtual

Implements BOARD_CONTEXT.

Definition at line 55 of file headless_pcb_context.h.

Referenced by BOOST_FIXTURE_TEST_CASE().

◆ GetBoard()

BOARD * HEADLESS_PCB_CONTEXT::GetBoard ( ) const
overridevirtual

◆ GetCurrentFileName()

wxString HEADLESS_PCB_CONTEXT::GetCurrentFileName ( ) const
overridevirtual

Implements PCB_CONTEXT.

Definition at line 85 of file headless_pcb_context.cpp.

References m_board.

Referenced by BOOST_FIXTURE_TEST_CASE().

◆ GetKiway()

KIWAY * HEADLESS_PCB_CONTEXT::GetKiway ( ) const
inlineoverridevirtual

Implements BOARD_CONTEXT.

Definition at line 51 of file headless_pcb_context.h.

References m_kiway.

◆ GetToolManager()

TOOL_MANAGER * HEADLESS_PCB_CONTEXT::GetToolManager ( ) const
overridevirtual

Implements BOARD_CONTEXT.

Definition at line 79 of file headless_pcb_context.cpp.

References m_toolManager.

Referenced by BOOST_FIXTURE_TEST_CASE(), and MakeNetlistUpdater().

◆ MakeNetlistUpdater()

std::unique_ptr< BOARD_NETLIST_UPDATER > HEADLESS_PCB_CONTEXT::MakeNetlistUpdater ( )
overridevirtual

Create a netlist updater bound to this context's board.

Implements PCB_CONTEXT.

Definition at line 171 of file headless_pcb_context.cpp.

References GetBoard(), and GetToolManager().

◆ OnNetlistChanged()

◆ Prj()

PROJECT & HEADLESS_PCB_CONTEXT::Prj ( ) const
overridevirtual

Implements BOARD_CONTEXT.

Definition at line 71 of file headless_pcb_context.cpp.

References m_project.

Referenced by BOOST_FIXTURE_TEST_CASE().

◆ ReadNetlistFromFile()

bool HEADLESS_PCB_CONTEXT::ReadNetlistFromFile ( const wxString & aFilename,
NETLIST & aNetlist,
REPORTER & aReporter )
overridevirtual

Read a netlist file and preload component footprints.

Implements PCB_CONTEXT.

Definition at line 141 of file headless_pcb_context.cpp.

References _, GetBoard(), NETLIST_READER::GetNetlistReader(), LoadNetlistFootprints(), REPORTER::Report(), RPT_SEVERITY_ERROR, and IO_ERROR::What().

◆ SaveBoard()

bool HEADLESS_PCB_CONTEXT::SaveBoard ( )
overridevirtual

◆ SavePcbCopy()

bool HEADLESS_PCB_CONTEXT::SavePcbCopy ( const wxString & aFileName,
bool aCreateProject,
bool aHeadless )
overridevirtual

Member Data Documentation

◆ m_board

std::unique_ptr<BOARD> HEADLESS_PCB_CONTEXT::m_board
private

◆ m_kiway

KIWAY* HEADLESS_PCB_CONTEXT::m_kiway
private

Definition at line 70 of file headless_pcb_context.h.

Referenced by GetKiway(), and HEADLESS_PCB_CONTEXT().

◆ m_project

PROJECT* HEADLESS_PCB_CONTEXT::m_project
private

Definition at line 69 of file headless_pcb_context.h.

Referenced by HEADLESS_PCB_CONTEXT(), and Prj().

◆ m_toolManager

std::unique_ptr<TOOL_MANAGER> HEADLESS_PCB_CONTEXT::m_toolManager
private

Definition at line 71 of file headless_pcb_context.h.

Referenced by GetToolManager(), HEADLESS_PCB_CONTEXT(), and OnNetlistChanged().


The documentation for this class was generated from the following files: