40#define PROJECT_VAR_NAME wxT( "KIPRJMOD" )
43#define NAMELESS_PROJECT _( "untitled" )
111 virtual std::map<wxString, wxString>&
GetTextVars()
const;
116 virtual void ApplyTextVars(
const std::map<wxString, wxString>& aVarsMap );
130 virtual const wxString GetProjectFullName()
const;
138 virtual const wxString GetProjectPath()
const;
146 virtual const wxString GetProjectDirectory()
const;
153 virtual const wxString GetProjectName()
const;
164 virtual bool IsNullProject()
const;
173 virtual const wxString GetSheetName(
const KIID& aSheetID );
180 virtual const wxString FootprintLibTblName()
const;
185 virtual const wxString SymbolLibTableName()
const;
190 virtual const wxString DesignBlockLibTblName()
const;
201 void PinLibrary(
const wxString& aLibrary,
enum LIB_TYPE_T aLibType );
202 void UnpinLibrary(
const wxString& aLibrary,
enum LIB_TYPE_T aLibType );
246 virtual const wxString& GetRString( RSTRING_T aStringId );
255 virtual void SetRString( RSTRING_T aStringId,
const wxString& aString );
289 virtual const wxString AbsolutePath(
const wxString& aFileName )
const;
302 void SetProjectLock(
LOCKFILE* aLockFile );
352 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 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
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.
A collection of SYMBOL_LIB objects.
@ PROJECT
The settings directory inside a project folder.