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:
SYMBOL SCH_ITEM EDA_ITEM KIGFX::VIEW_ITEM SERIALIZABLE INSPECTABLE

Public Types

enum  COMPARE_FLAGS : int { UNIT = 0x01 , EQUALITY = 0x02 , ERC = 0x04 , SKIP_TST_POS = 0x08 }
 The list of flags used by the compare function. More...
 

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.
 
 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.
 
 ~SCH_SYMBOL ()
 
wxString GetClass () const override
 Return the class name.
 
bool IsMissingLibSymbol () const
 Check to see if the library symbol is set to the dummy library symbol.
 
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)
 
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.
 
void SetLibId (const LIB_ID &aName)
 
const LIB_IDGetLibId () const override
 
wxString GetSymbolIDAsString () const
 
void SetSchSymbolLibraryName (const wxString &aName)
 The name of the symbol in the schematic library symbol list.
 
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.
 
wxString GetDescription () const override
 
wxString GetKeyWords () const override
 
wxString GetDatasheet () const
 Return the documentation text for the given part alias.
 
void UpdatePins ()
 Updates the cache of SCH_PIN objects for each pin.
 
bool HasUnitDisplayName (int aUnit) const
 Return true if the given unit aUnit has a display name set.
 
wxString GetUnitDisplayName (int aUnit) const
 Return the display name for a given unit aUnit.
 
void SetBodyStyle (int aBodyStyle) override
 
void SetBodyStyleUnconditional (int aBodyStyle)
 Similar to SetBodyStyle(), but always set the body style, regardless the lib symbol properties (the LIB_SYMBOL m_part can be not set during schematic files loading)
 
bool HasAlternateBodyStyle () const override
 Test if symbol has more than one body conversion type (DeMorgan).
 
wxString GetPrefix () const
 
void SetPrefix (const wxString &aPrefix)
 
void UpdatePrefix ()
 Set the prefix based on the current reference designator.
 
wxString SubReference (int aUnit, bool aAddSeparator=true) const
 
TRANSFORMGetTransform ()
 
const TRANSFORMGetTransform () const
 
void SetTransform (const TRANSFORM &aTransform)
 
int GetUnitCount () const override
 Return the number of units per package of the symbol.
 
bool IsMulti () const override
 
void SetOrientation (int aOrientation)
 Compute the new transform matrix based on aOrientation for the symbol which is applied to the current transform.
 
int GetOrientation () const
 Get the display symbol orientation.
 
void SetOrientationProp (SYMBOL_ORIENTATION_PROP aAngle)
 Orientation/mirroring access for property manager.
 
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.
 
bool ResolveTextVar (const SCH_SHEET_PATH *aPath, wxString *token, int aDepth=0) const
 Resolve any references to system tokens supported by the symbol.
 
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.
 
void ClearAnnotation (const SCH_SHEET_PATH *aSheetPath, bool aResetPrefix)
 Clear exiting symbol annotation.
 
bool AddSheetPathReferenceEntryIfMissing (const KIID_PATH &aSheetPath)
 Add an instance to the alternate references list (m_instanceReferences), if this entry does not already exist.
 
const BOX2I GetBoundingBox () const override
 Return the orthogonal bounding box of this object for display purposes.
 
BOX2I GetBodyBoundingBox () const
 Return a bounding box for the symbol body but not the pins or fields.
 
BOX2I GetBodyAndPinsBoundingBox () const
 Return a bounding box for the symbol body and pins but not the fields.
 
SCH_FIELDGetField (MANDATORY_FIELD_T aFieldType)
 Return a mandatory field in this symbol.
 
const SCH_FIELDGetField (MANDATORY_FIELD_T aFieldNdx) const
 
SCH_FIELDGetFieldById (int aFieldId)
 Return a field in this symbol.
 
SCH_FIELDGetFieldByName (const wxString &aFieldName)
 Return a field in this symbol.
 
const SCH_FIELDGetFieldByName (const wxString &aFieldName) const
 
void GetFields (std::vector< SCH_FIELD * > &aVector, bool aVisibleOnly)
 Populate a std::vector with SCH_FIELDs.
 
std::vector< SCH_FIELD > & GetFields ()
 Return a vector of fields from the symbol.
 
const std::vector< SCH_FIELD > & GetFields () const
 
SCH_FIELDAddField (const SCH_FIELD &aField)
 Add a field to the symbol.
 
void RemoveField (const wxString &aFieldName)
 Remove a user field from the symbol.
 
void RemoveField (SCH_FIELD *aField)
 
SCH_FIELDFindField (const wxString &aFieldName, bool aIncludeDefaultFields=true, bool aCaseInsensitive=false)
 Search for a SCH_FIELD with aFieldName.
 
const wxString GetRef (const SCH_SHEET_PATH *aSheet, bool aIncludeUnit=false) const override
 
const wxString GetValue (bool aResolve, const SCH_SHEET_PATH *aPath, bool aAllowExtraText) const override
 
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)
 
int GetUnitProp () const
 
void SetUnitProp (int aUnit)
 
int GetBodyStyleProp () const
 
void SetBodyStyleProp (int aBodyStyle)
 
void UpdateFields (const SCH_SHEET_PATH *aPath, bool aUpdateStyle, bool aUpdateRef, bool aUpdateOtherFields, bool aResetRef, bool aResetOtherFields)
 Restore fields to the original library values.
 
void SyncOtherUnits (const SCH_SHEET_PATH &aSourceSheet, SCH_COMMIT &aCommit, PROPERTY_BASE *aProperty)
 Keep fields other than the reference, include/exclude flags, and alternate pin assignements in sync in multi-unit parts.
 
int GetFieldCount () const
 Return the number of fields in this symbol.
 
void AutoplaceFields (SCH_SCREEN *aScreen, bool aManual) override
 Automatically orient all the fields in the symbol.
 
void RunOnChildren (const std::function< void(SCH_ITEM *)> &aFunction) override
 
SCH_PINGetPin (const wxString &number) const
 Find a symbol pin by number.
 
std::vector< SCH_PIN * > GetLibPins () const
 Populate a vector with all the pins from the library object that match the current unit and bodyStyle.
 
std::vector< SCH_PIN * > GetAllLibPins () const
 
size_t GetFullPinCount () const
 
SCH_PINGetPin (SCH_PIN *aLibPin) const
 
const SCH_PINGetPin (const VECTOR2I &aPosition) const
 Return the SCH_PIN object found at aPosition.
 
std::vector< SCH_PIN * > GetPins (const SCH_SHEET_PATH *aSheet=nullptr) const
 Retrieve a list of the SCH_PINs for the given sheet path.
 
std::vector< std::unique_ptr< SCH_PIN > > & GetRawPins ()
 
void SwapData (SCH_ITEM *aItem) override
 Swap the internal data structures aItem with the schematic item.
 
void SetRef (const SCH_SHEET_PATH *aSheet, const wxString &aReference)
 Set the reference for the given sheet path for this symbol.
 
bool IsAnnotated (const SCH_SHEET_PATH *aSheet) const
 Check if the symbol has a valid annotation (reference) for the given sheet path.
 
void AddHierarchicalReference (const KIID_PATH &aPath, const wxString &aRef, int aUnit)
 Add a full hierarchical reference to this symbol.
 
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.
 
void SetUnitSelection (const SCH_SHEET_PATH *aSheet, int aUnitSelection)
 Set the selected unit of this symbol on one sheet.
 
void SetUnitSelection (int aUnitSelection)
 Set the selected unit of this symbol for all sheets.
 
void Move (const VECTOR2I &aMoveVector) override
 Move the item by aMoveVector to a new position.
 
void MirrorHorizontally (int aCenter) override
 Mirror item horizontally about aCenter.
 
void MirrorVertically (int aCenter) override
 Mirror item vertically about aCenter.
 
void Rotate (const VECTOR2I &aCenter, bool aRotateCCW) override
 Rotate the item around aCenter 90 degrees in the clockwise direction.
 
bool Matches (const EDA_SEARCH_DATA &aSearchData, void *aAuxData) const override
 Compare the item against the search criteria in aSearchData.
 
void GetEndPoints (std::vector< DANGLING_END_ITEM > &aItemList) override
 Add the schematic item end points to aItemList if the item has end points.
 
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.
 
VECTOR2I GetPinPhysicalPosition (const SCH_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.
 
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.
 
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.
 
SCH_ITEMGetDrawItem (const VECTOR2I &aPosition, KICAD_T aType=TYPE_NOT_INIT)
 Return the symbol library item at aPosition that is part of this symbol.
 
wxString GetItemDescription (UNITS_PROVIDER *aUnitsProvider, bool aFull) const override
 Return a user-visible description string of this item.
 
BITMAPS GetMenuImage () const override
 Return a pointer to an image to be used in menus.
 
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_SYMBOL &aItem)
 
bool IsReplaceable () const override
 Override this method in any derived object that supports test find and replace.
 
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.
 
bool HitTest (const BOX2I &aRect, bool aContained, int aAccuracy=0) const override
 Test if aRect intersects this item.
 
void Print (const SCH_RENDER_SETTINGS *aSettings, int aUnit, int aBodyStyle, const VECTOR2I &aOffset, bool aForceNoFill, bool aDimmed) override
 Print a symbol.
 
void PrintBackground (const SCH_RENDER_SETTINGS *aSettings, int aUnit, int aBodyStyle, const VECTOR2I &aOffset, bool aDimmed) override
 Print only the background parts of a symbol (if any)
 
void Plot (PLOTTER *aPlotter, bool aBackground, const SCH_PLOT_OPTS &aPlotOpts, int aUnit, int aBodyStyle, const VECTOR2I &aOffset, bool aDimmed) override
 Plot the item to aPlotter.
 
void PlotPins (PLOTTER *aPlotter) const
 Plot just the symbol pins.
 
void PlotDNP (PLOTTER *aPlotter) const
 Plot the red 'X' over the symbol.
 
EDA_ITEMClone () const override
 Create a duplicate of this item with linked list members set to NULL.
 
void ClearBrightenedPins ()
 
bool HasBrightenedPins ()
 
bool IsPointClickableAnchor (const VECTOR2I &aPos) const override
 
bool IsSymbolLikePowerGlobalLabel () const
 
bool IsPower () const override
 
bool IsNormal () const override
 
bool GetShowPinNames () const override
 
void SetShowPinNames (bool aShow) override
 Set or clear the pin name visibility flag.
 
bool GetShowPinNumbers () const override
 
void SetShowPinNumbers (bool aShow) override
 Set or clear the pin number visibility flag.
 
double Similarity (const SCH_ITEM &aOther) const override
 Return a measure of how likely the other object is to represent the same object.
 
std::unordered_set< wxString > GetComponentClassNames (const SCH_SHEET_PATH *aPath) const
 Returns the component classes this symbol belongs in.
 
bool operator== (const SCH_ITEM &aOther) const override
 
void SetPinNameOffset (int aOffset)
 Set the offset in mils of the pin name text from the pin symbol.
 
int GetPinNameOffset () const
 
void SetExcludedFromSim (bool aExcludeFromSim) override
 Set or clear the exclude from simulation flag.
 
bool GetExcludedFromSim () const override
 
void SetExcludedFromBOM (bool aExcludeFromBOM)
 Set or clear the exclude from schematic bill of materials flag.
 
bool GetExcludedFromBOM () const
 
void SetExcludedFromBoard (bool aExcludeFromBoard)
 Set or clear exclude from board netlist flag.
 
bool GetExcludedFromBoard () const
 
bool GetDNP () const
 Set or clear the 'Do Not Populate' flaga.
 
void SetDNP (bool aDNP)
 
std::vector< int > ViewGetLayers () const override
 Return the layers the item is drawn on (which may be more than its "home" layer)
 
bool IsType (const std::vector< KICAD_T > &aScanTypes) const override
 Check whether the item is one of the listed types.
 
void SwapFlags (SCH_ITEM *aItem)
 Swap the non-temp and non-edit flags.
 
SCH_ITEMDuplicate (bool doClone=false) const
 Routine to create a new copy of given item.
 
