41#define PROJECT_VAR_NAME            wxT( "KIPRJMOD" ) 
   44#define NAMELESS_PROJECT _( "untitled" ) 
   52class SYMBOL_LIB_TABLE;
 
  112    virtual std::map<wxString, wxString>& 
GetTextVars() 
const;
 
  117    virtual void ApplyTextVars( 
const std::map<wxString, wxString>& aVarsMap );
 
  131    virtual const wxString GetProjectFullName() 
const;
 
  139    virtual const wxString GetProjectPath() 
const;
 
  147    virtual const wxString GetProjectDirectory() 
const;
 
  154    virtual const wxString GetProjectName() 
const;
 
  165    virtual bool IsNullProject() 
const;
 
  174    virtual const wxString GetSheetName( 
const KIID& aSheetID );
 
  181    virtual const wxString FootprintLibTblName() 
const;
 
  186    virtual const wxString SymbolLibTableName() 
const;
 
  191    virtual const wxString DesignBlockLibTblName() 
const;
 
  202    void PinLibrary( 
const wxString& aLibrary, 
enum LIB_TYPE_T aLibType );
 
  203    void UnpinLibrary( 
const wxString& aLibrary, 
enum LIB_TYPE_T aLibType );
 
  247    virtual const wxString& GetRString( RSTRING_T aStringId );
 
  256    virtual void SetRString( RSTRING_T aStringId, 
const wxString& aString );
 
  290    virtual const wxString AbsolutePath( 
const wxString& aFileName ) 
const;
 
  303    void SetProjectLock( 
LOCKFILE* aLockFile );
 
  315    void SaveToHistory( 
const wxString& aProjectPath, std::vector<wxString>& aFiles );
 
  363    const wxString libTableName( 
const wxString& aLibTableName ) 
const;
 
 
Provide an extensible class to resolve 3D model paths.
 
A minimalistic software bus for communications between various DLLs/DSOs (DSOs) within the same KiCad...
 
A collection of #SYMBOL_LIB objects.
 
A PROJECT can hold stuff it knows nothing about, in the form of _ELEM derivatives.
 
virtual PROJECT::ELEM ProjectElementType()=0
 
The backing store for a PROJECT, in JSON format.
 
The project local settings are things that are attached to a particular project, but also might be pa...
 
PROJECT_FILE * m_projectFile
Backing store for project data – owned by SETTINGS_MANAGER.
 
virtual void SetReadOnly(bool aReadOnly=true)
 
virtual void setProjectFile(PROJECT_FILE *aFile)
Set the backing store file for this project.
 
virtual bool IsReadOnly() const
 
RSTRING_T
Retain a number of project specific wxStrings, enumerated here:
 
@ PCB_FOOTPRINT_EDITOR_FP_NAME
 
@ PCB_FOOTPRINT_EDITOR_LIB_NICKNAME
 
@ PCB_FOOTPRINT_VIEWER_FP_NAME
 
@ PCB_FOOTPRINT_VIEWER_LIB_NICKNAME
 
std::map< KIID, wxString > m_sheetNames
 
std::unique_ptr< LOCKFILE > m_project_lock
Lock.
 
virtual void setLocalSettings(PROJECT_LOCAL_SETTINGS *aSettings)
Set the local settings backing store.
 
int m_netclassesTicker
Update counter on netclasses.
 
virtual void ApplyTextVars(const std::map< wxString, wxString > &aVarsMap)
Applies the given var map, it will create or update existing vars.
 
int GetNetclassesTicker() const
 
virtual PROJECT_LOCAL_SETTINGS & GetLocalSettings() const
 
friend class SETTINGS_MANAGER
 
void IncrementNetclassesTicker()
 
virtual bool TextVarResolver(wxString *aToken) const
 
virtual PROJECT_FILE & GetProjectFile() const
 
std::mutex m_designBlockLibsMutex
Synchronise access to DesignBlockLibs()
 
int GetTextVarsTicker() const
 
std::array< _ELEM *, static_cast< unsigned int >(PROJECT::ELEM::COUNT)> m_elems
 
virtual void elemsClear()
Delete all the _ELEMs and set their pointers to NULL.
 
friend class TEST_NETLISTS_FIXTURE
 
virtual void SetRString(RSTRING_T aStringId, const wxString &aString)
Store a "retained string", which is any session and project specific string identified in enum RSTRIN...
 
wxFileName m_project_name
<fullpath>/<basename>.pro
 
void Clear()
Clear the _ELEMs and RSTRINGs.
 
PROJECT_LOCAL_SETTINGS * m_localSettings
Backing store for project local settings – owned by SETTINGS_MANAGER.
 
int m_textVarsTicker
Update counter on text vars.
 
std::array< wxString, RSTRING_COUNT > m_rstrings
 
virtual void setProjectFullName(const wxString &aFullPathAndName)
Set the full directory, basename, and extension of the project.
 
bool m_readOnly
No project files will be written to disk.
 
void IncrementTextVarsTicker()
 
virtual std::map< wxString, wxString > & GetTextVars() const
 
virtual bool IsNullProject() const
Check if this project is a null project (i.e.
 
ELEM
The set of #_ELEMs that a PROJECT can hold.
 
Cache for storing the 3D shapes.
 
Look for files in a number of paths.