KiCad PCB EDA Suite
pcb_plugin.h File Reference
#include <io_mgr.h>
#include <string>
#include <layer_ids.h>
#include <boost/ptr_container/ptr_map.hpp>
#include <wx_filename.h>
#include "widgets/report_severity.h"

Go to the source code of this file.

Classes

class  FP_CACHE_ITEM
 Helper class for creating a footprint library cache. More...
 
class  FP_CACHE
 
class  PCB_PLUGIN
 A PLUGIN derivation for saving and loading Pcbnew s-expression formatted files. More...
 

Macros

#define SEXPR_BOARD_FILE_VERSION   20221018
 Current s-expression file format version. 2 was the last legacy format version. More...
 
#define BOARD_FILE_HOST_VERSION   20200825
 Earlier files than this include the host tag. More...
 
#define LEGACY_ARC_FORMATTING   20210925
 These were the last to use old arc formatting. More...
 
#define LEGACY_NET_TIES   20220815
 These were the last to use the keywords field to indicate a net-tie. More...
 
#define CTL_OMIT_PAD_NETS   (1 << 1)
 Omit pads net names (useless in library) More...
 
#define CTL_OMIT_TSTAMPS   (1 << 2)
 Omit component time stamp (useless in library) More...
 
#define CTL_OMIT_INITIAL_COMMENTS   (1 << 3)
 omit FOOTPRINT initial comments More...
 
#define CTL_OMIT_PATH   (1 << 4)
 Omit component sheet time stamp (useless in library) More...
 
#define CTL_OMIT_AT   (1 << 5)
 Omit position and rotation. More...
 
#define CTL_OMIT_LIBNAME   (1 << 7)
 Omit lib alias when saving (used for board/not library). More...
 
#define CTL_OMIT_FOOTPRINT_VERSION   (1 << 8)
 Omit the version string from the (footprint) sexpr group. More...
 
#define CTL_FOR_CLIPBOARD   (CTL_OMIT_INITIAL_COMMENTS)
 Format output for the clipboard instead of footprint library or BOARD. More...
 
#define CTL_FOR_LIBRARY    ( CTL_OMIT_PAD_NETS | CTL_OMIT_TSTAMPS | CTL_OMIT_PATH | CTL_OMIT_AT | CTL_OMIT_LIBNAME )
 Format output for a footprint library instead of clipboard or BOARD. More...
 
#define CTL_FOR_BOARD   (CTL_OMIT_INITIAL_COMMENTS|CTL_OMIT_FOOTPRINT_VERSION)
 The zero arg constructor when PCB_PLUGIN is used for PLUGIN::Load() and PLUGIN::Save()ing a BOARD file underneath IO_MGR. More...
 

Typedefs

typedef boost::ptr_map< wxString, FP_CACHE_ITEMFP_CACHE_FOOTPRINT_MAP
 

Macro Definition Documentation

◆ BOARD_FILE_HOST_VERSION

#define BOARD_FILE_HOST_VERSION   20200825

Earlier files than this include the host tag.

Definition at line 135 of file pcb_plugin.h.

◆ CTL_FOR_BOARD

The zero arg constructor when PCB_PLUGIN is used for PLUGIN::Load() and PLUGIN::Save()ing a BOARD file underneath IO_MGR.

Definition at line 163 of file pcb_plugin.h.

◆ CTL_FOR_CLIPBOARD

#define CTL_FOR_CLIPBOARD   (CTL_OMIT_INITIAL_COMMENTS)

Format output for the clipboard instead of footprint library or BOARD.

Definition at line 155 of file pcb_plugin.h.

◆ CTL_FOR_LIBRARY

Format output for a footprint library instead of clipboard or BOARD.

Definition at line 158 of file pcb_plugin.h.

◆ CTL_OMIT_AT

#define CTL_OMIT_AT   (1 << 5)

Omit position and rotation.

(always saved with position 0,0 and rotation = 0 in library).

Definition at line 145 of file pcb_plugin.h.

◆ CTL_OMIT_FOOTPRINT_VERSION

#define CTL_OMIT_FOOTPRINT_VERSION   (1 << 8)

Omit the version string from the (footprint) sexpr group.

Definition at line 150 of file pcb_plugin.h.

◆ CTL_OMIT_INITIAL_COMMENTS

#define CTL_OMIT_INITIAL_COMMENTS   (1 << 3)

omit FOOTPRINT initial comments

Definition at line 142 of file pcb_plugin.h.

◆ CTL_OMIT_LIBNAME

#define CTL_OMIT_LIBNAME   (1 << 7)

Omit lib alias when saving (used for board/not library).

Definition at line 148 of file pcb_plugin.h.

◆ CTL_OMIT_PAD_NETS

#define CTL_OMIT_PAD_NETS   (1 << 1)

Omit pads net names (useless in library)

Definition at line 140 of file pcb_plugin.h.

◆ CTL_OMIT_PATH

#define CTL_OMIT_PATH   (1 << 4)

Omit component sheet time stamp (useless in library)

Definition at line 143 of file pcb_plugin.h.

◆ CTL_OMIT_TSTAMPS

#define CTL_OMIT_TSTAMPS   (1 << 2)

Omit component time stamp (useless in library)

Definition at line 141 of file pcb_plugin.h.

◆ LEGACY_ARC_FORMATTING

#define LEGACY_ARC_FORMATTING   20210925

These were the last to use old arc formatting.

Definition at line 136 of file pcb_plugin.h.

◆ LEGACY_NET_TIES

#define LEGACY_NET_TIES   20220815

These were the last to use the keywords field to indicate a net-tie.

Definition at line 138 of file pcb_plugin.h.

◆ SEXPR_BOARD_FILE_VERSION

#define SEXPR_BOARD_FILE_VERSION   20221018

Current s-expression file format version. 2 was the last legacy format version.

Definition at line 133 of file pcb_plugin.h.

Typedef Documentation

◆ FP_CACHE_FOOTPRINT_MAP

typedef boost::ptr_map<wxString, FP_CACHE_ITEM> FP_CACHE_FOOTPRINT_MAP

Definition at line 186 of file pcb_plugin.h.