virtual void SetUnit (int aUnit)
 
int GetUnit () const
 
int GetBodyStyle () const
 
void SetPrivate (bool aPrivate)
 
bool IsPrivate () const
 
VECTOR2IGetStoredPos ()
 
void SetStoredPos (const VECTOR2I &aPos)
 
SCHEMATICSchematic () const
 Searches the item hierarchy to find a SCHEMATIC.
 
const SYMBOLGetParentSymbol () const
 
SYMBOLGetParentSymbol ()
 
virtual bool IsLocked () const
 
virtual void SetLocked (bool aLocked)
 
virtual bool IsHypertext () const
 Allow items to support hypertext actions when hovered/clicked.
 
virtual void DoHypertextAction (EDA_DRAW_FRAME *aFrame) const
 
SCH_LAYER_ID GetLayer () const
 Return the layer this item is on.
 
void SetLayer (SCH_LAYER_ID aLayer)
 
virtual int GetPenWidth () const
 
int GetEffectivePenWidth (const SCH_RENDER_SETTINGS *aSettings) const
 
const wxString & GetDefaultFont () const
 
const KIFONT::METRICSGetFontMetrics () const
 
bool RenderAsBitmap (double aWorldScale) const override
 
double SimilarityBase (const SCH_ITEM &aItem) const
 Calculate the boilerplate similarity for all LIB_ITEMs without preventing the use above of a pure virtual function that catches at compile time when a new object has not been fully implemented.
 
virtual void BeginEdit (const VECTOR2I &aPosition)
 Begin drawing a symbol library draw item at aPosition.
 
virtual bool ContinueEdit (const VECTOR2I &aPosition)
 Continue an edit in progress at aPosition.
 
virtual void EndEdit (bool aClosed=false)
 End an object editing action.
 
virtual void CalcEdit (const VECTOR2I &aPosition)
 Calculate the attributes of an item at aPosition when it is being edited.
 
virtual bool IsDangling () const
 
bool IsConnected (const VECTOR2I &aPoint) const
 Test the item to see if it is connected to aPoint.
 
SCH_CONNECTIONConnection (const SCH_SHEET_PATH *aSheet=nullptr) const
 Retrieve the connection associated with this object in the given sheet.
 
const SCH_ITEM_VECConnectedItems (const SCH_SHEET_PATH &aPath)
 Retrieve the set of items connected to this item on the given sheet.
 
void AddConnectionTo (const SCH_SHEET_PATH &aPath, SCH_ITEM *aItem)
 Add a connection link between this item and another.
 
void ClearConnectedItems (const SCH_SHEET_PATH &aPath)
 Clear all connections to this item.
 
SCH_CONNECTIONInitializeConnection (const SCH_SHEET_PATH &aPath, CONNECTION_GRAPH *aGraph)
 Create a new connection object associated with this object.
 
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.
 
bool IsConnectivityDirty () const
 
void SetConnectivityDirty (bool aDirty=true)
 
void SetConnectionGraph (CONNECTION_GRAPH *aGraph)
 Updates the connection graph for all connections in this item.
 
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.
 
void SetFieldsAutoplaced ()
 
void ClearFieldsAutoplaced ()
 
void AutoAutoplaceFields (SCH_SCREEN *aScreen)
 Autoplace fields only if correct to do so automatically.
 
virtual void ClearCaches ()
 
virtual bool HasLineStroke () const
 Check if this schematic item has line stoke properties.
 
virtual STROKE_PARAMS GetStroke () const
 
virtual void SetStroke (const STROKE_PARAMS &aStroke)
 
void ClearRuleAreasCache ()
 Reset the cache of rule areas (called prior to schematic connectivity recomputation)
 
void AddRuleAreaToCache (SCH_RULE_AREA *aRuleArea)
 Adds a rule area to the item's cache.
 
const std::unordered_set< SCH_RULE_AREA * > & GetRuleAreaCache () const
 Gets the cache of rule areas enclosing this item.
 
bool operator< (const EDA_ITEM &aItem) const
 Test if another item is less than this object.
 
KICAD_T Type () const
 Returns the type of object.
 
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
 
virtual void ClearEditFlags ()
 
EDA_ITEM_FLAGS GetTempFlags () const
 
virtual 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.
 
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.
 
virtual VECTOR2I GetSortPosition () const
 Return the coordinates that should be used for sorting this element visually compared to other elements.
 
wxString GetTypeDesc () const
 Return a translated description of the type for this EDA_ITEM for display in user facing messages.
 
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.
 
virtual const BOX2I ViewBBox () const override
 Return the bounding box of the item covering all its layers.
 
virtual EMBEDDED_FILESGetEmbeddedFiles ()
 
bool IsSCH_ITEM () const
 
bool IsBOARD_ITEM () const
 
virtual void ViewDraw (int aLayer, VIEW *aView) const
 Draw the parts of the object belonging to layer aLayer.
 
virtual double ViewGetLOD (int aLayer, VIEW *aView) const
 Return the level of detail (LOD) of the item.
 
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
 
virtual void Serialize (google::protobuf::Any &aContainer) const
 Serializes this object to the given Any message.
 
virtual bool Deserialize (const google::protobuf::Any &aContainer)
 Deserializes the given protobuf message into this object.
 

Static Public Member Functions

static bool ClassOf (const EDA_ITEM *aItem)
 
static wxString GetUnitDescription (int aUnit)
 
static wxString GetBodyStyleDescription (int aBodyStyle)
 
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.
 
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.
 
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.
 
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.
 

Public Attributes

const KIID m_Uuid
 

Protected Member Functions

SCH_RENDER_SETTINGSgetRenderSettings (PLOTTER *aPlotter) const
 
void getSymbolEditorMsgPanelInfo (EDA_DRAW_FRAME *aFrame, std::vector< MSG_PANEL_ITEM > &aList)
 
virtual int compare (const SCH_ITEM &aOther, int aCompareFlags=0) const
 Provide the draw object specific comparison called by the == and < operators.
 
bool Matches (const wxString &aText, const EDA_SEARCH_DATA &aSearchData) const
 Compare aText against search criteria in aSearchData.
 

Protected Attributes

int m_pinNameOffset
 The offset in mils to draw the pin name.
 
bool m_showPinNames
 
bool m_showPinNumbers
 
bool m_excludedFromSim
 
bool m_excludedFromBOM
 
bool m_excludedFromBoard
 
bool m_DNP
 True if symbol is set to 'Do Not Populate'.
 
SCH_LAYER_ID m_layer
 
int m_unit
 
int m_bodyStyle
 
bool m_private
 
FIELDS_AUTOPLACED m_fieldsAutoplaced
 
VECTOR2I m_storedPos
 
std::map< SCH_SHEET_PATH, SCH_ITEM_VEC, SHEET_PATH_CMPm_connected_items
 Store pointers to other items that are connected to this one, per sheet.
 
std::unordered_map< SCH_SHEET_PATH, SCH_CONNECTION * > m_connection_map
 Store connectivity information, per sheet.
 
bool m_connectivity_dirty
 
std::unordered_set< SCH_RULE_AREA * > m_rule_areas_cache
 Store pointers to rule areas which this item is contained within.
 
EDA_ITEM_FLAGS m_flags
 
EDA_ITEMm_parent
 Linked list: Link (parent struct)
 
bool m_forceVisible
 

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.
 
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.
 
wxString m_prefix
 C, R, U, Q etc - the first character(s) which typically indicate what the symbol is.
 
wxString m_schLibSymbolName
 The name used to look up a symbol in the symbol library embedded in a schematic.
 
TRANSFORM m_transform
 The rotation/mirror transformation.
 
std::vector< SCH_FIELDm_fields
 Variable length list of fields.
 
std::unique_ptr< LIB_SYMBOLm_part
 A flattened copy of the LIB_SYMBOL from the PROJECT's libraries.
 
bool m_isInNetlist
 True if the symbol should appear in netlist.
 
std::vector< std::unique_ptr< SCH_PIN > > m_pins
 a SCH_PIN for every SCH_PIN (all units)
 
std::unordered_map< SCH_PIN *, SCH_PIN * > m_pinMap
 library pin pointer : SCH_PIN's index
 
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.
 
bool m_isSCH_ITEM
 
bool m_isBOARD_ITEM
 
VIEW_ITEM_DATA * m_viewPrivData
 
double m_forcedTransparency
 Additional transparency for diff'ing items.
 

Static Private Attributes

static std::unordered_map< TRANSFORM, int > s_transformToOrientationCache
 

Detailed Description

Schematic symbol object.

Definition at line 103 of file sch_symbol.h.

Member Enumeration Documentation

◆ COMPARE_FLAGS

enum SCH_ITEM::COMPARE_FLAGS : int
inherited

The list of flags used by the compare function.

UNIT This flag relaxes unit, body-style and pin-number constraints. It is used for SCH_ITEM object unit comparisons.

EQUALITY This flag relaxes ordering constraints so that fields, etc. don't have to appear in the same order to be considered equal.

ERC This flag relaxes constraints on data that is settable in the schematic editor. It compares only symbol-editor-only data.

SKIP_TST_POS This flag relaxes comparisons on position (mainly for fields) for ERC.

Enumerator
UNIT 
EQUALITY 
ERC 
SKIP_TST_POS 

Definition at line 657 of file sch_item.h.

Constructor & Destructor Documentation

◆ SCH_SYMBOL() [1/4]

SCH_SYMBOL::SCH_SYMBOL ( )

Definition at line 99 of file sch_symbol.cpp.

References Init().

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 106 of file sch_symbol.cpp.

References LIB_SYMBOL::Flatten(), UTIL::GetRefDesPrefix(), UTIL::GetRefDesUnannotated(), Init(), SCH_ITEM::m_bodyStyle, SYMBOL::m_excludedFromBoard, SYMBOL::m_excludedFromBOM, SYMBOL::m_excludedFromSim, m_lib_id, m_part, m_prefix, SCH_ITEM::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 144 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 159 of file sch_symbol.cpp.

References SCH_ITEM::LIB_SYMBOL, SCH_ITEM::m_bodyStyle, SYMBOL::m_DNP, 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, SCH_ITEM::m_unit, EDA_ITEM::m_Uuid, pin, and SetLibSymbol().

◆ ~SCH_SYMBOL()

SCH_SYMBOL::~SCH_SYMBOL ( )

Definition at line 198 of file sch_symbol.cpp.

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 283 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 1002 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 637 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_ITEM::m_unit, SCH_SYMBOL_INSTANCE::m_Unit, EDA_ITEM::m_Uuid, REFERENCE_FIELD, and traceSchSheetPaths.

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

◆ AddHierarchicalReference() [2/2]

◆ AddRuleAreaToCache()

void SCH_ITEM::AddRuleAreaToCache ( SCH_RULE_AREA aRuleArea)
inlineinherited

Adds a rule area to the item's cache.

Definition at line 633 of file sch_item.h.

References SCH_ITEM::m_rule_areas_cache.

Referenced by SCH_RULE_AREA::addContainedItem().

◆ 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 1743 of file sch_symbol.cpp.

References AddHierarchicalReference(), m_fields, m_instanceReferences, SCH_ITEM::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 560 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().

◆ BeginEdit()

virtual void SCH_ITEM::BeginEdit ( const VECTOR2I aPosition)
inlinevirtualinherited

Begin drawing a symbol library draw item at aPosition.

It typically would be called on a left click when a draw tool is selected in the symbol library editor and one of the graphics tools is selected.

Parameters
aPositionThe position in drawing coordinates where the drawing was started. May or may not be required depending on the item being drawn.

Reimplemented in SCH_FIELD, SCH_SHAPE, and SCH_TEXT.

Definition at line 373 of file sch_item.h.

◆ CalcEdit()

virtual void SCH_ITEM::CalcEdit ( const VECTOR2I aPosition)
inlinevirtualinherited

Calculate the attributes of an item at aPosition when it is being edited.

This method gets called by the Draw() method when the item is being edited. This probably should be a pure virtual method but bezier curves are not yet editable in the symbol library editor. Therefore, the default method does nothing.

