22#ifndef KICAD_PROJECT_FILE_H 
   23#define KICAD_PROJECT_FILE_H 
   68        return !( *
this == aOther );
 
 
 
  106    bool LoadFromFile( 
const wxString& aDirectory = 
"" ) 
override;
 
  108    bool SaveToFile( 
const wxString& aDirectory = 
"", 
bool aForce = 
false ) 
override;
 
  110    bool SaveAs( 
const wxString& aDirectory, 
const wxString& aFile );
 
 
Container for design settings for a BOARD object.
 
COMPONENT_CLASS_SETTINGS stores data for component classes, including rules for automatic generation ...
 
Container for ERC settings.
 
virtual wxString getFileExt() const
 
bool m_isFutureFormat
Set to true if this settings is loaded from a file with a newer schema version than is known.
 
virtual bool LoadFromFile(const wxString &aDirectory="")
Loads the backing file from disk and then calls Load()
 
virtual bool MigrateFromLegacy(wxConfigBase *aLegacyConfig)
Migrates from wxConfig to JSON-based configuration.
 
JSON_SETTINGS(const wxString &aFilename, SETTINGS_LOC aLocation, int aSchemaVersion)
 
virtual bool SaveToFile(const wxString &aDirectory="", bool aForce=false)
Calls Store() and then writes the contents of the JSON document to a file.
 
virtual wxString getLegacyFileExt() const
 
Management class for layer pairs in a PCB.
 
NET_SETTINGS stores various net-related settings in a project context.
 
std::map< wxString, wxString > m_TextVars
 
std::vector< LAYER_PAIR_INFO > m_LayerPairInfos
List of stored 3D viewports (view matrixes)
 
ERC_SETTINGS * m_ErcSettings
Eeschema params.
 
std::vector< FILE_INFO_PAIR > & GetSheets()
 
SCHEMATIC_SETTINGS * m_SchematicSettings
 
std::vector< FILE_INFO_PAIR > & GetBoards()
 
bool migrateSchema1To2()
IPC-2581 BOM settings.
 
std::shared_ptr< NET_SETTINGS > & NetSettings()
 
wxString m_BoardDrawingSheetFile
PcbNew params.
 
std::shared_ptr< NET_SETTINGS > m_NetSettings
Net settings for this project (owned here)
 
struct IP2581_BOM m_IP2581Bom
Layer pair list for the board.
 
wxString m_PcbLastPath[LAST_PATH_SIZE]
MRU path storage.
 
PROJECT * m_project
A link to the owning PROJECT.
 
std::vector< TOP_LEVEL_SHEET_INFO > m_topLevelSheets
A list of top-level schematic sheets in this project.
 
std::vector< VIEWPORT > m_Viewports
List of stored layer presets.
 
BOARD_DESIGN_SETTINGS * m_BoardSettings
Board design settings for this project's board.
 
std::vector< wxString > m_PinnedDesignBlockLibs
The list of pinned design block libraries.
 
bool SaveAs(const wxString &aDirectory, const wxString &aFile)
 
std::map< wxString, std::vector< wxString > > m_BusAliases
Bus alias definitions for the schematic project.
 
std::vector< wxString > m_EquivalenceFiles
CvPcb params.
 
bool migrateSchema2To3()
Schema version 3: move layer presets to use named render layers.
 
std::shared_ptr< COMPONENT_CLASS_SETTINGS > & ComponentClassSettings()
 
bool ShouldAutoSave() const
 
const std::vector< TOP_LEVEL_SHEET_INFO > & GetTopLevelSheets() const
 
std::vector< wxString > m_PinnedFootprintLibs
The list of pinned footprint libraries.
 
void SetProject(PROJECT *aProject)
 
virtual ~PROJECT_FILE()=default
 
std::vector< FILE_INFO_PAIR > m_sheets
An list of schematic sheets in this project.
 
std::shared_ptr< TUNING_PROFILES > & TuningProfileParameters()
 
std::vector< LAYER_PRESET > m_LayerPresets
 
std::vector< FILE_INFO_PAIR > m_boards
A list of board files in this project.
 
std::shared_ptr< TUNING_PROFILES > m_tuningProfileParameters
Tuning profile parameters for this project.
 
wxArrayString m_LegacyLibNames
 
std::vector< TOP_LEVEL_SHEET_INFO > & GetTopLevelSheets()
 
std::vector< wxString > m_PinnedSymbolLibs
Below are project-level settings that have not been moved to a dedicated file.
 
std::vector< VIEWPORT3D > m_Viewports3D
List of stored viewports (pos + zoom)
 
PROJECT_FILE(const wxString &aFullPath)
Construct the project file for a project.
 
std::shared_ptr< COMPONENT_CLASS_SETTINGS > m_ComponentClassSettings
Component class settings for the project (owned here)
 
Container for project specific data.
 
These are loaded from Eeschema settings but then overwritten by the project settings.
 
TUNING_PROFILES stores the configuration for impedance / delay tuning profiles.
 
void to_json(nlohmann::json &aJson, const FILE_INFO_PAIR &aPair)
 
void from_json(const nlohmann::json &aJson, FILE_INFO_PAIR &aPair)
 
LAST_PATH_TYPE
For storing PcbNew MRU paths of various types.
 
std::pair< KIID, wxString > FILE_INFO_PAIR
For files like sheets and boards, a pair of that object KIID and display name Display name is typical...
 
Information about a top-level schematic sheet.
 
bool operator!=(const TOP_LEVEL_SHEET_INFO &aOther) const
 
KIID uuid
Unique identifier for the sheet.
 
TOP_LEVEL_SHEET_INFO(const KIID &aUuid, const wxString &aName, const wxString &aFilename)
 
bool operator==(const TOP_LEVEL_SHEET_INFO &aOther) const
 
wxString name
Display name for the sheet.
 
TOP_LEVEL_SHEET_INFO()=default
 
wxString filename
Relative path to the sheet file.