LIB_SYMBOL * m_symbol
Working copy; owned by the context while detached.
wxString m_reference
Reference designator of the source instance, shown as the tab label.
SYMBOL_EDITOR_TAB_CONTEXT(const wxString &aLib, const wxString &aName, SYMBOL_BUFFER *aBuffer)
Construct a library tab over the buffer for aLibrary:aName.
~SYMBOL_EDITOR_TAB_CONTEXT() override
bool m_frameOwns
True while the tab is active and the frame owns the symbol/screen.
void PromoteToLibrary(const wxString &aLib, const wxString &aName)
Gives an unsaved new symbol a library identity.
KIID m_sessionId
Identity of an unsaved new symbol, which has no library:name pair to key on.
bool IsModified() const override
True when the working screen carries unsaved edits.
SCH_SCREEN * m_screen
Working screen; owned by the context while detached.
KIID m_schematicSymbolUUID
Source instance UUID, used as both the de-dup key and the save-back target.
KIND
What the tab edits, which decides its key, its label and whether it is persisted.
@ UNSAVED
A brand-new symbol with no library home yet, session-only.
@ SCHEMATIC_INSTANCE
A symbol pulled off a placed schematic symbol, session-only.
@ LIBRARY
A library symbol, keyed library:name and persisted across sessions.