![]() |
KiCad PCB EDA Suite
|
A helper to define a symbol's reference designator in a schematic. More...
#include <sch_reference_list.h>
Public Member Functions | |
SCH_REFERENCE () | |
SCH_REFERENCE (SCH_COMPONENT *aSymbol, LIB_PART *aLibPart, const SCH_SHEET_PATH &aSheetPath) | |
SCH_COMPONENT * | GetSymbol () const |
LIB_PART * | GetLibPart () const |
const SCH_SHEET_PATH & | GetSheetPath () const |
SCH_SHEET_PATH & | GetSheetPath () |
int | GetUnit () const |
void | SetUnit (int aUnit) |
const wxString | GetValue () const |
void | SetValue (const wxString &aValue) |
const wxString | GetFootprint () const |
void | SetFootprint (const wxString &aFP) |
void | SetSheetNumber (int aSheetNumber) |
const wxString | GetPath () const |
void | Annotate () |
Update the annotation of the symbol according the the current object state. More... | |
void | Split () |
Attempt to split the reference designator into a name (U) and number (1). More... | |
void | SetRef (const wxString &aReference) |
wxString | GetRef () const |
void | SetRefStr (const std::string &aReference) |
const char * | GetRefStr () const |
Return reference name with unit altogether. More... | |
wxString | GetFullRef () |
wxString | GetRefNumber () const |
int | CompareValue (const SCH_REFERENCE &item) const |
int | CompareRef (const SCH_REFERENCE &item) const |
int | CompareLibName (const SCH_REFERENCE &item) const |
bool | IsSameInstance (const SCH_REFERENCE &other) const |
Return whether this reference refers to the same symbol instance (symbol and sheet) as another. More... | |
bool | IsUnitsLocked () |
Private Attributes | |
UTF8 | m_ref |
Symbol reference prefix, without number (for IC1, this is IC) ) More... | |
SCH_COMPONENT * | m_rootSymbol |
The symbol associated the reference object. More... | |
LIB_PART * | m_libPart |
The source symbol from a library. More... | |
wxPoint | m_symbolPos |
The physical position of the symbol in schematic. More... | |
int | m_unit |
The unit number for symbol with multiple parts. More... | |
wxString | m_value |
The symbol value. More... | |
wxString | m_footprint |
The footprint assigned. More... | |
SCH_SHEET_PATH | m_sheetPath |
The sheet path for this reference. More... | |
bool | m_isNew |
True if not yet annotated. More... | |
int | m_sheetNum |
The sheet number for the reference. More... | |
KIID | m_symbolUuid |
UUID of the symbol. More... | |
int | m_numRef |
The numeric part of the reference designator. More... | |
int | m_flag |
Friends | |
class | SCH_REFERENCE_LIST |
A helper to define a symbol's reference designator in a schematic.
This helper is required in a complex hierarchy because a symbol can be used more than once and its reference depends on the sheet path. This class is used to flatten the schematic hierarchy for annotation, net list generation, and bill of material generation.
Definition at line 44 of file sch_reference_list.h.
|
inline |
Definition at line 67 of file sch_reference_list.h.
References m_flag, m_isNew, m_libPart, m_numRef, m_rootSymbol, m_sheetNum, m_unit, and NULL.
SCH_REFERENCE::SCH_REFERENCE | ( | SCH_COMPONENT * | aSymbol, |
LIB_PART * | aLibPart, | ||
const SCH_SHEET_PATH & | aSheetPath | ||
) |
Definition at line 659 of file component_references_lister.cpp.
References SCH_COMPONENT::GetFootprint(), SCH_COMPONENT::GetPosition(), SCH_COMPONENT::GetRef(), SCH_COMPONENT::GetUnitSelection(), SCH_COMPONENT::GetValue(), m_flag, m_footprint, m_isNew, m_libPart, m_numRef, m_rootSymbol, m_sheetNum, m_sheetPath, m_symbolPos, m_symbolUuid, m_unit, EDA_ITEM::m_Uuid, m_value, NULL, SetRef(), SCH_COMPONENT::SetRef(), and SCH_COMPONENT::SetValue().
void SCH_REFERENCE::Annotate | ( | ) |
Update the annotation of the symbol according the the current object state.
Definition at line 691 of file component_references_lister.cpp.
References UTF8::c_str(), FROM_UTF8(), GetRef(), GetRefNumber(), m_numRef, m_ref, m_rootSymbol, m_sheetPath, m_unit, SCH_COMPONENT::SetRef(), SCH_COMPONENT::SetUnit(), SCH_COMPONENT::SetUnitSelection(), and TO_UTF8.
Referenced by SCH_EDIT_FRAME::AnnotateComponents().
|
inline |
Definition at line 159 of file sch_reference_list.h.
References UTF8::compare(), SCH_COMPONENT::GetLibId(), LIB_ID::GetLibItemName(), and m_rootSymbol.
Referenced by SCH_REFERENCE_LIST::Annotate().
|
inline |
Definition at line 154 of file sch_reference_list.h.
References UTF8::compare(), and m_ref.
Referenced by SCH_REFERENCE_LIST::sortByRefAndValue(), SCH_REFERENCE_LIST::sortByXPosition(), and SCH_REFERENCE_LIST::sortByYPosition().
|
inline |
Definition at line 149 of file sch_reference_list.h.
References m_value.
Referenced by SCH_REFERENCE_LIST::Annotate(), and SCH_REFERENCE_LIST::sortByRefAndValue().
|
inline |
Definition at line 95 of file sch_reference_list.h.
References m_footprint.
Referenced by BACK_ANNOTATE::applyChangelist(), ERC_TESTER::TestMultiunitFootprints(), and SCH_EDITOR_CONTROL::updatePastedInstances().
|
inline |
Definition at line 126 of file sch_reference_list.h.
References GetRef(), GetSymbol(), GetUnit(), and LIB_PART::SubReference().
Referenced by BACK_ANNOTATE::applyChangelist().
|
inline |
Definition at line 83 of file sch_reference_list.h.
References m_libPart.
Referenced by GetRefNumber().
|
inline |
Definition at line 100 of file sch_reference_list.h.
References KIID::AsString(), m_rootSymbol, m_sheetPath, EDA_ITEM::m_Uuid, and SCH_SHEET_PATH::PathAsString().
|
inline |
Definition at line 120 of file sch_reference_list.h.
References m_ref.
Referenced by Annotate(), BACK_ANNOTATE::applyChangelist(), buildFullReference(), CollectOtherUnits(), GetFullRef(), SCH_SHEET_PATH::GetMultiUnitComponents(), FIELDS_EDITOR_GRID_DATA_MODEL::GetValue(), FIELDS_EDITOR_GRID_DATA_MODEL::groupMatch(), SCH_REFERENCE_LIST::sortByReferenceOnly(), FIELDS_EDITOR_GRID_DATA_MODEL::unitMatch(), and SCH_EDITOR_CONTROL::updatePastedInstances().
|
inline |
Definition at line 134 of file sch_reference_list.h.
References GetLibPart(), and m_numRef.
Referenced by Annotate(), buildFullReference(), FIELDS_EDITOR_GRID_DATA_MODEL::GetValue(), and FIELDS_EDITOR_GRID_DATA_MODEL::unitMatch().
|
inline |
Return reference name with unit altogether.
Definition at line 123 of file sch_reference_list.h.
References UTF8::c_str(), and m_ref.
Referenced by Split().
|
inline |
Definition at line 85 of file sch_reference_list.h.
References m_sheetPath.
Referenced by SCH_EDIT_FRAME::AnnotateComponents(), BACK_ANNOTATE::applyChangelist(), DIALOG_EDIT_COMPONENTS_LIBID::initDlg(), IsSameInstance(), DIALOG_ERC::OnRunERCClick(), and ERC_TESTER::TestMultiunitFootprints().
|
inline |
Definition at line 87 of file sch_reference_list.h.
References m_sheetPath.
|
inline |
Definition at line 81 of file sch_reference_list.h.
References m_rootSymbol.
Referenced by SCH_EDIT_FRAME::AnnotateComponents(), BACK_ANNOTATE::applyChangelist(), BACK_ANNOTATE::checkForUnusedSymbols(), CollectOtherUnits(), GetFullRef(), FIELDS_EDITOR_GRID_DATA_MODEL::groupMatch(), DIALOG_EDIT_COMPONENTS_LIBID::initDlg(), IsSameInstance(), DIALOG_ERC::OnRunERCClick(), and ERC_TESTER::TestMultiunitFootprints().
|
inline |
Definition at line 89 of file sch_reference_list.h.
References m_unit.
Referenced by buildFullReference(), CollectOtherUnits(), GetFullRef(), and SCH_EDITOR_CONTROL::updatePastedInstances().
|
inline |
Definition at line 92 of file sch_reference_list.h.
References m_value.
Referenced by BACK_ANNOTATE::applyChangelist(), and SCH_EDITOR_CONTROL::updatePastedInstances().
|
inline |
Return whether this reference refers to the same symbol instance (symbol and sheet) as another.
Definition at line 169 of file sch_reference_list.h.
References GetSheetPath(), GetSymbol(), and SCH_SHEET_PATH::Path().
Referenced by SCH_REFERENCE_LIST::Annotate().
|
inline |
Definition at line 176 of file sch_reference_list.h.
References m_libPart, and LIB_PART::UnitsLocked().
Referenced by Split().
|
inline |
Definition at line 96 of file sch_reference_list.h.
References m_footprint.
|
inline |
Definition at line 119 of file sch_reference_list.h.
References m_ref.
Referenced by SCH_REFERENCE().
|
inline |
Definition at line 122 of file sch_reference_list.h.
References m_ref.
Referenced by Split().
|
inline |
Definition at line 98 of file sch_reference_list.h.
References m_sheetNum.
Referenced by SCH_SHEET_PATH::GetMultiUnitComponents(), and SCH_SHEET_PATH::GetSymbols().
|
inline |
Definition at line 90 of file sch_reference_list.h.
References m_unit.
|
inline |
void SCH_REFERENCE::Split | ( | ) |
Attempt to split the reference designator into a name (U) and number (1).
If the last character is '?' or not a digit, the reference is tagged as not annotated. For symbols with multiple parts per package that are not already annotated, sets m_unit to a max value (0x7FFFFFFF).
Definition at line 704 of file component_references_lister.cpp.
References GetRefStr(), IsUnitsLocked(), m_isNew, m_numRef, m_unit, and SetRefStr().
|
friend |
Definition at line 63 of file sch_reference_list.h.
|
private |
Definition at line 61 of file sch_reference_list.h.
Referenced by SCH_REFERENCE().
|
private |
The footprint assigned.
Definition at line 55 of file sch_reference_list.h.
Referenced by GetFootprint(), SCH_REFERENCE(), and SetFootprint().
|
private |
True if not yet annotated.
Definition at line 57 of file sch_reference_list.h.
Referenced by SCH_REFERENCE(), and Split().
|
private |
The source symbol from a library.
Definition at line 49 of file sch_reference_list.h.
Referenced by GetLibPart(), IsUnitsLocked(), and SCH_REFERENCE().
|
private |
The numeric part of the reference designator.
Definition at line 60 of file sch_reference_list.h.
Referenced by Annotate(), GetRefNumber(), SCH_REFERENCE(), and Split().
|
private |
Symbol reference prefix, without number (for IC1, this is IC) )
Definition at line 47 of file sch_reference_list.h.
Referenced by Annotate(), CompareRef(), GetRef(), GetRefStr(), SetRef(), and SetRefStr().
|
private |
The symbol associated the reference object.
Definition at line 48 of file sch_reference_list.h.
Referenced by Annotate(), CompareLibName(), GetPath(), GetSymbol(), and SCH_REFERENCE().
|
private |
The sheet number for the reference.
Definition at line 58 of file sch_reference_list.h.
Referenced by SCH_REFERENCE(), SetSheetNumber(), SCH_REFERENCE_LIST::sortByRefAndValue(), SCH_REFERENCE_LIST::sortByXPosition(), and SCH_REFERENCE_LIST::sortByYPosition().
|
private |
The sheet path for this reference.
Definition at line 56 of file sch_reference_list.h.
Referenced by Annotate(), GetPath(), GetSheetPath(), SCH_REFERENCE(), and SCH_REFERENCE_LIST::sortByTimeStamp().
|
private |
The physical position of the symbol in schematic.
used to annotate by X or Y position
Definition at line 50 of file sch_reference_list.h.
Referenced by SCH_REFERENCE(), SCH_REFERENCE_LIST::sortByRefAndValue(), SCH_REFERENCE_LIST::sortByXPosition(), and SCH_REFERENCE_LIST::sortByYPosition().
|
private |
UUID of the symbol.
Definition at line 59 of file sch_reference_list.h.
Referenced by SCH_REFERENCE(), SCH_REFERENCE_LIST::sortByRefAndValue(), SCH_REFERENCE_LIST::sortByReferenceOnly(), SCH_REFERENCE_LIST::sortByTimeStamp(), SCH_REFERENCE_LIST::sortByXPosition(), and SCH_REFERENCE_LIST::sortByYPosition().
|
private |
The unit number for symbol with multiple parts.
per package.
Definition at line 52 of file sch_reference_list.h.
Referenced by Annotate(), SCH_REFERENCE_LIST::Annotate(), GetUnit(), SCH_REFERENCE(), SetUnit(), SCH_REFERENCE_LIST::sortByRefAndValue(), SCH_REFERENCE_LIST::sortByReferenceOnly(), and Split().
|
private |
The symbol value.
Definition at line 54 of file sch_reference_list.h.
Referenced by CompareValue(), GetValue(), SCH_REFERENCE(), and SetValue().