22#ifndef KICAD_PROJECT_FILE_H
23#define KICAD_PROJECT_FILE_H
84 bool SaveToFile(
const wxString& aDirectory =
"",
bool aForce =
false )
override;
86 bool SaveAs(
const wxString& aDirectory,
const wxString& aFile );
105 return m_NetSettings;
189 bool migrateSchema1To2();
Container for design settings for a BOARD object.
Container for ERC settings.
virtual wxString getFileExt() const
virtual bool MigrateFromLegacy(wxConfigBase *aLegacyConfig)
Migrates from wxConfig to JSON-based configuration.
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.
The backing store for a PROJECT, in JSON format.
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()
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)
PROJECT * m_project
A link to the owning 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.
std::vector< wxString > m_EquivalenceFiles
CvPcb params.
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::vector< LAYER_PRESET > m_LayerPresets
std::vector< FILE_INFO_PAIR > m_boards
A list of board files in this project.
wxArrayString m_LegacyLibNames
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)
Container for project specific data.
These are loaded from Eeschema settings but then overwritten by the project settings.
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...