KiCad PCB EDA Suite
Loading...
Searching...
No Matches
SCH_SYMBOL Class Reference

Schematic symbol object. More...

#include <sch_symbol.h>

Inheritance diagram for SCH_SYMBOL:
SCH_ITEM EDA_ITEM KIGFX::VIEW_ITEM INSPECTABLE

Public Member Functions

 SCH_SYMBOL ()
 
 SCH_SYMBOL (const LIB_SYMBOL &aSymbol, const LIB_ID &aLibId, const SCH_SHEET_PATH *aSheet, int aUnit, int aBodyStyle=0, const VECTOR2I &aPosition=VECTOR2I(0, 0), EDA_ITEM *aParent=nullptr)
 Create schematic symbol from library symbol object. More...
 
 SCH_SYMBOL (const LIB_SYMBOL &aSymbol, const SCH_SHEET_PATH *aSheet, const PICKED_SYMBOL &aSel, const VECTOR2I &aPosition=VECTOR2I(0, 0), EDA_ITEM *aParent=nullptr)
 
 SCH_SYMBOL (const SCH_SYMBOL &aSymbol)
 Clone aSymbol into a new schematic symbol object. More...
 
 ~SCH_SYMBOL ()
 
wxString GetClass () const override
 Return the class name. More...
 
bool IsMissingLibSymbol () const
 Check to see if the library symbol is set to the dummy library symbol. More...
 
const std::vector< SCH_SYMBOL_INSTANCE > & GetInstances () const
 
bool GetInstance (SCH_SYMBOL_INSTANCE &aInstance, const KIID_PATH &aSheetPath, bool aTestFromEnd=false) const
 
void RemoveInstance (const SCH_SHEET_PATH &aInstancePath)
 
void RemoveInstance (const KIID_PATH &aInstancePath)
 
void SortInstances (bool(*aSortFunction)(const SCH_SYMBOL_INSTANCE &aLhs, const SCH_SYMBOL_INSTANCE &aRhs))
 
void ViewGetLayers (int aLayers[], int &aCount) const override
 Return the layers the item is drawn on (which may be more than its "home" layer) More...
 
bool IsMovableFromAnchorPoint () const override
 Return true for items which are moved with the anchor point at mouse cursor and false for items moved with no reference to anchor. More...
 
void SetLibId (const LIB_ID &aName)
 
const LIB_IDGetLibId () const
 
wxString GetSymbolIDAsString () const
 
void SetSchSymbolLibraryName (const wxString &aName)
 The name of the symbol in the schematic library symbol list. More...
 
wxString GetSchSymbolLibraryName () const
 
bool UseLibIdLookup () const
 
std::unique_ptr< LIB_SYMBOL > & GetLibSymbolRef ()
 
const std::unique_ptr< LIB_SYMBOL > & GetLibSymbolRef () const
 
void SetLibSymbol (LIB_SYMBOL *aLibSymbol)
 Set this schematic symbol library symbol reference to aLibSymbol. More...
 
wxString GetDescription () const
 
wxString GetKeyWords () const
 
wxString GetDatasheet () const
 Return the documentation text for the given part alias. More...
 
int GetUnit () const
 
void UpdatePins ()
 Updates the cache of SCH_PIN objects for each pin. More...
 
void SetUnit (int aUnit)
 Change the unit number to aUnit. More...
 
bool HasUnitDisplayName (int aUnit)
 Return true if the given unit aUnit has a display name set. More...
 
wxString GetUnitDisplayName (int aUnit)
 Return the display name for a given unit aUnit. More...
 
void UpdateUnit (int aUnit)
 Change the unit number to aUnit without setting any internal flags. More...
 
int GetBodyStyle () const
 
void SetBodyStyle (int aBodyStyle)
 
wxString GetPrefix () const
 
void SetPrefix (const wxString &aPrefix)
 
void UpdatePrefix ()
 Set the prefix based on the current reference designator. More...
 
wxString SubReference (int aUnit, bool aAddSeparator=true) const
 
TRANSFORMGetTransform ()
 
const TRANSFORMGetTransform () const
 
void SetTransform (const TRANSFORM &aTransform)
 
int GetUnitCount () const
 Return the number of units per package of the symbol. More...
 
void SetOrientation (int aOrientation)
 Compute the new transform matrix based on aOrientation for the symbol which is applied to the current transform. More...
 
int GetOrientation () const
 Get the display symbol orientation. More...
 
void SetOrientationProp (SYMBOL_ORIENTATION_PROP aAngle)
 Orientation/mirroring access for property manager. More...
 
SYMBOL_ORIENTATION_PROP GetOrientationProp () const
 
void SetMirrorX (bool aMirror)
 
bool GetMirrorX () const
 
void SetMirrorY (bool aMirror)
 
bool GetMirrorY () const
 
void GetContextualTextVars (wxArrayString *aVars) const
 Return the list of system text vars & fields for this symbol. More...
 
bool ResolveTextVar (const SCH_SHEET_PATH *aPath, wxString *token, int aDepth=0) const
 Resolve any references to system tokens supported by the symbol. More...
 
void GetMsgPanelInfo (EDA_DRAW_FRAME *aFrame, std::vector< MSG_PANEL_ITEM > &aList) override
 Populate aList of MSG_PANEL_ITEM objects with it's internal state for display purposes. More...
 
void ClearAnnotation (const SCH_SHEET_PATH *aSheetPath, bool aResetPrefix)
 Clear exiting symbol annotation. More...
 
bool AddSheetPathReferenceEntryIfMissing (const KIID_PATH &aSheetPath)
 Add an instance to the alternate references list (m_instanceReferences), if this entry does not already exist. More...
 
const BOX2I GetBoundingBox () const override
 Return the orthogonal bounding box of this object for display purposes. More...
 
BOX2I GetBodyBoundingBox () const
 Return a bounding box for the symbol body but not the pins or fields. More...
 
BOX2I GetBodyAndPinsBoundingBox () const
 Return a bounding box for the symbol body and pins but not the fields. More...
 
SCH_FIELDGetField (MANDATORY_FIELD_T aFieldType)
 Return a mandatory field in this symbol. More...
 
const SCH_FIELDGetField (MANDATORY_FIELD_T aFieldNdx) const
 
SCH_FIELDGetFieldById (int aFieldId)
 Return a field in this symbol. More...
 
SCH_FIELDGetFieldByName (const wxString &aFieldName)
 Return a field in this symbol. More...
 
const SCH_FIELDGetFieldByName (const wxString &aFieldName) const
 
void GetFields (std::vector< SCH_FIELD * > &aVector, bool aVisibleOnly)
 Populate a std::vector with SCH_FIELDs. More...
 
std::vector< SCH_FIELD > & GetFields ()
 Return a vector of fields from the symbol. More...
 
const std::vector< SCH_FIELD > & GetFields () const
 
SCH_FIELDAddField (const SCH_FIELD &aField)
 Add a field to the symbol. More...
 
void RemoveField (const wxString &aFieldName)
 Remove a user field from the symbol. More...
 
void RemoveField (SCH_FIELD *aField)
 
SCH_FIELDFindField (const wxString &aFieldName, bool aIncludeDefaultFields=true, bool aCaseInsensitive=false)
 Search for a SCH_FIELD with aFieldName. More...
 
const wxString GetValueFieldText (bool aResolve, const SCH_SHEET_PATH *aPath, bool aAllowExtraText) const
 
void SetValueFieldText (const wxString &aValue)
 
const wxString GetFootprintFieldText (bool aResolve, const SCH_SHEET_PATH *aPath, bool aAllowExtraText) const
 
void SetFootprintFieldText (const wxString &aFootprint)
 
wxString GetRefProp () const
 
void SetRefProp (const wxString aRef)
 
wxString GetValueProp () const
 
void SetValueProp (const wxString aRef)
 
void UpdateFields (const SCH_SHEET_PATH *aPath, bool aUpdateStyle, bool aUpdateRef, bool aUpdateOtherFields, bool aResetRef, bool aResetOtherFields)
 Restore fields to the original library values. More...
 
int GetFieldCount () const
 Return the number of fields in this symbol. More...
 
void AutoplaceFields (SCH_SCREEN *aScreen, bool aManual) override
 Automatically orient all the fields in the symbol. More...
 
void RunOnChildren (const std::function< void(SCH_ITEM *)> &aFunction) override
 
SCH_PINGetPin (const wxString &number) const
 Find a symbol pin by number. More...
 
void GetLibPins (std::vector< LIB_PIN * > &aPinsList) const
 Populate a vector with all the pins from the library object. More...
 
std::vector< LIB_PIN * > GetAllLibPins () const
 
size_t GetFullPinCount ()
 
SCH_PINGetPin (LIB_PIN *aLibPin) const
 
std::vector< SCH_PIN * > GetPins (const SCH_SHEET_PATH *aSheet=nullptr) const
 Retrieve a list of the SCH_PINs for the given sheet path. More...
 
std::vector< std::unique_ptr< SCH_PIN > > & GetRawPins ()
 
void Print (const RENDER_SETTINGS *aSettings, const VECTOR2I &aOffset) override
 Print a symbol. More...
 
void PrintBackground (const RENDER_SETTINGS *aSettings, const VECTOR2I &aOffset) override
 Print only the background parts of a symbol (if any) More...
 
void SwapData (SCH_ITEM *aItem) override
 Swap the internal data structures aItem with the schematic item. More...
 
const wxString GetRef (const SCH_SHEET_PATH *aSheet, bool aIncludeUnit=false) const
 Return the reference for the given sheet path. More...
 
void SetRef (const SCH_SHEET_PATH *aSheet, const wxString &aReference)
 Set the reference for the given sheet path for this symbol. More...
 
bool IsAnnotated (const SCH_SHEET_PATH *aSheet)
 Check if the symbol has a valid annotation (reference) for the given sheet path. More...
 
void AddHierarchicalReference (const KIID_PATH &aPath, const wxString &aRef, int aUnit)
 Add a full hierarchical reference to this symbol. More...
 
void AddHierarchicalReference (const SCH_SYMBOL_INSTANCE &aInstance)
 
int GetUnitSelection (const SCH_SHEET_PATH *aSheet) const
 Return the instance-specific unit selection for the given sheet path. More...
 
void SetUnitSelection (const SCH_SHEET_PATH *aSheet, int aUnitSelection)
 Set the selected unit of this symbol on one sheet. More...
 
void SetUnitSelection (int aUnitSelection)
 Set the selected unit of this symbol for all sheets. More...
 
void Move (const VECTOR2I &aMoveVector) override
 Move the item by aMoveVector to a new position. More...
 
void MirrorHorizontally (int aCenter) override
 Mirror item horizontally about aCenter. More...
 
void MirrorVertically (int aCenter) override
 Mirror item vertically about aCenter. More...
 
void Rotate (const VECTOR2I &aCenter) override
 Rotate the item around aCenter 90 degrees in the clockwise direction. More...
 
bool Matches (const EDA_SEARCH_DATA &aSearchData, void *aAuxData) const override
 Compare the item against the search criteria in aSearchData. More...
 
void GetEndPoints (std::vector< DANGLING_END_ITEM > &aItemList) override
 Add the schematic item end points to aItemList if the item has end points. More...
 
bool UpdateDanglingState (std::vector< DANGLING_END_ITEM > &aItemListByType, std::vector< DANGLING_END_ITEM > &aItemListByPos, const SCH_SHEET_PATH *aPath=nullptr) override
 Test if the symbol's dangling state has changed for all pins. More...
 
VECTOR2I GetPinPhysicalPosition (const LIB_PIN *Pin) const
 
bool IsConnectable () const override
 
bool HasConnectivityChanges (const SCH_ITEM *aItem, const SCH_SHEET_PATH *aInstance=nullptr) const override
 Check if aItem has connectivity changes against this object. More...
 
bool CanConnect (const SCH_ITEM *aItem) const override
 
bool IsInNetlist () const
 
std::vector< VECTOR2IGetConnectionPoints () const override
 Add all the connection points for this item to aPoints. More...
 
INSPECT_RESULT Visit (INSPECTOR inspector, void *testData, const std::vector< KICAD_T > &aScanTypes) override
 May be re-implemented for each derived class in order to handle all the types given by its member data. More...
 
LIB_ITEMGetDrawItem (const VECTOR2I &aPosition, KICAD_T aType=TYPE_NOT_INIT)
 Return the symbol library item at aPosition that is part of this symbol. More...
 
wxString GetItemDescription (UNITS_PROVIDER *aUnitsProvider) const override
 Return a user-visible description string of this item. More...
 
BITMAPS GetMenuImage () const override
 Return a pointer to an image to be used in menus. More...
 
bool operator< (const SCH_ITEM &aItem) const override
 
bool operator== (const SCH_SYMBOL &aSymbol) const
 
bool operator!= (const SCH_SYMBOL &aSymbol) const
 
SCH_SYMBOLoperator= (const SCH_ITEM &aItem)
 
bool IsReplaceable () const override
 Override this method in any derived object that supports test find and replace. More...
 
VECTOR2I GetPosition () const override
 
void SetPosition (const VECTOR2I &aPosition) override
 
int GetX () const
 
void SetX (int aX)
 
int GetY () const
 
void SetY (int aY)
 
bool HitTest (const VECTOR2I &aPosition, int aAccuracy=0) const override
 Test if aPosition is inside or on the boundary of this item. More...
 
bool HitTest (const BOX2I &aRect, bool aContained, int aAccuracy=0) const override
 Test if aRect intersects this item. More...
 
void Plot (PLOTTER *aPlotter, bool aBackground, const SCH_PLOT_SETTINGS &aPlotSettings) const override
 Plot the schematic item to aPlotter. More...
 
void PlotPins (PLOTTER *aPlotter) const
 Plot just the symbol pins. More...
 
void PlotDNP (PLOTTER *aPlotter) const
 Plot the red 'X' over the symbol. More...
 
EDA_ITEMClone () const override
 Create a duplicate of this item with linked list members set to NULL. More...
 
void ClearBrightenedPins ()
 
bool HasBrightenedPins ()
 
bool GetExcludedFromSim () const override
 
void SetExcludedFromSim (bool aExclude) override
 
bool GetExcludedFromBOM () const
 
void SetExcludedFromBOM (bool aIncludeInBOM)
 
bool GetExcludedFromBoard () const
 
void SetExcludedFromBoard (bool aIncludeOnBoard)
 
bool GetDNP () const
 
void SetDNP (bool aDNP)
 
bool GetShowPinNumbers () const
 
void SetShowPinNumbers (bool aShow)
 
bool GetShowPinNames () const
 
void SetShowPinNames (bool aShow)
 
bool IsPointClickableAnchor (const VECTOR2I &aPos) const override
 
bool IsSymbolLikePowerGlobalLabel () const
 
bool IsPower () const
 
double Similarity (const SCH_ITEM &aOther) const override
 Return a measure of how likely the other object is to represent the same object. More...
 
bool operator== (const SCH_ITEM &aOther) const override
 
bool IsType (const std::vector< KICAD_T > &aScanTypes) const override
 Check whether the item is one of the listed types. More...
 
void SwapFlags (SCH_ITEM *aItem)
 Swap the non-temp and non-edit flags. More...
 
SCH_ITEMDuplicate (bool doClone=false) const
 Routine to create a new copy of given item. More...
 
VECTOR2IGetStoredPos ()
 
void SetStoredPos (const VECTOR2I &aPos)
 
SCHEMATICSchematic () const
 Searches the item hierarchy to find a SCHEMATIC. More...
 
virtual bool IsLocked () const
 
virtual void SetLocked (bool aLocked)
 Set the 'lock' status to aLocked for of this item. More...
 
virtual bool IsHypertext () const
 Allow items to support hypertext actions when hovered/clicked. More...
 
virtual void DoHypertextAction (EDA_DRAW_FRAME *aFrame) const
 
SCH_LAYER_ID GetLayer () const
 Return the layer this item is on. More...
 
void SetLayer (SCH_LAYER_ID aLayer)
 Set the layer this item is on. More...
 
virtual int GetPenWidth () const
 
const wxString & GetDefaultFont () const
 
const KIFONT::METRICSGetFontMetrics () const
 
bool RenderAsBitmap (double aWorldScale) const override
 
virtual bool IsDangling () const
 
void ClearConnections ()
 Clears all of the connection items from the list. More...
 
bool IsConnected (const VECTOR2I &aPoint) const
 Test the item to see if it is connected to aPoint. More...
 
SCH_CONNECTIONConnection (const SCH_SHEET_PATH *aSheet=nullptr) const
 Retrieve the connection associated with this object in the given sheet. More...
 
SCH_ITEM_SETConnectedItems (const SCH_SHEET_PATH &aPath)
 Retrieve the set of items connected to this item on the given sheet. More...
 
void AddConnectionTo (const SCH_SHEET_PATH &aPath, SCH_ITEM *aItem)
 Add a connection link between this item and another. More...
 
SCH_CONNECTIONInitializeConnection (const SCH_SHEET_PATH &aPath, CONNECTION_GRAPH *aGraph)
 Create a new connection object associated with this object. More...
 
SCH_CONNECTIONGetOrInitConnection (const SCH_SHEET_PATH &aPath, CONNECTION_GRAPH *aGraph)
 
virtual bool ConnectionPropagatesTo (const EDA_ITEM *aItem) const
 Return true if this item should propagate connection info to aItem. More...
 
bool IsConnectivityDirty () const
 
void SetConnectivityDirty (bool aDirty=true)
 
void SetConnectionGraph (CONNECTION_GRAPH *aGraph)
 Updates the connection graph for all connections in this item. More...
 
virtual bool HasCachedDriverName () const
 
virtual const wxString & GetCachedDriverName () const
 
virtual void SetLastResolvedState (const SCH_ITEM *aItem)
 
std::shared_ptr< NETCLASSGetEffectiveNetClass (const SCH_SHEET_PATH *aSheet=nullptr) const
 
FIELDS_AUTOPLACED GetFieldsAutoplaced () const
 Return whether the fields have been automatically placed. More...
 
void SetFieldsAutoplaced ()
 
void ClearFieldsAutoplaced ()
 
void AutoAutoplaceFields (SCH_SCREEN *aScreen)
 Autoplace fields only if correct to do so automatically. More...
 
virtual void ClearCaches ()
 
virtual bool HasLineStroke () const
 Check if this schematic item has line stoke properties. More...
 
virtual STROKE_PARAMS GetStroke () const
 
virtual void SetStroke (const STROKE_PARAMS &aStroke)
 
bool operator< (const EDA_ITEM &aItem) const
 Test if another item is less than this object. More...
 
KICAD_T Type () const
 Returns the type of object. More...
 
EDA_ITEMGetParent () const
 
virtual void SetParent (EDA_ITEM *aParent)
 
bool IsModified () const
 
bool IsNew () const
 
bool IsMoving () const
 
bool IsSelected () const
 
bool IsEntered () const
 
bool IsBrightened () const
 
bool IsRollover () const
 
void SetSelected ()
 
void SetBrightened ()
 
void ClearSelected ()
 
void ClearBrightened ()
 
void SetModified ()
 
void SetFlags (EDA_ITEM_FLAGS aMask)
 
void XorFlags (EDA_ITEM_FLAGS aMask)
 
void ClearFlags (EDA_ITEM_FLAGS aMask=EDA_ITEM_ALL_FLAGS)
 
EDA_ITEM_FLAGS GetFlags () const
 
bool HasFlag (EDA_ITEM_FLAGS aFlag) const
 
EDA_ITEM_FLAGS GetEditFlags () const
 
void ClearEditFlags ()
 
EDA_ITEM_FLAGS GetTempFlags () const
 
void ClearTempFlags ()
 
void SetIsShownAsBitmap (bool aBitmap)
 
bool IsShownAsBitmap () const
 
void SetForceVisible (bool aEnable)
 Set and clear force visible flag used to force the item to be drawn even if it's draw attribute is set to not visible. More...
 
bool IsForceVisible () const
 
virtual wxString GetFriendlyName () const
 
virtual const VECTOR2I GetFocusPosition () const
 Similar to GetPosition, but allows items to return their visual center rather than their anchor. More...
 
virtual VECTOR2I GetSortPosition () const
 Return the coordinates that should be used for sorting this element visually compared to other elements. More...
 
wxString GetTypeDesc () const
 Return a translated description of the type for this EDA_ITEM for display in user facing messages. More...
 
virtual bool Replace (const EDA_SEARCH_DATA &aSearchData, void *aAuxData=nullptr)
 Perform a text replace using the find and replace criteria in aSearchData on items that support text find and replace. More...
 
virtual const BOX2I ViewBBox () const override
 Return the bounding box of the item covering all its layers. More...
 
virtual void ViewDraw (int aLayer, VIEW *aView) const
 Draw the parts of the object belonging to layer aLayer. More...
 
virtual double ViewGetLOD (int aLayer, VIEW *aView) const
 Return the level of detail (LOD) of the item. More...
 
VIEW_ITEM_DATA * viewPrivData () const
 
void SetForcedTransparency (double aForcedTransparency)
 
double GetForcedTransparency () const
 
bool Set (PROPERTY_BASE *aProperty, wxAny &aValue, bool aNotify=true)
 
template<typename T >
bool Set (PROPERTY_BASE *aProperty, T aValue, bool aNotify=true)
 
template<typename T >
bool Set (const wxString &aProperty, T aValue, bool aNotify=true)
 
wxAny Get (PROPERTY_BASE *aProperty) const
 
template<typename T >
Get (PROPERTY_BASE *aProperty) const
 
template<typename T >
std::optional< T > Get (const wxString &aProperty) const
 

Static Public Member Functions

static bool ClassOf (const EDA_ITEM *aItem)
 
static bool IsReferenceStringValid (const wxString &aReferenceString)
 Test for an acceptable reference string. More...
 
template<class T >
static INSPECT_RESULT IterateForward (std::deque< T > &aList, INSPECTOR inspector, void *testData, const std::vector< KICAD_T > &scanTypes)
 This changes first parameter to avoid the DList and use the main queue instead. More...
 
template<class T >
static INSPECT_RESULT IterateForward (std::vector< T > &aList, INSPECTOR inspector, void *testData, const std::vector< KICAD_T > &scanTypes)
 Change first parameter to avoid the DList and use std::vector instead. More...
 
static bool Replace (const EDA_SEARCH_DATA &aSearchData, wxString &aText)
 Perform a text replace on aText using the find and replace criteria in aSearchData on items that support text find and replace. More...
 
