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

Container for project specific data. More...

#include <project.h>

Classes

class  _ELEM
 A PROJECT can hold stuff it knows nothing about, in the form of _ELEM derivatives. More...
 

Public Types

enum class  ELEM {
  FPTBL , SCH_SYMBOL_LIBS , SCH_SEARCH_STACK , S3DCACHE ,
  SYMBOL_LIB_TABLE , SEARCH_STACK , DESIGN_BLOCK_LIB_TABLE , COUNT
}
 The set of #_ELEMs that a PROJECT can hold. More...
 
enum  LIB_TYPE_T { SYMBOL_LIB , FOOTPRINT_LIB , DESIGN_BLOCK_LIB , LIB_TYPE_COUNT }
 
enum  RSTRING_T {
  DOC_PATH , SCH_LIB_PATH , SCH_LIB_SELECT , SCH_LIBEDIT_CUR_LIB ,
  SCH_LIBEDIT_CUR_SYMBOL , VIEWER_3D_PATH , VIEWER_3D_FILTER_INDEX , PCB_LIB_NICKNAME ,
  PCB_FOOTPRINT , PCB_FOOTPRINT_EDITOR_FP_NAME , PCB_FOOTPRINT_EDITOR_LIB_NICKNAME , PCB_FOOTPRINT_VIEWER_FP_NAME ,
  PCB_FOOTPRINT_VIEWER_LIB_NICKNAME , RSTRING_COUNT
}
 Retain a number of project specific wxStrings, enumerated here: More...
 

Public Member Functions

 PROJECT ()
 
virtual ~PROJECT ()
 
virtual bool TextVarResolver (wxString *aToken) const
 
virtual std::map< wxString, wxString > & GetTextVars () const
 
virtual void ApplyTextVars (const std::map< wxString, wxString > &aVarsMap)
 Applies the given var map, it will create or update existing vars.
 
int GetTextVarsTicker () const
 
void IncrementTextVarsTicker ()
 
int GetNetclassesTicker () const
 
void IncrementNetclassesTicker ()
 
virtual const wxString GetProjectFullName () const
 Return the full path and name of the project.
 
virtual const wxString GetProjectPath () const
 Return the full path of the project.
 
virtual const wxString GetProjectDirectory () const
 Return the full path of the project DIRECTORY.
 
virtual const wxString GetProjectName () const
 Return the short name of the project.
 