Parameters
aPositionThe current mouse position in drawing coordinates.

Reimplemented in SCH_FIELD, SCH_PIN, SCH_SHAPE, and SCH_TEXT.

Definition at line 403 of file sch_item.h.

◆ 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 138 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 1699 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::ImportSheet(), SCH_DRAWING_TOOLS::PlaceSymbol(), and SCH_EDITOR_CONTROL::updatePastedSymbol().

◆ ClearBrightened()

◆ ClearBrightenedPins()

void SCH_SYMBOL::ClearBrightenedPins ( )

Definition at line 2786 of file sch_symbol.cpp.

References m_pins, and pin.

◆ ClearCaches()

void SCH_ITEM::ClearCaches ( )
virtualinherited

Reimplemented in SCH_FIELD.

Definition at line 372 of file sch_item.cpp.

References SCH_ITEM::RunOnChildren(), and text.

Referenced by SYMBOL_EDIT_FRAME::CommonSettingsChanged(), and SYMBOL_EDIT_FRAME::HardRedraw().

◆ ClearConnectedItems()

void SCH_ITEM::ClearConnectedItems ( const SCH_SHEET_PATH aPath)
inherited

Clear all connections to this item.

Definition at line 268 of file sch_item.cpp.

References SCH_ITEM::m_connected_items.

Referenced by CONNECTION_GRAPH::updateItemConnectivity().

◆ ClearEditFlags()

◆ ClearFieldsAutoplaced()

◆ ClearFlags()

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

Definition at line 129 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(), SCH_ITEM::Duplicate(), PCB_TUNING_PATTERN::EditPush(), PCB_TUNING_PATTERN::EditRevert(), PCB_EDIT_FRAME::ExchangeFootprint(), PCB_SELECTION_TOOL::ExitGroup(), SCH_IO_KICAD_SEXPR::Format(), SYMBOL_EDIT_FRAME::GetSymbolFromRedoList(), SYMBOL_EDIT_FRAME::GetSymbolFromUndoList(), EE_SELECTION_TOOL::GuessSelectionCandidates(), 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::Recombine(), 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().

◆ ClearRuleAreasCache()

void SCH_ITEM::ClearRuleAreasCache ( )
inlineinherited

Reset the cache of rule areas (called prior to schematic connectivity recomputation)

Definition at line 628 of file sch_item.h.

References SCH_ITEM::m_rule_areas_cache.

◆ ClearSelected()

◆ ClearTempFlags()

virtual void EDA_ITEM::ClearTempFlags ( )
inlinevirtualinherited

◆ 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 231 of file sch_symbol.cpp.

References SCH_SYMBOL().

◆ compare()

int SCH_ITEM::compare ( const SCH_ITEM aOther,
int  aCompareFlags = 0 
) const
protectedvirtualinherited

Provide the draw object specific comparison called by the == and < operators.

The base object sort order which always proceeds the derived object sort order is as follows:

  • Symbol alternate part (DeMorgan) number.
  • Symbol part number.
  • KICAD_T enum value.
  • Result of derived classes comparison.
Note
Make sure you call down to SCH_ITEM::compare before doing any derived object comparisons or you will break the sorting using the symbol library file format.
Parameters
aOtherA reference to the other SCH_ITEM to compare the arc against.
aCompareFlagsThe flags used to perform the comparison.
Returns
An integer value less than 0 if the object is less than aOther object, zero if the object is equal to aOther object, or greater than 0 if the object is greater than aOther object.

Reimplemented in SCH_FIELD, SCH_PIN, SCH_SHAPE, SCH_TEXT, SCH_TEXTBOX, and LIB_SYMBOL.

Definition at line 416 of file sch_item.cpp.

References SCH_ITEM::EQUALITY, SCH_ITEM::ERC, EDA_ITEM::GetPosition(), SCH_ITEM::IsPrivate(), SCH_ITEM::m_bodyStyle, SCH_ITEM::m_unit, EDA_ITEM::m_Uuid, SCH_ITEM::SKIP_TST_POS, EDA_ITEM::Type(), SCH_ITEM::UNIT, VECTOR2< T >::x, and VECTOR2< T >::y.

Referenced by SCH_FIELD::compare(), SCH_PIN::compare(), SCH_SHAPE::compare(), SCH_TEXT::compare(), SCH_ITEM::cmp_items::operator()(), SCH_ITEM::operator<(), and SCH_ITEM::operator==().

◆ ConnectedItems()

const SCH_ITEM_VEC & 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 277 of file sch_item.cpp.

References SCH_ITEM::m_connected_items.

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

◆ Connection()

SCH_CONNECTION * SCH_ITEM::Connection ( const SCH_SHEET_PATH aSheet = nullptr) const
inherited

◆ 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 508 of file sch_item.h.

◆ ContinueEdit()

virtual bool SCH_ITEM::ContinueEdit ( const VECTOR2I aPosition)
inlinevirtualinherited

Continue an edit in progress at aPosition.

This is used to perform the next action while drawing an item. This would be called for each additional left click when the mouse is captured while the item is being drawn.

Parameters
aPositionThe position of the mouse left click in drawing coordinates.
Returns
True if additional mouse clicks are required to complete the edit in progress.

Reimplemented in SCH_SHAPE.

Definition at line 385 of file sch_item.h.

◆ Deserialize()

virtual bool SERIALIZABLE::Deserialize ( const google::protobuf::Any &  aContainer)
inlinevirtualinherited

Deserializes the given protobuf message into this object.

Parameters
aContaineris an Any which should have a concrete type matching this object
Returns
true if unpacking and deserialization succeeded

Reimplemented in SCH_LABEL, SCH_DIRECTIVE_LABEL, SCH_GLOBALLABEL, SCH_HIERLABEL, SCH_LINE, BOARD_STACKUP, FOOTPRINT, PAD, PADSTACK, PCB_FIELD, PCB_SHAPE, PCB_TEXT, PCB_TRACK, PCB_ARC, PCB_VIA, and ZONE.

Definition at line 53 of file serializable.h.

◆ doGetBoundingBox()

BOX2I SCH_SYMBOL::doGetBoundingBox ( bool  aIncludePins,
bool  aIncludeFields 
) const
private

◆ DoHypertextAction()

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

Reimplemented in SCH_FIELD, SCH_TEXT, and SCH_TEXTBOX.

Definition at line 276 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 2584 of file sch_symbol.cpp.

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

◆ Duplicate()

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

◆ EndEdit()

virtual void SCH_ITEM::EndEdit ( bool  aClosed = false)
inlinevirtualinherited

End an object editing action.

This is used to end or abort an edit action in progress initiated by BeginEdit().

Reimplemented in SCH_SHAPE.

Definition at line 392 of file sch_item.h.

◆ 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 1022 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(), SyncOtherUnits(), 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< SCH_PIN * > SCH_SYMBOL::GetAllLibPins ( ) const
Returns
a list of pin pointers for all units / bodyStyles. Used primarily for SPICE where we want to treat all units together as a single SPICE element.

Definition at line 1276 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 2034 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 2020 of file sch_symbol.cpp.

References doGetBoundingBox().

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

◆ GetBodyStyle()

int SCH_ITEM::GetBodyStyle ( ) const
inlineinherited

Definition at line 232 of file sch_item.h.

References SCH_ITEM::m_bodyStyle.

Referenced by SCH_EDIT_TOOL::ChangeBodyStyle(), SCH_PIN::Clone(), LIB_SYMBOL::Compare(), EE_INSPECTION_TOOL::DiffSymbol(), SYMBOL_EDITOR_EDIT_TOOL::DoDelete(), doIsConnected(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), KIGFX::SCH_PAINTER::draw(), SYMBOL_EDITOR_PIN_TOOL::EditPinProperties(), SCH_EDITOR_CONTROL::EditWithSymbolEditor(), SCH_EDIT_FRAME::FlipBodyStyle(), GetBodyStyleProp(), GetConnectionPoints(), SCH_PIN::GetMsgPanelInfo(), GetPin(), EE_COLLECTOR::Inspect(), IsPointClickableAnchor(), KIGFX::SCH_PAINTER::isUnitAndConversionShown(), SYMBOL_EDIT_FRAME::LoadSymbolFromSchematic(), EE_SELECTION_TOOL::Main(), operator==(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), SYMBOL_EDITOR_PIN_TOOL::PlacePin(), Plot(), PlotPins(), SCH_EDIT_TOOL::Properties(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveArc(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveBezier(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveCircle(), SCH_IO_KICAD_LEGACY_LIB_CACHE::savePin(), SCH_IO_KICAD_LEGACY_LIB_CACHE::savePolyLine(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveRectangle(), SCH_IO_KICAD_LEGACY::saveSymbol(), SCH_IO_KICAD_SEXPR::saveSymbol(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveText(), SCH_ITEM_DESC::SCH_ITEM_DESC(), EE_SELECTION_TOOL::Selectable(), sort_by_pin_number(), ERC_TESTER::TestMissingUnits(), DIALOG_PIN_PROPERTIES::TransferDataToWindow(), DIALOG_SHAPE_PROPERTIES::TransferDataToWindow(), DIALOG_SYMBOL_PROPERTIES::TransferDataToWindow(), DIALOG_TEXT_PROPERTIES::TransferDataToWindow(), BODY_STYLE_MENU::update(), and Visit().

◆ GetBodyStyleDescription()

wxString SCH_ITEM::GetBodyStyleDescription ( int  aBodyStyle)
staticinherited

◆ GetBodyStyleProp()

int SCH_SYMBOL::GetBodyStyleProp ( ) const
inline

Definition at line 569 of file sch_symbol.h.

References SCH_ITEM::GetBodyStyle().

Referenced by SCH_SYMBOL_DESC::SCH_SYMBOL_DESC().

◆ 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 2040 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 338 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 143 of file sch_symbol.h.

Referenced by operator=().

◆ GetComponentClassNames()

std::unordered_set< wxString > SCH_SYMBOL::GetComponentClassNames ( const SCH_SHEET_PATH aPath) const

Returns the component classes this symbol belongs in.

Definition at line 2880 of file sch_symbol.cpp.

References m_fields, and SCH_ITEM::m_rule_areas_cache.

Referenced by NETLIST_EXPORTER_XML::getComponentClassNamesForAllSymbolUnits().

◆ 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 2359 of file sch_symbol.cpp.

References SCH_ITEM::GetBodyStyle(), SCH_ITEM::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 1383 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 306 of file sch_symbol.cpp.

References m_part.

Referenced by UpdateFields().

◆ GetDefaultFont()

◆ GetDescription()

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

Implements SYMBOL.

Definition at line 288 of file sch_symbol.cpp.

References m_part.

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

◆ GetDNP()

◆ GetDrawItem()

SCH_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 2385 of file sch_symbol.cpp.

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

Referenced by SCH_SCREEN::GetPin().

◆ GetEditFlags()

◆ GetEffectiveNetClass()

◆ GetEffectivePenWidth()

◆ GetEmbeddedFiles()

virtual EMBEDDED_FILES * EDA_ITEM::GetEmbeddedFiles ( )
inlinevirtualinherited

Reimplemented in LIB_SYMBOL, SCHEMATIC, BOARD, and FOOTPRINT.

Definition at line 444 of file eda_item.h.

Referenced by PCB_IO_KICAD_SEXPR_PARSER::Parse().

◆ 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 2230 of file sch_symbol.cpp.

References GetPinPhysicalPosition(), SCH_ITEM::GetUnit(), m_pins, SCH_ITEM::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 945 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 939 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(), SCH_SHEET_PATH::CheckForMissingSymbolInstances(), 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(), SCH_PIN::GetItemDescription(), GetItemDescription(), SCH_PIN::GetMsgPanelInfo(), GetMsgPanelInfo(), GetRef(), SYMBOL_SEARCH_HANDLER::getResultCell(), POWER_SEARCH_HANDLER::getResultCell(), GetValue(), 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(), SyncOtherUnits(), 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 951 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 963 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 975 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 487 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 488 of file sch_symbol.h.

References m_fields.

◆ GetFields() [3/3]

void SCH_SYMBOL::GetFields ( std::vector< SCH_FIELD * > &  aVector,
bool  aVisibleOnly 
)

◆ GetFieldsAutoplaced()

FIELDS_AUTOPLACED SCH_ITEM::GetFieldsAutoplaced ( ) const
inlineinherited

Return whether the fields have been automatically placed.

Definition at line 548 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 250 of file eda_item.h.

References EDA_ITEM::GetPosition().

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

◆ GetFontMetrics()

◆ GetFootprintFieldText()

◆ GetForcedTransparency()

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

◆ GetFriendlyName()

◆ GetFullPinCount()

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

Definition at line 1285 of file sch_symbol.cpp.

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,
bool  aFull 
) 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.

Parameters
aLongindicates a long string is acceptable
Returns
The menu text string.

Reimplemented from EDA_ITEM.

Definition at line 2399 of file sch_symbol.cpp.

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

◆ GetKeyWords()

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

Implements SYMBOL.

Definition at line 297 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 281 of file sch_item.h.

References SCH_ITEM::m_layer.

Referenced by JUNCTION_HELPERS::AnalyzePoint(), 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(), KIGFX::SCH_PAINTER::draw(), CONNECTION_GRAPH::ercCheckBusToNetConflicts(), CONNECTION_GRAPH::ercCheckDanglingWireEndpoints(), 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_LINE::Serialize(), 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()

std::vector< SCH_PIN * > SCH_SYMBOL::GetLibPins ( ) const

Populate a vector with all the pins from the library object that match the current unit and bodyStyle.

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

Definition at line 1267 of file sch_symbol.cpp.

References SCH_ITEM::m_bodyStyle, m_part, and SCH_ITEM::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 213 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 2162 of file sch_symbol.cpp.

◆ GetMirrorX()

bool SCH_SYMBOL::GetMirrorX ( ) const
inline

Definition at line 368 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 385 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 2046 of file sch_symbol.cpp.

References _, DESCRIPTION_FIELD, dummy, KIUI::EllipsizeStatusText(), UTF8::empty(), FOOTPRINT_FIELD, SCH_EDIT_FRAME::GetCurrentSheet(), SYMBOL::GetDNP(), EDA_ITEM::GetEditFlags(), SYMBOL::GetExcludedFromBoard(), SYMBOL::GetExcludedFromBOM(), SYMBOL::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 1914 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(), GetMirrorX(), GetMirrorY(), GetOrientationProp(), GetPinSpinStyle(), AUTOPLACER::getPreferredSides(), SYMBOL_EDIT_FRAME::LoadSymbolFromSchematic(), EE_SELECTION_TOOL::Main(), 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 103 of file eda_item.h.

References EDA_ITEM::m_parent.

Referenced by SCH_EDIT_TOOL::AutoplaceFields(), DIALOG_FIELD_PROPERTIES::DIALOG_FIELD_PROPERTIES(), EDIT_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), KIGFX::SCH_PAINTER::draw(), SCH_EDIT_TOOL::EditField(), SCH_EDIT_TOOL::editFieldText(), SCH_IO_KICAD_SEXPR::Format(), SCH_TABLECELL::GetColumn(), SCH_FIELD::GetFieldColor(), getInferredSymbols(), SCH_ITEM::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_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_TOOL::Properties(), SYMBOL_EDITOR_EDIT_TOOL::Properties(), 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_MARKER::SerializeToString(), SCH_COMMIT::Stage(), SYMBOL_EDITOR_EDIT_TOOL::Swap(), DIALOG_SYMBOL_FIELDS_TABLE::TransferDataToWindow(), EE_SELECTION_TOOL::unhighlight(), DIALOG_FIELD_PROPERTIES::UpdateField(), SCH_TABLECELL_POINT_EDIT_BEHAVIOR::UpdateItem(), EE_TOOL_BASE< T >::updateItem(), and SCH_BASE_FRAME::UpdateItem().

◆ GetParentSymbol() [1/2]

SYMBOL * SCH_ITEM::GetParentSymbol ( )
inherited

Definition at line 184 of file sch_item.cpp.

References EDA_ITEM::GetParent(), LIB_SYMBOL_T, SCH_SYMBOL_T, and EDA_ITEM::Type().

◆ GetParentSymbol() [2/2]

const SYMBOL * SCH_ITEM::GetParentSymbol ( ) const
inherited

Definition at line 166 of file sch_item.cpp.

References EDA_ITEM::GetParent(), LIB_SYMBOL_T, SCH_SYMBOL_T, and EDA_ITEM::Type().

Referenced by BOOST_AUTO_TEST_CASE(), SCH_PIN::compare(), SYMBOL_EDITOR_PIN_TOOL::CreateImagePins(), DIALOG_FIELD_PROPERTIES::DIALOG_FIELD_PROPERTIES(), DIALOG_PIN_PROPERTIES::DIALOG_PIN_PROPERTIES(), KIGFX::SCH_PAINTER::draw(), SCH_EDIT_TOOL::EditField(), SYMBOL_EDITOR_PIN_TOOL::EditPinProperties(), CONNECTION_GRAPH::ercCheckNoConnects(), NETLIST_EXPORTER_ALLEGRO::extractComponentsInfo(), SCH_PIN::GetDefaultNetName(), CONNECTION_SUBGRAPH::GetDriverPriority(), SCH_FIELD::GetFullText(), SCH_PIN::GetItemDescription(), SCH_PIN::GetMsgPanelInfo(), PIN_LAYOUT_CACHE::GetPinBoundingBox(), PIN_LAYOUT_CACHE::GetPinNameInfo(), PIN_LAYOUT_CACHE::GetPinNumberInfo(), SCH_PIN::GetPinRoot(), SCH_PIN::GetPosition(), KIGFX::SCH_PAINTER::getRenderColor(), SCH_ITEM::getSymbolEditorMsgPanelInfo(), PIN_LAYOUT_CACHE::getUntransformedAltIconBox(), PIN_LAYOUT_CACHE::getUntransformedPinNameBox(), PIN_LAYOUT_CACHE::getUntransformedPinNumberBox(), DIALOG_FIELD_PROPERTIES::init(), SCH_PIN::IsGlobalPower(), SCH_PIN::MirrorHorizontally(), SCH_PIN::MirrorVertically(), NETLIST_EXPORTER_ALLEGRO::NET_NODE::operator<(), SCH_FIELD::operator==(), orientLabel(), SCH_PIN::Plot(), SCH_PIN::Print(), CONNECTION_SUBGRAPH::ResolveDrivers(), SCH_PIN::Rotate(), SCH_ITEM_DESC::SCH_ITEM_DESC(), DIALOG_FIELD_PROPERTIES::TransferDataToWindow(), DIALOG_PIN_PROPERTIES::TransferDataToWindow(), DIALOG_SHAPE_PROPERTIES::TransferDataToWindow(), and DIALOG_TEXT_PROPERTIES::TransferDataToWindow().

◆ 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_PIN, SCH_SHAPE, SCH_SHEET, SCH_SHEET_PIN, and SCH_TEXT.

Definition at line 292 of file sch_item.h.

Referenced by EE_RTREE::contains(), SCH_ITEM::GetEffectivePenWidth(), EE_RTREE::insert(), and EE_RTREE::remove().

◆ GetPin() [1/3]

const SCH_PIN * SCH_SYMBOL::GetPin ( const VECTOR2I aPosition) const

Return the SCH_PIN object found at aPosition.

Parameters
aPositionis the position of the pin to fetch.
Returns
the SCH_PIN object found at aPosition or nullptr.

Definition at line 1244 of file sch_symbol.cpp.

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

◆ GetPin() [2/3]

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 1232 of file sch_symbol.cpp.

References m_pins, and pin.

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

◆ GetPin() [3/3]

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

Definition at line 1291 of file sch_symbol.cpp.

References m_pinMap.

◆ GetPinNameOffset()

◆ GetPinPhysicalPosition()

◆ GetPins()

◆ GetPosition()

◆ GetPrefix()

wxString SCH_SYMBOL::GetPrefix ( ) const
inline

◆ 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
overridevirtual
Returns
the reference for the instance on the given sheet.

Implements SYMBOL.

Definition at line 737 of file sch_symbol.cpp.

References GetField(), UTIL::GetRefDesUnannotated(), EDA_TEXT::GetText(), GetUnitCount(), m_instanceReferences, m_prefix, SCH_SHEET_PATH::Path(), path, REFERENCE_FIELD, 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(), NETLIST_EXPORTER_XML::getComponentClassNamesForAllSymbolUnits(), DIALOG_TABLE_PROPERTIES::getContextualTextVars(), DIALOG_TEXT_PROPERTIES::getContextualTextVars(), SCH_PIN::GetDefaultNetName(), GetMsgPanelInfo(), GetRefProp(), SYMBOL_SEARCH_HANDLER::getResultCell(), POWER_SEARCH_HANDLER::getResultCell(), GetUnplacedUnitsForSymbol(), 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(), SCH_DRAWING_TOOLS::PlaceNextSymbolUnit(), 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_EDIT_FRAME::SelectUnit(), SCH_EDITOR_CONTROL::SimProbe(), SyncOtherUnits(), ERC_TESTER::TestMultiunitFootprints(), ERC_TESTER::TestSimModelIssues(), SCH_SHEET_PATH::UpdateAllScreenReferences(), DIALOG_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 541 of file sch_symbol.h.

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

Referenced by SCH_SYMBOL_DESC::SCH_SYMBOL_DESC().

◆ getRenderSettings()

◆ GetRuleAreaCache()

const std::unordered_set< SCH_RULE_AREA * > & SCH_ITEM::GetRuleAreaCache ( ) const
inlineinherited

Gets the cache of rule areas enclosing this item.

Definition at line 638 of file sch_item.h.

References SCH_ITEM::m_rule_areas_cache.

Referenced by CONNECTION_SUBGRAPH::GetNetclassesForDriver().

◆ GetSchSymbolLibraryName()

◆ GetShowPinNames()

bool SCH_SYMBOL::GetShowPinNames ( ) const
overridevirtual

Reimplemented from SYMBOL.

Definition at line 2798 of file sch_symbol.cpp.

References m_part.

◆ GetShowPinNumbers()

bool SCH_SYMBOL::GetShowPinNumbers ( ) const
overridevirtual

Reimplemented from SYMBOL.

Definition at line 2810 of file sch_symbol.cpp.

References m_part.

◆ 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 259 of file eda_item.h.

References EDA_ITEM::GetPosition().

◆ GetStoredPos()

VECTOR2I & SCH_ITEM::GetStoredPos ( )
inlineinherited

Definition at line 248 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 581 of file sch_item.h.

Referenced by DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem().

◆ getSymbolEditorMsgPanelInfo()

void SCH_ITEM::getSymbolEditorMsgPanelInfo ( EDA_DRAW_FRAME aFrame,
std::vector< MSG_PANEL_ITEM > &  aList 
)
protectedinherited

◆ GetSymbolIDAsString()

wxString SCH_SYMBOL::GetSymbolIDAsString ( ) const
inline

Definition at line 195 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 289 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 323 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()

int SCH_ITEM::GetUnit ( ) const
inlineinherited

Definition at line 229 of file sch_item.h.

References SCH_ITEM::m_unit.

Referenced by SCH_IO_EAGLE::addImplicitConnections(), SCH_SHEET_PATH::AddNewSymbolInstances(), SCH_EDIT_FRAME::AnnotateSymbols(), SCH_PIN::Clone(), LIB_SYMBOL::Compare(), SYMBOL_EDITOR_PIN_TOOL::CreateImagePins(), SCH_EDIT_FRAME::DeleteAnnotation(), EE_INSPECTION_TOOL::DiffSymbol(), SYMBOL_EDITOR_EDIT_TOOL::DoDelete(), doIsConnected(), SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection(), KIGFX::SCH_PAINTER::draw(), SYMBOL_EDITOR_PIN_TOOL::EditPinProperties(), SCH_EDITOR_CONTROL::EditWithSymbolEditor(), RESCUE_CACHE_CANDIDATE::FindRescues(), RESCUE_SYMBOL_LIB_TABLE_CANDIDATE::FindRescues(), SCH_EDITOR_CONTROL::FindSymbolAndItem(), CADSTAR_SCH_ARCHIVE_LOADER::fixUpLibraryPins(), GetConnectionPoints(), GetEndPoints(), SCH_PIN::GetMsgPanelInfo(), GetPin(), EE_COLLECTOR::Inspect(), IsPointClickableAnchor(), KIGFX::SCH_PAINTER::isUnitAndConversionShown(), SYMBOL_EDIT_FRAME::LoadSymbolFromSchematic(), DIALOG_LIB_EDIT_PIN_TABLE::OnAddRow(), DIALOG_SYMBOL_PROPERTIES::OnUnitChoice(), operator==(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), SCH_DRAWING_TOOLS::PlaceSymbol(), Plot(), PlotPins(), DIALOG_CHANGE_SYMBOLS::processSymbols(), SCH_EDIT_TOOL::Properties(), CONNECTION_GRAPH::Recalculate(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveArc(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveBezier(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveCircle(), SCH_IO_KICAD_LEGACY_LIB_CACHE::savePin(), SCH_IO_KICAD_LEGACY_LIB_CACHE::savePolyLine(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveRectangle(), SCH_IO_KICAD_LEGACY::saveSymbol(), SCH_IO_KICAD_SEXPR::saveSymbol(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveText(), SCH_ITEM_DESC::SCH_ITEM_DESC(), SCHEMATIC::SCHEMATIC(), EE_SELECTION_TOOL::Selectable(), SCH_EDIT_FRAME::SelectUnit(), PIN_TABLE_DATA_MODEL::SetValue(), sort_by_pin_number(), DIALOG_FIELD_PROPERTIES::TransferDataToWindow(), DIALOG_PIN_PROPERTIES::TransferDataToWindow(), DIALOG_SHAPE_PROPERTIES::TransferDataToWindow(), DIALOG_SYMBOL_PROPERTIES::TransferDataToWindow(), DIALOG_TEXT_PROPERTIES::TransferDataToWindow(), SYMBOL_UNIT_MENU::update(), DIALOG_FIELD_PROPERTIES::UpdateField(), RECTANGLE_POINT_EDIT_BEHAVIOR::UpdateItem(), SCH_EDITOR_CONTROL::updatePastedSymbol(), and Visit().

◆ GetUnitCount()

◆ GetUnitDescription()

wxString SCH_ITEM::GetUnitDescription ( int  aUnit)
staticinherited

◆ GetUnitDisplayName()

wxString SCH_SYMBOL::GetUnitDisplayName ( int  aUnit) const

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 477 of file sch_symbol.cpp.

References _, m_part, and SubReference().

Referenced by DIALOG_FIELD_PROPERTIES::TransferDataToWindow(), and DIALOG_SYMBOL_PROPERTIES::TransferDataToWindow().

◆ GetUnitProp()

int SCH_SYMBOL::GetUnitProp ( ) const
inline

Definition at line 554 of file sch_symbol.h.

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

Referenced by SCH_SYMBOL_DESC::SCH_SYMBOL_DESC().

◆ GetUnitSelection()

◆ GetValue()

◆ GetValueProp()

wxString SCH_SYMBOL::GetValueProp ( ) const
inline

Definition at line 546 of file sch_symbol.h.

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

Referenced by SCH_SYMBOL_DESC::SCH_SYMBOL_DESC().

◆ GetX()

int SCH_SYMBOL::GetX ( ) const
inline

Definition at line 810 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 813 of file sch_symbol.h.

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

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

◆ HasAlternateBodyStyle()

bool SCH_SYMBOL::HasAlternateBodyStyle ( ) const
overridevirtual

Test if symbol has more than one body conversion type (DeMorgan).

Returns
True if symbol has more than one conversion.

Implements SYMBOL.

Definition at line 453 of file sch_symbol.cpp.

References m_part.

Referenced by SetBodyStyle().

◆ HasBrightenedPins()

bool SCH_SYMBOL::HasBrightenedPins ( )

Definition at line 2774 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 538 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 2307 of file sch_symbol.cpp.

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

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 579 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) const

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 485 of file sch_symbol.cpp.

References m_part.

Referenced by DIALOG_FIELD_PROPERTIES::TransferDataToWindow(), and 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 2568 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 2556 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 299 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) const

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 815 of file sch_symbol.cpp.

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

Referenced by SCH_EDIT_FRAME::DeleteAnnotation(), SCH_EDIT_FRAME::mapExistingAnnotation(), SCH_EDIT_FRAME::SaveSymbolToSchematic(), SyncOtherUnits(), and DIALOG_FIELD_PROPERTIES::UpdateField().

◆ IsBOARD_ITEM()

◆ 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 758 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 209 of file sch_item.cpp.

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

Referenced by JUNCTION_HELPERS::AnalyzePoint(), BOOST_AUTO_TEST_CASE(), 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_DIRECTIVE_LABEL, SCH_LINE, and SCH_PIN.

Definition at line 442 of file sch_item.h.

◆ IsEntered()

bool EDA_ITEM::IsEntered ( ) const
inlineinherited

Definition at line 111 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 195 of file eda_item.h.

References EDA_ITEM::m_forceVisible.

Referenced by KIGFX::SCH_PAINTER::draw(), SCH_FIELD::Plot(), 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 274 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 2614 of file sch_symbol.cpp.

References m_isInNetlist.

Referenced by AUTOPLACER::AUTOPLACER(), and CONNECTION_SUBGRAPH::ResolveDrivers().

◆ IsLocked()

virtual bool SCH_ITEM::IsLocked ( ) const
inlinevirtualinherited

Definition at line 268 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 237 of file sch_symbol.cpp.

References m_part.

Referenced by SCH_EDITOR_CONTROL::EditWithSymbolEditor(), DIALOG_SYMBOL_FIELDS_TABLE::OnSchItemsAdded(), DIALOG_SYMBOL_FIELDS_TABLE::OnSchItemsChanged(), SCH_EDIT_TOOL::Properties(), SYMBOL_SEARCH_HANDLER::Search(), and POWER_SEARCH_HANDLER::Search().

◆ IsModified()

bool EDA_ITEM::IsModified ( ) const
inlineinherited

Definition at line 106 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 243 of file sch_symbol.cpp.

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

◆ IsMoving()

◆ IsMulti()

bool SCH_SYMBOL::IsMulti ( ) const
inlineoverridevirtual
Returns
true if the symbol has multiple units per symbol.

Implements SYMBOL.

Definition at line 300 of file sch_symbol.h.

References GetUnitCount().

Referenced by SCH_DRAWING_TOOLS::PlaceNextSymbolUnit().

◆ IsNew()

◆ IsNormal()

bool SCH_SYMBOL::IsNormal ( ) const
overridevirtual

Implements SYMBOL.

Definition at line 2872 of file sch_symbol.cpp.

References m_part.

◆ 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 2823 of file sch_symbol.cpp.

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

◆ IsPower()

◆ IsPrivate()

◆ 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 805 of file sch_symbol.h.

◆ IsRollover()

bool EDA_ITEM::IsRollover ( ) const
inlineinherited

Definition at line 114 of file eda_item.h.

References IS_MOVING, IS_ROLLOVER, and EDA_ITEM::m_flags.

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

◆ IsSCH_ITEM()

bool KIGFX::VIEW_ITEM::IsSCH_ITEM ( ) const
inlineinherited

Definition at line 99 of file view_item.h.

◆ IsSelected()

bool EDA_ITEM::IsSelected ( ) const
inlineinherited

Definition at line 110 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(), EDIT_TOOL::doMoveSelection(), KIGFX::PCB_PAINTER::draw(), KIGFX::SCH_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::PCB_RENDER_SETTINGS::GetColor(), KIGFX::GERBVIEW_RENDER_SETTINGS::GetColor(), KIGFX::DS_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(), CLIPBOARD_IO::SaveSelection(), SCH_IO_KICAD_SEXPR::saveTable(), 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(), 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 168 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 2846 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

◆ 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 296 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 316 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 2223 of file sch_symbol.cpp.

◆ 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 126 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.

Reimplemented from SCH_ITEM.

Definition at line 2168 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.

Reimplemented from SCH_ITEM.

Definition at line 2186 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.

Reimplemented from SCH_ITEM.

Definition at line 723 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 2518 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 252 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 2503 of file sch_symbol.cpp.

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

◆ Plot()

void SCH_SYMBOL::Plot ( PLOTTER aPlotter,
bool  aBackground,
const SCH_PLOT_OPTS aPlotOpts,
int  aUnit,
int  aBodyStyle,
const VECTOR2I aOffset,
bool  aDimmed 
)
overridevirtual

Plot the item to aPlotter.

Parameters
aBackgrounda poor-man's Z-order. The routine will get called twice, first with aBackground true and then with aBackground false.
aUnit- which unit to print.
aBodyStyle- which body style to print.
aOffsetrelative offset.
aDimmedreduce brightness of item.

Reimplemented from SCH_ITEM.

Definition at line 2620 of file sch_symbol.cpp.

References _, PLOTTER::Bookmark(), SCHEMATIC::CurrentSheet(), dummy, PLOTTER::EndBlock(), SCH_ITEM::GetBodyStyle(), GetBoundingBox(), SYMBOL::GetDNP(), LIB_SYMBOL::GetDrawItems(), GetFields(), GetPin(), LIB_SYMBOL::GetPins(), GetRef(), SCH_ITEM::getRenderSettings(), SCH_PIN::GetShape(), SCH_PIN::GetShownName(), GetTransform(), SCH_PIN::GetType(), SCH_ITEM::GetUnit(), PLOTTER::HyperlinkMenu(), IS_DANGLING, SCH_PIN::IsDangling(), SYMBOL::m_DNP, m_fields, m_part, SCH_PLOT_OPTS::m_PDFPropertyPopups, m_pos, SCH_RENDER_SETTINGS::m_Transform, LIB_SYMBOL::Plot(), PlotDNP(), SCH_ITEM::Schematic(), EDA_ITEM::SetFlags(), SCH_PIN::SetName(), SCH_PIN::SetShape(), SCH_PIN::SetType(), PLOTTER::StartBlock(), and text.

◆ PlotDNP()

void SCH_SYMBOL::PlotDNP ( PLOTTER aPlotter) const

◆ 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 2742 of file sch_symbol.cpp.

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

◆ Print()

◆ PrintBackground()

void SCH_SYMBOL::PrintBackground ( const SCH_RENDER_SETTINGS aSettings,
int  aUnit,
int  aBodyStyle,
const VECTOR2I aOffset,
bool  aDimmed 
)
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 493 of file sch_symbol.cpp.

References SYMBOL::GetDNP(), SCH_ITEM::m_bodyStyle, m_part, m_pos, SCH_RENDER_SETTINGS::m_ShowHiddenFields, SCH_RENDER_SETTINGS::m_ShowVisibleFields, SCH_RENDER_SETTINGS::m_Transform, m_transform, and SCH_ITEM::m_unit.

◆ 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 1009 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 506 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 486 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 SCH_LABEL_BASE, SCH_PIN, SCH_TEXT, SCH_TEXTBOX, SCH_FIELD, and SCH_SHEET_PIN.

Definition at line 404 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 189 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,
bool  aRotateCCW 
)
overridevirtual

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

Reimplemented from SCH_ITEM.

Definition at line 2204 of file sch_symbol.cpp.

References ANGLE_270, ANGLE_90, m_fields, m_pos, RotatePoint(), SetOrientation(), SYM_ROTATE_CLOCKWISE, 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 1222 of file sch_symbol.cpp.

References m_fields, m_pins, and pin.

Referenced by SCH_MARKER::DeserializeFromString().

◆ 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 150 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_FIELD_PROPERTIES::DIALOG_FIELD_PROPERTIES(), SCH_FIELD::DoHypertextAction(), SCH_SHEET::findSelf(), SCH_MARKER::GetColorLayer(), DIALOG_TABLE_PROPERTIES::getContextualTextVars(), DIALOG_TEXT_PROPERTIES::getContextualTextVars(), SCH_SHEET::GetContextualTextVars(), SCH_ITEM::GetEffectiveNetClass(), SCH_JUNCTION::getEffectiveShape(), SCH_SHAPE::GetEffectiveWidth(), SCH_ITEM::GetFontMetrics(), SCH_LABEL_BASE::GetIntersheetRefs(), SCH_LABEL_BASE::GetLabelBoxExpansion(), SCH_DIRECTIVE_LABEL::GetPenWidth(), SCH_LINE::GetPenWidth(), SCH_NO_CONNECT::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(), GetUnitProp(), GetUnplacedUnitsForSymbol(), GetValueProp(), SCH_PIN::HitTest(), SCH_SHEET::IsRootSheet(), SCH_LABEL_BASE::IsType(), DIALOG_SYMBOL_PROPERTIES::OnAddField(), SCH_FIELD::OnScintillaCharAdded(), PIN_LAYOUT_CACHE::PIN_LAYOUT_CACHE(), SCH_FIELD::Plot(), SCH_LABEL_BASE::Plot(), Plot(), SCH_TABLE::Plot(), SCH_TEXT::Plot(), SCH_TEXTBOX::Plot(), SCH_FIELD::Print(), SCH_COMMIT::pushSchEdit(), SCH_LABEL_BASE::ResolveTextVar(), SCH_GLOBALLABEL::ResolveTextVar(), SCH_SHEET::ResolveTextVar(), ResolveTextVar(), SCH_COMMIT::Revert(), SCH_EDIT_FRAME::SelectUnit(), SCH_MARKER::SerializeToString(), SetRef(), SetRefProp(), SetUnitProp(), EE_INSPECTION_TOOL::ShowDatasheet(), SCH_EDITOR_CONTROL::SimTune(), SubReference(), SyncOtherUnits(), DIALOG_LABEL_PROPERTIES::TransferDataFromWindow(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXT_PROPERTIES::TransferDataFromWindow(), DIALOG_LABEL_PROPERTIES::TransferDataToWindow(), DIALOG_SYMBOL_PROPERTIES::TransferDataToWindow(), DIALOG_TEXT_PROPERTIES::TransferDataToWindow(), SCH_SHEET_PATH::UpdateAllScreenReferences(), DIALOG_FIELD_PROPERTIES::UpdateField(), SCH_MARKER::ViewGetLayers(), and SCH_ITEM::~SCH_ITEM().

◆ Serialize()

virtual void SERIALIZABLE::Serialize ( google::protobuf::Any &  aContainer) const
inlinevirtualinherited

Serializes this object to the given Any message.

The Any message's concrete type will be specific to the object in question.

Parameters
aContainerwill be filled with a message describing this object

Reimplemented in SCH_LABEL, SCH_DIRECTIVE_LABEL, SCH_GLOBALLABEL, SCH_HIERLABEL, SCH_LINE, BOARD_STACKUP, FOOTPRINT, PAD, PADSTACK, PCB_FIELD, PCB_SHAPE, PCB_TEXT, PCB_TRACK, PCB_ARC, PCB_VIA, and ZONE.

Definition at line 43 of file serializable.h.

Referenced by API_HANDLER_SCH::handleCreateUpdateItemsInternal(), and API_HANDLER_PCB::handleCreateUpdateItemsInternal().

◆ 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)
overridevirtual

◆ SetBodyStyleProp()

void SCH_SYMBOL::SetBodyStyleProp ( int  aBodyStyle)
inline

Definition at line 573 of file sch_symbol.h.

References SetBodyStyle().

Referenced by SCH_SYMBOL_DESC::SCH_SYMBOL_DESC().

◆ SetBodyStyleUnconditional()

void SCH_SYMBOL::SetBodyStyleUnconditional ( int  aBodyStyle)

Similar to SetBodyStyle(), but always set the body style, regardless the lib symbol properties (the LIB_SYMBOL m_part can be not set during schematic files loading)

Definition at line 427 of file sch_symbol.cpp.

References SCH_ITEM::m_bodyStyle, and UpdatePins().

◆ SetBrightened()

◆ SetConnectionGraph()

void SCH_ITEM::SetConnectionGraph ( CONNECTION_GRAPH aGraph)
inherited

Updates the connection graph for all connections in this item.

Definition at line 235 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 127 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(), DRAWING_TOOL::DrawTable(), PCB_TUNING_PATTERN::EditStart(), PCB_SELECTION_TOOL::EnterGroup(), PAD_TOOL::explodePad(), SCH_IO_KICAD_SEXPR::Format(), SCH_MOVE_TOOL::getConnectedDragItems(), SYMBOL_EDIT_FRAME::GetSymbolFromRedoList(), SYMBOL_EDIT_FRAME::GetSymbolFromUndoList(), EE_SELECTION_TOOL::GuessSelectionCandidates(), 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::ParsePieChart(), 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(), SCH_EDIT_FRAME::SaveCopyInUndoList(), CLIPBOARD_IO::SaveSelection(), SCH_IO_KICAD_SEXPR::saveTable(), 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::updateSizesAfterRouterEvent().

◆ 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 194 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 160 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 541 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 279 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

Definition at line 269 of file sch_item.h.

Referenced by SCH_ITEM_DESC::SCH_ITEM_DESC().

◆ SetMirrorX()

void SCH_SYMBOL::SetMirrorX ( bool  aMirror)
inline

Definition at line 356 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 373 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 330 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 104 of file eda_item.h.

References EDA_ITEM::m_parent.

Referenced by BOARD::Add(), FOOTPRINT::Add(), PCB_TABLE::AddCell(), SCH_TABLE::AddCell(), LIB_SYMBOL::AddDrawItem(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), BOARD_NETLIST_UPDATER::addNewFootprint(), SCH_SHEET::AddPin(), PAD::AddPrimitive(), PADSTACK::AddPrimitive(), PAD::AddPrimitivePoly(), SYMBOL_EDITOR_CONTROL::AddSymbolToSchematic(), SCH_SCREEN::Append(), BOOST_AUTO_TEST_CASE(), CADSTAR_SCH_ARCHIVE_LOADER::copySymbolItems(), SYMBOL_EDIT_FRAME::CreateNewSymbol(), SCH_DRAWING_TOOLS::createNewText(), PANEL_EESCHEMA_COLOR_SETTINGS::createPreviewItems(), 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(), 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(), SCH_IO_EAGLE::loadSymbolCircle(), SCH_IO_EAGLE::loadSymbolPolyLine(), SCH_IO_EAGLE::loadSymbolRectangle(), SCH_IO_EAGLE::loadSymbolWire(), PCB_POINT_EDITOR::OnSelectionChange(), 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::Recombine(), SCH_IO_LIB_CACHE::removeSymbol(), SCH_EDIT_TOOL::RepeatDrawItem(), SaveCopyOfZones(), 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(), SyncOtherUnits(), and SCH_DRAWING_TOOLS::TwoClickPlace().

◆ SetPinNameOffset()

void SYMBOL::SetPinNameOffset ( int  aOffset)
inlineinherited

Set the offset in mils of the pin name text from the pin symbol.

Set the offset to 0 to draw the pin name above the pin symbol.

Parameters
aOffset- The offset in mils.

Definition at line 117 of file symbol.h.

References SYMBOL::m_pinNameOffset.

Referenced by BOOST_AUTO_TEST_CASE(), SYMBOL_EDIT_FRAME::CreateNewSymbol(), PANEL_EESCHEMA_COLOR_SETTINGS::createPreviewItems(), and DIALOG_LIB_SYMBOL_PROPERTIES::TransferDataFromWindow().

◆ SetPosition()

void SCH_SYMBOL::SetPosition ( const VECTOR2I aPosition)
inlineoverridevirtual

◆ SetPrefix()

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

Definition at line 279 of file sch_symbol.h.

References m_prefix.

Referenced by UpdatePrefix().

◆ SetPrivate()

void SCH_ITEM::SetPrivate ( bool  aPrivate)
inlineinherited

◆ SetRef()

◆ SetRefProp()

void SCH_SYMBOL::SetRefProp ( const wxString &  aRef)

◆ 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 208 of file sch_symbol.h.

References m_schLibSymbolName.

Referenced by SCH_SCREEN::Append().

◆ SetSelected()

◆ SetShowPinNames()

void SCH_SYMBOL::SetShowPinNames ( bool  aShow)
overridevirtual

Set or clear the pin name visibility flag.

Reimplemented from SYMBOL.

Definition at line 2804 of file sch_symbol.cpp.

References m_part.

Referenced by DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow().

◆ SetShowPinNumbers()

void SCH_SYMBOL::SetShowPinNumbers ( bool  aShow)
overridevirtual

Set or clear the pin number visibility flag.

Reimplemented from SYMBOL.

Definition at line 2816 of file sch_symbol.cpp.

References m_part.

Referenced by DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow().

◆ SetStoredPos()

void SCH_ITEM::SetStoredPos ( const VECTOR2I aPos)
inlineinherited

Definition at line 249 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 583 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 462 of file sch_symbol.cpp.

References m_transform.

◆ SetUnit()

virtual void SCH_ITEM::SetUnit ( int  aUnit)
inlinevirtualinherited

Definition at line 228 of file sch_item.h.

References SCH_ITEM::m_unit.

Referenced by SCH_IO_ALTIUM::AddLibTextBox(), SCH_REFERENCE::Annotate(), BOOST_AUTO_TEST_CASE(), CADSTAR_SCH_ARCHIVE_LOADER::copySymbolItems(), SYMBOL_EDITOR_PIN_TOOL::CreateImagePins(), PANEL_EESCHEMA_COLOR_SETTINGS::createPreviewItems(), SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), SCH_IO_KICAD_LEGACY_LIB_CACHE::loadArc(), SCH_IO_KICAD_LEGACY_LIB_CACHE::loadBezier(), SCH_IO_KICAD_LEGACY_LIB_CACHE::loadCircle(), CADSTAR_SCH_ARCHIVE_LOADER::loadLibrarySymbolShapeVertices(), SCH_IO_KICAD_LEGACY_LIB_CACHE::loadPolyLine(), SCH_IO_KICAD_LEGACY_LIB_CACHE::loadRect(), SCH_IO_EAGLE::loadSymbolCircle(), CADSTAR_SCH_ARCHIVE_LOADER::loadSymbolGateAndPartFields(), SCH_IO_EAGLE::loadSymbolPolyLine(), SCH_IO_EAGLE::loadSymbolRectangle(), SCH_IO_EAGLE::loadSymbolWire(), CADSTAR_SCH_ARCHIVE_LOADER::loadSymdef(), DIALOG_LIB_EDIT_PIN_TABLE::OnAddRow(), DIALOG_SYMBOL_PROPERTIES::OnUnitChoice(), SCH_IO_ALTIUM::ParseArc(), SCH_IO_ALTIUM::ParseBezier(), SCH_IO_ALTIUM::ParseCircle(), SCH_IO_ALTIUM::ParseComponent(), SCH_IO_ALTIUM::ParseEllipse(), SCH_IO_ALTIUM::ParseEllipticalArc(), SCH_IO_ALTIUM::ParseLabel(), SCH_IO_ALTIUM::ParseLine(), SCH_IO_ALTIUM::ParsePieChart(), SCH_IO_ALTIUM::ParsePolygon(), SCH_IO_ALTIUM::ParsePolyline(), SCH_IO_ALTIUM::ParseRectangle(), SCH_IO_ALTIUM::ParseRoundRectangle(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), SCH_DRAWING_TOOLS::PlaceSymbol(), SCH_ITEM_DESC::SCH_ITEM_DESC(), SCH_EDIT_FRAME::SelectUnit(), SetUnitProp(), PIN_TABLE_DATA_MODEL::SetValue(), DIALOG_PIN_PROPERTIES::TransferDataFromWindow(), DIALOG_SHAPE_PROPERTIES::TransferDataFromWindow(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXT_PROPERTIES::TransferDataFromWindow(), DIALOG_SYMBOL_PROPERTIES::TransferDataToWindow(), SCH_SHEET_PATH::UpdateAllScreenReferences(), DIALOG_FIELD_PROPERTIES::UpdateField(), and SCH_EDITOR_CONTROL::updatePastedSymbol().

◆ SetUnitProp()

void SCH_SYMBOL::SetUnitProp ( int  aUnit)
inline

◆ 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 900 of file sch_symbol.cpp.

References m_instanceReferences.

◆ SetValueFieldText()

◆ SetValueProp()

void SCH_SYMBOL::SetValueProp ( const wxString &  aRef)
inline

Definition at line 550 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 811 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 814 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)

Reimplemented from SCH_ITEM.

Definition at line 2950 of file sch_symbol.cpp.

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

◆ SimilarityBase()

double SCH_ITEM::SimilarityBase ( const SCH_ITEM aItem) const
inlineinherited

Calculate the boilerplate similarity for all LIB_ITEMs without preventing the use above of a pure virtual function that catches at compile time when a new object has not been fully implemented.

Definition at line 316 of file sch_item.h.

References SCH_ITEM::m_bodyStyle, SCH_ITEM::m_private, and SCH_ITEM::m_unit.

Referenced by SCH_FIELD::Similarity(), SCH_TEXT::Similarity(), SCH_PIN::Similarity(), SCH_SHAPE::Similarity(), and SCH_TEXTBOX::Similarity().

◆ 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 433 of file eda_item.h.

◆ 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 1331 of file sch_symbol.cpp.

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

◆ SwapFlags()

◆ SyncOtherUnits()

void SCH_SYMBOL::SyncOtherUnits ( const SCH_SHEET_PATH aSourceSheet,
SCH_COMMIT aCommit,
PROPERTY_BASE aProperty 
)

Keep fields other than the reference, include/exclude flags, and alternate pin assignements in sync in multi-unit parts.

Parameters
aSourceSheetthe sheet instance of the unit to sync to
aProperty[optional] if present, the single property to sync. (Otherwise the include/exclude flags, alternate pin assignments, and all fields bar the reference will be synced.)

Definition at line 1113 of file sch_symbol.cpp.

References _HKI, CollectOtherUnits(), DATASHEET_FIELD, FindField(), FOOTPRINT_FIELD, GetField(), SCH_FIELD::GetName(), GetPosition(), GetRef(), GetUnitCount(), IsAnnotated(), SYMBOL::m_DNP, SYMBOL::m_excludedFromBoard, SYMBOL::m_excludedFromBOM, m_fields, m_lib_id, m_pins, SCH_ITEM::m_unit, EDA_ITEM::m_Uuid, COMMIT::Modify(), PROPERTY_BASE::Name(), EDA_TEXT::Offset(), SCH_ITEM::Schematic(), SCH_PIN::SetAlt(), EDA_ITEM::SetParent(), SCH_FIELD::SetText(), and VALUE_FIELD.

Referenced by DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow().

◆ 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 101 of file eda_item.h.

References EDA_ITEM::m_structType.

Referenced by CN_CONNECTIVITY_ALGO::Add(), BOARD::Add(), FOOTPRINT::Add(), CN_CLUSTER::Add(), KIGFX::PCB_VIEW::Add(), PCB_GRID_HELPER::AddConstructionItems(), 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(), SCH_EDIT_FRAME::AutoRotateItem(), EE_SELECTION_TOOL::autostartEvent(), EXPORTER_STEP::buildGraphic3DShape(), PCB_NET_INSPECTOR_PANEL::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(), PCB_POINT_EDITOR::chamferCorner(), SCH_EDIT_TOOL::ChangeTextType(), KI_TEST::CheckFootprint(), KI_TEST::CheckFpShape(), KI_TEST::CheckFpZone(), DRC_TEST_PROVIDER_SOLDER_MASK::checkMaskAperture(), CN_VISITOR::checkZoneItemConnection(), LIB_SYMBOL::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(), SCH_ITEM::compare(), SCH_FIELD::compare(), SCH_TEXT::compare(), SCH_TEXTBOX::compare(), LIB_SYMBOL::compare(), TEARDROP_MANAGER::computeAnchorPoints(), 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(), CreateItemForType(), BOARD_ADAPTER::createLayers(), PCB_BASE_FRAME::CreateNewFootprint(), SCH_DRAWING_TOOLS::createNewText(), ZONE_CREATE_HELPER::createNewZone(), CONVERT_TOOL::CreatePolys(), BOARD_ADAPTER::createTrackWithMargin(), EE_INSPECTION_TOOL::CrossProbe(), DRC_TOOL::CrossProbe(), SCH_SCREEN::DeleteItem(), SCH_MARKER::DeserializeFromString(), DIALOG_DIMENSION_PROPERTIES::DIALOG_DIMENSION_PROPERTIES(), DIALOG_FIELD_PROPERTIES::DIALOG_FIELD_PROPERTIES(), DIALOG_LABEL_PROPERTIES::DIALOG_LABEL_PROPERTIES(), DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), BOARD_COMMIT::dirtyIntersectingZones(), ALIGN_DISTRIBUTE_TOOL::doAlignLeft(), ALIGN_DISTRIBUTE_TOOL::doAlignRight(), SCH_EDIT_TOOL::DoDelete(), 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(), 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(), enclosedByAreaFunc(), CONNECTION_GRAPH::ercCheckBusToBusConflicts(), CONNECTION_GRAPH::ercCheckBusToBusEntryConflicts(), CONNECTION_GRAPH::ercCheckBusToNetConflicts(), CONNECTION_GRAPH::ercCheckDanglingWireEndpoints(), CONNECTION_GRAPH::ercCheckFloatingWires(), CONNECTION_GRAPH::ercCheckLabels(), CONNECTION_GRAPH::ercCheckMultipleDrivers(), CONNECTION_GRAPH::ercCheckNoConnects(), DRC_ENGINE::EvalRules(), DRC_ENGINE::EvalZoneConnection(), CONNECTION_SUBGRAPH::ExchangeItem(), CONNECTION_GRAPH::ExchangeItem(), 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(), PCB_IO_KICAD_SEXPR::Format(), PCB_IO_KICAD_SEXPR::format(), SCH_IO_KICAD_SEXPR::Format(), SCH_IO_KICAD_LEGACY::Format(), FormatProbeItem(), CN_ITEM::GetAnchor(), BOARD_ITEM::GetBoard(), GetBoardItemWidth(), SCH_FIELD::GetBoundingBox(), SCH_LABEL_BASE::GetBoundingBox(), PCB_TRACK::GetBoundingBox(), GetBoundingBoxes(), SCH_FIELD::GetCanonicalName(), PCB_FIELD::GetCanonicalName(), EDIT_TOOL::getChildItemsOfGroupsAndGenerators(), getClosestGroup(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), KIGFX::GERBVIEW_RENDER_SETTINGS::GetColor(), KIGFX::DS_RENDER_SETTINGS::GetColor(), SCH_MOVE_TOOL::getConnectedDragItems(), SCH_MOVE_TOOL::getConnectedItems(), CONNECTIVITY_DATA::GetConnectedPadsAndVias(), FOOTPRINT::GetCoverageArea(), CONNECTION_GRAPH::getDefaultConnection(), SCH_FIELD::GetDefaultLayer(), SCH_FIELD::GetDrawRotation(), CONNECTION_SUBGRAPH::GetDriverPriority(), getFieldFunc(), PCB_TRACK::GetFriendlyName(), getHoleShape(), 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::GetNetclassesForDriver(), CONNECTIVITY_DATA::GetNetItems(), GetNetNavigatorItemText(), BOARD_ITEM::GetParentFootprint(), SCH_ITEM::GetParentSymbol(), GetPinPhysicalPosition(), SCH_FIELD::GetPosition(), PANEL_SETUP_LAYERS::getRemovedLayersWithItems(), KIGFX::SCH_PAINTER::getRenderColor(), SCH_RULE_AREA::GetResolvedNetclasses(), TEXT_SEARCH_HANDLER::getResultCell(), LABEL_SEARCH_HANDLER::getResultCell(), GetSchItemAsText(), ALIGN_DISTRIBUTE_TOOL::GetSelections(), SCH_FIELD::GetShownText(), CONVERT_TOOL::getStartEndPoints(), KIGFX::SCH_PAINTER::getTextThickness(), EDA_ITEM::GetTypeDesc(), PCBEXPR_COMPONENT_CLASS_REF::GetValue(), PCBEXPR_TYPE_REF::GetValue(), TEARDROP_MANAGER::GetWidth(), PCB_SELECTION_TOOL::grabUnconnected(), BOARD::GroupLegalOps(), EE_SELECTION_TOOL::GuessSelectionCandidates(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), API_HANDLER_PCB::handleGetBoundingBox(), 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::Increment(), SYMBOL_EDITOR_EDIT_TOOL::Increment(), DIALOG_FIELD_PROPERTIES::init(), 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(), 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(), SCH_FIELD::IsMandatory(), 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(), ALIGNED_DIMENSION_POINT_EDIT_BEHAVIOR::MakePoints(), EE_POINT_EDITOR::makePointsAndBehavior(), CONVERT_TOOL::makePolysFromChainedSegs(), SCH_SCREEN::MarkConnections(), CONNECTIVITY_DATA::MarkItemNetAsDirty(), CN_CONNECTIVITY_ALGO::markItemNetAsDirty(), SCH_FIELD::Matches(), memberOfGroupFunc(), memberOfSheetFunc(), SCH_LINE::MergeOverlap(), SCH_EDIT_TOOL::Mirror(), SYMBOL_EDITOR_EDIT_TOOL::Mirror(), BOARD_EDITOR_CONTROL::modifyLockSelected(), SCH_MOVE_TOOL::moveItem(), EE_SELECTION_TOOL::narrowSelection(), ARRAY_TOOL::onDialogClosed(), 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()(), 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=(), SCH_SHEET::operator=(), operator=(), PAD::operator==(), PCB_DIMENSION_BASE::operator==(), PCB_GROUP::operator==(), PCB_REFERENCE_IMAGE::operator==(), PCB_SHAPE::operator==(), PCB_TABLE::operator==(), PCB_TABLECELL::operator==(), PCB_TARGET::operator==(), PCB_TEXT::operator==(), PCB_TEXTBOX::operator==(), PCB_ARC::operator==(), BOARD::operator==(), FOOTPRINT::operator==(), PCB_FIELD::operator==(), PCB_TRACK::operator==(), PCB_VIA::operator==(), ZONE::operator==(), SCH_BUS_ENTRY_BASE::operator==(), SCH_FIELD::operator==(), SCH_TEXT::operator==(), SCH_ITEM::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_DRAWING_TOOLS::PlaceNextSymbolUnit(), SCH_FIELD::Plot(), SCH_LABEL_BASE::Plot(), BRDITEMS_PLOTTER::PlotBoardGraphicItem(), POSITION_RELATIVE_TOOL::PositionRelativeInteractively(), SCH_FIELD::Print(), DIALOG_GLOBAL_EDIT_TEARDROPS::processItem(), OUTSET_ROUTINE::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_EDIT_FRAME::RecalculateConnections(), SCH_BASE_FRAME::RefreshZoomDependentItems(), GENERATOR_TOOL::RegenerateSelected(), POSITION_RELATIVE_TOOL::RelativeItemSelectionMove(), BOARD::Remove(), CN_CONNECTIVITY_ALGO::Remove(), FOOTPRINT::Remove(), EE_RTREE::remove(), SCH_SCREEN::Remove(), KIGFX::PCB_VIEW::Remove(), PCB_POINT_EDITOR::removeCorner(), PCB_POINT_EDITOR::removeCornerCondition(), LIB_SYMBOL::RemoveDrawItem(), SCH_BASE_FRAME::RemoveFromScreen(), CONNECTION_SUBGRAPH::RemoveItem(), EDIT_TOOL::removeNonRootItems(), 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(), BOARD_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::saveText(), SCH_IO_KICAD_SEXPR_LIB_CACHE::saveText(), SCH_IO_KICAD_SEXPR::saveTextBox(), SCH_IO_KICAD_SEXPR_LIB_CACHE::saveTextBox(), SCH_ITEM::Schematic(), SCH_SCREEN::Schematic(), SYMBOL_SEARCH_HANDLER::Search(), POWER_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_POINT_EDITOR::setAltConstraint(), SCH_FIELD::SetId(), ITEM_PICKER::SetItem(), PCB_BASE_FRAME::SetPlotSettings(), SCH_FIELD::SetPosition(), 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(), SCH_BUS_ENTRY_BASE::Similarity(), SCH_FIELD::Similarity(), SCH_TEXT::Similarity(), SCH_BITMAP::Similarity(), SCH_JUNCTION::Similarity(), SCH_LINE::Similarity(), SCH_NO_CONNECT::Similarity(), SCH_PIN::Similarity(), SCH_SHAPE::Similarity(), SCH_SHEET::Similarity(), SCH_SHEET_PIN::Similarity(), Similarity(), SCH_TABLE::Similarity(), SCH_TABLECELL::Similarity(), SCH_TEXTBOX::Similarity(), LIB_SYMBOL::Similarity(), SCH_EDITOR_CONTROL::SimProbe(), SCH_COMMIT::Stage(), PNS::LINE_PLACER::Start(), SCH_EDIT_TOOL::Swap(), SYMBOL_EDITOR_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_SOLDER_MASK::testItemAgainstItems(), 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(), ERC_TESTER::TestTextVars(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackClearances(), CONNECTIVITY_DATA::TestTrackEndpointDangling(), DIALOG_LABEL_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXT_PROPERTIES::TransferDataFromWindow(), PANEL_SETUP_LAYERS::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(), KIGFX::PCB_VIEW::Update(), SCH_SHEET_PATH::UpdateAllScreenReferences(), DIALOG_FIELD_PROPERTIES::UpdateField(), PL_POINT_EDITOR::updateItem(), PCB_POINT_EDITOR::updateItem(), ALIGNED_DIMENSION_POINT_EDIT_BEHAVIOR::UpdateItem(), EE_TOOL_BASE< T >::updateItem(), SCH_BASE_FRAME::UpdateItem(), PCB_CONTROL::UpdateMessagePanel(), EDIT_TOOL::updateModificationPoint(), PL_POINT_EDITOR::updatePoints(), SCH_BUS_ENTRY_BASE::ViewGetLayers(), SYMBOL::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 2245 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 1045 of file sch_symbol.cpp.

References AddField(), DATASHEET_FIELD, FindField(), FOOTPRINT_FIELD, GetDatasheet(), GetFieldById(), GetFieldCount(), SCH_FIELD::ImportValues(), m_part, m_pos, 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 829 of file sch_symbol.cpp.

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

Referenced by SCH_SHEET_LIST::UpdateSymbolInstanceData().

◆ 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::BEZIER_ASSISTANT, KIGFX::PREVIEW::RULER_ITEM, KIGFX::PREVIEW::SELECTION_AREA, KIGFX::PREVIEW::TWO_POINT_ASSISTANT, PCB_TUNING_PATTERN, KIGFX::ORIGIN_VIEWITEM, KIGFX::ANCHOR_DEBUG, KIGFX::CONSTRUCTION_GEOM, KIGFX::SNAP_INDICATOR, KIGFX::VIEW_GROUP, and KIGFX::VIEW_OVERLAY.

Definition at line 119 of file view_item.h.

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

◆ ViewGetLayers()

std::vector< int > SYMBOL::ViewGetLayers ( ) const
overridevirtualinherited

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

Reimplemented from SCH_ITEM.

Definition at line 27 of file symbol.cpp.

References LAYER_DANGLING, LAYER_DEVICE, LAYER_DEVICE_BACKGROUND, LAYER_FIELDS, LAYER_NOTES_BACKGROUND, LAYER_OP_CURRENTS, LAYER_PRIVATE_NOTES, LAYER_REFERENCEPART, LAYER_SELECTION_SHADOWS, LAYER_VALUEPART, LIB_SYMBOL_T, SCH_SYMBOL_T, and EDA_ITEM::Type().

◆ 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 142 of file view_item.h.

Referenced by PCB_GRID_HELPER::computeAnchors(), 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 2407 of file sch_symbol.cpp.

References DATASHEET_FIELD, FOOTPRINT_FIELD, SCH_ITEM::GetBodyStyle(), GetField(), SCH_ITEM::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 128 of file eda_item.h.

References EDA_ITEM::m_flags.

Referenced by EE_SELECTION_TOOL::selectMultiple().

Member Data Documentation

◆ m_bodyStyle

◆ m_connected_items

std::map<SCH_SHEET_PATH, SCH_ITEM_VEC, 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 732 of file sch_item.h.

Referenced by SCH_ITEM::AddConnectionTo(), SCH_ITEM::ClearConnectedItems(), 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 735 of file sch_item.h.

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

◆ m_connectivity_dirty

bool SCH_ITEM::m_connectivity_dirty
protectedinherited

◆ m_DNP

bool SYMBOL::m_DNP
protectedinherited

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

Definition at line 167 of file symbol.h.

Referenced by SYMBOL::GetDNP(), SYMBOL::operator=(), Plot(), Print(), SCH_SYMBOL(), SYMBOL::SetDNP(), SwapData(), and SyncOtherUnits().

◆ m_excludedFromBoard

bool SYMBOL::m_excludedFromBoard
protectedinherited

◆ m_excludedFromBOM

bool SYMBOL::m_excludedFromBOM
protectedinherited

◆ m_excludedFromSim

bool SYMBOL::m_excludedFromSim
protectedinherited

◆ m_fields

◆ m_fieldsAutoplaced

◆ m_flags

◆ m_forcedTransparency

double KIGFX::VIEW_ITEM::m_forcedTransparency
privateinherited

Additional transparency for diff'ing items.

Definition at line 169 of file view_item.h.

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

◆ m_forceVisible

◆ m_instanceReferences

◆ m_isBOARD_ITEM

bool KIGFX::VIEW_ITEM::m_isBOARD_ITEM
privateinherited

Definition at line 167 of file view_item.h.

◆ m_isInNetlist

bool SCH_SYMBOL::m_isInNetlist
private

True if the symbol should appear in netlist.

Definition at line 923 of file sch_symbol.h.

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

◆ m_isSCH_ITEM

bool KIGFX::VIEW_ITEM::m_isSCH_ITEM
privateinherited

Definition at line 166 of file view_item.h.

◆ m_layer

SCH_LAYER_ID SCH_ITEM::m_layer
protectedinherited

◆ 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 903 of file sch_symbol.h.

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

◆ m_parent

◆ m_part

◆ m_pinMap

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

library pin pointer : SCH_PIN's index

Definition at line 926 of file sch_symbol.h.

Referenced by GetPin(), and UpdatePins().

◆ m_pinNameOffset

int SYMBOL::m_pinNameOffset
protectedinherited

The offset in mils to draw the pin name.

Set to 0 to draw the pin name above the pin.

Definition at line 159 of file symbol.h.

Referenced by LIB_SYMBOL::Compare(), SYMBOL::GetPinNameOffset(), LIB_SYMBOL::LIB_SYMBOL(), SYMBOL::operator=(), SYMBOL::SetPinNameOffset(), and LIB_SYMBOL::Similarity().

◆ 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 904 of file sch_symbol.h.

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

◆ m_private

bool SCH_ITEM::m_private
protectedinherited

◆ m_rule_areas_cache

std::unordered_set<SCH_RULE_AREA*> SCH_ITEM::m_rule_areas_cache
protectedinherited

Store pointers to rule areas which this item is contained within.

Definition at line 740 of file sch_item.h.

Referenced by SCH_ITEM::AddRuleAreaToCache(), SCH_ITEM::ClearRuleAreasCache(), GetComponentClassNames(), and SCH_ITEM::GetRuleAreaCache().

◆ 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 916 of file sch_symbol.h.

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

◆ m_showPinNames

bool SYMBOL::m_showPinNames
protectedinherited

◆ m_showPinNumbers

bool SYMBOL::m_showPinNumbers
protectedinherited

◆ m_storedPos

VECTOR2I SCH_ITEM::m_storedPos
protectedinherited

Definition at line 728 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 496 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 489 of file eda_item.h.

Referenced by BOARD::Add(), AddHierarchicalReference(), RC_ITEM::AddItem(), SCH_EDIT_FRAME::AnnotateSymbols(), FIELDS_EDITOR_GRID_DATA_MODEL::ApplyData(), SCH_SHEET_PATH::CheckForMissingSymbolInstances(), SCH_SHEET_PATH::Cmp(), SCH_ITEM::compare(), SCHEMATIC::ConvertRefsToKIIDs(), MICROWAVE_TOOL::createMicrowaveInductor(), SCH_EDIT_FRAME::CreateScreens(), SCH_LABEL::Deserialize(), SCH_LINE::Deserialize(), FOOTPRINT::Deserialize(), PAD::Deserialize(), PCB_SHAPE::Deserialize(), PCB_TEXT::Deserialize(), PCB_TRACK::Deserialize(), PCB_ARC::Deserialize(), PCB_VIA::Deserialize(), ZONE::Deserialize(), SCH_MARKER::DeserializeFromString(), ZONE_FILLER_TOOL::DirtyZone(), DRAWING_TOOL::DrawVia(), LIB_SYMBOL::Duplicate(), BOARD_ITEM::Duplicate(), FOOTPRINT::Duplicate(), SCH_ITEM::Duplicate(), SYMBOL_EDITOR_EDIT_TOOL::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(), SCH_EDIT_FRAME::FocusOnItem(), SYMBOL_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(), 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(), EESCHEMA_HELPERS::LoadSchematic(), SCH_IO_ALTIUM::LoadSchematicFile(), SCH_IO_EAGLE::LoadSchematicFile(), SCH_EDIT_FRAME::LoadSheetFromFile(), SYMBOL_EDIT_FRAME::LoadSymbolFromSchematic(), PCB_IO_KICAD_LEGACY::loadTrackList(), 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()(), operator<(), PAD::operator==(), SCH_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(), processTextItem(), BOARD_COMMIT::Push(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), BOARD::Remove(), 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_PIN::SCH_PIN(), SCH_REFERENCE::SCH_REFERENCE(), SCH_SHEET::SCH_SHEET(), SCH_SYMBOL(), SCH_LABEL::Serialize(), SCH_LINE::Serialize(), FOOTPRINT::Serialize(), PAD::Serialize(), PCB_SHAPE::Serialize(), PCB_TEXT::Serialize(), PCB_TRACK::Serialize(), PCB_ARC::Serialize(), PCB_VIA::Serialize(), ZONE::Serialize(), RC_ITEM::SetItems(), SCH_EDITOR_CONTROL::setPastedSymbolInstances(), FIELDS_EDITOR_GRID_DATA_MODEL::SetValue(), PAD::Similarity(), PCB_DIMENSION_BASE::Similarity(), PCB_FIELD::Similarity(), SCH_BUS_ENTRY_BASE::Similarity(), SCH_FIELD::Similarity(), SCH_LABEL_BASE::Similarity(), SCH_TEXT::Similarity(), SCH_BITMAP::Similarity(), SCH_JUNCTION::Similarity(), SCH_LINE::Similarity(), SCH_NO_CONNECT::Similarity(), SCH_PIN::Similarity(), SCH_SHAPE::Similarity(), SCH_TEXTBOX::Similarity(), LIB_SYMBOL::Similarity(), SCH_DRAWING_TOOLS::SingleClickPlace(), SyncOtherUnits(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::testAgainstEdge(), testGroupEqual(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), 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 933 of file sch_symbol.h.

Referenced by GetOrientation().


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