static bool Sort (const EDA_ITEM *aLeft, const EDA_ITEM *aRight)
 Helper function to be used by the C++ STL sort algorithm for sorting a STL container of EDA_ITEM pointers. More...
 

Public Attributes

const KIID m_Uuid
 

Protected Member Functions

bool Matches (const wxString &aText, const EDA_SEARCH_DATA &aSearchData) const
 Compare aText against search criteria in aSearchData. More...
 

Protected Attributes

SCH_LAYER_ID m_layer
 
EDA_ITEMS m_connections
 
FIELDS_AUTOPLACED m_fieldsAutoplaced
 
VECTOR2I m_storedPos
 
std::map< SCH_SHEET_PATH, SCH_ITEM_SET, SHEET_PATH_CMPm_connected_items
 Store pointers to other items that are connected to this one, per sheet. More...
 
std::unordered_map< SCH_SHEET_PATH, SCH_CONNECTION * > m_connection_map
 Store connectivity information, per sheet. More...
 
bool m_connectivity_dirty
 
EDA_ITEMm_parent
 Linked list: Link (parent struct) More...
 
bool m_forceVisible
 
EDA_ITEM_FLAGS m_flags
 

Private Member Functions

BOX2I doGetBoundingBox (bool aIncludePins, bool aIncludeFields) const
 
bool doIsConnected (const VECTOR2I &aPosition) const override
 Provide the object specific test to see if it is connected to aPosition. More...
 
void Init (const VECTOR2I &pos=VECTOR2I(0, 0))
 

Private Attributes

VECTOR2I m_pos
 
LIB_ID m_lib_id
 Name and library the symbol was loaded from, i.e. 74xx:74LS00. More...
 
int m_unit
 The unit for multiple part per package symbols. More...
 
int m_bodyStyle
 The alternate body style for symbols that have more than one body style defined. More...
 
wxString m_prefix
 C, R, U, Q etc - the first character(s) which typically indicate what the symbol is. More...
 
wxString m_schLibSymbolName
 The name used to look up a symbol in the symbol library embedded in a schematic. More...
 
TRANSFORM m_transform
 The rotation/mirror transformation. More...
 
std::vector< SCH_FIELDm_fields
 Variable length list of fields. More...
 
std::unique_ptr< LIB_SYMBOLm_part
 a flattened copy of the LIB_SYMBOL from the PROJECT's libraries. More...
 
std::vector< std::unique_ptr< SCH_PIN > > m_pins
 a SCH_PIN for every LIB_PIN (all units) More...
 
std::unordered_map< LIB_PIN *, SCH_PIN * > m_pinMap
 library pin pointer : SCH_PIN's index More...
 
bool m_isInNetlist
 True if the symbol should appear in the netlist. More...
 
bool m_excludedFromSim
 True to exclude from simulation. More...
 
bool m_excludedFromBOM
 True to exclude from bill of materials export. More...
 
bool m_excludedFromBoard
 True to exclude from netlist when updating board. More...
 
bool m_DNP
 True if symbol is set to 'Do Not Populate'. More...
 
std::vector< SCH_SYMBOL_INSTANCEm_instanceReferences
 
KICAD_T m_structType
 Run time identification, keep private so it can never be changed after a ctor sets it. More...
 
VIEW_ITEM_DATA * m_viewPrivData
 
double m_forcedTransparency
 Additional transparency for diff'ing items. More...
 

Static Private Attributes

static std::unordered_map< TRANSFORM, int > s_transformToOrientationCache
 

Detailed Description

Schematic symbol object.

Definition at line 108 of file sch_symbol.h.

Constructor & Destructor Documentation

◆ SCH_SYMBOL() [1/4]

SCH_SYMBOL::SCH_SYMBOL ( )

Definition at line 102 of file sch_symbol.cpp.

References Init(), and m_DNP.

Referenced by Clone().

◆ SCH_SYMBOL() [2/4]

SCH_SYMBOL::SCH_SYMBOL ( const LIB_SYMBOL aSymbol,
const LIB_ID aLibId,
const SCH_SHEET_PATH aSheet,
int  aUnit,
int  aBodyStyle = 0,
const VECTOR2I aPosition = VECTOR2I( 0, 0 ),
EDA_ITEM aParent = nullptr 
)

Create schematic symbol from library symbol object.

Parameters
aSymbolis the library symbol to create schematic symbol from.
aLibIdis the LIB_ID of alias to create.
aSheetis the schematic sheet the symbol is place into.
aUnitis unit for symbols that have multiple parts per package.
aBodyStyleis the alternate body style for the schematic symbols.
aPositionis the position of the symbol.

Definition at line 110 of file sch_symbol.cpp.

References LIB_SYMBOL::Flatten(), UTIL::GetRefDesPrefix(), UTIL::GetRefDesUnannotated(), Init(), m_bodyStyle, m_DNP, m_excludedFromBoard, m_excludedFromBOM, m_excludedFromSim, m_lib_id, m_part, m_prefix, m_unit, SetLibSymbol(), SetRef(), and UpdateFields().

◆ SCH_SYMBOL() [3/4]

SCH_SYMBOL::SCH_SYMBOL ( const LIB_SYMBOL aSymbol,
const SCH_SHEET_PATH aSheet,
const PICKED_SYMBOL aSel,
const VECTOR2I aPosition = VECTOR2I( 0, 0 ),
EDA_ITEM aParent = nullptr 
)

Definition at line 150 of file sch_symbol.cpp.

References PICKED_SYMBOL::Fields, GetFieldById(), REFERENCE_FIELD, and SetRef().

◆ SCH_SYMBOL() [4/4]

SCH_SYMBOL::SCH_SYMBOL ( const SCH_SYMBOL aSymbol)

Clone aSymbol into a new schematic symbol object.

All fields are copied as is except for the linked list management pointers which are set to NULL, and the SCH_FIELD's m_Parent pointers which are set to the new object.

Parameters
aSymbolis the schematic symbol to clone.

Definition at line 166 of file sch_symbol.cpp.

References m_bodyStyle, m_DNP, m_excludedFromBoard, m_excludedFromBOM, m_excludedFromSim, m_fields, SCH_ITEM::m_fieldsAutoplaced, m_instanceReferences, m_isInNetlist, m_lib_id, EDA_ITEM::m_parent, m_part, m_pins, m_pos, m_prefix, m_schLibSymbolName, m_transform, m_unit, EDA_ITEM::m_Uuid, pin, and SetLibSymbol().

◆ ~SCH_SYMBOL()

SCH_SYMBOL::~SCH_SYMBOL ( )
inline

Definition at line 141 of file sch_symbol.h.

Member Function Documentation

◆ AddConnectionTo()

void SCH_ITEM::AddConnectionTo ( const SCH_SHEET_PATH aPath,
SCH_ITEM aItem 
)
inherited

Add a connection link between this item and another.

Definition at line 203 of file sch_item.cpp.

References SCH_ITEM::m_connected_items.

Referenced by SCH_LABEL_BASE::UpdateDanglingState(), and CONNECTION_GRAPH::updateItemConnectivity().

◆ AddField()

SCH_FIELD * SCH_SYMBOL::AddField ( const SCH_FIELD aField)

Add a field to the symbol.

Parameters
aFieldis the field to add to this symbol.
Returns
the newly inserted field.

Definition at line 1016 of file sch_symbol.cpp.

References m_fields.

Referenced by BACK_ANNOTATE::applyChangelist(), FIELDS_EDITOR_GRID_DATA_MODEL::ApplyData(), SCH_IO_LTSPICE_PARSER::CreateFields(), CADSTAR_SCH_ARCHIVE_LOADER::loadSchematicSymbolInstances(), SCH_IO_ALTIUM::ParseParameter(), and UpdateFields().

◆ AddHierarchicalReference() [1/2]

void SCH_SYMBOL::AddHierarchicalReference ( const KIID_PATH aPath,
const wxString &  aRef,
int  aUnit 
)

Add a full hierarchical reference to this symbol.

Parameters
aPathis the hierarchical path (/&ltsheet timestamp&gt/&ltsymbol timestamp&gt like /05678E50/A23EF560).
aRefis the local reference like C45, R56.
aUnitis the unit selection used for symbols with multiple units per package.
aValueis the value used for this instance.
aFootprintis the footprint used for this instance (which might have different hole spacing or other board-specific changes from other instances).

Definition at line 649 of file sch_symbol.cpp.

References KIID::AsString(), KIID_PATH::AsString(), m_fields, m_instanceReferences, SCH_SYMBOL_INSTANCE::m_Path, SCH_SYMBOL_INSTANCE::m_Reference, SCH_SYMBOL_INSTANCE::m_Unit, m_unit, EDA_ITEM::m_Uuid, REFERENCE_FIELD, and traceSchSheetPaths.

Referenced by SCH_SHEET_PATH::AddNewSymbolInstances(), AddSheetPathReferenceEntryIfMissing(), SCH_SCREEN::SetLegacySymbolInstanceData(), SetRef(), SetUnitSelection(), SCH_EDITOR_CONTROL::updatePastedSymbol(), and SCH_SHEET_LIST::UpdateSymbolInstanceData().

◆ AddHierarchicalReference() [2/2]

◆ AddSheetPathReferenceEntryIfMissing()

bool SCH_SYMBOL::AddSheetPathReferenceEntryIfMissing ( const KIID_PATH aSheetPath)

Add an instance to the alternate references list (m_instanceReferences), if this entry does not already exist.

Do nothing if already exists. In symbol lists shared by more than one sheet path, an entry for each sheet path must exist to manage references.

Parameters
aSheetPathis the candidate sheet path of the sheet containing the symbol not the full symbol sheet path.
Returns
false if the alternate reference was existing, true if added.

Definition at line 1581 of file sch_symbol.cpp.

References AddHierarchicalReference(), m_fields, m_instanceReferences, m_unit, and REFERENCE_FIELD.

Referenced by SCH_SCREEN::EnsureAlternateReferencesExist().

◆ AutoAutoplaceFields()

void SCH_ITEM::AutoAutoplaceFields ( SCH_SCREEN aScreen)
inlineinherited

Autoplace fields only if correct to do so automatically.

Fields that have been moved by hand are not automatically placed.

Parameters
aScreenis the SCH_SCREEN associated with the current instance of the symbol.

Definition at line 503 of file sch_item.h.

References SCH_ITEM::AutoplaceFields(), FIELDS_AUTOPLACED_MANUAL, and SCH_ITEM::GetFieldsAutoplaced().

Referenced by SCH_EDIT_TOOL::Properties(), SCH_EDIT_TOOL::Rotate(), SCH_SHEET::SCH_SHEET(), SCH_EDIT_FRAME::SelectUnit(), and DIALOG_LABEL_PROPERTIES::TransferDataFromWindow().

◆ AutoplaceFields()

void SCH_SYMBOL::AutoplaceFields ( SCH_SCREEN aScreen,
bool  aManual 
)
overridevirtual

Automatically orient all the fields in the symbol.

Parameters
aScreenis the SCH_SCREEN associated with the current instance of the symbol. This can be NULL when aManual is false.
aManualshould be true if the autoplace was manually initiated (e.g. by a hotkey or a menu item). Some more 'intelligent' routines will be used that would be annoying if done automatically during moves.

Reimplemented from SCH_ITEM.

Definition at line 728 of file autoplace_fields.cpp.

References AUTOPLACER::DoAutoplace(), FIELDS_AUTOPLACED_AUTO, FIELDS_AUTOPLACED_MANUAL, and SCH_ITEM::m_fieldsAutoplaced.

Referenced by SYMBOL_EDITOR_CONTROL::AddSymbolToSchematic(), and SCH_DRAWING_TOOLS::PlaceSymbol().

◆ CanConnect()

bool SCH_SYMBOL::CanConnect ( const SCH_ITEM aItem) const
inlineoverridevirtual

◆ ClassOf()

static bool SCH_SYMBOL::ClassOf ( const EDA_ITEM aItem)
inlinestatic

Definition at line 143 of file sch_symbol.h.

References SCH_SYMBOL_T, and EDA_ITEM::Type().

◆ ClearAnnotation()

void SCH_SYMBOL::ClearAnnotation ( const SCH_SHEET_PATH aSheetPath,
bool  aResetPrefix 
)

Clear exiting symbol annotation.

For example, IC23 would be changed to IC? and unit number would be reset.

Parameters
aSheetPathis the hierarchical path of the symbol to clear or remove all annotations for this symbol if NULL.
[in]aResetPrefixThe annotation prefix ('R', 'U', etc.) should be reset to the symbol library prefix.

Definition at line 1537 of file sch_symbol.cpp.

References UTIL::GetRefDesUnannotated(), m_fields, m_instanceReferences, m_pins, m_prefix, SCH_SHEET_PATH::Path(), path, pin, and REFERENCE_FIELD.

Referenced by SCH_SCREEN::ClearAnnotation(), SCH_EDIT_FRAME::DeleteAnnotation(), SCH_DRAWING_TOOLS::PlaceSymbol(), and SCH_EDITOR_CONTROL::updatePastedSymbol().

◆ ClearBrightened()

◆ ClearBrightenedPins()

void SCH_SYMBOL::ClearBrightenedPins ( )

Definition at line 2626 of file sch_symbol.cpp.

References m_pins, and pin.

◆ ClearCaches()

void SCH_ITEM::ClearCaches ( )
virtualinherited

Reimplemented in SCH_FIELD.

Definition at line 288 of file sch_item.cpp.

References SCH_ITEM::RunOnChildren(), and text.

◆ ClearConnections()

void SCH_ITEM::ClearConnections ( )
inlineinherited

Clears all of the connection items from the list.

The vector release method is used to prevent the item pointers from being deleted. Do not use the vector erase method on the connection list.

Definition at line 412 of file sch_item.h.

References SCH_ITEM::m_connections.

◆ ClearEditFlags()

◆ ClearFieldsAutoplaced()

◆ ClearFlags()

void EDA_ITEM::ClearFlags ( EDA_ITEM_FLAGS  aMask = EDA_ITEM_ALL_FLAGS)
inlineinherited

Definition at line 125 of file eda_item.h.

References EDA_ITEM::m_flags.

