39#define PROJECT_VAR_NAME wxT( "KIPRJMOD" )
42#define NAMELESS_PROJECT _( "untitled" )
85 virtual bool TextVarResolver( wxString* aToken )
const;
87 virtual std::map<wxString, wxString>&
GetTextVars()
const;
92 virtual void ApplyTextVars(
const std::map<wxString, wxString>& aVarsMap );
106 virtual const wxString GetProjectFullName()
const;
114 virtual const wxString GetProjectPath()
const;
122 virtual const wxString GetProjectDirectory()
const;
129 virtual const wxString GetProjectName()
const;
140 virtual bool IsNullProject()
const;
142 virtual bool IsReadOnly()
const {
return m_readOnly || IsNullProject(); }
144 virtual void SetReadOnly(
bool aReadOnly =
true ) { m_readOnly = aReadOnly; }
149 virtual const wxString GetSheetName(
const KIID& aSheetID );
156 virtual const wxString FootprintLibTblName()
const;
161 virtual const wxString SymbolLibTableName()
const;
163 void PinLibrary(
const wxString& aLibrary,
bool isSymbolLibrary );
164 void UnpinLibrary(
const wxString& aLibrary,
bool isSymbolLibrary );
168 wxASSERT( m_projectFile );
169 return *m_projectFile;
174 wxASSERT( m_localSettings );
175 return *m_localSettings;
207 virtual const wxString& GetRString( RSTRING_T aStringId );
216 virtual void SetRString( RSTRING_T aStringId,
const wxString& aString );
245 virtual _ELEM* GetElem( ELEM_T aIndex );
246 virtual void SetElem( ELEM_T aIndex, _ELEM* aElem );
251 virtual void ElemsClear();
260 for(
unsigned i = 0; i<RSTRING_COUNT; ++i )
261 SetRString(
RSTRING_T( i ), wxEmptyString );
270 virtual const wxString AbsolutePath(
const wxString& aFileName )
const;
280 friend class TEST_NETLISTS_FIXTURE;
289 virtual void setProjectFullName(
const wxString& aFullPathAndName );
300 m_projectFile = aFile;
312 m_localSettings = aSettings;
318 const wxString libTableName(
const wxString& aLibTableName )
const;
337 wxString m_rstrings[RSTRING_COUNT];
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.
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...
Container for project specific data.
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
wxString m_pro_date_and_time
std::map< KIID, wxString > m_sheetNames
virtual void setLocalSettings(PROJECT_LOCAL_SETTINGS *aSettings)
Set the local settings backing store.
int m_netclassesTicker
Update counter on netclasses.
int GetNetclassesTicker() const
virtual PROJECT_LOCAL_SETTINGS & GetLocalSettings() const
void IncrementNetclassesTicker()
virtual PROJECT_FILE & GetProjectFile() const
int GetTextVarsTicker() const
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.
bool m_readOnly
No project files will be written to disk.
void IncrementTextVarsTicker()
ELEM_T
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.
wxString GetTextVars(const wxString &aSource)
Returns any variables unexpanded, e.g.
KICAD_T
The set of class identification values stored in EDA_ITEM::m_structType.