virtual bool IsNullProject () const
 Check if this project is a null project (i.e.
 
virtual bool IsReadOnly () const
 
virtual void SetReadOnly (bool aReadOnly=true)
 
virtual const wxString GetSheetName (const KIID &aSheetID)
 Return the name of the sheet identified by the given UUID.
 
virtual const wxString FootprintLibTblName () const
 Returns the path and filename of this project's footprint library table.
 
virtual const wxString SymbolLibTableName () const
 Return the path and file name of this projects symbol library table.
 
virtual const wxString DesignBlockLibTblName () const
 Return the path and file name of this projects design block library table.
 
void PinLibrary (const wxString &aLibrary, enum LIB_TYPE_T aLibType)
 
void UnpinLibrary (const wxString &aLibrary, enum LIB_TYPE_T aLibType)
 
virtual PROJECT_FILEGetProjectFile () const
 
virtual PROJECT_LOCAL_SETTINGSGetLocalSettings () const
 
virtual const wxString & GetRString (RSTRING_T aStringId)
 Return a "retained string", which is any session and project specific string identified in enum RSTRING_T.
 
virtual void SetRString (RSTRING_T aStringId, const wxString &aString)
 Store a "retained string", which is any session and project specific string identified in enum RSTRING_T.
 
virtual _ELEMGetElem (PROJECT::ELEM aIndex)
 Get and set the elements for this project.
 
virtual void SetElem (PROJECT::ELEM aIndex, _ELEM *aElem)
 
virtual void ElemsClear ()
 Delete all the _ELEMs and set their pointers to NULL.
 
void Clear ()
 Clear the _ELEMs and RSTRINGs.
 
virtual const wxString AbsolutePath (const wxString &aFileName) const
 Fix up aFileName if it is relative to the project's directory to be an absolute path and filename.
 
virtual FP_LIB_TABLEPcbFootprintLibs (KIWAY &aKiway)
 Return the table of footprint libraries.
 
virtual DESIGN_BLOCK_LIB_TABLEDesignBlockLibs ()
 Return the table of design block libraries.
 

Private Member Functions

virtual void setProjectFullName (const wxString &aFullPathAndName)
 Set the full directory, basename, and extension of the project.
 
virtual void setProjectFile (PROJECT_FILE *aFile)
 Set the backing store file for this project.
 
virtual void setLocalSettings (PROJECT_LOCAL_SETTINGS *aSettings)
 Set the local settings backing store.
 
const wxString libTableName (const wxString &aLibTableName) const
 Return the full path and file name of the project specific library table aLibTableName.
 

Private Attributes

wxFileName m_project_name
 <fullpath>/<basename>.pro
 
wxString m_pro_date_and_time
 
bool m_readOnly
 No project files will be written to disk.
 
int m_textVarsTicker
 Update counter on text vars.
 
int m_netclassesTicker
 Update counter on netclasses.
 
PROJECT_FILEm_projectFile
 Backing store for project data – owned by SETTINGS_MANAGER.
 
PROJECT_LOCAL_SETTINGSm_localSettings
 Backing store for project local settings – owned by SETTINGS_MANAGER.
 
std::map< KIID, wxString > m_sheetNames
 
std::array< wxString, RSTRING_COUNTm_rstrings
 
std::array< _ELEM *, static_cast< unsigned int >(PROJECT::ELEM::COUNT)> m_elems
 

Friends

class SETTINGS_MANAGER
 
class TEST_NETLISTS_FIXTURE
 

Detailed Description

Container for project specific data.

Because it is in the neutral program top, which is not linked to by subsidiary DSOs, any functions in this interface must be virtual.

Definition at line 63 of file project.h.

Member Enumeration Documentation

◆ ELEM

enum class PROJECT::ELEM
strong

The set of #_ELEMs that a PROJECT can hold.

Enumerator
FPTBL 
SCH_SYMBOL_LIBS 
SCH_SEARCH_STACK 
S3DCACHE 
SYMBOL_LIB_TABLE 
SEARCH_STACK 
DESIGN_BLOCK_LIB_TABLE 
COUNT 

Definition at line 69 of file project.h.

◆ LIB_TYPE_T

Enumerator
SYMBOL_LIB 
FOOTPRINT_LIB 
DESIGN_BLOCK_LIB 
LIB_TYPE_COUNT 

Definition at line 188 of file project.h.

◆ RSTRING_T

Retain a number of project specific wxStrings, enumerated here:

Enumerator
DOC_PATH 
SCH_LIB_PATH 
SCH_LIB_SELECT 
SCH_LIBEDIT_CUR_LIB 
SCH_LIBEDIT_CUR_SYMBOL 
VIEWER_3D_PATH 
VIEWER_3D_FILTER_INDEX 
PCB_LIB_NICKNAME 
PCB_FOOTPRINT 
PCB_FOOTPRINT_EDITOR_FP_NAME 
PCB_FOOTPRINT_EDITOR_LIB_NICKNAME 
PCB_FOOTPRINT_VIEWER_FP_NAME 
PCB_FOOTPRINT_VIEWER_LIB_NICKNAME 
RSTRING_COUNT 

Definition at line 213 of file project.h.

Constructor & Destructor Documentation

◆ PROJECT()

PROJECT::PROJECT ( )

Definition at line 44 of file project.cpp.

References m_elems.

◆ ~PROJECT()

PROJECT::~PROJECT ( )
virtual

Definition at line 66 of file project.cpp.

References ElemsClear().

Member Function Documentation

◆ AbsolutePath()

◆ ApplyTextVars()

◆ Clear()

void PROJECT::Clear ( )
inline

Clear the _ELEMs and RSTRINGs.

Definition at line 275 of file project.h.

Referenced by setProjectFullName().

◆ DesignBlockLibs()

◆ DesignBlockLibTblName()

const wxString PROJECT::DesignBlockLibTblName ( ) const
virtual

Return the path and file name of this projects design block library table.

Definition at line 171 of file project.cpp.

References libTableName().

Referenced by DesignBlockLibs(), and InvokeEditDesignBlockLibTable().

◆ ElemsClear()

void PROJECT::ElemsClear ( )
virtual

Delete all the _ELEMs and set their pointers to NULL.

Definition at line 55 of file project.cpp.

References m_elems, and SetElem().

Referenced by ~PROJECT().

◆ FootprintLibTblName()

const wxString PROJECT::FootprintLibTblName ( ) const
virtual

Returns the path and filename of this project's footprint library table.

This project specific footprint library table not the global one.

Definition at line 165 of file project.cpp.

References libTableName().

Referenced by InvokePcbLibTableEditor(), PCB_EDIT_FRAME::OpenProjectFiles(), PcbFootprintLibs(), and PROJECT_PCB::PcbFootprintLibs().

◆ GetElem()

PROJECT::_ELEM * PROJECT::GetElem ( PROJECT::ELEM  aIndex)
virtual

Get and set the elements for this project.

This is a cross module API, therefore the #_ELEM destructor is virtual and can point to a destructor function in another link image. Be careful that that program module is resident at time of destruction.

Summary: -#) cross module API. -#) PROJECT knows nothing about #_ELEM objects except how to delete them and set and get pointers to them.

Definition at line 337 of file project.cpp.

References m_elems.

Referenced by PROJECT_PCB::Cleanup3DCache(), DesignBlockLibs(), PROJECT_PCB::Get3DCacheManager(), PcbFootprintLibs(), PROJECT_PCB::PcbFootprintLibs(), PROJECT_SCH::SchLibs(), PROJECT_SCH::SchSearchS(), PROJECT_SCH::SchSymbolLibTable(), and LEGACY_RESCUER::WriteRescueLibrary().

◆ GetLocalSettings()

◆ GetNetclassesTicker()

int PROJECT::GetNetclassesTicker ( ) const
inline

◆ GetProjectDirectory()

const wxString PROJECT::GetProjectDirectory ( ) const
virtual

Return the full path of the project DIRECTORY.

This is the path of the project file and will always be an absolute path, ending with a path separator.

Definition at line 141 of file project.cpp.

References m_project_name.

Referenced by PROJECT_SCH::SchSearchS().

◆ GetProjectFile()

virtual PROJECT_FILE & PROJECT::GetProjectFile ( ) const
inlinevirtual

Definition at line 200 of file project.h.

Referenced by SYMBOL_TREE_MODEL_ADAPTER::AddLibraries(), DESIGN_BLOCK_TREE_MODEL_ADAPTER::AddLibraries(), FP_TREE_MODEL_ADAPTER::AddLibraries(), DIALOG_PLOT::applyPlotSettings(), CONNECTION_GRAPH::buildConnectionGraph(), CVPCB_MAINFRAME::buildEquivalenceList(), CVPCB_MAINFRAME::BuildLibrariesList(), BOARD::ClearProject(), DIALOG_ASSIGN_NETCLASS::DIALOG_ASSIGN_NETCLASS(), DIALOG_BOARD_SETUP::DIALOG_BOARD_SETUP(), DIALOG_CONFIG_EQUFILES::DIALOG_CONFIG_EQUFILES(), DIALOG_SCHEMATIC_SETUP::DIALOG_SCHEMATIC_SETUP(), SCHEMATIC::ErcSettings(), EVT_UPDATE_UI_RANGE(), FIELDS_GRID_TABLE::GetAttr(), SCH_ITEM::GetEffectiveNetClass(), PCB_EDIT_FRAME::GetLastPath(), SYMBOL_LIBS::GetLibNamesAndPaths(), SCH_EDIT_FRAME::GetSchematicJunctionSize(), GetSheetName(), GetTextVars(), API_HANDLER_COMMON::handleGetNetClasses(), DIALOG_EXPORT_2581::Init(), DIALOG_PLOT::init_Dialog(), DIALOG_EXPORT_SVG::initDialog(), DIALOG_GEN_FOOTPRINT_POSITION::initDialog(), FIELDS_GRID_TABLE::initGrid(), PCB_EDIT_FRAME::LoadDrawingSheet(), PCBNEW_JOBS_HANDLER::loadOverrideDrawingSheet(), PCB_EDIT_FRAME::LoadProjectSettings(), SCH_IO_ALTIUM::LoadSchematicFile(), SIMULATOR_FRAME::LoadSettings(), DIALOG_SCHEMATIC_SETUP::onAuxiliaryAction(), DIALOG_BOARD_SETUP::onAuxiliaryAction(), PCB_EDIT_FRAME::onBoardLoaded(), DIALOG_GEN_FOOTPRINT_POSITION::OnGenerate(), DIALOG_CONFIG_EQUFILES::OnOkClick(), PANEL_SYMBOL_CHOOSER::PANEL_SYMBOL_CHOOSER(), SCH_EDIT_FRAME::RecalculateConnections(), SYMBOL_VIEWER_FRAME::ReCreateLibList(), FOOTPRINT_VIEWER_FRAME::ReCreateLibraryList(), SCHEMATIC::Reset(), SAVE_AS_DIALOG::SAVE_AS_DIALOG(), SCH_EDIT_FRAME::SaveProject(), KICAD_MANAGER_CONTROL::SaveProjectAs(), PCB_EDIT_FRAME::SaveProjectLocalSettings(), SCH_EDIT_FRAME::saveProjectSettings(), ROUTER_TOOL::saveRouterDebugLog(), SIMULATOR_FRAME::SaveSettings(), PCB_BASE_FRAME::SelectLibrary(), SCH_BASE_FRAME::SelectLibraryFromList(), PCB_EDIT_FRAME::SetLastPath(), SYMBOL_LIBS::SetLibNamesAndPaths(), SCHEMATIC::SetProject(), BOARD::SetProject(), SCHEMATIC::Settings(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::Sync(), FP_TREE_SYNCHRONIZING_ADAPTER::Sync(), ERC_TESTER::TestMissingNetclasses(), DIALOG_ASSIGN_NETCLASS::TransferDataFromWindow(), DIALOG_EXPORT_2581::TransferDataFromWindow(), DIALOG_EXPORT_SVG::~DIALOG_EXPORT_SVG(), and EDA_3D_VIEWER_FRAME::~EDA_3D_VIEWER_FRAME().

◆ GetProjectFullName()

const wxString PROJECT::GetProjectFullName ( ) const
virtual

Return the full path and name of the project.

This is the same as the name of the project file (.pro prior to version 6 and .kicad_prj from version 6 onwards) and will always be an absolute path.

Definition at line 129 of file project.cpp.

References m_project_name.

Referenced by AbsolutePath(), DIALOG_SYMBOL_REMAP::backupProject(), DIALOG_BOARD_STATISTICS::DIALOG_BOARD_STATISTICS(), SCH_EDIT_FRAME::doCloseWindow(), BOARD_EDITOR_CONTROL::ExportNetlist(), SYMBOL_EDITOR_CONTROL::ExportSymbolAsSVG(), SYMBOL_EDITOR_CONTROL::ExportView(), BACK_ANNOTATE::FetchNetlistFromPCB(), PCBNEW_JOBS_HANDLER::getBoard(), TEST_NETLIST_EXPORTER_SPICE_FIXTURE::GetNetlistPath(), TEST_SIM_REGRESSIONS_FIXTURE::GetNetlistPath(), KICAD_MANAGER_FRAME::GetProjectFileName(), SCH_EDITOR_CONTROL::ImportFPAssignments(), SCH_DRAWING_TOOLS::ImportSheet(), libTableName(), SYMBOL_LIBS::LoadAllLibraries(), SETTINGS_MANAGER::loadProjectFile(), SCH_IO_CADSTAR_ARCHIVE::LoadSchematicFile(), SCH_EDIT_FRAME::OnImportProject(), KICAD_MANAGER_FRAME::OnUnarchiveFiles(), SCH_EDIT_FRAME::OnUpdatePCB(), SCH_EDIT_FRAME::OpenProjectFiles(), PCB_EDIT_FRAME::OpenProjectFiles(), SETTINGS_MANAGER::SaveProject(), SETTINGS_MANAGER::SaveProjectAs(), SETTINGS_MANAGER::SaveProjectCopy(), PCB_EDIT_FRAME::SaveProjectLocalSettings(), PCB_EDIT_FRAME::saveProjectSettings(), setProjectFullName(), EDA_3D_VIEWER_FRAME::takeScreenshot(), SETTINGS_MANAGER::UnloadProject(), SETTINGS_MANAGER::unloadProjectFile(), and SCH_EDIT_FRAME::updateAutoSaveFile().

◆ GetProjectName()

◆ GetProjectPath()

const wxString PROJECT::GetProjectPath ( ) const
virtual

Return the full path of the project.

This is the path of the project file and will always be an absolute path, ending with a path separator.

Definition at line 135 of file project.cpp.

References m_project_name.

Referenced by PANEL_SYM_LIB_TABLE::browseLibrariesHandler(), SCH_EDIT_FRAME::createNewDesignBlockLibrary(), PCB_BASE_EDIT_FRAME::createNewLibrary(), DIALOG_PAGES_SETTINGS::DIALOG_PAGES_SETTINGS(), DIALOG_SYMBOL_REMAP::DIALOG_SYMBOL_REMAP(), KICAD_MANAGER_CONTROL::Execute(), SCH_EDITOR_CONTROL::ExportSymbolsToLibrary(), SIMULATOR_CONTROL::getDefaultPath(), FOOTPRINT_LIST::GetInstance(), SCH_IO_ALTIUM::getLibFileName(), SCH_IO_EAGLE::getLibFileName(), SETTINGS_MANAGER::GetPathForSettingsFile(), SETTINGS_MANAGER::GetProjectBackupsPath(), FIELDS_GRID_TABLE::initGrid(), SIMULATOR_FRAME_UI::InitWorkbook(), InvokeEditDesignBlockLibTable(), InvokePcbLibTableEditor(), InvokeSchEditSymbolLibTable(), EDA_DRAW_FRAME::LibraryFileBrowser(), LTSPICE_SCHEMATIC::Load(), PCBNEW_JOBS_HANDLER::loadOverrideDrawingSheet(), SCH_EDIT_FRAME::LoadProject(), SCH_IO_ALTIUM::LoadSchematicFile(), SCH_IO_CADSTAR_ARCHIVE::LoadSchematicFile(), SCH_IO_EAGLE::LoadSchematicFile(), SCH_IO_EASYEDAPRO::LoadSchematicFile(), SCH_IO_KICAD_LEGACY::LoadSchematicFile(), SCH_IO_KICAD_SEXPR::LoadSchematicFile(), CADSTAR_SCH_ARCHIVE_LOADER::loadSheetAndChildSheets(), SCH_EDIT_FRAME::LoadSheetFromFile(), CADSTAR_SCH_ARCHIVE_LOADER::loadSheets(), SIMULATOR_FRAME_UI::LoadWorkbook(), NormalizePath(), PANEL_FP_PROPERTIES_3D_MODEL::OnAdd3DModel(), DIALOG_SIM_MODEL< T >::onBrowseButtonClick(), KICAD_MANAGER_FRAME::OnOpenFileInTextEditor(), DIALOG_ERC::OnSaveReport(), DIALOG_DRC::OnSaveReport(), PANEL_FP_PROPERTIES_3D_MODEL::PANEL_FP_PROPERTIES_3D_MODEL(), PANEL_SYM_LIB_TABLE::PANEL_SYM_LIB_TABLE(), SCH_IO_ALTIUM::ParseAltiumSch(), SCH_IO_ALTIUM::ParseHarnessType(), SCH_EDITOR_CONTROL::Paste(), PathIsInsideProject(), SYMBOL_EDIT_FRAME::replaceLibTableEntry(), ResolveFile(), SETTINGS_MANAGER::SaveProject(), SIMULATOR_FRAME_UI::SaveWorkbook(), FILENAME_RESOLVER::SetProject(), PANEL_SYM_LIB_TABLE::setupGrid(), SCH_EDIT_FRAME::WriteNetListFile(), and SYMBOL_LIB_TABLE_RESCUER::WriteRescueLibrary().

◆ GetRString()

const wxString & PROJECT::GetRString ( RSTRING_T  aStringId)
virtual

Return a "retained string", which is any session and project specific string identified in enum RSTRING_T.

Retained strings are not written to disk, and are therefore good only for the current session.

Definition at line 318 of file project.cpp.

References m_rstrings.

Referenced by PCB_EDIT_FRAME::ExportFootprintsToLibrary(), FOOTPRINT_VIEWER_FRAME::getCurFootprintName(), SYMBOL_EDIT_FRAME::GetCurLib(), FOOTPRINT_VIEWER_FRAME::getCurNickname(), PANEL_FP_PROPERTIES_3D_MODEL::OnAdd3DModel(), FOOTPRINT_EDIT_FRAME::restoreLastFootprint(), SYMBOL_EDIT_FRAME::saveLibrary(), and SCH_BASE_FRAME::SelectLibraryFromList().

◆ GetSheetName()

const wxString PROJECT::GetSheetName ( const KIID aSheetID)
virtual

Return the name of the sheet identified by the given UUID.

Definition at line 292 of file project.cpp.

References KIID::AsString(), GetProjectFile(), and m_sheetNames.

◆ GetTextVars()

◆ GetTextVarsTicker()

◆ IncrementNetclassesTicker()

void PROJECT::IncrementNetclassesTicker ( )
inline

◆ IncrementTextVarsTicker()

void PROJECT::IncrementTextVarsTicker ( )
inline

◆ IsNullProject()

bool PROJECT::IsNullProject ( ) const
virtual

Check if this project is a null project (i.e.

the default project object created when no real project is open).

The null project still presents all the same project interface, but is not backed by any files, so saving it makes no sense.

Returns
true if this is an empty project.

Definition at line 153 of file project.cpp.

References m_project_name.

Referenced by AskSaveBoardFileName(), SCH_EDITOR_CONTROL::ExportSymbolsToLibrary(), PANEL_SETUP_RULES::ImportSettingsFrom(), InvokeEditDesignBlockLibTable(), InvokePcbLibTableEditor(), InvokeSchEditSymbolLibTable(), EDA_DRAW_FRAME::LibraryFileBrowser(), SYMBOL_LIBS::LoadAllLibraries(), PCB_EDIT_FRAME::SaveProjectLocalSettings(), BOARD::SynchronizeProperties(), PANEL_SETUP_RULES::TransferDataFromWindow(), and PANEL_SETUP_RULES::TransferDataToWindow().

◆ IsReadOnly()

virtual bool PROJECT::IsReadOnly ( ) const
inlinevirtual

Definition at line 162 of file project.h.

Referenced by SETTINGS_MANAGER::SaveProject(), and SETTINGS_MANAGER::SaveProjectAs().

◆ libTableName()

const wxString PROJECT::libTableName ( const wxString &  aLibTableName) const
private

Return the full path and file name of the project specific library table aLibTableName.

Definition at line 247 of file project.cpp.

References GetProjectFullName(), KIPLATFORM::ENV::GetUserConfigPath(), and path.

Referenced by DesignBlockLibTblName(), FootprintLibTblName(), and SymbolLibTableName().

◆ PcbFootprintLibs()

FP_LIB_TABLE * PROJECT::PcbFootprintLibs ( KIWAY aKiway)
virtual

Return the table of footprint libraries.

Requires an active Kiway as this is fetched from Pcbnew.

Definition at line 378 of file project.cpp.

References _, DisplayErrorMessage(), KIWAY::FACE_PCB, FootprintLibTblName(), FPTBL, GetElem(), IFACE::IfaceOrAddress(), kiface(), KIWAY::KiFACE(), KIFACE_NEW_FOOTPRINT_TABLE, LIB_TABLE::Load(), FP_LIB_TABLE::ProjectElementType(), SetElem(), and IO_ERROR::What().

Referenced by FOOTPRINT_SELECT_WIDGET::Load().

◆ PinLibrary()

◆ SetElem()

◆ setLocalSettings()

virtual void PROJECT::setLocalSettings ( PROJECT_LOCAL_SETTINGS aSettings)
inlineprivatevirtual

Set the local settings backing store.

This should only be called by SETTINGS_MANAGER on load.

Parameters
aSettingsis the local settings object (may or may not exist on disk at this point)

Definition at line 334 of file project.h.

◆ setProjectFile()

virtual void PROJECT::setProjectFile ( PROJECT_FILE aFile)
inlineprivatevirtual

Set the backing store file for this project.

This should only be called by #SETTINGS_MANGER on load.

Parameters
aFileis a loaded PROJECT_FILE.

Definition at line 322 of file project.h.

Referenced by SETTINGS_MANAGER::loadProjectFile().

◆ setProjectFullName()

void PROJECT::setProjectFullName ( const wxString &  aFullPathAndName)
privatevirtual

Set the full directory, basename, and extension of the project.

This is the name of the project file with full absolute path and it also defines the name of the project. The project name and the project file names are exactly the same, providing the project filename is absolute.

Definition at line 105 of file project.cpp.

References Clear(), GetProjectFullName(), m_project_name, FILEEXT::ProjectFileExtension, TO_UTF8, and tracePathsAndFiles.

Referenced by SETTINGS_MANAGER::SaveProjectAs().

◆ SetReadOnly()

virtual void PROJECT::SetReadOnly ( bool  aReadOnly = true)
inlinevirtual

◆ SetRString()

void PROJECT::SetRString ( RSTRING_T  aStringId,
const wxString &  aString 
)
virtual

◆ SymbolLibTableName()

const wxString PROJECT::SymbolLibTableName ( ) const
virtual

Return the path and file name of this projects symbol library table.

Definition at line 159 of file project.cpp.

References libTableName().

◆ TextVarResolver()

bool PROJECT::TextVarResolver ( wxString *  aToken) const
virtual

Definition at line 72 of file project.cpp.

References GetTextVars().

Referenced by ExpandTextVars(), and KIwxExpandEnvVars().

◆ UnpinLibrary()

Friends And Related Function Documentation

◆ SETTINGS_MANAGER

friend class SETTINGS_MANAGER
friend

Definition at line 303 of file project.h.

◆ TEST_NETLISTS_FIXTURE

friend class TEST_NETLISTS_FIXTURE
friend

Definition at line 304 of file project.h.

Member Data Documentation

◆ m_elems

std::array<_ELEM*,static_cast<unsigned int>( PROJECT::ELEM::COUNT )> PROJECT::m_elems
private
See also
this::Elem() and enum ELEM_T.

Definition at line 364 of file project.h.

Referenced by ElemsClear(), GetElem(), PROJECT(), and SetElem().

◆ m_localSettings

PROJECT_LOCAL_SETTINGS* PROJECT::m_localSettings
private

Backing store for project local settings – owned by SETTINGS_MANAGER.

Definition at line 356 of file project.h.

◆ m_netclassesTicker

int PROJECT::m_netclassesTicker
private

Update counter on netclasses.

Definition at line 350 of file project.h.

◆ m_pro_date_and_time

wxString PROJECT::m_pro_date_and_time
private

Definition at line 346 of file project.h.

◆ m_project_name

wxFileName PROJECT::m_project_name
private

<fullpath>/<basename>.pro

Definition at line 345 of file project.h.

Referenced by GetProjectDirectory(), GetProjectFullName(), GetProjectName(), GetProjectPath(), IsNullProject(), and setProjectFullName().

◆ m_projectFile

PROJECT_FILE* PROJECT::m_projectFile
private

Backing store for project data – owned by SETTINGS_MANAGER.

Definition at line 353 of file project.h.

Referenced by PinLibrary(), and UnpinLibrary().

◆ m_readOnly

bool PROJECT::m_readOnly
private

No project files will be written to disk.

Definition at line 348 of file project.h.

◆ m_rstrings

std::array<wxString,RSTRING_COUNT> PROJECT::m_rstrings
private
See also
this::SetRString(), GetRString(), and enum RSTRING_T.

Definition at line 361 of file project.h.

Referenced by GetRString(), and SetRString().

◆ m_sheetNames

std::map<KIID, wxString> PROJECT::m_sheetNames
private

Definition at line 358 of file project.h.

Referenced by GetSheetName().

◆ m_textVarsTicker

int PROJECT::m_textVarsTicker
private

Update counter on text vars.

Definition at line 349 of file project.h.


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