Referenced by FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), PNS_KICAD_IFACE::AddItem(), PNS_KICAD_IFACE_GENERATOR::AddItem(), SCH_MOVE_TOOL::AlignToGrid(), SCH_EDIT_TOOL::BreakWire(), FOOTPRINT::BuildCourtyardCaches(), EDA_ITEM::ClearBrightened(), EDA_ITEM::ClearEditFlags(), EDA_ITEM::ClearSelected(), EDA_ITEM::ClearTempFlags(), ConnectBoardShapes(), SYMBOL_EDITOR_EDIT_TOOL::Copy(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), SYMBOL_EDITOR_PIN_TOOL::CreateImagePins(), MICROWAVE_TOOL::createMicrowaveInductor(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), PCB_TOOL_BASE::doInteractiveItemPlacement(), KIGFX::SCH_PAINTER::draw(), DRAWING_TOOL::DrawTable(), SCH_ITEM::Duplicate(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), PCB_TUNING_PATTERN::EditPush(), PCB_TUNING_PATTERN::EditRevert(), PCB_EDIT_FRAME::ExchangeFootprint(), PCB_SELECTION_TOOL::ExitGroup(), SYMBOL_EDIT_FRAME::GetSymbolFromRedoList(), SYMBOL_EDIT_FRAME::GetSymbolFromUndoList(), FOOTPRINT_EDITOR_CONTROL::ImportFootprint(), DRC_INTERACTIVE_COURTYARD_CLEARANCE::Init(), EE_COLLECTOR::Inspect(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromLibrary(), FOOTPRINT_EDITOR_CONTROL::NewFootprint(), DIALOG_SYMBOL_PROPERTIES::OnUnitChoice(), FOOTPRINT_EDIT_FRAME::OpenProjectFiles(), SCH_EASYEDAPRO_PARSER::ParseSchematic(), PCB_BASE_FRAME::PlaceFootprint(), SYMBOL_EDITOR_PIN_TOOL::PlacePin(), SCH_COMMIT::pushSchEdit(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), PCB_SELECTION_TOOL::RebuildSelection(), PAD_TOOL::RecombinePad(), GERBVIEW_FRAME::RemapLayers(), DRC_TEST_PROVIDER_DISALLOW::Run(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), SCH_IO_KICAD_SEXPR_LIB_CACHE::savePin(), EE_SELECTION_TOOL::selectMultiple(), EDA_ITEM::SetIsShownAsBitmap(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), SCH_DRAWING_TOOLS::TwoClickPlace(), EE_SELECTION_TOOL::unhighlight(), and SCOPED_FLAGS_CLEANER::~SCOPED_FLAGS_CLEANER().

◆ ClearSelected()

◆ ClearTempFlags()

void EDA_ITEM::ClearTempFlags ( )
inlineinherited

◆ Clone()

EDA_ITEM * SCH_SYMBOL::Clone ( ) const
overridevirtual

Create a duplicate of this item with linked list members set to NULL.

The default version will return NULL in release builds and likely crash the program. In debug builds, a warning message indicating the derived class has not implemented cloning. This really should be a pure virtual function. Due to the fact that there are so many objects derived from EDA_ITEM, the decision was made to return NULL until all the objects derived from EDA_ITEM implement cloning. Once that happens, this function should be made pure.

Returns
A clone of the item.

Reimplemented from EDA_ITEM.

Definition at line 239 of file sch_symbol.cpp.

References SCH_SYMBOL().

◆ ConnectedItems()

SCH_ITEM_SET & SCH_ITEM::ConnectedItems ( const SCH_SHEET_PATH aPath)
inherited

Retrieve the set of items connected to this item on the given sheet.

Definition at line 197 of file sch_item.cpp.

References SCH_ITEM::m_connected_items.

Referenced by addConnections(), SCH_LINE::FindWireSegmentNetNameRecursive(), and DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem().

◆ Connection()

◆ ConnectionPropagatesTo()

virtual bool SCH_ITEM::ConnectionPropagatesTo ( const EDA_ITEM aItem) const
inlinevirtualinherited

Return true if this item should propagate connection info to aItem.

Reimplemented in SCH_BUS_WIRE_ENTRY, SCH_LINE, and SCH_PIN.

Definition at line 451 of file sch_item.h.

◆ doGetBoundingBox()

◆ DoHypertextAction()

virtual void SCH_ITEM::DoHypertextAction ( EDA_DRAW_FRAME aFrame) const
inlinevirtualinherited

Reimplemented in SCH_FIELD, SCH_TEXT, and SCH_TEXTBOX.

Definition at line 267 of file sch_item.h.

◆ doIsConnected()

bool SCH_SYMBOL::doIsConnected ( const VECTOR2I aPosition) const
overrideprivatevirtual

Provide the object specific test to see if it is connected to aPosition.

Note
Override this function if the derived object can be connect to another object such as a wire, bus, or junction. Do not override this function for objects that cannot have connections. The default will always return false. This functions is call through the public function IsConnected() which performs tests common to all schematic items before calling the item specific connection testing.
Parameters
aPositionis a reference to a VECTOR2I object containing the test position.
Returns
True if connection to aPosition exists.

Reimplemented from SCH_ITEM.

Definition at line 2435 of file sch_symbol.cpp.

References GetBodyStyle(), GetUnit(), TRANSFORM::InverseTransform(), m_pins, m_pos, m_transform, pin, and TRANSFORM::TransformCoordinate().

◆ Duplicate()

SCH_ITEM * SCH_ITEM::Duplicate ( bool  doClone = false) const
inherited

Routine to create a new copy of given item.

The new object is not put in draw list (not linked).

Parameters
doClone(default = false) indicates unique values (such as timestamp and sheet name) should be duplicated. Use only for undo/redo operations.

Definition at line 94 of file sch_item.cpp.

References BRIGHTENED, EDA_ITEM::ClearFlags(), EDA_ITEM::Clone(), EDA_ITEM::m_Uuid, SCH_ITEM::RunOnChildren(), and SELECTED.

Referenced by SCH_EDIT_FRAME::AddCopyForRepeatItem(), SCH_LINE::BreakAt(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), CADSTAR_SCH_ARCHIVE_LOADER::loadItemOntoKiCadSheet(), SCH_IO_EAGLE::loadSchematic(), SCH_DRAWING_TOOLS::PlaceSymbol(), SCH_EDIT_TOOL::RepeatDrawItem(), SCH_EDIT_FRAME::SaveCopyInUndoList(), and SCH_LINE_WIRE_BUS_TOOL::startSegments().

◆ FindField()

SCH_FIELD * SCH_SYMBOL::FindField ( const wxString &  aFieldName,
bool  aIncludeDefaultFields = true,
bool  aCaseInsensitive = false 
)

Search for a SCH_FIELD with aFieldName.

Parameters
aFieldNameis the name of the field to find.
aIncludeDefaultFieldssearches the library symbol default fields if true.
aCaseInsensitiveignore the filed name case if true.
Returns
the field if found or NULL if the field was not found.

Definition at line 1036 of file sch_symbol.cpp.

References m_fields, and MANDATORY_FIELDS.

Referenced by BACK_ANNOTATE::applyChangelist(), FIELDS_EDITOR_GRID_DATA_MODEL::ApplyData(), SCH_IO_LTSPICE_PARSER::CreateFields(), NETLIST_EXPORTER_ALLEGRO::getGroupField(), CADSTAR_SCH_ARCHIVE_LOADER::loadSchematicSymbolInstances(), SCH_IO_ALTIUM::ParseParameter(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), and UpdateFields().

◆ Get() [1/3]

template<typename T >
std::optional< T > INSPECTABLE::Get ( const wxString &  aProperty) const
inlineinherited

◆ Get() [2/3]

◆ Get() [3/3]

template<typename T >
T INSPECTABLE::Get ( PROPERTY_BASE aProperty) const
inlineinherited

◆ GetAllLibPins()

std::vector< LIB_PIN * > SCH_SYMBOL::GetAllLibPins ( ) const
Returns
a list of pin pointers for all units / converts. Used primarily for SPICE where we want to treat all units together as a single SPICE element.

Definition at line 1157 of file sch_symbol.cpp.

References m_part.

Referenced by LEGACY_POWER_SYMBOLS_TEST_FIXTURE::CheckSymbols(), SIM_LIB_MGR::CreateModel(), SCH_SCREEN::FixLegacyPowerSymbolMismatches(), and IsSymbolLikePowerGlobalLabel().

◆ GetBodyAndPinsBoundingBox()

BOX2I SCH_SYMBOL::GetBodyAndPinsBoundingBox ( ) const

Return a bounding box for the symbol body and pins but not the fields.

Definition at line 1890 of file sch_symbol.cpp.

References doGetBoundingBox().

Referenced by KIGFX::SCH_PAINTER::draw(), AUTOPLACER::getPossibleCollisions(), CADSTAR_SCH_ARCHIVE_LOADER::Load(), operator<(), SCH_EASYEDAPRO_PARSER::ParseSchematic(), PlotDNP(), and Print().

◆ GetBodyBoundingBox()

BOX2I SCH_SYMBOL::GetBodyBoundingBox ( ) const

Return a bounding box for the symbol body but not the pins or fields.

Definition at line 1874 of file sch_symbol.cpp.

References doGetBoundingBox().

Referenced by AUTOPLACER::AUTOPLACER(), KIGFX::SCH_PAINTER::draw(), EE_SELECTION_TOOL::GuessSelectionCandidates(), HitTest(), and SCH_EASYEDA_PARSER::ParseSchematic().

◆ GetBodyStyle()

◆ GetBoundingBox()

const BOX2I SCH_SYMBOL::GetBoundingBox ( ) const
overridevirtual

Return the orthogonal bounding box of this object for display purposes.

This box should be an enclosing perimeter for visible components of this object, and the units should be in the pcb or schematic coordinate system. It is OK to overestimate the size by a few counts.

Reimplemented from EDA_ITEM.

Definition at line 1896 of file sch_symbol.cpp.

References doGetBoundingBox().

Referenced by SCH_EDITOR_CONTROL::FindSymbolAndItem(), and Plot().

◆ GetCachedDriverName()

const wxString & SCH_ITEM::GetCachedDriverName ( ) const
virtualinherited

Reimplemented in SCH_LABEL_BASE.

Definition at line 254 of file sch_item.cpp.

Referenced by CONNECTION_SUBGRAPH::GetNameForDriver().

◆ GetClass()

wxString SCH_SYMBOL::GetClass ( ) const
inlineoverridevirtual

Return the class name.

Reimplemented from SCH_ITEM.

Definition at line 148 of file sch_symbol.h.

Referenced by operator=().

◆ GetConnectionPoints()

std::vector< VECTOR2I > SCH_SYMBOL::GetConnectionPoints ( ) const
overridevirtual

Add all the connection points for this item to aPoints.

Not all schematic items have connection points so the default method does nothing.

Parameters
aPointsis the list of connection points to add to.

Reimplemented from SCH_ITEM.

Definition at line 2205 of file sch_symbol.cpp.

References GetBodyStyle(), GetUnit(), m_pins, m_pos, m_transform, pin, and TRANSFORM::TransformCoordinate().

◆ GetContextualTextVars()

void SCH_SYMBOL::GetContextualTextVars ( wxArrayString *  aVars) const

Return the list of system text vars & fields for this symbol.

Definition at line 1260 of file sch_symbol.cpp.

References m_fields, and MANDATORY_FIELDS.

Referenced by DIALOG_TABLE_PROPERTIES::getContextualTextVars(), DIALOG_TEXT_PROPERTIES::getContextualTextVars(), and SCH_FIELD::OnScintillaCharAdded().

◆ GetDatasheet()

wxString SCH_SYMBOL::GetDatasheet ( ) const

Return the documentation text for the given part alias.

Definition at line 332 of file sch_symbol.cpp.

References m_part.

Referenced by UpdateFields().

◆ GetDefaultFont()

◆ GetDescription()

wxString SCH_SYMBOL::GetDescription ( ) const
Returns
the associated LIB_SYMBOL's description field (or wxEmptyString).

Definition at line 314 of file sch_symbol.cpp.

References m_part.

Referenced by NETLIST_EXPORTER_XML::makeSymbols(), ResolveTextVar(), and SCH_SYMBOL_DESC::SCH_SYMBOL_DESC().

◆ GetDNP()

◆ GetDrawItem()

LIB_ITEM * SCH_SYMBOL::GetDrawItem ( const VECTOR2I aPosition,
KICAD_T  aType = TYPE_NOT_INIT 
)

Return the symbol library item at aPosition that is part of this symbol.

Parameters
aPositionis the schematic position of the symbol library object.
aTypeis the type of symbol library object to find or any if set to TYPE_NOT_INIT.
Returns
is the symbol library object if found otherwise NULL.

Definition at line 2231 of file sch_symbol.cpp.

References m_bodyStyle, m_part, m_pos, m_transform, and m_unit.

Referenced by SCH_SCREEN::GetPin().

◆ GetEditFlags()

◆ GetEffectiveNetClass()

◆ GetEndPoints()

void SCH_SYMBOL::GetEndPoints ( std::vector< DANGLING_END_ITEM > &  aItemList)
overridevirtual

Add the schematic item end points to aItemList if the item has end points.

The default version doesn't do anything since many of the schematic object cannot be tested for dangling ends. If you add a new schematic item that can have a dangling end ( no connect ), override this method to provide the correct end points.

Parameters
aItemListis the list of DANGLING_END_ITEMS to add to.

Reimplemented from SCH_ITEM.

Definition at line 2086 of file sch_symbol.cpp.

References GetPinPhysicalPosition(), LIB_ITEM::GetUnit(), m_pins, m_unit, pin, and PIN_END.

◆ GetExcludedFromBoard()

◆ GetExcludedFromBOM()

◆ GetExcludedFromSim()

◆ GetField() [1/2]

const SCH_FIELD * SCH_SYMBOL::GetField ( MANDATORY_FIELD_T  aFieldNdx) const

Definition at line 959 of file sch_symbol.cpp.

References m_fields.

◆ GetField() [2/2]

SCH_FIELD * SCH_SYMBOL::GetField ( MANDATORY_FIELD_T  aFieldType)

Return a mandatory field in this symbol.

Note
If you need to fetch a user field, use GetFieldById.
Parameters
aFieldTypeis one of the mandatory field types (REFERENCE_FIELD, VALUE_FIELD, etc.).
Returns
is the field at aFieldType or NULL if the field does not exist.

Definition at line 953 of file sch_symbol.cpp.

References m_fields.

Referenced by SCH_IO_EAGLE::addImplicitConnections(), SCH_SHEET_PATH::AddNewSymbolInstances(), NETLIST_EXPORTER_XML::addSymbolFields(), SCH_EDITOR_CONTROL::AssignFootprints(), LEGACY_POWER_SYMBOLS_TEST_FIXTURE::CheckSymbols(), SCH_IO_LTSPICE_PARSER::CreateFields(), SCH_IO_LTSPICE_PARSER::CreatePowerSymbol(), DIALOG_CHANGE_SYMBOLS::DIALOG_CHANGE_SYMBOLS(), EE_INSPECTION_TOOL::DiffSymbol(), SCH_EDIT_TOOL::EditField(), GetFootprintFieldText(), GetItemDescription(), SCH_PIN::GetMsgPanelInfo(), GetMsgPanelInfo(), GetRef(), SYMBOL_SEARCH_HANDLER::getResultCell(), GetValueFieldText(), DIALOG_CHANGE_SYMBOLS::isMatch(), SCH_IO_EAGLE::loadSchematic(), CADSTAR_SCH_ARCHIVE_LOADER::loadSchematicSymbolInstances(), SCH_IO_ALTIUM::ParseComponent(), SCH_IO_ALTIUM::ParseDesignator(), SCH_IO_ALTIUM::ParseParameter(), SCH_IO_ALTIUM::ParsePowerPort(), SCH_EDITOR_CONTROL::processCmpToFootprintLinkFile(), SCH_FIELD::Replace(), SCH_IO_KICAD_LEGACY::saveSymbol(), SCH_IO_KICAD_SEXPR::saveSymbol(), SCH_EDIT_FRAME::SendSelectItemsToPcb(), EE_INSPECTION_TOOL::ShowDatasheet(), SCH_EDIT_FRAME::ShowFindReplaceDialog(), SCH_SHEET::SymbolCount(), DIALOG_LABEL_PROPERTIES::TransferDataToWindow(), SCH_SHEET_PATH::UpdateAllScreenReferences(), SCH_EDITOR_CONTROL::updatePastedSymbol(), UpdatePrefix(), SCH_SHEET_LIST::UpdateSymbolInstanceData(), Visit(), and DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem().

◆ GetFieldById()

SCH_FIELD * SCH_SYMBOL::GetFieldById ( int  aFieldId)

Return a field in this symbol.

Parameters
aFieldIdis the id of the field requested. Note that this id ONLY SOMETIMES equates to the field's position in the vector.
Returns
is the field at aFieldType or NULL if the field does not exist.

Definition at line 965 of file sch_symbol.cpp.

References m_fields.

Referenced by SCH_SYMBOL(), and UpdateFields().

◆ GetFieldByName() [1/2]

SCH_FIELD * SCH_SYMBOL::GetFieldByName ( const wxString &  aFieldName)

Return a field in this symbol.

Parameters
aFieldNameis the name of the field
Returns
is the field with aFieldName or NULL if the field does not exist.

Definition at line 977 of file sch_symbol.cpp.

References m_fields.

Referenced by FIELDS_EDITOR_GRID_DATA_MODEL::getFieldShownText(), and FIELDS_EDITOR_GRID_DATA_MODEL::updateDataStoreSymbolField().

◆ GetFieldByName() [2/2]

const SCH_FIELD * SCH_SYMBOL::GetFieldByName ( const wxString &  aFieldName) const

Definition at line 989 of file sch_symbol.cpp.

References m_fields.

◆ GetFieldCount()

◆ GetFields() [1/3]

std::vector< SCH_FIELD > & SCH_SYMBOL::GetFields ( )
inline

Return a vector of fields from the symbol.

Definition at line 511 of file sch_symbol.h.

References m_fields.

Referenced by operator==(), and Plot().

◆ GetFields() [2/3]

const std::vector< SCH_FIELD > & SCH_SYMBOL::GetFields ( ) const
inline

Definition at line 512 of file sch_symbol.h.

References m_fields.

◆ GetFields() [3/3]

◆ GetFieldsAutoplaced()

FIELDS_AUTOPLACED SCH_ITEM::GetFieldsAutoplaced ( ) const
inlineinherited

Return whether the fields have been automatically placed.

Definition at line 491 of file sch_item.h.

References SCH_ITEM::m_fieldsAutoplaced.

Referenced by SCH_ITEM::AutoAutoplaceFields(), SCH_IO_KICAD_SEXPR::saveSheet(), SCH_IO_KICAD_SEXPR::saveSymbol(), and SCH_IO_KICAD_SEXPR::saveText().

◆ GetFlags()

◆ GetFocusPosition()

virtual const VECTOR2I EDA_ITEM::GetFocusPosition ( ) const
inlinevirtualinherited

Similar to GetPosition, but allows items to return their visual center rather than their anchor.

Reimplemented in BOARD, PCB_SHAPE, PCB_TRACK, and PCB_ARC.

Definition at line 246 of file eda_item.h.

References EDA_ITEM::GetPosition().

Referenced by SYMBOL_EDIT_FRAME::FocusOnItem(), SCH_EDIT_FRAME::FocusOnItem(), and DRAWING_TOOL::PlaceTuningPattern().

◆ GetFontMetrics()

◆ GetFootprintFieldText()

◆ GetForcedTransparency()

double KIGFX::VIEW_ITEM::GetForcedTransparency ( ) const
inlineinherited

◆ GetFriendlyName()

wxString EDA_ITEM::GetFriendlyName ( ) const
virtualinherited

◆ GetFullPinCount()

size_t SCH_SYMBOL::GetFullPinCount ( )
inline
Returns
a count of pins for all units.

Definition at line 631 of file sch_symbol.h.

References m_part.

◆ GetInstance()

bool SCH_SYMBOL::GetInstance ( SCH_SYMBOL_INSTANCE aInstance,
const KIID_PATH aSheetPath,
bool  aTestFromEnd = false 
) const

◆ GetInstances()

◆ GetItemDescription()

wxString SCH_SYMBOL::GetItemDescription ( UNITS_PROVIDER aUnitsProvider) const
overridevirtual

Return a user-visible description string of this item.

This description is used in disambiguation menus, the message panel, ERC/DRC reports, etc.

The default version of this function raises an assertion in the debug mode and returns a string to indicate that it was not overridden to provide the object specific text.

Returns
The menu text string.

Reimplemented from EDA_ITEM.

Definition at line 2245 of file sch_symbol.cpp.

References _, KIUI::EllipsizeMenuText(), GetField(), GetLibId(), and REFERENCE_FIELD.

◆ GetKeyWords()

wxString SCH_SYMBOL::GetKeyWords ( ) const
Returns
the associated LIB_SYMBOL's keywords field (or wxEmptyString).

Definition at line 323 of file sch_symbol.cpp.

References m_part.

Referenced by ResolveTextVar(), and SCH_SYMBOL_DESC::SCH_SYMBOL_DESC().

◆ GetLayer()

SCH_LAYER_ID SCH_ITEM::GetLayer ( ) const
inlineinherited

Return the layer this item is on.

Definition at line 272 of file sch_item.h.

References SCH_ITEM::m_layer.

Referenced by SCH_ITEM::CanConnect(), SCH_BUS_WIRE_ENTRY::CanConnect(), SCH_BUS_BUS_ENTRY::CanConnect(), SCH_LABEL_BASE::CanConnect(), SCH_LINE::CanConnect(), SCH_NO_CONNECT::CanConnect(), SCH_SHEET::CanConnect(), CanConnect(), SCH_BUS_WIRE_ENTRY::ConnectionPropagatesTo(), DIALOG_TABLE_PROPERTIES::DIALOG_TABLE_PROPERTIES(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SCH_SCREEN::doIsJunction(), KIGFX::SCH_PAINTER::draw(), CONNECTION_GRAPH::ercCheckBusToNetConflicts(), CONNECTION_GRAPH::ercCheckFloatingWires(), SCH_LINE::GetFriendlyName(), SCH_BUS_ENTRY_BASE::GetMsgPanelInfo(), SCH_LINE::GetMsgPanelInfo(), GetNetNavigatorItemText(), SCH_LINE::IsBus(), SCH_LINE::IsGraphicLine(), SCH_LINE::IsWire(), SCH_SCREEN::MarkConnections(), SCH_LINE::MergeOverlap(), SCH_BUS_ENTRY_BASE::operator<(), SCH_JUNCTION::operator<(), SCH_LINE::operator<(), SCH_TEXT::operator<(), SCH_TEXTBOX::operator<(), SCH_BUS_ENTRY_BASE::operator==(), SCH_TEXT::operator==(), SCH_LINE::operator==(), SCH_BITMAP::Plot(), SCH_FIELD::Plot(), SCH_JUNCTION::Plot(), SCH_LINE::Plot(), SCH_JUNCTION::Print(), SCH_LINE::Print(), SCH_IO_KICAD_LEGACY::saveBusEntry(), SCH_IO_KICAD_LEGACY::saveLine(), SCH_IO_KICAD_SEXPR::saveLine(), SCH_IO_KICAD_LEGACY::saveText(), SCH_ITEM_DESC::SCH_ITEM_DESC(), SCH_BUS_ENTRY_BASE::Similarity(), SCH_TEXT::Similarity(), SCH_LINE::Similarity(), SCH_EDIT_FRAME::TrimWire(), CONNECTION_GRAPH::updateItemConnectivity(), and DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem().

◆ GetLibId()

◆ GetLibPins()

void SCH_SYMBOL::GetLibPins ( std::vector< LIB_PIN * > &  aPinsList) const

Populate a vector with all the pins from the library object.

Parameters
aPinsListis the list to populate with all of the pins.

Definition at line 1150 of file sch_symbol.cpp.

References m_bodyStyle, m_part, and m_unit.

Referenced by NETLIST_EXPORTER_ALLEGRO::extractComponentsInfo(), and SCH_SCREEN::GetPin().

◆ GetLibSymbolRef() [1/2]

◆ GetLibSymbolRef() [2/2]

const std::unique_ptr< LIB_SYMBOL > & SCH_SYMBOL::GetLibSymbolRef ( ) const
inline

Definition at line 223 of file sch_symbol.h.

References m_part.

◆ GetMenuImage()

BITMAPS SCH_SYMBOL::GetMenuImage ( ) const
overridevirtual

Return a pointer to an image to be used in menus.

The default version returns the right arrow image. Override this function to provide object specific menu images.

Returns
The menu image associated with the item.

Reimplemented from EDA_ITEM.

Definition at line 2018 of file sch_symbol.cpp.

◆ GetMirrorX()

bool SCH_SYMBOL::GetMirrorX ( ) const
inline

Definition at line 392 of file sch_symbol.h.

References GetOrientation().

Referenced by SCH_SYMBOL_DESC::SCH_SYMBOL_DESC().

◆ GetMirrorY()

bool SCH_SYMBOL::GetMirrorY ( ) const
inline

Definition at line 409 of file sch_symbol.h.

References GetOrientation().

Referenced by SCH_SYMBOL_DESC::SCH_SYMBOL_DESC().

◆ GetMsgPanelInfo()

void SCH_SYMBOL::GetMsgPanelInfo ( EDA_DRAW_FRAME aFrame,
std::vector< MSG_PANEL_ITEM > &  aList 
)
overridevirtual

Populate aList of MSG_PANEL_ITEM objects with it's internal state for display purposes.

Parameters
aFrameis the EDA_DRAW_FRAME that displays the message panel
aListis the list to populate.

Reimplemented from EDA_ITEM.

Definition at line 1902 of file sch_symbol.cpp.

References _, DESCRIPTION_FIELD, dummy, KIUI::EllipsizeStatusText(), UTF8::empty(), FOOTPRINT_FIELD, SCH_EDIT_FRAME::GetCurrentSheet(), GetDNP(), EDA_ITEM::GetEditFlags(), GetExcludedFromBoard(), GetExcludedFromBOM(), GetExcludedFromSim(), GetField(), GetLibId(), LIB_ID::GetLibNickname(), GetRef(), m_lib_id, m_part, UnescapeString(), and VALUE_FIELD.

◆ GetOrientation()

int SCH_SYMBOL::GetOrientation ( ) const

Get the display symbol orientation.

Because there are different ways to have a given orientation/mirror, the orientation/mirror is not necessary what the user does. For example: a mirrorV then a mirrorH returns no mirror but a rotate. This function finds a rotation and a mirror value SYM_MIRROR_X because this is the first mirror option tested. This can differs from the orientation made by an user. A SYM_MIRROR_Y is returned as a SYM_MIRROR_X with an orientation 180 because they are equivalent.

See also
SYMBOL_ORIENTATION_T
Returns
the orientation and mirror of the symbol.

Definition at line 1750 of file sch_symbol.cpp.

References GetTransform(), m_transform, s_transformToOrientationCache, SetOrientation(), SYM_MIRROR_X, SYM_MIRROR_Y, SYM_NORMAL, SYM_ORIENT_0, SYM_ORIENT_180, SYM_ORIENT_270, and SYM_ORIENT_90.

Referenced by KIGFX::SCH_PAINTER::draw(), SCH_SCREEN::GetLabelOrientationForPoint(), GetMirrorX(), GetMirrorY(), GetOrientationProp(), AUTOPLACER::getPreferredSides(), SYMBOL_EDIT_FRAME::LoadSymbolFromSchematic(), orientLabel(), SCH_IO_KICAD_SEXPR::saveSymbol(), SetMirrorX(), SetMirrorY(), SetOrientationProp(), SCH_EDIT_TOOL::Swap(), and DIALOG_SYMBOL_PROPERTIES::TransferDataToWindow().

◆ GetOrientationProp()

SYMBOL_ORIENTATION_PROP SCH_SYMBOL::GetOrientationProp ( ) const
inline

◆ GetOrInitConnection()

SCH_CONNECTION * SCH_ITEM::GetOrInitConnection ( const SCH_SHEET_PATH aPath,
CONNECTION_GRAPH aGraph 
)
inherited

◆ GetParent()

EDA_ITEM * EDA_ITEM::GetParent ( ) const
inlineinherited

Definition at line 99 of file eda_item.h.

References EDA_ITEM::m_parent.

Referenced by SCH_EDIT_TOOL::AutoplaceFields(), DIALOG_SCH_FIELD_PROPERTIES::DIALOG_SCH_FIELD_PROPERTIES(), EDIT_TOOL::doMoveSelection(), KIGFX::SCH_PAINTER::draw(), SCH_EDIT_TOOL::editFieldText(), SCH_TABLECELL::GetColumn(), SCH_PIN::GetDefaultNetName(), SCH_FIELD::GetFieldColor(), getInferredSymbols(), SCH_PIN::GetParentSymbol(), SCH_TABLECELL::GetRow(), EE_SELECTION_TOOL::GuessSelectionCandidates(), EE_SELECTION_TOOL::highlight(), highlightNet(), SCH_FIELD::HitTest(), SCH_PIN::IsStacked(), SCH_EDIT_TOOL::JustifyText(), CADSTAR_SCH_ARCHIVE_LOADER::loadNets(), EE_POINT_EDITOR::Main(), EE_SELECTION_TOOL::Main(), SCH_EDIT_TOOL::Mirror(), SCH_MOVE_TOOL::moveItem(), SCH_EDIT_FRAME::onNetNavigatorSelection(), SCH_FIELD::OnScintillaCharAdded(), SCH_COMMIT::parentObject(), SCH_FIELD::Print(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem(), SCH_EDIT_FRAME::PutDataInPreviousState(), PCB_SELECTION_TOOL::RebuildSelection(), SCH_BASE_FRAME::RefreshZoomDependentItems(), SCH_FIND_REPLACE_TOOL::ReplaceAll(), EE_SELECTION_TOOL::RequestSelection(), SCH_COMMIT::Revert(), SCH_EDIT_TOOL::Rotate(), EE_TOOL_BASE< T >::saveCopyInUndoList(), SCH_ITEM::Schematic(), SCH_SCREEN::Schematic(), SCHEMATIC::SCHEMATIC(), SCH_SHEET::SearchHierarchy(), PCB_SELECTION_TOOL::select(), SCH_COMMIT::Stage(), DIALOG_SYMBOL_FIELDS_TABLE::TransferDataToWindow(), EE_SELECTION_TOOL::unhighlight(), DIALOG_SCH_FIELD_PROPERTIES::UpdateField(), EE_TOOL_BASE< T >::updateItem(), SCH_BASE_FRAME::UpdateItem(), and EE_POINT_EDITOR::updateParentItem().

◆ GetPenWidth()

virtual int SCH_ITEM::GetPenWidth ( ) const
inlinevirtualinherited
Returns
the size of the "pen" that be used to draw or plot this item

Reimplemented in SCH_BUS_ENTRY_BASE, SCH_BUS_WIRE_ENTRY, SCH_BUS_BUS_ENTRY, SCH_FIELD, SCH_DIRECTIVE_LABEL, SCH_LINE, SCH_NO_CONNECT, SCH_SHAPE, SCH_SHEET, SCH_SHEET_PIN, and SCH_TEXT.

Definition at line 289 of file sch_item.h.

Referenced by EE_RTREE::contains(), KIGFX::SCH_PAINTER::getLineWidth(), EE_RTREE::insert(), and EE_RTREE::remove().

◆ GetPin() [1/2]

SCH_PIN * SCH_SYMBOL::GetPin ( const wxString &  number) const

Find a symbol pin by number.

Parameters
numberis the number of the pin to find.
Returns
Pin object if found, otherwise NULL.

Definition at line 1138 of file sch_symbol.cpp.

References m_pins, and pin.

Referenced by BACK_ANNOTATE::applyChangelist(), KIGFX::SCH_PAINTER::draw(), SCH_EDITOR_CONTROL::FindSymbolAndItem(), Plot(), PlotPins(), Print(), SCH_EDIT_FRAME::RefreshOperatingPointDisplay(), ResolveTextVar(), and DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow().

◆ GetPin() [2/2]

SCH_PIN * SCH_SYMBOL::GetPin ( LIB_PIN aLibPin) const
Returns
the SCH_PIN associated with a particular LIB_PIN.

Definition at line 1168 of file sch_symbol.cpp.

References m_pinMap.

◆ GetPinPhysicalPosition()

◆ GetPins()

◆ GetPosition()

◆ GetPrefix()

wxString SCH_SYMBOL::GetPrefix ( ) const
inline

Definition at line 303 of file sch_symbol.h.

References m_prefix.

Referenced by SCH_IO_KICAD_LEGACY::saveSymbol().

◆ GetRawPins()

std::vector< std::unique_ptr< SCH_PIN > > & SCH_SYMBOL::GetRawPins ( )
inline

◆ GetRef()

const wxString SCH_SYMBOL::GetRef ( const SCH_SHEET_PATH aSheet,
bool  aIncludeUnit = false 
) const

Return the reference for the given sheet path.

Returns
the reference for the sheet.

Definition at line 751 of file sch_symbol.cpp.

References GetField(), UTIL::GetRefDesUnannotated(), EDA_TEXT::GetText(), GetUnitCount(), m_instanceReferences, m_prefix, SCH_SHEET_PATH::Path(), path, REFERENCE_FIELD, SetRef(), and SubReference().

Referenced by NETLIST_EXPORTER_XML::addSymbolFields(), SIMULATOR_FRAME_UI::AddTuner(), SCH_REFERENCE::AlwaysAnnotate(), SCH_EDIT_FRAME::AnnotateSymbols(), SCH_SHEET_PATH::AppendMultiUnitSymbol(), SCH_SHEET_PATH::AppendSymbol(), TEST_SCH_REFERENCE_LIST_FIXTURE::checkAnnotation(), SCHEMATIC::ConvertKIIDsToRefs(), SCHEMATIC::ConvertRefsToKIIDs(), SIM_LIB_MGR::CreateModel(), NETLIST_EXPORTER_BASE::CreatePinList(), DIALOG_CHANGE_SYMBOLS::DIALOG_CHANGE_SYMBOLS(), NETLIST_EXPORTER_ALLEGRO::extractComponentsInfo(), NETLIST_EXPORTER_BASE::findAllUnitsOfSymbol(), NETLIST_EXPORTER_BASE::findNextSymbol(), SCH_EDITOR_CONTROL::FindSymbolAndItem(), DIALOG_TABLE_PROPERTIES::getContextualTextVars(), DIALOG_TEXT_PROPERTIES::getContextualTextVars(), SCH_PIN::GetDefaultNetName(), SCH_PIN::GetMsgPanelInfo(), GetMsgPanelInfo(), GetNetNavigatorItemText(), GetRefProp(), SYMBOL_SEARCH_HANDLER::getResultCell(), HasConnectivityChanges(), DIALOG_EDIT_SYMBOLS_LIBID::initDlg(), DIALOG_CHANGE_SYMBOLS::isMatch(), SCH_EDIT_FRAME::KiwayMailIn(), TEST_SCH_REFERENCE_LIST_FIXTURE::loadTestCase(), NETLIST_EXPORTER_XML::makeSymbols(), SCH_EDIT_FRAME::mapExistingAnnotation(), SCH_FIELD::Matches(), NETLIST_EXPORTER_ALLEGRO::NET_NODE::operator<(), Plot(), NETLIST_EXPORTER_SPICE::readModel(), NETLIST_EXPORTER_SPICE::readRefName(), NETLIST_EXPORTER_SPICE::ReadSchematicAndLibraries(), SCH_REFERENCE_LIST::ReannotateByOptions(), SCH_EDIT_FRAME::RefreshOperatingPointDisplay(), SCH_FIELD::Replace(), SCHEMATIC::ResolveCrossReference(), ResolveTextVar(), SCH_EDIT_FRAME::SaveSymbolToSchematic(), SCH_REFERENCE::SCH_REFERENCE(), SCHEMATIC::SCHEMATIC(), SCH_EDITOR_CONTROL::SimProbe(), ERC_TESTER::TestMultiunitFootprints(), ERC_TESTER::TestSimModelIssues(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), SCH_SHEET_PATH::UpdateAllScreenReferences(), DIALOG_SCH_FIELD_PROPERTIES::UpdateField(), NETLIST_EXPORTER_CADSTAR::WriteNetlist(), NETLIST_EXPORTER_ORCADPCB2::WriteNetlist(), and NETLIST_EXPORTER_PADS::WriteNetlist().

◆ GetRefProp()

wxString SCH_SYMBOL::GetRefProp ( ) const
inline

Definition at line 555 of file sch_symbol.h.

References GetRef(), and SCH_ITEM::Schematic().

Referenced by SCH_SYMBOL_DESC::SCH_SYMBOL_DESC().

◆ GetSchSymbolLibraryName()

◆ GetShowPinNames()

bool SCH_SYMBOL::GetShowPinNames ( ) const
inline

Definition at line 881 of file sch_symbol.h.

References m_part.

Referenced by SCH_SYMBOL_DESC::SCH_SYMBOL_DESC().

◆ GetShowPinNumbers()

bool SCH_SYMBOL::GetShowPinNumbers ( ) const
inline

Definition at line 870 of file sch_symbol.h.

References m_part.

Referenced by SCH_SYMBOL_DESC::SCH_SYMBOL_DESC().

◆ GetSortPosition()

virtual VECTOR2I EDA_ITEM::GetSortPosition ( ) const
inlinevirtualinherited

Return the coordinates that should be used for sorting this element visually compared to other elements.

For instance, for lines the midpoint might be a better sorting point than either end.

Returns
X,Y coordinate of the sort point

Reimplemented in SCH_LINE.

Definition at line 255 of file eda_item.h.

References EDA_ITEM::GetPosition().

◆ GetStoredPos()

VECTOR2I & SCH_ITEM::GetStoredPos ( )
inlineinherited

Definition at line 235 of file sch_item.h.

References SCH_ITEM::m_storedPos.

◆ GetStroke()

virtual STROKE_PARAMS SCH_ITEM::GetStroke ( ) const
inlinevirtualinherited

Reimplemented in SCH_BUS_ENTRY_BASE, SCH_LINE, and SCH_SHAPE.

Definition at line 524 of file sch_item.h.

Referenced by DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem().

◆ GetSymbolIDAsString()

wxString SCH_SYMBOL::GetSymbolIDAsString ( ) const
inline

Definition at line 205 of file sch_symbol.h.

References LIB_ID::Format(), and m_lib_id.

Referenced by SCH_SYMBOL_DESC::SCH_SYMBOL_DESC().

◆ GetTempFlags()

EDA_ITEM_FLAGS EDA_ITEM::GetTempFlags ( ) const
inlineinherited

◆ GetTransform() [1/2]

◆ GetTransform() [2/2]

const TRANSFORM & SCH_SYMBOL::GetTransform ( ) const
inline

Definition at line 315 of file sch_symbol.h.

References m_transform.

◆ GetTypeDesc()

wxString EDA_ITEM::GetTypeDesc ( ) const
inherited

Return a translated description of the type for this EDA_ITEM for display in user facing messages.

Definition at line 320 of file eda_item.cpp.

References ENUM_MAP< T >::Instance(), and EDA_ITEM::Type().

Referenced by PCB_GROUP::AddItem(), EDIT_TOOL::doMoveSelection(), and EDA_ITEM::GetFriendlyName().

◆ GetUnit()

◆ GetUnitCount()

int SCH_SYMBOL::GetUnitCount ( ) const

Return the number of units per package of the symbol.

Returns
the number of units per package or zero if the library entry cannot be found.

Definition at line 486 of file sch_symbol.cpp.

References m_part.

Referenced by NETLIST_EXPORTER_XML::addSymbolFields(), SCH_EDIT_FRAME::AnnotateSymbols(), GetRef(), SCH_FIELD::GetShownText(), DIALOG_EDIT_SYMBOLS_LIBID::initDlg(), SCH_FIELD::Matches(), SCH_DRAWING_TOOLS::PlaceSymbol(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), and DIALOG_SYMBOL_PROPERTIES::TransferDataToWindow().

◆ GetUnitDisplayName()

wxString SCH_SYMBOL::GetUnitDisplayName ( int  aUnit)

Return the display name for a given unit aUnit.

Returns
the display name of a unit if set, or the ordinal name of the unit otherwise.

Definition at line 495 of file sch_symbol.cpp.

References _, m_part, and SubReference().

Referenced by DIALOG_SYMBOL_PROPERTIES::TransferDataToWindow().

◆ GetUnitSelection()

◆ GetValueFieldText()

◆ GetValueProp()

wxString SCH_SYMBOL::GetValueProp ( ) const
inline

Definition at line 563 of file sch_symbol.h.

References GetValueFieldText(), and SCH_ITEM::Schematic().

Referenced by SCH_SYMBOL_DESC::SCH_SYMBOL_DESC().

◆ GetX()

int SCH_SYMBOL::GetX ( ) const
inline

Definition at line 819 of file sch_symbol.h.

References GetPosition(), and VECTOR2< T >::x.

Referenced by SCH_SYMBOL_DESC::SCH_SYMBOL_DESC(), and SetY().

◆ GetY()

int SCH_SYMBOL::GetY ( ) const
inline

Definition at line 822 of file sch_symbol.h.

References GetPosition(), and VECTOR2< T >::y.

Referenced by SCH_SYMBOL_DESC::SCH_SYMBOL_DESC(), and SetX().

◆ HasBrightenedPins()

bool SCH_SYMBOL::HasBrightenedPins ( )

Definition at line 2614 of file sch_symbol.cpp.

References m_pins, and pin.

◆ HasCachedDriverName()

virtual bool SCH_ITEM::HasCachedDriverName ( ) const
inlinevirtualinherited

Reimplemented in SCH_LABEL_BASE.

Definition at line 481 of file sch_item.h.

Referenced by CONNECTION_SUBGRAPH::GetNameForDriver().

◆ HasConnectivityChanges()

bool SCH_SYMBOL::HasConnectivityChanges ( const SCH_ITEM aItem,
const SCH_SHEET_PATH aInstance = nullptr 
) const
overridevirtual

Check if aItem has connectivity changes against this object.

This provides granular per object connectivity change testing to prevent the need to rebuild the CONNECTION_GRAPH when object properties that have nothing to do with the schematic connectivity changes i.e. color, thickness, fill type. etc.

Note
Developers should override this method for all objects that are connectable.
Parameters
aItemis the item to test for connectivity changes.
aInstanceis the instance to test for connectivity changes. This parameter is only meaningful for SCH_SYMBOL objects.
Returns
true if there are connectivity changes otherwise false.

Reimplemented from SCH_ITEM.

Definition at line 2163 of file sch_symbol.cpp.

References GetLibId(), GetPosition(), GetRef(), GetUnitSelection(), GetValueFieldText(), HasConnectivityChanges(), IsPower(), and m_pins.

Referenced by HasConnectivityChanges().

◆ HasFlag()

◆ HasLineStroke()

virtual bool SCH_ITEM::HasLineStroke ( ) const
inlinevirtualinherited

Check if this schematic item has line stoke properties.

See also
STROKE_PARAMS
Returns
true if this schematic item support line stroke properties. Otherwise, false.

Reimplemented in SCH_BUS_ENTRY_BASE, SCH_LINE, and SCH_SHAPE.

Definition at line 522 of file sch_item.h.

Referenced by SCH_EDIT_TOOL::Init(), and DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem().

◆ HasUnitDisplayName()

bool SCH_SYMBOL::HasUnitDisplayName ( int  aUnit)

Return true if the given unit aUnit has a display name set.

Returns
true if the display name of a unit is set, otherwise false.

Definition at line 503 of file sch_symbol.cpp.

References m_part.

Referenced by DIALOG_SYMBOL_PROPERTIES::TransferDataToWindow().

◆ HitTest() [1/2]

bool SCH_SYMBOL::HitTest ( const BOX2I aRect,
bool  aContained,
int  aAccuracy = 0 
) const
overridevirtual

Test if aRect intersects this item.

Parameters
aRectA reference to a BOX2I object containing the rectangle to test.
aContainedSet to true to test for containment instead of an intersection.
aAccuracyIncrease aRect by this amount.
Returns
True if aRect contains or intersects the item bounding box.

Reimplemented from EDA_ITEM.

Definition at line 2419 of file sch_symbol.cpp.

References BOX2< Vec >::Contains(), GetBodyBoundingBox(), BOX2< Vec >::Inflate(), BOX2< Vec >::Intersects(), EDA_ITEM::m_flags, SKIP_STRUCT, and STRUCT_DELETED.

◆ HitTest() [2/2]

bool SCH_SYMBOL::HitTest ( const VECTOR2I aPosition,
int  aAccuracy = 0 
) const
overridevirtual

Test if aPosition is inside or on the boundary of this item.

Parameters
aPositionA reference to a VECTOR2I object containing the coordinates to test.
aAccuracyIncrease the item bounding box by this amount.
Returns
True if aPosition is within the item bounding box.

Reimplemented from EDA_ITEM.

Definition at line 2407 of file sch_symbol.cpp.

References BOX2< Vec >::Contains(), GetBodyBoundingBox(), and BOX2< Vec >::Inflate().

◆ Init()

◆ InitializeConnection()

SCH_CONNECTION * SCH_ITEM::InitializeConnection ( const SCH_SHEET_PATH aPath,
CONNECTION_GRAPH aGraph 
)
inherited

Create a new connection object associated with this object.

Parameters
aPathis the sheet path to initialize.

Definition at line 215 of file sch_item.cpp.

References SCH_ITEM::Connection(), SCH_ITEM::m_connection_map, SCH_CONNECTION::Reset(), SCH_CONNECTION::SetGraph(), and SCH_CONNECTION::SetSheet().

Referenced by SCH_ITEM::GetOrInitConnection().

◆ IsAnnotated()

bool SCH_SYMBOL::IsAnnotated ( const SCH_SHEET_PATH aSheet)

Check if the symbol has a valid annotation (reference) for the given sheet path.

Parameters
aSheetis the sheet path to test.
Returns
true if the symbol exists on that sheet and has a valid reference.

Definition at line 829 of file sch_symbol.cpp.

References m_instanceReferences, SCH_SHEET_PATH::Path(), and path.

Referenced by SCH_EDIT_FRAME::mapExistingAnnotation(), SCH_EDIT_FRAME::SaveSymbolToSchematic(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), and DIALOG_SCH_FIELD_PROPERTIES::UpdateField().

◆ IsBrightened()

◆ IsConnectable()

bool SCH_SYMBOL::IsConnectable ( ) const
inlineoverridevirtual
Returns
true if the schematic item can connect to another schematic item.

Reimplemented from SCH_ITEM.

Definition at line 767 of file sch_symbol.h.

◆ IsConnected()

bool SCH_ITEM::IsConnected ( const VECTOR2I aPoint) const
inherited

Test the item to see if it is connected to aPoint.

Parameters
aPointis a reference to a VECTOR2I object containing the coordinates to test.
Returns
True if connection to aPoint exists.

Definition at line 138 of file sch_item.cpp.

References SCH_ITEM::doIsConnected(), EDA_ITEM::m_flags, SKIP_STRUCT, and STRUCT_DELETED.

Referenced by SCH_SCREEN::doIsJunction(), SCH_MOVE_TOOL::getConnectedItems(), SCH_SCREEN::IsTerminalPoint(), and SCH_SCREEN::MarkConnections().

◆ IsConnectivityDirty()

◆ IsDangling()

virtual bool SCH_ITEM::IsDangling ( ) const
inlinevirtualinherited

Reimplemented in SCH_BUS_ENTRY_BASE, SCH_LABEL_BASE, SCH_LINE, and SCH_PIN.

Definition at line 382 of file sch_item.h.

◆ IsEntered()

bool EDA_ITEM::IsEntered ( ) const
inlineinherited

Definition at line 107 of file eda_item.h.

References ENTERED, and EDA_ITEM::m_flags.

Referenced by KIGFX::PCB_PAINTER::draw().

◆ IsForceVisible()

bool EDA_ITEM::IsForceVisible ( ) const
inlineinherited

Definition at line 191 of file eda_item.h.

References EDA_ITEM::m_forceVisible.

Referenced by KIGFX::SCH_PAINTER::draw(), and SCH_FIELD::Print().

◆ IsHypertext()

virtual bool SCH_ITEM::IsHypertext ( ) const
inlinevirtualinherited

Allow items to support hypertext actions when hovered/clicked.

Reimplemented in SCH_FIELD, SCH_TEXT, and SCH_TEXTBOX.

Definition at line 265 of file sch_item.h.

Referenced by SCH_ITEM::RenderAsBitmap().

◆ IsInNetlist()

bool SCH_SYMBOL::IsInNetlist ( ) const
Returns
true if the symbol is in netlist.

Definition at line 2465 of file sch_symbol.cpp.

References m_isInNetlist.

Referenced by AUTOPLACER::AUTOPLACER().

◆ IsLocked()

virtual bool SCH_ITEM::IsLocked ( ) const
inlinevirtualinherited
Returns
true if the object is locked, else false.

Definition at line 255 of file sch_item.h.

Referenced by SCH_ITEM_DESC::SCH_ITEM_DESC().

◆ IsMissingLibSymbol()

bool SCH_SYMBOL::IsMissingLibSymbol ( ) const

Check to see if the library symbol is set to the dummy library symbol.

When the library symbol is missing (which technically should not happen now that the library symbols are cached in the schematic file), a dummy library symbol is substituted for the missing symbol as an indicator that something is amiss. The dummy symbol cannot be edited so a check for this symbol must be performed before attempting to edit the library symbol with the library editor or it will crash KiCad.

See also
dummy()
Returns
true if the library symbol is missing or false if it is valid.

Definition at line 245 of file sch_symbol.cpp.

References m_part.

Referenced by SCH_EDITOR_CONTROL::EditWithSymbolEditor(), SCH_EDIT_TOOL::Properties(), and SYMBOL_SEARCH_HANDLER::Search().

◆ IsModified()

bool EDA_ITEM::IsModified ( ) const
inlineinherited

Definition at line 102 of file eda_item.h.

References IS_CHANGED, and EDA_ITEM::m_flags.

Referenced by PCB_EDIT_FRAME::OpenProjectFiles().

◆ IsMovableFromAnchorPoint()

bool SCH_SYMBOL::IsMovableFromAnchorPoint ( ) const
overridevirtual

Return true for items which are moved with the anchor point at mouse cursor and false for items moved with no reference to anchor.

Usually return true for small items (labels, junctions) and false for items which can be large (hierarchical sheets, symbols).

Note
We used to try and be smart about this and return false for symbols in case they are big. However, this annoyed some users and we now have a preference which controls warping on move in general, so this was switched to true for symbols.
We now use this to keep poorly-formed symbols from getting dragged off-grid. If the symbol contains off-grid pins we will not allow it to be moved from its anchor.

Reimplemented from SCH_ITEM.

Definition at line 269 of file sch_symbol.cpp.

References m_pins, m_pos, EDA_IU_SCALE::MilsToIU(), pin, schIUScale, VECTOR2< T >::x, and VECTOR2< T >::y.

◆ IsMoving()

◆ IsNew()

◆ IsPointClickableAnchor()

bool SCH_SYMBOL::IsPointClickableAnchor ( const VECTOR2I aPos) const
overridevirtual
Returns
true if the given point can start drawing (usually means the anchor is unused/free/dangling).

Reimplemented from SCH_ITEM.

Definition at line 2633 of file sch_symbol.cpp.

References GetBodyStyle(), GetUnit(), m_pins, and pin.

◆ IsPower()

◆ IsReferenceStringValid()

bool SCH_SYMBOL::IsReferenceStringValid ( const wxString &  aReferenceString)
static

Test for an acceptable reference string.

An acceptable reference string must support unannotation i.e starts by letter

Parameters
aReferenceStringis the reference string to validate
Returns
true if reference string is valid.

Definition at line 787 of file sch_symbol.cpp.

References UTIL::GetRefDesPrefix().

Referenced by DIALOG_FIELD_PROPERTIES::TransferDataFromWindow(), DIALOG_LIB_SYMBOL_PROPERTIES::Validate(), and DIALOG_SYMBOL_PROPERTIES::Validate().

◆ IsReplaceable()

bool SCH_SYMBOL::IsReplaceable ( ) const
inlineoverridevirtual

Override this method in any derived object that supports test find and replace.

Returns
True if the item has replaceable text that can be modified using the find and replace dialog.

Reimplemented from EDA_ITEM.

Definition at line 814 of file sch_symbol.h.

◆ IsRollover()

bool EDA_ITEM::IsRollover ( ) const
inlineinherited

Definition at line 110 of file eda_item.h.

References IS_MOVING, IS_ROLLOVER, and EDA_ITEM::m_flags.

Referenced by KIGFX::SCH_PAINTER::draw().

◆ IsSelected()

bool EDA_ITEM::IsSelected ( ) const
inlineinherited

Definition at line 106 of file eda_item.h.

References EDA_ITEM::m_flags, and SELECTED.

Referenced by ALIGN_DISTRIBUTE_TOOL::AlignBottom(), ALIGN_DISTRIBUTE_TOOL::AlignCenterX(), ALIGN_DISTRIBUTE_TOOL::AlignCenterY(), ALIGN_DISTRIBUTE_TOOL::AlignTop(), SCH_EDIT_TOOL::ChangeTextType(), DIALOG_CHANGE_SYMBOLS::DIALOG_CHANGE_SYMBOLS(), ALIGN_DISTRIBUTE_TOOL::doAlignLeft(), ALIGN_DISTRIBUTE_TOOL::doAlignRight(), ALIGN_DISTRIBUTE_TOOL::doDistributeCentersHorizontally(), ALIGN_DISTRIBUTE_TOOL::doDistributeCentersVertically(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsHorizontally(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsVertically(), EDIT_TOOL::doMoveSelection(), KIGFX::SCH_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::Draw(), KIGFX::SCH_PAINTER::drawItemBoundingBox(), DS_PROXY_UNDO_ITEM::DS_PROXY_UNDO_ITEM(), SCH_EDIT_FRAME::FlipBodyStyle(), RENDER_3D_OPENGL::get3dModelsFromFootprint(), KIGFX::GERBVIEW_RENDER_SETTINGS::GetColor(), KIGFX::DS_RENDER_SETTINGS::GetColor(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), SCH_MOVE_TOOL::getConnectedDragItems(), KIGFX::SCH_PAINTER::getLineWidth(), DIALOG_EXCHANGE_FOOTPRINTS::isMatch(), DIALOG_CHANGE_SYMBOLS::isMatch(), SCH_SCREEN::MarkConnections(), SCH_LINE::MergeOverlap(), SCH_EDIT_TOOL::Mirror(), EDIT_TOOL::MoveExact(), SCH_MOVE_TOOL::moveItem(), KIGFX::SCH_PAINTER::nonCached(), SCH_MOVE_TOOL::orthoLineDrag(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem(), BOARD_COMMIT::Push(), SCH_COMMIT::pushSchEdit(), EE_SELECTION_TOOL::RebuildSelection(), PCB_SELECTION_TOOL::RebuildSelection(), SCH_FIND_REPLACE_TOOL::ReplaceAll(), SCH_COMMIT::Revert(), SCH_EDIT_TOOL::Rotate(), EE_TOOL_BASE< T >::saveCopyInUndoList(), GERBVIEW_SELECTION_TOOL::select(), PCB_SELECTION_TOOL::select(), PCB_TEST_SELECTION_TOOL::select(), EE_SELECTION_TOOL::SelectColumns(), PCB_SELECTION_TOOL::SelectColumns(), EE_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectMultiple(), GERBVIEW_SELECTION_TOOL::selectPoint(), EE_SELECTION_TOOL::SelectRows(), PCB_SELECTION_TOOL::SelectRows(), KIGFX::SCH_PAINTER::setDeviceColors(), SCH_COMMIT::Stage(), DIALOG_TABLE_PROPERTIES::TransferDataToWindow(), GERBVIEW_SELECTION_TOOL::unselect(), SCH_FIND_REPLACE_TOOL::UpdateFind(), UpdatePins(), PCB_TUNING_PATTERN::ViewDraw(), PCB_FIELD::ViewGetLOD(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem(), DIALOG_GLOBAL_EDIT_TEARDROPS::visitItem(), and DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem().

◆ IsShownAsBitmap()

bool EDA_ITEM::IsShownAsBitmap ( ) const
inlineinherited

Definition at line 164 of file eda_item.h.

References IS_SHOWN_AS_BITMAP, and EDA_ITEM::m_flags.

◆ IsSymbolLikePowerGlobalLabel()

bool SCH_SYMBOL::IsSymbolLikePowerGlobalLabel ( ) const
Returns
true if the symbol is equivalent to a global label: It is a Power symbol It has only one pin type Power input

Definition at line 2656 of file sch_symbol.cpp.

References GetAllLibPins(), GetLibSymbolRef(), and IsPower().

Referenced by DIALOG_LABEL_PROPERTIES::TransferDataToWindow().

◆ IsType()

bool SCH_ITEM::IsType ( const std::vector< KICAD_T > &  aScanTypes) const
inlineoverridevirtualinherited

Check whether the item is one of the listed types.

Parameters
aScanTypesList of item types
Returns
true if the item type is contained in the list aScanTypes

Reimplemented from EDA_ITEM.

Reimplemented in SCH_LABEL_BASE, and SCH_LINE.

Definition at line 180 of file sch_item.h.

References EDA_ITEM::IsType(), LAYER_BUS, LAYER_NOTES, LAYER_WIRE, SCH_ITEM::m_layer, SCH_ITEM_LOCATE_BUS_T, SCH_ITEM_LOCATE_GRAPHIC_LINE_T, SCH_ITEM_LOCATE_WIRE_T, SCH_LINE_T, and EDA_ITEM::Type().

Referenced by SCH_EDIT_TOOL::AutoplaceFields(), SCH_EDIT_FRAME::AutoRotateItem(), SCH_FIELD::IsType(), SCH_LABEL_BASE::IsType(), SCH_LINE::IsType(), LABEL_SEARCH_HANDLER::Search(), and DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem().

◆ IterateForward() [1/2]

template<class T >
static INSPECT_RESULT EDA_ITEM::IterateForward ( std::deque< T > &  aList,
INSPECTOR  inspector,
void *  testData,
const std::vector< KICAD_T > &  scanTypes 
)
inlinestaticinherited

This changes first parameter to avoid the DList and use the main queue instead.

Definition at line 292 of file eda_item.h.

References EDA_ITEM::Visit().

Referenced by GERBER_FILE_IMAGE::Visit().

◆ IterateForward() [2/2]

template<class T >
static INSPECT_RESULT EDA_ITEM::IterateForward ( std::vector< T > &  aList,
INSPECTOR  inspector,
void *  testData,
const std::vector< KICAD_T > &  scanTypes 
)
inlinestaticinherited

Change first parameter to avoid the DList and use std::vector instead.

Definition at line 312 of file eda_item.h.

References EDA_ITEM::Visit().

◆ Matches() [1/2]

bool SCH_SYMBOL::Matches ( const EDA_SEARCH_DATA aSearchData,
void *  aAuxData 
) const
overridevirtual

Compare the item against the search criteria in aSearchData.

The base class returns false since many of the objects derived from EDA_ITEM do not have any text to search.

Parameters
aSearchDataA reference to a wxFindReplaceData object containing the search criteria.
aAuxDataA pointer to optional data required for the search or NULL if not used.
Returns
True if the item's text matches the search criteria in aSearchData.

Reimplemented from EDA_ITEM.

Definition at line 2079 of file sch_symbol.cpp.

Referenced by SCH_DRAWING_TOOLS::PlaceSymbol().

◆ Matches() [2/2]

bool EDA_ITEM::Matches ( const wxString &  aText,
const EDA_SEARCH_DATA aSearchData 
) const
protectedinherited

Compare aText against search criteria in aSearchData.

This is a helper function for simplify derived class logic.

Parameters
aTextA reference to a wxString object containing the string to test.
aSearchDataThe criteria to search against.
Returns
True if aText matches the search criteria in aSearchData.

Definition at line 123 of file eda_item.cpp.

References CTX_SEARCH, EDA_COMBINED_MATCHER::Find(), EDA_SEARCH_DATA::findString, EDA_ITEM::IsReplaceable(), isWordChar(), EDA_SEARCH_DATA::matchCase, EDA_SEARCH_DATA::matchMode, next(), EDA_SEARCH_DATA::searchAndReplace, and text.

◆ MirrorHorizontally()

void SCH_SYMBOL::MirrorHorizontally ( int  aCenter)
overridevirtual

Mirror item horizontally about aCenter.

Implements SCH_ITEM.

Definition at line 2024 of file sch_symbol.cpp.

References m_fields, m_pos, MIRROR(), SetOrientation(), SYM_MIRROR_Y, and VECTOR2< T >::x.

◆ MirrorVertically()

void SCH_SYMBOL::MirrorVertically ( int  aCenter)
overridevirtual

Mirror item vertically about aCenter.

Implements SCH_ITEM.

Definition at line 2042 of file sch_symbol.cpp.

References m_fields, m_pos, MIRROR(), SetOrientation(), SYM_MIRROR_X, and VECTOR2< T >::y.

◆ Move()

void SCH_SYMBOL::Move ( const VECTOR2I aMoveVector)
inlineoverridevirtual

Move the item by aMoveVector to a new position.

Implements SCH_ITEM.

Definition at line 732 of file sch_symbol.h.

References m_fields, and m_pos.

Referenced by SCH_IO_LTSPICE_PARSER::CreateKicadSYMBOLs(), SCH_IO_LTSPICE_PARSER::CreatePowerSymbol(), and SetPosition().

◆ operator!=()

bool SCH_SYMBOL::operator!= ( const SCH_SYMBOL aSymbol) const

Definition at line 2364 of file sch_symbol.cpp.

◆ operator<() [1/2]

bool EDA_ITEM::operator< ( const EDA_ITEM aItem) const
inherited

Test if another item is less than this object.

Parameters
aItem- Item to compare against.
Returns
- True if aItem is less than the item.

Definition at line 249 of file eda_item.cpp.

References EDA_ITEM::GetClass().

◆ operator<() [2/2]

bool SCH_SYMBOL::operator< ( const SCH_ITEM aItem) const
overridevirtual

◆ operator=()

◆ operator==() [1/2]

bool SCH_SYMBOL::operator== ( const SCH_ITEM aOther) const
overridevirtual

◆ operator==() [2/2]

bool SCH_SYMBOL::operator== ( const SCH_SYMBOL aSymbol) const

Definition at line 2349 of file sch_symbol.cpp.

References GetFieldCount(), GetFields(), and VALUE_FIELD.

◆ Plot()

void SCH_SYMBOL::Plot ( PLOTTER aPlotter,
bool  aBackground,
const SCH_PLOT_SETTINGS aPlotSettings 
) const
overridevirtual

◆ PlotDNP()

void SCH_SYMBOL::PlotDNP ( PLOTTER aPlotter) const

Plot the red 'X' over the symbol.

This is separated to allow it being used from the screen plot function, overlapping the pins

Parameters
aPlotterthe PLOTTER object used to draw the X

Definition at line 2566 of file sch_symbol.cpp.

References DEFAULT_LINE_WIDTH_MILS, FILLED, GetBodyAndPinsBoundingBox(), COLOR_SETTINGS::GetColor(), BOX2< Vec >::GetEnd(), BOX2< Vec >::GetHeight(), BOX2< Vec >::GetOrigin(), BOX2< Vec >::GetWidth(), LAYER_DNP_MARKER, EDA_IU_SCALE::MilsToIU(), Pgm(), schIUScale, PLOTTER::SetColor(), and PLOTTER::ThickSegment().

Referenced by Plot().

◆ PlotPins()

void SCH_SYMBOL::PlotPins ( PLOTTER aPlotter) const

Plot just the symbol pins.

This is separated to match the GAL display order. The pins are ALSO plotted with the symbol group. This replotting allows us to ensure that they are shown above other elements in the schematic.

Parameters
aPlotteris the PLOTTER object used to plot pins.

Definition at line 2585 of file sch_symbol.cpp.

References GetBodyStyle(), GetDNP(), GetPin(), LIB_SYMBOL::GetPins(), SCH_PIN::GetShape(), SCH_PIN::GetShownName(), GetTransform(), SCH_PIN::GetType(), GetUnit(), m_part, m_pos, LIB_PIN::Plot(), LIB_PIN::SetName(), LIB_PIN::SetShape(), and LIB_PIN::SetType().

◆ Print()

◆ PrintBackground()

void SCH_SYMBOL::PrintBackground ( const RENDER_SETTINGS aSettings,
const VECTOR2I aOffset 
)
overridevirtual

Print only the background parts of a symbol (if any)

Parameters
aSettingsRender settings controlling output
aOffsetis the drawing offset (usually VECTOR2I(0,0), but can be different when moving an object)

Reimplemented from SCH_ITEM.

Definition at line 511 of file sch_symbol.cpp.

References LIB_SYMBOL_OPTIONS::draw_hidden_fields, LIB_SYMBOL_OPTIONS::draw_visible_fields, GetDNP(), m_bodyStyle, m_part, m_pos, m_transform, m_unit, and LIB_SYMBOL_OPTIONS::transform.

◆ RemoveField() [1/2]

void SCH_SYMBOL::RemoveField ( const wxString &  aFieldName)

Remove a user field from the symbol.

Parameters
aFieldNameis the user fieldName to remove. Attempts to remove a mandatory field or a non-existant field are silently ignored.

Definition at line 1023 of file sch_symbol.cpp.

References m_fields, and MANDATORY_FIELDS.

Referenced by BACK_ANNOTATE::applyChangelist().

◆ RemoveField() [2/2]

void SCH_SYMBOL::RemoveField ( SCH_FIELD aField)
inline

Definition at line 530 of file sch_symbol.h.

References SCH_FIELD::GetName(), and RemoveField().

Referenced by RemoveField().

◆ RemoveInstance() [1/2]

void SCH_SYMBOL::RemoveInstance ( const KIID_PATH aInstancePath)

◆ RemoveInstance() [2/2]

void SCH_SYMBOL::RemoveInstance ( const SCH_SHEET_PATH aInstancePath)

◆ RenderAsBitmap()

bool SCH_ITEM::RenderAsBitmap ( double  aWorldScale) const
overridevirtualinherited

Reimplemented from EDA_ITEM.

Definition at line 340 of file sch_item.cpp.

References BITMAP_FONT_SIZE_THRESHOLD, SCH_ITEM::IsHypertext(), and text.

Referenced by KIGFX::SCH_PAINTER::draw().

◆ Replace() [1/2]

virtual bool EDA_ITEM::Replace ( const EDA_SEARCH_DATA aSearchData,
void *  aAuxData = nullptr 
)
inlinevirtualinherited

Perform a text replace using the find and replace criteria in aSearchData on items that support text find and replace.

This function must be overridden for items that support text replace.

Parameters
aSearchDataA reference to a wxFindReplaceData object containing the search and replace criteria.
aAuxDataA pointer to optional data required for the search or NULL if not used.
Returns
True if the item text was modified, otherwise false.

Reimplemented in LIB_TEXTBOX, SCH_LABEL_BASE, SCH_PIN, SCH_TEXT, SCH_TEXTBOX, SCH_FIELD, and SCH_SHEET_PIN.

Definition at line 399 of file eda_item.h.

◆ Replace() [2/2]

bool EDA_ITEM::Replace ( const EDA_SEARCH_DATA aSearchData,
wxString &  aText 
)
staticinherited

Perform a text replace on aText using the find and replace criteria in aSearchData on items that support text find and replace.

Parameters
aSearchDataA reference to a wxFindReplaceData object containing the search and replace criteria.
aTextA reference to a wxString object containing the text to be replaced.
Returns
True if aText was modified, otherwise false.

Definition at line 186 of file eda_item.cpp.

References EDA_SEARCH_DATA::findString, isWordChar(), EDA_SEARCH_DATA::matchCase, EDA_SEARCH_DATA::matchMode, next(), EDA_SEARCH_DATA::replaceString, and text.

Referenced by EDA_TEXT::Replace(), SCH_FIELD::Replace(), SCH_FIND_REPLACE_TOOL::ReplaceAll(), and SCH_FIND_REPLACE_TOOL::ReplaceAndFindNext().

◆ ResolveTextVar()

◆ Rotate()

void SCH_SYMBOL::Rotate ( const VECTOR2I aCenter)
overridevirtual

Rotate the item around aCenter 90 degrees in the clockwise direction.

Implements SCH_ITEM.

Definition at line 2060 of file sch_symbol.cpp.

References ANGLE_90, m_fields, m_pos, RotatePoint(), SetOrientation(), SYM_ROTATE_COUNTERCLOCKWISE, VECTOR2< T >::x, and VECTOR2< T >::y.

Referenced by SCH_EDIT_TOOL::Rotate().

◆ RunOnChildren()

void SCH_SYMBOL::RunOnChildren ( const std::function< void(SCH_ITEM *)> &  aFunction)
overridevirtual

Reimplemented from SCH_ITEM.

Definition at line 1128 of file sch_symbol.cpp.

References m_fields, m_pins, and pin.

◆ Schematic()

SCHEMATIC * SCH_ITEM::Schematic ( ) const
inherited

Searches the item hierarchy to find a SCHEMATIC.

Every SCH_ITEM that lives on a SCH_SCREEN should be parented to either that screen or another SCH_ITEM on the same screen (for example, pins to their symbols).

Every SCH_SCREEN should be parented to the SCHEMATIC.

Note
This hierarchy is not the same as the sheet hierarchy!
Returns
the parent schematic this item lives on, or nullptr.

Definition at line 113 of file sch_item.cpp.

References EDA_ITEM::GetParent(), SCHEMATIC_T, and EDA_ITEM::Type().

Referenced by EE_SELECTION_TOOL::autostartEvent(), SCH_EDIT_TOOL::ChangeTextType(), SCH_ITEM::Connection(), SCH_DRAWING_TOOLS::createNewSheetPin(), DIALOG_SCH_FIELD_PROPERTIES::DIALOG_SCH_FIELD_PROPERTIES(), SCH_SHEET::findSelf(), SCH_MARKER::GetColorLayer(), DIALOG_TABLE_PROPERTIES::getContextualTextVars(), DIALOG_TEXT_PROPERTIES::getContextualTextVars(), SCH_SHEET::GetContextualTextVars(), SCH_ITEM::GetEffectiveNetClass(), SCH_JUNCTION::getEffectiveShape(), SCH_ITEM::GetFontMetrics(), SCH_LABEL_BASE::GetIntersheetRefs(), SCH_LABEL_BASE::GetLabelBoxExpansion(), SCH_DIRECTIVE_LABEL::GetPenWidth(), SCH_LINE::GetPenWidth(), SCH_NO_CONNECT::GetPenWidth(), SCH_SHAPE::GetPenWidth(), SCH_SHEET::GetPenWidth(), SCH_SHEET_PIN::GetPenWidth(), GetPins(), GetRefProp(), SCH_MARKER::GetSeverity(), SCH_LABEL_BASE::GetShownText(), SCH_TEXTBOX::GetShownText(), SCH_FIELD::GetShownText(), SCH_TEXT::GetShownText(), SCH_TEXT::GetTextOffset(), GetValueProp(), SCH_PIN::HitTest(), SCH_SHEET::IsRootSheet(), SCH_LABEL_BASE::IsType(), DIALOG_SYMBOL_PROPERTIES::OnAddField(), SCH_FIELD::OnScintillaCharAdded(), Plot(), SCH_TABLE::Plot(), SCH_COMMIT::pushSchEdit(), SCH_LABEL_BASE::ResolveTextVar(), SCH_GLOBALLABEL::ResolveTextVar(), SCH_SHEET::ResolveTextVar(), ResolveTextVar(), SCH_COMMIT::Revert(), SetRef(), SetRefProp(), SCH_EDITOR_CONTROL::SimTune(), SubReference(), DIALOG_LABEL_PROPERTIES::TransferDataFromWindow(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), DIALOG_LABEL_PROPERTIES::TransferDataToWindow(), DIALOG_SYMBOL_PROPERTIES::TransferDataToWindow(), SCH_SHEET_PATH::UpdateAllScreenReferences(), DIALOG_SCH_FIELD_PROPERTIES::UpdateField(), and SCH_MARKER::ViewGetLayers().

◆ Set() [1/3]

template<typename T >
bool INSPECTABLE::Set ( const wxString &  aProperty,
aValue,
bool  aNotify = true 
)
inlineinherited

◆ Set() [2/3]

template<typename T >
bool INSPECTABLE::Set ( PROPERTY_BASE aProperty,
aValue,
bool  aNotify = true 
)
inlineinherited

◆ Set() [3/3]

bool INSPECTABLE::Set ( PROPERTY_BASE aProperty,
wxAny &  aValue,
bool  aNotify = true 
)
inlineinherited

◆ SetBodyStyle()

void SCH_SYMBOL::SetBodyStyle ( int  aBodyStyle)

◆ SetBrightened()

◆ SetConnectionGraph()

void SCH_ITEM::SetConnectionGraph ( CONNECTION_GRAPH aGraph)
inherited

Updates the connection graph for all connections in this item.

Definition at line 164 of file sch_item.cpp.

References SCH_ITEM::m_connection_map, and path.

Referenced by CONNECTION_GRAPH::Merge().

◆ SetConnectivityDirty()

◆ SetDNP()

◆ SetExcludedFromBoard()

◆ SetExcludedFromBOM()

◆ SetExcludedFromSim()

◆ SetFieldsAutoplaced()

void SCH_ITEM::SetFieldsAutoplaced ( )
inlineinherited

◆ SetFlags()

void EDA_ITEM::SetFlags ( EDA_ITEM_FLAGS  aMask)
inlineinherited

Definition at line 123 of file eda_item.h.

References EDA_ITEM::m_flags.

Referenced by SCH_IO_EAGLE::addBusEntries(), PCB_BASE_FRAME::AddFootprintToBoard(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), SCH_IO_ALTIUM::AddTextBox(), SCH_MOVE_TOOL::AlignToGrid(), PCB_CONTROL::AppendBoard(), SCH_EDIT_FRAME::BreakSegment(), SCH_EDIT_TOOL::BreakWire(), FOOTPRINT::BuildCourtyardCaches(), SCH_EDIT_TOOL::ChangeTextType(), GRAPHICS_CLEANER::cleanupShapes(), ConnectBoardShapes(), PCB_TUNING_PATTERN::CreateNew(), SCH_DRAWING_TOOLS::createNewText(), SCH_EDIT_FRAME::DeleteJunction(), doConvertOutlineToPolygon(), SCH_EDIT_TOOL::DoDelete(), SCH_LINE_WIRE_BUS_TOOL::doDrawSegments(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), PCBNEW_JOBS_HANDLER::doFpExportSvg(), PCB_TOOL_BASE::doInteractiveItemPlacement(), EDIT_TOOL::doMoveSelection(), SCH_LINE_WIRE_BUS_TOOL::doUnfoldBus(), EDIT_TOOL::DragArcTrack(), KIGFX::SCH_PAINTER::draw(), DRAWING_TOOL::DrawArc(), DRAWING_TOOL::DrawCircle(), DRAWING_TOOL::DrawLine(), DRAWING_TOOL::DrawRectangle(), SCH_DRAWING_TOOLS::DrawShape(), SCH_DRAWING_TOOLS::DrawSheet(), SCH_DRAWING_TOOLS::DrawTable(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), PCB_TUNING_PATTERN::EditStart(), PCB_SELECTION_TOOL::EnterGroup(), PAD_TOOL::explodePad(), SCH_MOVE_TOOL::getConnectedDragItems(), SYMBOL_EDIT_FRAME::GetSymbolFromRedoList(), SYMBOL_EDIT_FRAME::GetSymbolFromUndoList(), EE_COLLECTOR::Inspect(), EE_SELECTION_TOOL::Main(), BOARD_COMMIT::MakeImage(), CONVERT_TOOL::makePolysFromChainedSegs(), CONVERT_TOOL::makePolysFromClosedGraphics(), CONVERT_TOOL::makePolysFromOpenGraphics(), SCH_SCREEN::MarkConnections(), TRACKS_CLEANER::mergeCollinearSegments(), SCH_MOVE_TOOL::moveItem(), SYMBOL_EDITOR_MOVE_TOOL::moveItem(), DIALOG_SYMBOL_PROPERTIES::OnUnitChoice(), KIGFX::ORIGIN_VIEWITEM::ORIGIN_VIEWITEM(), SCH_MOVE_TOOL::orthoLineDrag(), SCH_IO_ALTIUM::ParseBezier(), SCH_IO_ALTIUM::ParseBus(), SCH_IO_ALTIUM::ParseBusEntry(), SCH_IO_ALTIUM::ParseHarnessPort(), SCH_IO_ALTIUM::ParseJunction(), SCH_IO_ALTIUM::ParseLabel(), SCH_IO_ALTIUM::ParseLine(), SCH_IO_ALTIUM::ParseNetLabel(), SCH_IO_ALTIUM::ParseNoERC(), SCH_IO_ALTIUM::ParsePolygon(), SCH_IO_ALTIUM::ParsePolyline(), SCH_IO_ALTIUM::ParsePort(), SCH_IO_ALTIUM::ParseRectangle(), SCH_IO_ALTIUM::ParseRoundRectangle(), SCH_EASYEDAPRO_PARSER::ParseSchematic(), SCH_IO_ALTIUM::ParseSheetSymbol(), SCH_IO_ALTIUM::ParseSignalHarness(), SCH_IO_ALTIUM::ParseWire(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), BOARD_EDITOR_CONTROL::PlaceFootprint(), PL_DRAWING_TOOLS::PlaceItem(), Plot(), BACK_ANNOTATE::processNetNameChange(), BOARD_COMMIT::Push(), SYMBOL_EDIT_FRAME::PushSymbolToUndoList(), SCH_EDIT_FRAME::PutDataInPreviousState(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), PCB_SELECTION_TOOL::RebuildSelection(), GERBVIEW_FRAME::RemapLayers(), BOARD::Remove(), FOOTPRINT::Remove(), PCB_TUNING_PATTERN::Remove(), SCH_EDIT_TOOL::RepeatDrawItem(), SCH_EDIT_TOOL::Rotate(), EE_SELECTION_TOOL::SelectAll(), PCB_SELECTION_TOOL::selectAllConnectedShapes(), EE_SELECTION_TOOL::selectMultiple(), EDA_ITEM::SetBrightened(), EDA_ITEM::SetIsShownAsBitmap(), EDA_ITEM::SetModified(), EDA_ITEM::SetSelected(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_LINE_WIRE_BUS_TOOL::startSegments(), SCH_ITEM::SwapFlags(), DS_DATA_ITEM::SyncDrawItems(), DS_DATA_ITEM_BITMAP::SyncDrawItems(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), DIALOG_DIMENSION_PROPERTIES::TransferDataFromWindow(), DIALOG_TARGET_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXTBOX_PROPERTIES::TransferDataFromWindow(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), and ROUTER_TOOL::updateSizesAfterLayerSwitch().

◆ SetFootprintFieldText()

◆ SetForcedTransparency()

void KIGFX::VIEW_ITEM::SetForcedTransparency ( double  aForcedTransparency)
inlineinherited

◆ SetForceVisible()

void EDA_ITEM::SetForceVisible ( bool  aEnable)
inlineinherited

Set and clear force visible flag used to force the item to be drawn even if it's draw attribute is set to not visible.

Parameters
aEnableTrue forces the item to be drawn. False uses the item's visibility setting to determine if the item is to be drawn.

Definition at line 190 of file eda_item.h.

References EDA_ITEM::m_forceVisible.

Referenced by SCH_FIND_REPLACE_TOOL::FindNext(), and SCH_FIND_REPLACE_TOOL::UpdateFind().

◆ SetIsShownAsBitmap()

void EDA_ITEM::SetIsShownAsBitmap ( bool  aBitmap)
inlineinherited

Definition at line 156 of file eda_item.h.

References EDA_ITEM::ClearFlags(), IS_SHOWN_AS_BITMAP, and EDA_ITEM::SetFlags().

◆ SetLastResolvedState()

virtual void SCH_ITEM::SetLastResolvedState ( const SCH_ITEM aItem)
inlinevirtualinherited

Reimplemented in SCH_BUS_ENTRY_BASE, SCH_FIELD, SCH_JUNCTION, SCH_LABEL_BASE, and SCH_LINE.

Definition at line 484 of file sch_item.h.

Referenced by SCH_EDITOR_CONTROL::Paste().

◆ SetLayer()

◆ SetLibId()

◆ SetLibSymbol()

void SCH_SYMBOL::SetLibSymbol ( LIB_SYMBOL aLibSymbol)

Set this schematic symbol library symbol reference to aLibSymbol.

The schematic symbol object owns aLibSymbol and the pin list will be updated accordingly. The LIB_SYMBOL object can be null to clear the library symbol link as well as the pin map. If the LIB_SYMBOL object is not null, it must be a root symbol. Otherwise an assertion will be raised in debug builds and the library symbol will be cleared. The new file format will no longer require a cache library so all library symbols must be valid.

Note
This is the only way to publicly set the library symbol for a schematic symbol except for the ctors that take a LIB_SYMBOL reference. All previous public resolvers have been deprecated.
Parameters
aLibSymbolis the library symbol to associate with this schematic symbol.

Definition at line 305 of file sch_symbol.cpp.

References LIB_SYMBOL::IsRoot(), m_part, and UpdatePins().

Referenced by SCH_SCREEN::Append(), SCH_IO_ALTIUM::ParsePowerPort(), SCH_EDITOR_CONTROL::Paste(), and SCH_SYMBOL().

◆ SetLocked()

virtual void SCH_ITEM::SetLocked ( bool  aLocked)
inlinevirtualinherited

Set the 'lock' status to aLocked for of this item.

Definition at line 260 of file sch_item.h.

Referenced by SCH_ITEM_DESC::SCH_ITEM_DESC().

◆ SetMirrorX()

void SCH_SYMBOL::SetMirrorX ( bool  aMirror)
inline

Definition at line 380 of file sch_symbol.h.

References GetOrientation(), SetOrientation(), and SYM_MIRROR_X.

Referenced by SCH_SYMBOL_DESC::SCH_SYMBOL_DESC().

◆ SetMirrorY()

void SCH_SYMBOL::SetMirrorY ( bool  aMirror)
inline

Definition at line 397 of file sch_symbol.h.

References GetOrientation(), SetOrientation(), and SYM_MIRROR_Y.

Referenced by SCH_SYMBOL_DESC::SCH_SYMBOL_DESC().

◆ SetModified()

◆ SetOrientation()

◆ SetOrientationProp()

void SCH_SYMBOL::SetOrientationProp ( SYMBOL_ORIENTATION_PROP  aAngle)
inline

Orientation/mirroring access for property manager.

Definition at line 354 of file sch_symbol.h.

References GetOrientation(), and SetOrientation().

Referenced by SCH_SYMBOL_DESC::SCH_SYMBOL_DESC().

◆ SetParent()

virtual void EDA_ITEM::SetParent ( EDA_ITEM aParent)
inlinevirtualinherited

Reimplemented in LIB_SYMBOL, and NETINFO_ITEM.

Definition at line 100 of file eda_item.h.

References EDA_ITEM::m_parent.

Referenced by BOARD::Add(), FOOTPRINT::Add(), PCB_TABLE::AddCell(), SCH_TABLE::AddCell(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), BOARD_NETLIST_UPDATER::addNewFootprint(), SCH_SHEET::AddPin(), PAD::AddPrimitive(), PAD::AddPrimitivePoly(), SYMBOL_EDITOR_CONTROL::AddSymbolToSchematic(), SCH_SCREEN::Append(), BOOST_AUTO_TEST_CASE(), LIB_FIELD::Copy(), CADSTAR_SCH_ARCHIVE_LOADER::copySymbolItems(), SYMBOL_EDIT_FRAME::CreateNewSymbol(), SCH_DRAWING_TOOLS::createNewText(), DIALOG_DIMENSION_PROPERTIES::DIALOG_DIMENSION_PROPERTIES(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), DIALOG_PIN_PROPERTIES::DIALOG_PIN_PROPERTIES(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), PCBNEW_JOBS_HANDLER::doFpExportSvg(), SCH_LINE_WIRE_BUS_TOOL::doUnfoldBus(), SCH_DRAWING_TOOLS::DrawShape(), SCH_DRAWING_TOOLS::DrawTable(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), PCB_EDIT_FRAME::ExchangeFootprint(), PAD_TOOL::explodePad(), LIB_SYMBOL::Flatten(), PCB_IO_KICAD_SEXPR::FootprintSave(), DISPLAY_FOOTPRINTS_FRAME::GetFootprint(), CADSTAR_SCH_ARCHIVE_LOADER::getKiCadSchText(), PCB_TABLE::InsertCell(), SCH_TABLE::InsertCell(), LIB_SYMBOL::LIB_SYMBOL(), LTSPICE_SCHEMATIC::Load(), SCH_IO_KICAD_LEGACY_LIB_CACHE::loadAliases(), CADSTAR_SCH_ARCHIVE_LOADER::loadChildSheets(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), SCH_IO_KICAD_SEXPR::loadHierarchy(), SCH_IO_KICAD_LEGACY::loadHierarchy(), KI_TEST::LoadHierarchy(), LIB_SYMBOL::operator=(), SCH_IO_KICAD_SEXPR_PARSER::parseLibSymbol(), SCH_IO_KICAD_SEXPR_PARSER::ParseSchematic(), SCH_EDITOR_CONTROL::Paste(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), PCB_CONTROL::Paste(), pasteFootprintItemsToFootprintEditor(), BOARD_EDITOR_CONTROL::PlaceFootprint(), BACK_ANNOTATE::processNetNameChange(), PAD_TOOL::RecombinePad(), SCH_IO_LIB_CACHE::removeSymbol(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), CLIPBOARD_IO::SaveSelection(), SCH_SHEET_PIN::SCH_SHEET_PIN(), LIB_SYMBOL::SetFields(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_LINE_WIRE_BUS_TOOL::startSegments(), FOOTPRINT::swapData(), PCB_TABLE::swapData(), SCH_LABEL_BASE::SwapData(), SCH_SHEET::SwapData(), SwapData(), SCH_TABLE::SwapData(), BOARD_ITEM::SwapItemData(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), and SCH_DRAWING_TOOLS::TwoClickPlace().

◆ SetPosition()

void SCH_SYMBOL::SetPosition ( const VECTOR2I aPosition)
inlineoverridevirtual

◆ SetPrefix()

void SCH_SYMBOL::SetPrefix ( const wxString &  aPrefix)
inline

Definition at line 305 of file sch_symbol.h.

References m_prefix.

Referenced by UpdatePrefix().

◆ SetRef()

◆ SetRefProp()

void SCH_SYMBOL::SetRefProp ( const wxString  aRef)
inline

Definition at line 559 of file sch_symbol.h.

References SCH_ITEM::Schematic(), and SetRef().

Referenced by SCH_SYMBOL_DESC::SCH_SYMBOL_DESC().

◆ SetSchSymbolLibraryName()

void SCH_SYMBOL::SetSchSymbolLibraryName ( const wxString &  aName)
inline

The name of the symbol in the schematic library symbol list.

Note
See SCH_SCREEN::m_libSymbols

The name of the schematic symbol list entry can vary from the item name in the LIB_ID object because the library symbol may have changed so a new name has to be generated but the original symbol library link has to be preserved in order to update it from the library at some point in the future. If this name is empty, then the library item name from LIB_ID is used.

Definition at line 218 of file sch_symbol.h.

References m_schLibSymbolName.

Referenced by SCH_SCREEN::Append().

◆ SetSelected()

◆ SetShowPinNames()

void SCH_SYMBOL::SetShowPinNames ( bool  aShow)
inline

Definition at line 883 of file sch_symbol.h.

References m_part.

Referenced by SCH_SYMBOL_DESC::SCH_SYMBOL_DESC().

◆ SetShowPinNumbers()

void SCH_SYMBOL::SetShowPinNumbers ( bool  aShow)
inline

Definition at line 875 of file sch_symbol.h.

References m_part.

Referenced by SCH_SYMBOL_DESC::SCH_SYMBOL_DESC().

◆ SetStoredPos()

void SCH_ITEM::SetStoredPos ( const VECTOR2I aPos)
inlineinherited

Definition at line 236 of file sch_item.h.

References SCH_ITEM::m_storedPos.

◆ SetStroke()

virtual void SCH_ITEM::SetStroke ( const STROKE_PARAMS aStroke)
inlinevirtualinherited

Reimplemented in SCH_BUS_ENTRY_BASE, SCH_LINE, and SCH_SHAPE.

Definition at line 526 of file sch_item.h.

Referenced by DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem().

◆ SetTransform()

void SCH_SYMBOL::SetTransform ( const TRANSFORM aTransform)

Definition at line 479 of file sch_symbol.cpp.

References m_transform.

◆ SetUnit()

void SCH_SYMBOL::SetUnit ( int  aUnit)

Change the unit number to aUnit.

This has meaning only for symbols made up of multiple units per package.

Note
This also set the modified flag bit
Parameters
aUnitis the new unit to select.

Definition at line 455 of file sch_symbol.cpp.

References UpdateUnit().

Referenced by SCH_REFERENCE::Annotate(), DIALOG_SYMBOL_PROPERTIES::OnUnitChoice(), SCH_IO_ALTIUM::ParseComponent(), SCH_DRAWING_TOOLS::PlaceSymbol(), SCH_SYMBOL_DESC::SCH_SYMBOL_DESC(), SCH_EDIT_FRAME::SelectUnit(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), and SCH_EDITOR_CONTROL::updatePastedSymbol().

◆ SetUnitSelection() [1/2]

void SCH_SYMBOL::SetUnitSelection ( const SCH_SHEET_PATH aSheet,
int  aUnitSelection 
)

◆ SetUnitSelection() [2/2]

void SCH_SYMBOL::SetUnitSelection ( int  aUnitSelection)

Set the selected unit of this symbol for all sheets.

Definition at line 914 of file sch_symbol.cpp.

References m_instanceReferences.

◆ SetValueFieldText()

◆ SetValueProp()

void SCH_SYMBOL::SetValueProp ( const wxString  aRef)
inline

Definition at line 567 of file sch_symbol.h.

References SetValueFieldText().

Referenced by SCH_SYMBOL_DESC::SCH_SYMBOL_DESC().

◆ SetX()

void SCH_SYMBOL::SetX ( int  aX)
inline

Definition at line 820 of file sch_symbol.h.

References GetY(), and SetPosition().

Referenced by SCH_SYMBOL_DESC::SCH_SYMBOL_DESC().

◆ SetY()

void SCH_SYMBOL::SetY ( int  aY)
inline

Definition at line 823 of file sch_symbol.h.

References GetX(), and SetPosition().

Referenced by SCH_SYMBOL_DESC::SCH_SYMBOL_DESC().

◆ Similarity()

double SCH_SYMBOL::Similarity ( const SCH_ITEM aItem) const
overridevirtual

Return a measure of how likely the other object is to represent the same object.

The scale runs from 0.0 (definitely different objects) to 1.0 (same)

This is a pure virtual function. Derived classes must implement this.

Implements SCH_ITEM.

Definition at line 2720 of file sch_symbol.cpp.

References GetLibId(), GetPosition(), and EDA_ITEM::Type().

◆ Sort()

static bool EDA_ITEM::Sort ( const EDA_ITEM aLeft,
const EDA_ITEM aRight 
)
inlinestaticinherited

Helper function to be used by the C++ STL sort algorithm for sorting a STL container of EDA_ITEM pointers.

Parameters
aLeftThe left hand item to compare.
aRightThe right hand item to compare.
Returns
True if aLeft is less than aRight.

Definition at line 428 of file eda_item.h.

◆ SortInstances()

void SCH_SYMBOL::SortInstances ( bool(*)(const SCH_SYMBOL_INSTANCE &aLhs, const SCH_SYMBOL_INSTANCE &aRhs)  aSortFunction)

Definition at line 641 of file sch_symbol.cpp.

References m_instanceReferences.

Referenced by SCH_IO_KICAD_SEXPR::saveSymbol().

◆ SubReference()

◆ SwapData()

void SCH_SYMBOL::SwapData ( SCH_ITEM aItem)
overridevirtual

Swap the internal data structures aItem with the schematic item.

Obviously, aItem must have the same type than me.

Parameters
aItemThe item to swap the data structures with.

Reimplemented from SCH_ITEM.

Definition at line 1208 of file sch_symbol.cpp.

References m_bodyStyle, m_DNP, m_excludedFromBoard, m_excludedFromBOM, m_excludedFromSim, m_fields, m_instanceReferences, m_lib_id, m_part, m_pins, m_pos, m_schLibSymbolName, m_transform, m_unit, pin, SCH_SYMBOL_T, EDA_ITEM::SetParent(), SCH_ITEM::SwapFlags(), EDA_ITEM::Type(), and UpdatePins().

◆ SwapFlags()

◆ Type()

KICAD_T EDA_ITEM::Type ( ) const
inlineinherited

Returns the type of object.

This attribute should never be changed after a ctor sets it, so there is no public "setter" method.

Returns
the type of object.

Definition at line 97 of file eda_item.h.

References EDA_ITEM::m_structType.

Referenced by CN_CONNECTIVITY_ALGO::Add(), BOARD::Add(), FOOTPRINT::Add(), CN_CLUSTER::Add(), PCB_POINT_EDITOR::addCorner(), PCB_GROUP::AddItem(), CONNECTION_SUBGRAPH::AddItem(), DRC_TEST_PROVIDER_SOLDER_MASK::addItemToRTrees(), ZONE_FILLER::addKnockout(), SCH_SHEET::AddPin(), SCH_BASE_FRAME::AddToScreen(), ALIGN_DISTRIBUTE_TOOL::AlignBottom(), ALIGN_DISTRIBUTE_TOOL::AlignCenterX(), ALIGN_DISTRIBUTE_TOOL::AlignCenterY(), SCH_MOVE_TOOL::AlignToGrid(), ALIGN_DISTRIBUTE_TOOL::AlignTop(), CN_ITEM::AnchorCount(), SCH_SCREEN::Append(), CADSTAR_SCH_ARCHIVE_LOADER::applyTextSettings(), TEARDROP_MANAGER::areItemsInSameZone(), PNS::TOPOLOGY::AssembleTuningPath(), SCH_LABEL_BASE::AutoplaceFields(), EE_SELECTION_TOOL::autostartEvent(), DIALOG_NET_INSPECTOR::buildNewItem(), SCH_SCREENS::buildScreenList(), EXPORTER_STEP::buildTrack3DShape(), BOARD_INSPECTION_TOOL::calculateSelectionRatsnest(), PCB_POINT_EDITOR::canAddCorner(), SCH_BUS_WIRE_ENTRY::CanConnect(), SCH_BUS_BUS_ENTRY::CanConnect(), SCH_JUNCTION::CanConnect(), SCH_LABEL_BASE::CanConnect(), SCH_LINE::CanConnect(), SCH_NO_CONNECT::CanConnect(), SCH_SHEET::CanConnect(), CanConnect(), SCH_EDIT_TOOL::ChangeTextType(), KI_TEST::CheckFootprint(), KI_TEST::CheckFpShape(), KI_TEST::CheckFpZone(), DRC_TEST_PROVIDER_SOLDER_MASK::checkMaskAperture(), CN_VISITOR::checkZoneItemConnection(), LIB_FIELD::ClassOf(), LIB_ITEM::ClassOf(), LIB_PIN::ClassOf(), LIB_SHAPE::ClassOf(), LIB_SYMBOL::ClassOf(), LIB_TEXT::ClassOf(), LIB_TEXTBOX::ClassOf(), SCH_BITMAP::ClassOf(), SCH_BUS_WIRE_ENTRY::ClassOf(), SCH_BUS_BUS_ENTRY::ClassOf(), SCH_FIELD::ClassOf(), SCH_JUNCTION::ClassOf(), SCH_LABEL::ClassOf(), SCH_DIRECTIVE_LABEL::ClassOf(), SCH_GLOBALLABEL::ClassOf(), SCH_HIERLABEL::ClassOf(), SCH_LINE::ClassOf(), SCH_MARKER::ClassOf(), SCH_NO_CONNECT::ClassOf(), SCH_PIN::ClassOf(), SCH_SCREEN::ClassOf(), SCH_SHEET::ClassOf(), SCH_SHEET_PIN::ClassOf(), ClassOf(), SCH_TABLE::ClassOf(), SCH_TABLECELL::ClassOf(), SCH_TEXT::ClassOf(), SCH_TEXTBOX::ClassOf(), BOARD::ClassOf(), BOARD_CONNECTED_ITEM::ClassOf(), FOOTPRINT::ClassOf(), NETINFO_ITEM::ClassOf(), PAD::ClassOf(), PCB_DIM_ALIGNED::ClassOf(), PCB_DIM_ORTHOGONAL::ClassOf(), PCB_DIM_RADIAL::ClassOf(), PCB_DIM_LEADER::ClassOf(), PCB_DIM_CENTER::ClassOf(), PCB_FIELD::ClassOf(), PCB_GENERATOR::ClassOf(), PCB_GROUP::ClassOf(), PCB_MARKER::ClassOf(), PCB_REFERENCE_IMAGE::ClassOf(), PCB_SHAPE::ClassOf(), PCB_TABLE::ClassOf(), PCB_TABLECELL::ClassOf(), PCB_TARGET::ClassOf(), PCB_TEXT::ClassOf(), PCB_TEXTBOX::ClassOf(), PCB_TRACK::ClassOf(), PCB_ARC::ClassOf(), PCB_VIA::ClassOf(), ZONE::ClassOf(), CONNECTION_GRAPH::collectAllDriverValues(), collidesWithArea(), LIB_ITEM::compare(), LIB_FIELD::compare(), LIB_PIN::compare(), LIB_TEXT::compare(), LIB_TEXTBOX::compare(), PCB_GRID_HELPER::computeAnchors(), EE_GRID_HELPER::computeAnchors(), SCH_BUS_WIRE_ENTRY::ConnectionPropagatesTo(), SCH_LINE::ConnectionPropagatesTo(), EE_RTREE::contains(), PICKED_ITEMS_LIST::ContainsItemType(), BOARD::ConvertKIIDsToCrossReferences(), SCHEMATIC::ConvertKIIDsToRefs(), PAD_TOOL::copyPadSettings(), FOOTPRINT::CoverageRatio(), BOARD_ADAPTER::createLayers(), PCB_BASE_FRAME::CreateNewFootprint(), SCH_DRAWING_TOOLS::createNewText(), ZONE_CREATE_HELPER::createNewZone(), BOARD_ADAPTER::createTrack(), EE_INSPECTION_TOOL::CrossProbe(), DRC_TOOL::CrossProbe(), SCH_SCREEN::DeleteItem(), DIALOG_DIMENSION_PROPERTIES::DIALOG_DIMENSION_PROPERTIES(), DIALOG_LABEL_PROPERTIES::DIALOG_LABEL_PROPERTIES(), DIALOG_SCH_FIELD_PROPERTIES::DIALOG_SCH_FIELD_PROPERTIES(), DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), BOARD_COMMIT::dirtyIntersectingZones(), ALIGN_DISTRIBUTE_TOOL::doAlignLeft(), ALIGN_DISTRIBUTE_TOOL::doAlignRight(), SCH_EDIT_TOOL::DoDelete(), ALIGN_DISTRIBUTE_TOOL::doDistributeCentersHorizontally(), ALIGN_DISTRIBUTE_TOOL::doDistributeCentersVertically(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsHorizontally(), ALIGN_DISTRIBUTE_TOOL::doDistributeGapsVertically(), APPEARANCE_CONTROLS::doesBoardItemNeedRebuild(), DIALOG_GLOBAL_DELETION::DoGlobalDeletions(), EDIT_TOOL::doMoveSelection(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), EDIT_TOOL::DragArcTrack(), KIGFX::SCH_PAINTER::draw(), KIGFX::PCB_PAINTER::draw(), KIGFX::PCB_PAINTER::Draw(), DRAWING_TOOL::DrawDimension(), KIGFX::SCH_PAINTER::drawItemBoundingBox(), SCH_DRAWING_TOOLS::DrawSheet(), DRAWING_TOOL::DrawVia(), CONNECTION_SUBGRAPH::driverName(), CN_ITEM::Dump(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), EDIT_TOOL::Duplicate(), FOOTPRINT::DuplicateItem(), EDA_ITEM_DESC::EDA_ITEM_DESC(), SCH_EDIT_TOOL::EditField(), SCH_EDIT_TOOL::editFieldText(), SYMBOL_EDITOR_EDIT_TOOL::editTextBoxProperties(), SYMBOL_EDITOR_EDIT_TOOL::editTextProperties(), CONNECTION_GRAPH::ercCheckBusToBusConflicts(), CONNECTION_GRAPH::ercCheckBusToBusEntryConflicts(), CONNECTION_GRAPH::ercCheckBusToNetConflicts(), CONNECTION_GRAPH::ercCheckFloatingWires(), CONNECTION_GRAPH::ercCheckLabels(), CONNECTION_GRAPH::ercCheckMultipleDrivers(), CONNECTION_GRAPH::ercCheckNoConnects(), DRC_ENGINE::EvalRules(), DRC_ENGINE::EvalZoneConnection(), PCB_SELECTION_TOOL::FilterCollectorForFreePads(), PCB_SELECTION_TOOL::FilterCollectorForHierarchy(), PCB_SELECTION_TOOL::FilterCollectorForMarkers(), PCB_SELECTION_TOOL::FilterCollectorForTableCells(), TEARDROP_MANAGER::findAnchorPointsOnTrack(), PCB_SELECTION_TOOL::FindItem(), NETLIST_EXPORTER_BASE::findNextSymbol(), CADSTAR_ARCHIVE_PARSER::FixTextPositionNoAlignment(), PCB_IO_KICAD_SEXPR::Format(), PCB_IO_KICAD_SEXPR::format(), SCH_IO_KICAD_SEXPR::Format(), SCH_IO_KICAD_LEGACY::Format(), FormatProbeItem(), PCB_POINT_EDITOR::get45DegConstrainer(), CN_ITEM::GetAnchor(), BOARD_ITEM::GetBoard(), SCH_FIELD::GetBoundingBox(), SCH_LABEL_BASE::GetBoundingBox(), PCB_TRACK::GetBoundingBox(), SCH_FIELD::GetCanonicalName(), PCB_FIELD::GetCanonicalName(), getClosestGroup(), KIGFX::GERBVIEW_RENDER_SETTINGS::GetColor(), KIGFX::DS_RENDER_SETTINGS::GetColor(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), SCH_MOVE_TOOL::getConnectedDragItems(), SCH_MOVE_TOOL::getConnectedItems(), CONNECTIVITY_DATA::GetConnectedPadsAndVias(), FOOTPRINT::GetCoverageArea(), CONNECTION_GRAPH::getDefaultConnection(), SCH_FIELD::GetDrawRotation(), getDrilledHoleShape(), CONNECTION_SUBGRAPH::GetDriverPriority(), getFieldFunc(), PCB_TRACK::GetFriendlyName(), getInferredSymbols(), PCB_TRACK::GetItemDescription(), EE_GRID_HELPER::GetItemGrid(), PCB_GRID_HELPER::GetItemGrid(), PL_EDITOR_FRAME::GetLayoutFromRedoList(), PL_EDITOR_FRAME::GetLayoutFromUndoList(), SCH_FIELD::GetMenuImage(), getMinDist(), SCH_LABEL_BASE::GetMsgPanelInfo(), PCB_DIMENSION_BASE::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfo(), SCH_FIELD::GetName(), PCB_FIELD::GetName(), SCH_SCREEN::GetNeededJunctions(), CONNECTION_SUBGRAPH::GetNetclassForDriver(), CONNECTIVITY_DATA::GetNetItems(), GetNetNavigatorItemText(), BOARD_ITEM::GetParentFootprint(), GetPinPhysicalPosition(), SCH_FIELD::GetPosition(), KIGFX::SCH_PAINTER::getRenderColor(), TEXT_SEARCH_HANDLER::getResultCell(), LABEL_SEARCH_HANDLER::getResultCell(), ALIGN_DISTRIBUTE_TOOL::GetSelections(), SCH_FIELD::GetShownText(), CONVERT_TOOL::getStartEndPoints(), KIGFX::SCH_PAINTER::getTextThickness(), EDA_ITEM::GetTypeDesc(), PCBEXPR_TYPE_REF::GetValue(), TEARDROP_MANAGER::GetWidth(), PCB_SELECTION_TOOL::grabUnconnected(), EE_SELECTION_TOOL::GuessSelectionCandidates(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), hasDrilledHole(), hash_fp_item(), EE_SELECTION_TOOL::highlight(), BOARD_INSPECTION_TOOL::HighlightItem(), BOARD_INSPECTION_TOOL::highlightNet(), highlightNet(), SCH_FIELD::HitTest(), SCH_LABEL_BASE::HitTest(), PCB_SELECTION_TOOL::hitTestDistance(), SCH_EDIT_TOOL::Init(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), DRC_RTREE::Insert(), EE_RTREE::insert(), EE_COLLECTOR::Inspect(), GENERAL_COLLECTOR::Inspect(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), BOARD_INSPECTION_TOOL::InspectDRCError(), ARRAY_CREATOR::Invoke(), isBlindBuriedViaFunc(), CONNECTIVITY_DATA::IsConnectedOnLayer(), isCopper(), SCH_LINE_WIRE_BUS_TOOL::IsDrawingLineWireOrBus(), PCB_SELECTION_TOOL::isExpandableGraphicShape(), PNS_KICAD_IFACE_BASE::IsFlashedOnLayer(), CADSTAR_PCB_ARCHIVE_LOADER::isFootprint(), PNS_PCBNEW_RULE_RESOLVER::IsKeepout(), isKeepoutZone(), isMaskAperture(), isMicroVia(), PNS_PCBNEW_RULE_RESOLVER::IsNonPlatedSlot(), isNPTHPad(), PCB_TRACK::IsNull(), isNullAperture(), SCH_LINE::IsParallel(), isPlatedFunc(), SCH_FIELD::IsReplaceable(), TEARDROP_MANAGER::IsRound(), PNS::ROUTER::isStartingPointRoutable(), SCH_ITEM::IsType(), itemIsIncludedByFilter(), PCB_SELECTION_TOOL::itemPassesFilter(), EE_SELECTION_TOOL::itemPassesFilter(), SCH_EDIT_TOOL::JustifyText(), CLIPBOARD_IO::LoadBoard(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), CADSTAR_SCH_ARCHIVE_LOADER::loadHierarchicalSheetPins(), CADSTAR_SCH_ARCHIVE_LOADER::loadNets(), EE_SELECTION_TOOL::Main(), EDIT_POINTS_FACTORY::Make(), PCB_POINT_EDITOR::makePoints(), CONVERT_TOOL::makePolysFromChainedSegs(), SCH_SCREEN::MarkConnections(), CONNECTIVITY_DATA::MarkItemNetAsDirty(), CN_CONNECTIVITY_ALGO::markItemNetAsDirty(), SCH_FIELD::Matches(), memberOfGroupFunc(), SCH_LINE::MergeOverlap(), SCH_EDIT_TOOL::Mirror(), SYMBOL_EDITOR_EDIT_TOOL::Mirror(), SCH_MOVE_TOOL::moveItem(), EE_SELECTION_TOOL::narrowSelection(), DIALOG_DRC::OnDRCItemSelected(), FOOTPRINT_EDIT_FRAME::OnEditItemRequest(), PCB_EDIT_FRAME::OnEditItemRequest(), DIALOG_GENERATORS::OnItemSelected(), EDA_3D_CANVAS::OnMouseMove(), SCH_EDIT_FRAME::onNetNavigatorSelection(), DIALOG_GENERATORS::OnRebuildTypeClick(), PCB_POINT_EDITOR::OnSelectionChange(), DIALOG_TEXT_PROPERTIES::OnSetFocusText(), CN_VISITOR::operator()(), BOARD_ITEM::ptr_cmp::operator()(), BOARD::cmp_items::operator()(), BOARD::cmp_drawings::operator()(), PCB_SHAPE::cmp_drawings::operator()(), FOOTPRINT::cmp_drawings::operator()(), KI_TEST::kitest_cmp_drawings::operator()(), PCB_TRACK::cmp_tracks::operator()(), LIB_ITEM::operator<(), SCH_ITEM::operator<(), SCH_BUS_ENTRY_BASE::operator<(), SCH_FIELD::operator<(), SCH_JUNCTION::operator<(), SCH_LINE::operator<(), SCH_SHEET::operator<(), operator<(), SCH_TABLE::operator<(), SCH_TEXT::operator<(), SCH_TEXTBOX::operator<(), PCB_REFERENCE_IMAGE::operator=(), SCH_BITMAP::operator=(), operator=(), SCH_SHEET::operator=(), PCB_REFERENCE_IMAGE::operator==(), PCB_SHAPE::operator==(), PCB_TABLECELL::operator==(), PCB_TARGET::operator==(), PCB_TEXT::operator==(), PCB_TEXTBOX::operator==(), BOARD::operator==(), FOOTPRINT::operator==(), PAD::operator==(), PCB_DIMENSION_BASE::operator==(), PCB_FIELD::operator==(), PCB_GROUP::operator==(), PCB_TABLE::operator==(), PCB_TRACK::operator==(), PCB_ARC::operator==(), PCB_VIA::operator==(), ZONE::operator==(), LIB_FIELD::operator==(), LIB_PIN::operator==(), LIB_ITEM::operator==(), LIB_SHAPE::operator==(), LIB_TEXT::operator==(), LIB_TEXTBOX::operator==(), SCH_BUS_ENTRY_BASE::operator==(), SCH_FIELD::operator==(), SCH_PIN::operator==(), SCH_TEXT::operator==(), SCH_BITMAP::operator==(), SCH_JUNCTION::operator==(), SCH_LINE::operator==(), SCH_NO_CONNECT::operator==(), SCH_SHAPE::operator==(), SCH_SHEET::operator==(), SCH_SHEET_PIN::operator==(), operator==(), SCH_TABLE::operator==(), SCH_TABLECELL::operator==(), SCH_TEXTBOX::operator==(), PAD::PAD(), SCH_COMMIT::parentObject(), PCB_IO_KICAD_SEXPR_PARSER::parsePCB_SHAPE(), SCH_EASYEDAPRO_PARSER::ParseSchematic(), SCH_IO_KICAD_SEXPR_PARSER::parseSchField(), PCB_CONTROL::Paste(), SCH_FIELD::Plot(), SCH_LABEL_BASE::Plot(), BRDITEMS_PLOTTER::PlotBoardGraphicItem(), SCH_FIELD::Print(), DIALOG_GLOBAL_EDIT_TEARDROPS::processItem(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::processItem(), BACK_ANNOTATE::processNetNameChange(), CONNECTION_GRAPH::processSubGraphs(), SCH_EDIT_TOOL::Properties(), SYMBOL_EDITOR_EDIT_TOOL::Properties(), PCB_SELECTION_TOOL::pruneObscuredSelectionCandidates(), BOARD_COMMIT::Push(), SCH_COMMIT::pushSchEdit(), SCH_EDIT_FRAME::PutDataInPreviousState(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), PCB_GRID_HELPER::queryVisible(), BOARD_REANNOTATE_TOOL::ReannotateDuplicates(), PCB_SELECTION_TOOL::RebuildSelection(), SCH_CONNECTION::recacheName(), SCH_BASE_FRAME::RefreshZoomDependentItems(), GENERATOR_TOOL::RegenerateSelected(), BOARD::Remove(), CN_CONNECTIVITY_ALGO::Remove(), FOOTPRINT::Remove(), EE_RTREE::remove(), SCH_SCREEN::Remove(), PCB_POINT_EDITOR::removeCorner(), PCB_POINT_EDITOR::removeCornerCondition(), LIB_SYMBOL::RemoveDrawItem(), SCH_BASE_FRAME::RemoveFromScreen(), CONNECTION_SUBGRAPH::RemoveItem(), SCH_SHEET::RemovePin(), SCH_EDIT_TOOL::RepeatDrawItem(), SCH_FIELD::Replace(), SCH_FIND_REPLACE_TOOL::ReplaceAll(), EE_SELECTION_TOOL::RequestSelection(), KI_TEST::RequireBoardItemWithTypeAndId(), CONNECTION_GRAPH::resolveAllDrivers(), SCHEMATIC::ResolveCrossReference(), CONNECTION_SUBGRAPH::ResolveDrivers(), PCB_IO_KICAD_SEXPR_PARSER::resolveGroups(), SCH_LABEL_BASE::ResolveTextVar(), BOARD::ResolveTextVar(), DS_PROXY_UNDO_ITEM::Restore(), SCH_COMMIT::Revert(), PL_EDITOR_FRAME::RollbackFromUndo(), SCH_EDIT_TOOL::Rotate(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run(), DRC_TEST_PROVIDER_TEXT_DIMS::Run(), DRC_TEST_PROVIDER_MATCHED_LENGTH::runInternal(), EE_TOOL_BASE< T >::saveCopyInUndoList(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveField(), SCH_IO_KICAD_SEXPR_LIB_CACHE::saveField(), SCH_IO_KICAD_LEGACY_LIB_CACHE::savePin(), SCH_IO_KICAD_SEXPR_LIB_CACHE::savePin(), CLIPBOARD_IO::SaveSelection(), SCH_IO_KICAD_SEXPR_LIB_CACHE::saveSymbolDrawItem(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveText(), SCH_IO_KICAD_SEXPR_LIB_CACHE::saveText(), SCH_IO_KICAD_SEXPR::saveText(), SCH_IO_KICAD_SEXPR_LIB_CACHE::saveTextBox(), SCH_IO_KICAD_SEXPR::saveTextBox(), SCH_ITEM::Schematic(), SCH_SCREEN::Schematic(), SYMBOL_SEARCH_HANDLER::Search(), TEXT_SEARCH_HANDLER::Search(), PCB_SELECTION_TOOL::select(), PCB_SELECTION_TOOL::Selectable(), EE_SELECTION_TOOL::Selectable(), PCB_SELECTION_TOOL::selectMultiple(), PCB_SELECTION_TOOL::selectSameSheet(), PCB_SELECTION_TOOL::selectUnconnected(), PCB_EDIT_FRAME::SetActiveLayer(), PCB_POINT_EDITOR::setAltConstraint(), SCH_FIELD::SetId(), ITEM_PICKER::SetItem(), PCB_BASE_FRAME::SetPlotSettings(), SCH_FIELD::SetPosition(), PCB_EDIT_FRAME::ShowBoardSetupDialog(), PCB_EDIT_FRAME::ShowFindDialog(), SCH_EDIT_FRAME::ShowFindReplaceDialog(), BOARD_INSPECTION_TOOL::ShowFootprintLinks(), PCB_REFERENCE_IMAGE::Similarity(), PCB_SHAPE::Similarity(), PCB_TABLECELL::Similarity(), PCB_TARGET::Similarity(), PCB_TEXT::Similarity(), PCB_TEXTBOX::Similarity(), FOOTPRINT::Similarity(), PAD::Similarity(), PCB_DIMENSION_BASE::Similarity(), PCB_FIELD::Similarity(), PCB_GROUP::Similarity(), PCB_TABLE::Similarity(), PCB_TRACK::Similarity(), PCB_ARC::Similarity(), PCB_VIA::Similarity(), ZONE::Similarity(), LIB_FIELD::Similarity(), LIB_PIN::Similarity(), LIB_SHAPE::Similarity(), LIB_TEXT::Similarity(), LIB_TEXTBOX::Similarity(), SCH_BUS_ENTRY_BASE::Similarity(), SCH_FIELD::Similarity(), SCH_PIN::Similarity(), SCH_TEXT::Similarity(), SCH_BITMAP::Similarity(), SCH_JUNCTION::Similarity(), SCH_LINE::Similarity(), SCH_NO_CONNECT::Similarity(), SCH_SHAPE::Similarity(), SCH_SHEET::Similarity(), SCH_SHEET_PIN::Similarity(), Similarity(), SCH_TABLE::Similarity(), SCH_TABLECELL::Similarity(), SCH_TEXTBOX::Similarity(), SCH_EDITOR_CONTROL::SimProbe(), SCH_COMMIT::Stage(), PNS::LINE_PLACER::Start(), SCH_EDIT_TOOL::Swap(), EDIT_TOOL::Swap(), FOOTPRINT::swapData(), PCB_TUNING_PATTERN::swapData(), PAD::swapData(), PCB_DIM_ALIGNED::swapData(), PCB_DIM_ORTHOGONAL::swapData(), PCB_DIM_RADIAL::swapData(), PCB_DIM_LEADER::swapData(), PCB_DIM_CENTER::swapData(), PCB_FIELD::swapData(), PCB_GROUP::swapData(), PCB_TABLE::swapData(), PCB_TABLECELL::swapData(), PCB_TARGET::swapData(), PCB_TEXT::swapData(), PCB_TEXTBOX::swapData(), PCB_TRACK::swapData(), PCB_ARC::swapData(), PCB_VIA::swapData(), ZONE::swapData(), PCB_REFERENCE_IMAGE::swapData(), SCH_BITMAP::SwapData(), SCH_FIELD::SwapData(), SCH_JUNCTION::SwapData(), SCH_NO_CONNECT::SwapData(), SCH_SHEET::SwapData(), SCH_SHEET_PIN::SwapData(), SwapData(), SCH_TABLE::SwapData(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::testAgainstEdge(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testGraphicClearances(), DRC_TEST_PROVIDER_HOLE_TO_HOLE::testHoleAgainstHole(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstZones(), DRC_TEST_PROVIDER_SOLDER_MASK::testMaskItemAgainstZones(), ERC_TESTER::TestMissingNetclasses(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testSingleLayerItemAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackClearances(), CONNECTIVITY_DATA::TestTrackEndpointDangling(), DIALOG_LABEL_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXT_PROPERTIES::TransferDataFromWindow(), DIALOG_LABEL_PROPERTIES::TransferDataToWindow(), DIALOG_SYMBOL_FIELDS_TABLE::TransferDataToWindow(), DIALOG_TEXT_PROPERTIES::TransferDataToWindow(), DIALOG_GLOBAL_EDIT_TEARDROPS::TransferDataToWindow(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::TransferDataToWindow(), PCB_TRACK::TransformShapeToPolygon(), SCH_LINE_WIRE_BUS_TOOL::TrimOverLappingWires(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), EE_SELECTION_TOOL::unhighlight(), SCH_SHEET_PATH::UpdateAllScreenReferences(), DIALOG_SCH_FIELD_PROPERTIES::UpdateField(), PL_POINT_EDITOR::updateItem(), PCB_POINT_EDITOR::updateItem(), EE_TOOL_BASE< T >::updateItem(), SCH_BASE_FRAME::UpdateItem(), PCB_CONTROL::UpdateMessagePanel(), EDIT_TOOL::updateModificationPoint(), EE_POINT_EDITOR::updateParentItem(), EE_POINT_EDITOR::updatePoints(), PL_POINT_EDITOR::updatePoints(), PCB_POINT_EDITOR::updatePoints(), SCH_BUS_ENTRY_BASE::ViewGetLayers(), PCB_GROUP::Visit(), SCH_SHEET::Visit(), GERBER_DRAW_ITEM::Visit(), PCB_TRACK::Visit(), DIALOG_GLOBAL_EDIT_TEARDROPS::visitItem(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::visitItem(), and DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem().

◆ UpdateDanglingState()

bool SCH_SYMBOL::UpdateDanglingState ( std::vector< DANGLING_END_ITEM > &  aItemListByType,
std::vector< DANGLING_END_ITEM > &  aItemListByPos,
const SCH_SHEET_PATH aPath = nullptr 
)
overridevirtual

Test if the symbol's dangling state has changed for all pins.

As a side effect, actually update the dangling status for all pins.

Note
This does not test for short circuits.
Parameters
aItemListis list of all DANGLING_END_ITEM items to be tested.
Returns
true if any pin's state has changed.

Reimplemented from SCH_ITEM.

Definition at line 2101 of file sch_symbol.cpp.

References DANGLING_END_ITEM_HELPER::get_lower_pos(), DANGLING_END_ITEM::GetParent(), DANGLING_END_ITEM::GetType(), JUNCTION_END, LABEL_END, m_pins, m_pos, m_transform, NO_CONNECT_END, pin, PIN_END, SHEET_LABEL_END, TRANSFORM::TransformCoordinate(), and WIRE_END.

◆ UpdateFields()

void SCH_SYMBOL::UpdateFields ( const SCH_SHEET_PATH aPath,
bool  aUpdateStyle,
bool  aUpdateRef,
bool  aUpdateOtherFields,
bool  aResetRef,
bool  aResetOtherFields 
)

Restore fields to the original library values.

Parameters
aUpdateStyleselects whether fields should update the position and text attributes.
aUpdateRefselects whether the reference field should be updated.
aUpdateOtherFieldsselects whether non-reference fields should be updated.
aResetRefselects whether the reference should be reset to the library value.
aResetOtherFieldsselects whether non-reference fields should be reset to library values.

Definition at line 1059 of file sch_symbol.cpp.

References AddField(), DATASHEET_FIELD, FindField(), FOOTPRINT_FIELD, GetDatasheet(), GetFieldById(), GetFieldCount(), SCH_FIELD::ImportValues(), m_part, m_pos, MANDATORY_FIELDS, REFERENCE_FIELD, SetFootprintFieldText(), SetRef(), SCH_FIELD::SetText(), EDA_TEXT::SetTextPos(), SetValueFieldText(), UnescapeString(), and VALUE_FIELD.

Referenced by SCH_SYMBOL().

◆ UpdatePins()

◆ UpdatePrefix()

void SCH_SYMBOL::UpdatePrefix ( )

Set the prefix based on the current reference designator.

Definition at line 843 of file sch_symbol.cpp.

References GetField(), EDA_TEXT::GetText(), REFERENCE_FIELD, and SetPrefix().

Referenced by SCH_SHEET_LIST::UpdateSymbolInstanceData().

◆ UpdateUnit()

void SCH_SYMBOL::UpdateUnit ( int  aUnit)

Change the unit number to aUnit without setting any internal flags.

This has meaning only for symbols made up of multiple units per package.

Note
This also set the modified flag bit
Parameters
aUnitis the new unit to select.

Definition at line 461 of file sch_symbol.cpp.

References m_unit.

Referenced by SetUnit(), DIALOG_SYMBOL_PROPERTIES::TransferDataToWindow(), and SCH_SHEET_PATH::UpdateAllScreenReferences().

◆ UseLibIdLookup()

bool SCH_SYMBOL::UseLibIdLookup ( ) const
inline

◆ ViewBBox()

◆ ViewDraw()

virtual void KIGFX::VIEW_ITEM::ViewDraw ( int  aLayer,
VIEW aView 
) const
inlinevirtualinherited

Draw the parts of the object belonging to layer aLayer.

An alternative way for drawing objects if there is no #PAINTER assigned for the view or if the PAINTER doesn't know how to paint this particular implementation of VIEW_ITEM. The preferred way of drawing is to design an appropriate PAINTER object, the method below is intended only for quick hacks and debugging purposes.

Parameters
aLayeris the current drawing layer.
aViewis a pointer to the VIEW device we are drawing on.

Reimplemented in DS_PROXY_VIEW_ITEM, KIGFX::PREVIEW::SIMPLE_OVERLAY_ITEM, EDIT_POINTS, TUNING_STATUS_VIEW_ITEM, RATSNEST_VIEW_ITEM, ROUTER_PREVIEW_ITEM, ROUTER_STATUS_VIEW_ITEM, MY_DRAWING, KIGFX::PREVIEW::ARC_ASSISTANT, KIGFX::PREVIEW::RULER_ITEM, KIGFX::PREVIEW::SELECTION_AREA, KIGFX::PREVIEW::TWO_POINT_ASSISTANT, PCB_TUNING_PATTERN, KIGFX::ORIGIN_VIEWITEM, KIGFX::VIEW_GROUP, and KIGFX::VIEW_OVERLAY.

Definition at line 115 of file view_item.h.

Referenced by KIGFX::VIEW::draw(), and KIGFX::VIEW::updateItemGeometry().

◆ ViewGetLayers()

void SCH_SYMBOL::ViewGetLayers ( int  aLayers[],
int &  aCount 
) const
overridevirtual

Return the layers the item is drawn on (which may be more than its "home" layer)

Reimplemented from SCH_ITEM.

Definition at line 254 of file sch_symbol.cpp.

References LAYER_DANGLING, LAYER_DEVICE, LAYER_DEVICE_BACKGROUND, LAYER_FIELDS, LAYER_OP_CURRENTS, LAYER_REFERENCEPART, LAYER_SELECTION_SHADOWS, and LAYER_VALUEPART.

◆ ViewGetLOD()

virtual double KIGFX::VIEW_ITEM::ViewGetLOD ( int  aLayer,
VIEW aView 
) const
inlinevirtualinherited

Return the level of detail (LOD) of the item.

A level of detail is the minimal VIEW scale that is sufficient for an item to be shown on a given layer.

Parameters
aLayeris the current drawing layer.
aViewis a pointer to the VIEW device we are drawing on.
Returns
the level of detail. 0 always show the item, because the actual zoom level (or VIEW scale) is always > 0

Reimplemented in SCH_LINE, GERBER_DRAW_ITEM, FOOTPRINT, PAD, PCB_FIELD, PCB_GROUP, PCB_REFERENCE_IMAGE, PCB_SHAPE, PCB_TEXT, PCB_TEXTBOX, PCB_TRACK, PCB_VIA, and ZONE.

Definition at line 141 of file view_item.h.

Referenced by PNS_KICAD_IFACE::IsItemVisible(), KIGFX::VIEW::DRAW_ITEM_VISITOR::operator()(), EE_GRID_HELPER::queryVisible(), and PCB_GRID_HELPER::queryVisible().

◆ viewPrivData()

◆ Visit()

INSPECT_RESULT SCH_SYMBOL::Visit ( INSPECTOR  inspector,
void *  testData,
const std::vector< KICAD_T > &  aScanTypes 
)
overridevirtual

May be re-implemented for each derived class in order to handle all the types given by its member data.

Implementations should call inspector->Inspect() on types in aScanTypes, and may use IterateForward() to do so on lists of such data.

Parameters
inspectorAn INSPECTOR instance to use in the inspection.
testDataArbitrary data used by the inspector.
aScanTypesWhich KICAD_T types are of interest and the order in which they should be processed.
Returns
#SEARCH_RESULT SEARCH_QUIT if the Iterator is to stop the scan, else #SCAN_CONTINUE, and determined by the inspector.

Reimplemented from EDA_ITEM.

Definition at line 2253 of file sch_symbol.cpp.

References DATASHEET_FIELD, FOOTPRINT_FIELD, GetBodyStyle(), GetField(), GetUnit(), m_fields, m_part, m_pins, pin, REFERENCE_FIELD, SCH_FIELD_LOCATE_DATASHEET_T, SCH_FIELD_LOCATE_FOOTPRINT_T, SCH_FIELD_LOCATE_REFERENCE_T, SCH_FIELD_LOCATE_VALUE_T, SCH_FIELD_T, SCH_LOCATE_ANY_T, SCH_PIN_T, SCH_SYMBOL_LOCATE_POWER_T, SCH_SYMBOL_T, and VALUE_FIELD.

◆ XorFlags()

void EDA_ITEM::XorFlags ( EDA_ITEM_FLAGS  aMask)
inlineinherited

Definition at line 124 of file eda_item.h.

References EDA_ITEM::m_flags.

Referenced by EE_SELECTION_TOOL::selectMultiple().

Member Data Documentation

◆ m_bodyStyle

int SCH_SYMBOL::m_bodyStyle
private

The alternate body style for symbols that have more than one body style defined.

Currently only used for symbols that have a DeMorgan conversion.

Definition at line 914 of file sch_symbol.h.

Referenced by doGetBoundingBox(), GetBodyStyle(), GetDrawItem(), GetLibPins(), Init(), operator=(), Print(), PrintBackground(), SCH_SYMBOL(), SetBodyStyle(), SwapData(), and UpdatePins().

◆ m_connected_items

std::map<SCH_SHEET_PATH, SCH_ITEM_SET, SHEET_PATH_CMP> SCH_ITEM::m_connected_items
protectedinherited

Store pointers to other items that are connected to this one, per sheet.

Definition at line 566 of file sch_item.h.

Referenced by SCH_ITEM::AddConnectionTo(), SCH_ITEM::ConnectedItems(), and SCH_LABEL_BASE::IsType().

◆ m_connection_map

std::unordered_map<SCH_SHEET_PATH, SCH_CONNECTION*> SCH_ITEM::m_connection_map
protectedinherited

Store connectivity information, per sheet.

Definition at line 569 of file sch_item.h.

Referenced by SCH_ITEM::Connection(), SCH_ITEM::InitializeConnection(), SCH_ITEM::SetConnectionGraph(), and SCH_ITEM::~SCH_ITEM().

◆ m_connections

EDA_ITEMS SCH_ITEM::m_connections
protectedinherited

Definition at line 560 of file sch_item.h.

Referenced by SCH_ITEM::ClearConnections(), and SCH_ITEM::~SCH_ITEM().

◆ m_connectivity_dirty

bool SCH_ITEM::m_connectivity_dirty
protectedinherited

◆ m_DNP

bool SCH_SYMBOL::m_DNP
private

True if symbol is set to 'Do Not Populate'.

Definition at line 943 of file sch_symbol.h.

Referenced by GetDNP(), Plot(), Print(), SCH_SYMBOL(), SetDNP(), and SwapData().

◆ m_excludedFromBoard

bool SCH_SYMBOL::m_excludedFromBoard
private

True to exclude from netlist when updating board.

Definition at line 942 of file sch_symbol.h.

Referenced by GetExcludedFromBoard(), Init(), SCH_SYMBOL(), SetExcludedFromBoard(), and SwapData().

◆ m_excludedFromBOM

bool SCH_SYMBOL::m_excludedFromBOM
private

True to exclude from bill of materials export.

Definition at line 941 of file sch_symbol.h.

Referenced by GetExcludedFromBOM(), Init(), SCH_SYMBOL(), SetExcludedFromBOM(), and SwapData().

◆ m_excludedFromSim

bool SCH_SYMBOL::m_excludedFromSim
private

True to exclude from simulation.

Definition at line 940 of file sch_symbol.h.

Referenced by GetExcludedFromSim(), Init(), SCH_SYMBOL(), SetExcludedFromSim(), and SwapData().

◆ m_fields

◆ m_fieldsAutoplaced

◆ m_flags

◆ m_forcedTransparency

double KIGFX::VIEW_ITEM::m_forcedTransparency
privateinherited

Additional transparency for diff'ing items.

Definition at line 166 of file view_item.h.

Referenced by KIGFX::VIEW::DRAW_ITEM_VISITOR::operator()().

◆ m_forceVisible

◆ m_instanceReferences

◆ m_isInNetlist

bool SCH_SYMBOL::m_isInNetlist
private

True if the symbol should appear in the netlist.

Definition at line 939 of file sch_symbol.h.

Referenced by Init(), IsInNetlist(), SCH_SYMBOL(), and SetRef().

◆ m_layer

◆ m_lib_id

LIB_ID SCH_SYMBOL::m_lib_id
private

Name and library the symbol was loaded from, i.e. 74xx:74LS00.

Definition at line 912 of file sch_symbol.h.

Referenced by GetLibId(), GetMsgPanelInfo(), GetSchSymbolLibraryName(), GetSymbolIDAsString(), operator=(), ResolveTextVar(), SCH_SYMBOL(), SetLibId(), and SwapData().

◆ m_parent

◆ m_part

◆ m_pinMap

std::unordered_map<LIB_PIN*, SCH_PIN*> SCH_SYMBOL::m_pinMap
private

library pin pointer : SCH_PIN's index

Definition at line 937 of file sch_symbol.h.

Referenced by GetPin(), and UpdatePins().

◆ m_pins

◆ m_pos

◆ m_prefix

wxString SCH_SYMBOL::m_prefix
private

C, R, U, Q etc - the first character(s) which typically indicate what the symbol is.

Determined, upon placement, from the library symbol. Created upon file load, by the first non-digits in the reference fields.

Definition at line 917 of file sch_symbol.h.

Referenced by ClearAnnotation(), GetPrefix(), GetRef(), Init(), SCH_SYMBOL(), SetPrefix(), SetRef(), and SetUnitSelection().

◆ m_schLibSymbolName

wxString SCH_SYMBOL::m_schLibSymbolName
private

The name used to look up a symbol in the symbol library embedded in a schematic.

By default this is the same as LIB_ID::GetLibItemName(). However, schematics allow for multiple variants of the same library symbol. Set this member in order to preserve the link to the original symbol library. If empty, LIB_ID::GetLibItemName() should be used.

Definition at line 929 of file sch_symbol.h.

Referenced by GetSchSymbolLibraryName(), SCH_SYMBOL(), SetSchSymbolLibraryName(), SwapData(), and UseLibIdLookup().

◆ m_storedPos

VECTOR2I SCH_ITEM::m_storedPos
protectedinherited

Definition at line 562 of file sch_item.h.

Referenced by SCH_ITEM::GetStoredPos(), and SCH_ITEM::SetStoredPos().

◆ m_structType

KICAD_T EDA_ITEM::m_structType
privateinherited

Run time identification, keep private so it can never be changed after a ctor sets it.

See comment near SetType() regarding virtual functions.

Definition at line 494 of file eda_item.h.

Referenced by EDA_ITEM::IsType(), EDA_ITEM::operator=(), and EDA_ITEM::Type().

◆ m_transform

◆ m_unit

◆ m_Uuid

const KIID EDA_ITEM::m_Uuid
inherited

Definition at line 482 of file eda_item.h.

Referenced by AddHierarchicalReference(), SCH_SHEET::addInstance(), RC_ITEM::AddItem(), SCH_EDIT_FRAME::AnnotateSymbols(), FIELDS_EDITOR_GRID_DATA_MODEL::ApplyData(), SCH_SHEET_PATH::Cmp(), SCHEMATIC::ConvertRefsToKIIDs(), MICROWAVE_TOOL::createMicrowaveInductor(), SCH_EDIT_FRAME::CreateScreens(), ZONE_FILLER_TOOL::DirtyZone(), DRAWING_TOOL::DrawVia(), LIB_ITEM::Duplicate(), LIB_SYMBOL::Duplicate(), BOARD_ITEM::Duplicate(), FOOTPRINT::Duplicate(), SCH_ITEM::Duplicate(), FOOTPRINT::DuplicateItem(), PCB_EDIT_FRAME::ExchangeFootprint(), PAD_TOOL::explodePad(), NETLIST_EXPORTER_ALLEGRO::extractComponentsInfo(), SCH_SHEET_LIST::FillItemMap(), BOARD::FillItemMap(), KIGIT_PCB_MERGE::findSetDifferences(), SCH_EDITOR_CONTROL::FindSymbolAndItem(), SYMBOL_EDIT_FRAME::FocusOnItem(), SCH_EDIT_FRAME::FocusOnItem(), PCB_IO_KICAD_SEXPR::format(), SCH_IO_KICAD_SEXPR::Format(), SCH_PIN::GetDefaultNetName(), SCH_SHEET_PATH::GetItem(), BOARD::GetItem(), RC_ITEM::GetJsonViolation(), PAD::GetMsgPanelInfo(), DIALOG_BOARD_REANNOTATE::GetNewRefDes(), SCH_SHEET::getPageNumber(), BOARD_ITEM::GetParentAsString(), SCH_MARKER::GetUUID(), PCB_MARKER::GetUUID(), FIELDS_EDITOR_GRID_DATA_MODEL::GetValue(), FIELDS_EDITOR_GRID_DATA_MODEL::groupMatch(), ZONE::HigherPriority(), SCH_SHEET_PATH::IsContainedWithin(), PCB_IO_KICAD_LEGACY::loadFOOTPRINT(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), PCB_EDIT_FRAME::LoadFootprints(), SCH_IO_KICAD_LEGACY::loadHierarchy(), PCB_IO_KICAD_LEGACY::loadPCB_TARGET(), PCB_IO_KICAD_LEGACY::loadPCB_TEXT(), SCH_IO_ALTIUM::LoadSchematicFile(), SCH_IO_EAGLE::LoadSchematicFile(), SCH_EDIT_FRAME::LoadSheetFromFile(), SYMBOL_EDIT_FRAME::LoadSymbolFromSchematic(), PCB_IO_KICAD_LEGACY::loadTrackList(), PNS::LOGGER::Log(), NETLIST_EXPORTER_XML::makeSymbols(), SCH_EDIT_FRAME::mapExistingAnnotation(), PCB_BASE_FRAME::OnFpChangeDebounceTimer(), BOARD_ITEM::ptr_cmp::operator()(), BOARD::cmp_items::operator()(), BOARD::cmp_drawings::operator()(), PCB_SHAPE::cmp_drawings::operator()(), FOOTPRINT::cmp_drawings::operator()(), CompareByUuid::operator()(), FOOTPRINT::cmp_pads::operator()(), PCB_TRACK::cmp_tracks::operator()(), FOOTPRINT::cmp_zones::operator()(), SCH_ITEM::operator<(), operator<(), PAD::operator==(), LIB_FIELD::operator==(), PAD::PAD(), PCB_IO_KICAD_SEXPR_PARSER::parsePCB_TEXT_effects(), SCH_IO_KICAD_SEXPR_PARSER::ParseSchematic(), SCH_IO_KICAD_SEXPR_PARSER::parseSchTextBoxContent(), PCB_IO_KICAD_SEXPR_PARSER::parseTextBoxContent(), SCH_EDITOR_CONTROL::Paste(), SCH_SHEET_PATH::PathAsString(), PCB_VIA::PCB_VIA(), BOARD_COMMIT::Push(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), RemoveInstance(), FIELDS_EDITOR_GRID_DATA_MODEL::RemoveSymbol(), FIELDS_EDITOR_GRID_DATA_MODEL::RenameColumn(), SCH_SCREENS::ReplaceDuplicateTimeStamps(), PCB_IO_KICAD_SEXPR_PARSER::resolveGroups(), SCH_IO_KICAD_SEXPR::saveBitmap(), SCH_IO_KICAD_SEXPR::saveBusEntry(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), SCH_IO_KICAD_SEXPR::saveJunction(), SCH_IO_KICAD_SEXPR::saveLine(), SCH_IO_KICAD_SEXPR::saveNoConnect(), SCH_EDIT_FRAME::SaveProject(), SCH_IO_KICAD_SEXPR::saveShape(), SCH_IO_KICAD_LEGACY::saveSheet(), SCH_IO_KICAD_SEXPR::saveSheet(), SCH_IO_KICAD_LEGACY::saveSymbol(), SCH_IO_KICAD_SEXPR::saveSymbol(), SCH_IO_KICAD_SEXPR::saveText(), SCH_IO_KICAD_SEXPR::saveTextBox(), SCH_REFERENCE::SCH_REFERENCE(), SCH_SHEET::SCH_SHEET(), SCH_SYMBOL(), RC_ITEM::SetItems(), SCH_SHEET::setPageNumber(), SCH_EDITOR_CONTROL::setPastedSymbolInstances(), FIELDS_EDITOR_GRID_DATA_MODEL::SetValue(), PAD::Similarity(), PCB_DIMENSION_BASE::Similarity(), PCB_FIELD::Similarity(), LIB_FIELD::Similarity(), LIB_PIN::Similarity(), LIB_SHAPE::Similarity(), LIB_TEXT::Similarity(), LIB_TEXTBOX::Similarity(), LIB_SYMBOL::Similarity(), SCH_BUS_ENTRY_BASE::Similarity(), SCH_FIELD::Similarity(), SCH_LABEL_BASE::Similarity(), SCH_PIN::Similarity(), SCH_BITMAP::Similarity(), SCH_JUNCTION::Similarity(), SCH_LINE::Similarity(), SCH_NO_CONNECT::Similarity(), SCH_DRAWING_TOOLS::SingleClickPlace(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::testAgainstEdge(), testGroupEqual(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), FIELDS_EDITOR_GRID_DATA_MODEL::updateDataStoreSymbolField(), SCH_EDITOR_CONTROL::updatePastedSheet(), SCH_EDITOR_CONTROL::updatePastedSymbol(), SCH_SHEET_LIST::UpdateSymbolInstanceData(), and NETLIST_EXPORTER_ORCADPCB2::WriteNetlist().

◆ m_viewPrivData

VIEW_ITEM_DATA* KIGFX::VIEW_ITEM::m_viewPrivData
privateinherited

◆ s_transformToOrientationCache

std::unordered_map< TRANSFORM, int > SCH_SYMBOL::s_transformToOrientationCache
staticprivate
See also
SCH_SYMBOL::GetOrientation

Definition at line 950 of file sch_symbol.h.

Referenced by GetOrientation().


The documentation for this class was generated from the following files: