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

Holds all the data relating to one schematic. More...

#include <schematic.h>

Inheritance diagram for SCHEMATIC:
SCHEMATIC_IFACE EDA_ITEM KIGFX::VIEW_ITEM SERIALIZABLE INSPECTABLE

Public Member Functions

 SCHEMATIC (PROJECT *aPrj)
 
virtual ~SCHEMATIC ()
 
virtual wxString GetClass () const override
 Return the class name.
 
void Reset ()
 Initialize this schematic to a blank one, unloading anything existing.
 
PROJECTPrj () const override
 Return a reference to the project this schematic is part of.
 
void SetProject (PROJECT *aPrj)
 
const std::map< wxString, wxString > * GetProperties ()
 
SCH_SHEET_LIST GetSheets () const override
 Builds and returns an updated schematic hierarchy TODO: can this be cached?
 
SCH_SHEETRoot () const
 
void SetRoot (SCH_SHEET *aRootSheet)
 Initialize the schematic with a new root sheet.
 
bool IsValid () const
 A simple test if the schematic is loaded, not a complete one.
 
SCH_SCREENRootScreen () const
 Helper to retrieve the screen of the root sheet.
 
void GetContextualTextVars (wxArrayString *aVars) const
 
bool ResolveTextVar (const SCH_SHEET_PATH *aSheetPath, wxString *token, int aDepth) const
 
wxString GetFileName () const override
 Helper to retrieve the filename from the root sheet screen.
 
SCH_SHEET_PATHCurrentSheet () const override
 
void SetCurrentSheet (const SCH_SHEET_PATH &aPath) override
 
CONNECTION_GRAPHConnectionGraph () const override
 
SCHEMATIC_SETTINGSSettings () const
 
ERC_SETTINGSErcSettings () const
 
std::vector< SCH_MARKER * > ResolveERCExclusions ()
 
std::shared_ptr< BUS_ALIASGetBusAlias (const wxString &aLabel) const
 Return a pointer to a bus alias object for the given label, or null if one doesn't exist.
 
std::set< wxString > GetNetClassAssignmentCandidates ()
 Return the set of netname candidates for netclass assignment.
 
bool ResolveCrossReference (wxString *token, int aDepth) const
 Resolves text vars that refer to other items.
 
std::map< wxString, std::set< int > > & GetPageRefsMap ()
 
std::map< int, wxString > GetVirtualPageToSheetNamesMap () const
 
std::map< int, wxString > GetVirtualPageToSheetPagesMap () const
 
wxString ConvertRefsToKIIDs (const wxString &aSource) const
 
wxString ConvertKIIDsToRefs (const wxString &aSource) const
 
SCH_SHEET_LISTGetFullHierarchy () const
 Return the full schematic flattened hierarchical sheet list.
 
void SetLegacySymbolInstanceData ()
 Update the symbol value and footprint instance data for legacy designs.
 
wxString GetUniqueFilenameForCurrentSheet ()
 
void SetSheetNumberAndCount ()
 Set the m_ScreenNumber and m_NumberOfScreens members for screens.
 
void RecomputeIntersheetRefs (const std::function< void(SCH_GLOBALLABEL *)> &aItemCallback)
 Update the schematic's page reference map for all global labels, and refresh the labels so that they are redrawn with up-to-date references.
 
void ClearOperatingPoints ()
 Clear operating points from a .op simulation.
 
void SetOperatingPoint (const wxString &aSignal, double aValue)
 Set operating points from a .op simulation.
 
wxString GetOperatingPoint (const wxString &aNetName, int aPrecision, const wxString &aRange)
 
void FixupJunctions ()
 Add junctions to this schematic where required.
 
void RecordERCExclusions ()
 Scan existing markers and record data from any that are Excluded.
 
void ResolveERCExclusionsPostUpdate ()
 Update markers to match recorded exclusions.
 
void OnItemsAdded (std::vector< SCH_ITEM * > &aNewItems)
 Must be used if Add() is used using a BULK_x ADD_MODE to generate a change event for listeners.
 
void OnItemsRemoved (std::vector< SCH_ITEM * > &aRemovedItems)
 Must be used if Remove() is used using a BULK_x REMOVE_MODE to generate a change event for listeners.
 
void OnItemsChanged (std::vector< SCH_ITEM * > &aItems)
 Notify the schematic and its listeners that an item on the schematic has been modified in some way.
 
void OnSchSheetChanged ()
 Notify the schematic and its listeners that the current sheet has been changed.
 
void AddListener (SCHEMATIC_LISTENER *aListener)
 Add a listener to the schematic to receive calls whenever something on the schematic has been modified.
 
void RemoveListener (SCHEMATIC_LISTENER *aListener)
 Remove the specified listener.
 
void RemoveAllListeners ()
 Remove all listeners.
 
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 ()
 
virtual bool RenderAsBitmap (double aWorldScale) const
 
void SetIsShownAsBitmap (bool aBitmap)
 
bool IsShownAsBitmap () const
 
virtual bool IsType (const std::vector< KICAD_T > &aScanTypes) const
 Check whether the item is one of the listed types.
 
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 void GetMsgPanelInfo (EDA_DRAW_FRAME *aFrame, std::vector< MSG_PANEL_ITEM > &aList)
 Populate aList of MSG_PANEL_ITEM objects with it's internal state for display purposes.
 
virtual wxString GetFriendlyName () const
 
virtual bool HitTest (const VECTOR2I &aPosition, int aAccuracy=0) const
 Test if aPosition is inside or on the boundary of this item.
 
virtual bool HitTest (const BOX2I &aRect, bool aContained, int aAccuracy=0) const
 Test if aRect intersects this item.
 
virtual const BOX2I GetBoundingBox () const
 Return the orthogonal bounding box of this object for display purposes.
 
virtual VECTOR2I GetPosition () const
 
virtual void SetPosition (const VECTOR2I &aPos)
 
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.
 
virtual EDA_ITEMClone () const
 Create a duplicate of this item with linked list members set to NULL.
 
virtual INSPECT_RESULT Visit (INSPECTOR inspector, void *testData, const std::vector< KICAD_T > &aScanTypes)
 May be re-implemented for each derived class in order to handle all the types given by its member data.
 
wxString GetTypeDesc () const
 Return a translated description of the type for this EDA_ITEM for display in user facing messages.
 
virtual wxString GetItemDescription (UNITS_PROVIDER *aUnitsProvider) const
 Return a user-visible description string of this item.
 
virtual BITMAPS GetMenuImage () const
 Return a pointer to an image to be used in menus.
 
virtual bool Matches (const EDA_SEARCH_DATA &aSearchData, void *aAuxData) const
 Compare the item against the search criteria in aSearchData.
 
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 bool IsReplaceable () const
 Override this method in any derived object that supports test find and replace.
 
bool operator< (const EDA_ITEM &aItem) const
 Test if another item is less than this object.
 
virtual const BOX2I ViewBBox () const override
 Return the bounding box of the item covering all its layers.
 
virtual void ViewGetLayers (int aLayers[], int &aCount) const override
 Return the all the layers within the VIEW the object is painted on.
 
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

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

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

Protected Attributes

EDA_ITEMm_parent
 Linked list: Link (parent struct)
 
bool m_forceVisible
 
EDA_ITEM_FLAGS m_flags
 

Private Member Functions

template<typename Func , typename... Args>
void InvokeListeners (Func &&aFunc, Args &&... args)
 

Private Attributes

PROJECTm_project
 
SCH_SHEETm_rootSheet
 The top-level sheet in this schematic hierarchy (or potentially the only one)
 
SCH_SHEET_PATHm_currentSheet
 The sheet path of the sheet currently being edited or displayed.
 
CONNECTION_GRAPHm_connectionGraph
 Holds and calculates connectivity information of this schematic.
 
std::map< wxString, std::set< int > > m_labelToPageRefsMap
 Holds a map of labels to the page sequence (virtual page number) that they appear on.
 
std::map< wxString, wxString > m_properties
 Properties for text variable substitution (and perhaps other uses in future).
 
std::map< wxString, double > m_operatingPoints
 Simulation operating points for text variable substitution.
 
std::vector< SCHEMATIC_LISTENER * > m_listeners
 Currently installed listeners.
 
KICAD_T m_structType
 Run time identification, keep private so it can never be changed after a ctor sets it.
 
VIEW_ITEM_DATA * m_viewPrivData
 
double m_forcedTransparency
 Additional transparency for diff'ing items.
 

Friends

class SCH_EDIT_FRAME
 

Detailed Description

Holds all the data relating to one schematic.

A schematic may consist of one or more sheets (and one root sheet) Right now, Eeschema can have only one schematic open at a time, but this could change. Please keep this possibility in mind when adding to this object.

Definition at line 74 of file schematic.h.

Constructor & Destructor Documentation

◆ SCHEMATIC()

◆ ~SCHEMATIC()

SCHEMATIC::~SCHEMATIC ( )
virtual

Member Function Documentation

◆ AddListener()

void SCHEMATIC::AddListener ( SCHEMATIC_LISTENER aListener)

Add a listener to the schematic to receive calls whenever something on the schematic has been modified.

The schematic does not take ownership of the listener object. Make sure to call RemoveListener before deleting the listener object. The order of listener invocations is not guaranteed. If the specified listener object has been added before, it will not be added again.

Definition at line 781 of file schematic.cpp.

References alg::contains(), and m_listeners.

Referenced by DIALOG_SYMBOL_FIELDS_TABLE::DIALOG_SYMBOL_FIELDS_TABLE(), and SCH_SEARCH_PANE::SCH_SEARCH_PANE().

◆ ClearBrightened()

◆ ClearEditFlags()

◆ ClearFlags()

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

Definition at line 128 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(), SYMBOL_EDITOR_EDIT_TOOL::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_TOOL::RecombinePad(), GERBVIEW_FRAME::RemapLayers(), DRC_TEST_PROVIDER_DISALLOW::Run(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), SCH_IO_KICAD_SEXPR_LIB_CACHE::savePin(), EE_SELECTION_TOOL::selectMultiple(), EDA_ITEM::SetIsShownAsBitmap(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), SCH_DRAWING_TOOLS::TwoClickPlace(), EE_SELECTION_TOOL::unhighlight(), and SCOPED_FLAGS_CLEANER::~SCOPED_FLAGS_CLEANER().

◆ ClearOperatingPoints()

void SCHEMATIC::ClearOperatingPoints ( )
inline

Clear operating points from a .op simulation.

Definition at line 224 of file schematic.h.

References m_operatingPoints.

Referenced by SIMULATOR_FRAME_UI::onPlotClosed(), and SIMULATOR_FRAME::onSimFinished().

◆ ClearSelected()

◆ ClearTempFlags()

virtual void EDA_ITEM::ClearTempFlags ( )
inlinevirtualinherited

◆ Clone()

EDA_ITEM * EDA_ITEM::Clone ( ) const
virtualinherited

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 in SCH_BITMAP, SCH_BUS_WIRE_ENTRY, SCH_BUS_BUS_ENTRY, SCH_FIELD, SCH_JUNCTION, SCH_LABEL, SCH_DIRECTIVE_LABEL, SCH_GLOBALLABEL, SCH_HIERLABEL, SCH_LINE, SCH_MARKER, SCH_NO_CONNECT, SCH_PIN, SCH_RULE_AREA, SCH_SHAPE, SCH_SHEET, SCH_SHEET_PIN, SCH_SYMBOL, SCH_TABLE, SCH_TABLECELL, SCH_TEXT, SCH_TEXTBOX, KIGFX::ORIGIN_VIEWITEM, FOOTPRINT, PCB_TUNING_PATTERN, NETINFO_ITEM, PAD, PCB_DIM_ALIGNED, PCB_DIM_ORTHOGONAL, PCB_DIM_RADIAL, PCB_DIM_LEADER, PCB_DIM_CENTER, PCB_FIELD, PCB_GROUP, PCB_MARKER, PCB_REFERENCE_IMAGE, PCB_SHAPE, PCB_TABLE, PCB_TABLECELL, PCB_TARGET, PCB_TEXT, PCB_TEXTBOX, PCB_TRACK, PCB_ARC, PCB_VIA, and ZONE.

Definition at line 82 of file eda_item.cpp.

References EDA_ITEM::GetClass().

Referenced by BOARD_ITEM::Duplicate(), SCH_ITEM::Duplicate(), LIB_SYMBOL::LIB_SYMBOL(), BOARD_COMMIT::MakeImage(), SCH_COMMIT::makeImage(), new_clone(), LIB_SYMBOL::operator=(), SCH_IO_LIB_CACHE::removeSymbol(), CLIPBOARD_IO::SaveSelection(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_DRAWING_TOOLS::TwoClickPlace(), and SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace().

◆ ConnectionGraph()

◆ ConvertKIIDsToRefs()

◆ ConvertRefsToKIIDs()

◆ CurrentSheet()

SCH_SHEET_PATH & SCHEMATIC::CurrentSheet ( ) const
inlineoverridevirtual

Implements SCHEMATIC_IFACE.

Definition at line 136 of file schematic.h.

References m_currentSheet.

Referenced by SCH_ITEM::Connection(), SCH_PLOTTER::createDXFFiles(), SCH_PLOTTER::createHPGLFiles(), SCH_PLOTTER::createPDFFile(), SCH_PLOTTER::createPSFiles(), SCH_PLOTTER::createSVGFiles(), DIALOG_CHANGE_SYMBOLS::DIALOG_CHANGE_SYMBOLS(), SCH_FIELD::DoHypertextAction(), CONNECTION_GRAPH::ExchangeItem(), CONNECTION_GRAPH::ExtractAffectedItems(), findItemsFromSyncSelection(), SCH_FIND_REPLACE_TOOL::FindNext(), SCH_SHEET::findSelf(), DIALOG_TABLE_PROPERTIES::getContextualTextVars(), DIALOG_TEXT_PROPERTIES::getContextualTextVars(), GetContextualTextVars(), SCH_EDIT_FRAME::GetCurrentSheet(), SCH_LABEL_BASE::GetIntersheetRefs(), DIALOG_PLOT_SCHEMATIC::getOutputPath(), SCH_SYMBOL::GetPins(), SCH_LABEL_BASE::GetShownText(), SCH_TEXT::GetShownText(), GetUniqueFilenameForCurrentSheet(), KI_TEST::SCHEMATIC_TEST_FIXTURE::LoadSchematic(), SCH_IO_EASYEDA::LoadSchematicFile(), SCH_IO_EASYEDAPRO::LoadSchematicFile(), SCH_IO_LTSPICE::LoadSchematicFile(), DIALOG_SYMBOL_FIELDS_TABLE::OnExport(), DIALOG_SYMBOL_FIELDS_TABLE::OnSchSheetChanged(), SCH_FIELD::OnScintillaCharAdded(), SCH_EASYEDAPRO_PARSER::ParseSchematic(), SCH_EASYEDA_PARSER::ParseSchematic(), SCH_LABEL_BASE::Plot(), SCH_SYMBOL::Plot(), SCH_TEXT::Plot(), SCH_TEXTBOX::Plot(), SCH_PLOTTER::plotOneSheetDXF(), SCH_PLOTTER::plotOneSheetHpgl(), SCH_PLOTTER::plotOneSheetPDF(), SCH_PLOTTER::plotOneSheetPS(), SCH_PLOTTER::plotOneSheetSVG(), RecomputeIntersheetRefs(), SCH_GLOBALLABEL::ResolveTextVar(), SCH_PLOTTER::restoreEnvironment(), SCHEMATIC(), SetSheetNumberAndCount(), SCH_EDITOR_CONTROL::SimTune(), EE_SELECTION_TOOL::SyncSelection(), and SCH_LINE_WIRE_BUS_TOOL::TrimOverLappingWires().

◆ 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, and PCB_VIA.

Definition at line 53 of file serializable.h.

◆ ErcSettings()

◆ FixupJunctions()

void SCHEMATIC::FixupJunctions ( )

Add junctions to this schematic where required.

This function is needed for some plugins (e.g. Legacy and Cadstar) in order to retain connectivity after loading.

Definition at line 729 of file schematic.cpp.

References SCH_SCREEN::Append(), SCH_LINE::BreakAt(), SCH_SCREEN::GetBusesAndWires(), SCH_SCREEN::GetNeededJunctions(), GetSheets(), and SCH_SCREEN::Items().

Referenced by SCH_IO_CADSTAR_ARCHIVE::LoadSchematicFile(), SCH_IO_EASYEDAPRO::LoadSchematicFile(), and SCH_EDIT_FRAME::OpenProjectFiles().

◆ 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

◆ GetBoundingBox()

const BOX2I EDA_ITEM::GetBoundingBox ( ) const
virtualinherited

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 in LIB_SYMBOL, SCH_BITMAP, SCH_BUS_ENTRY_BASE, SCH_FIELD, SCH_JUNCTION, SCH_LABEL_BASE, SCH_LINE, SCH_MARKER, SCH_NO_CONNECT, SCH_PIN, SCH_SHAPE, SCH_SHEET, SCH_SYMBOL, SCH_TABLE, SCH_TEXT, GBR_LAYOUT, GERBER_DRAW_ITEM, DS_DRAW_ITEM_LINE, DS_DRAW_ITEM_POLYPOLYGONS, DS_DRAW_ITEM_RECT, DS_DRAW_ITEM_PAGE, DS_DRAW_ITEM_TEXT, DS_DRAW_ITEM_BITMAP, BOARD, FOOTPRINT, PCB_TUNING_PATTERN, NETINFO_ITEM, PAD, PCB_DIMENSION_BASE, PCB_DIM_CENTER, PCB_GENERATOR, PCB_GROUP, PCB_MARKER, PCB_REFERENCE_IMAGE, PCB_SHAPE, PCB_TABLE, PCB_TARGET, PCB_TEXT, PCB_TRACK, ZONE, and DS_DRAW_ITEM_BASE.

Definition at line 74 of file eda_item.cpp.

Referenced by CADSTAR_SCH_ARCHIVE_LOADER::applyTextSettings(), CN_ITEM::BBox(), SCH_EDIT_TOOL::ChangeTextType(), TEST_BOARD_ITEM_FIXTURE::CompareItems(), TEST_EE_ITEM_FIXTURE::CompareItems(), EE_RTREE::contains(), BOARD_COMMIT::dirtyIntersectingZones(), KIGFX::SCH_PAINTER::draw(), KIGFX::PCB_PAINTER::Draw(), KIGFX::SCH_PAINTER::drawItemBoundingBox(), SCH_DRAWING_TOOLS::DrawSheet(), enclosedByAreaFunc(), PCB_SELECTION_TOOL::FindItem(), SCH_FIND_REPLACE_TOOL::FindNext(), GetBoundingBoxes(), BOARD_ITEM::GetCenter(), SCH_MOVE_TOOL::getConnectedDragItems(), SCH_MOVE_TOOL::getConnectedItems(), EE_SELECTION_TOOL::GuessSelectionCandidates(), PNS_KICAD_IFACE::HideItem(), EE_RTREE::insert(), intersectsAreaFunc(), SCH_SCREEN::MarkConnections(), SCH_EDIT_TOOL::Mirror(), SCH_EDIT_FRAME::onNetNavigatorSelection(), DRC_RTREE::QueryColliding(), EE_RTREE::remove(), SCH_EDIT_TOOL::Rotate(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstZones(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testKnockoutTextAgainstZone(), DRC_TEST_PROVIDER_SOLDER_MASK::testMaskBridges(), GERBVIEW_SELECTION::ViewBBox(), and EDA_ITEM::ViewBBox().

◆ GetBusAlias()

std::shared_ptr< BUS_ALIAS > SCHEMATIC::GetBusAlias ( const wxString &  aLabel) const

Return a pointer to a bus alias object for the given label, or null if one doesn't exist.

Definition at line 385 of file schematic.cpp.

References GetSheets().

◆ GetClass()

virtual wxString SCHEMATIC::GetClass ( ) const
inlineoverridevirtual

Return the class name.

Implements EDA_ITEM.

Definition at line 81 of file schematic.h.

◆ GetContextualTextVars()

void SCHEMATIC::GetContextualTextVars ( wxArrayString *  aVars) const

◆ GetEditFlags()

◆ GetFileName()

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

References EDA_ITEM::GetPosition().

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

◆ GetForcedTransparency()

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

◆ GetFriendlyName()

◆ GetFullHierarchy()

SCH_SHEET_LIST & SCHEMATIC::GetFullHierarchy ( ) const

Return the full schematic flattened hierarchical sheet list.

Definition at line 600 of file schematic.cpp.

References SCH_SHEET_LIST::BuildSheetList(), and m_rootSheet.

Referenced by DIALOG_SHEET_PROPERTIES::onSheetFilenameChanged(), and DIALOG_SHEET_PROPERTIES::TransferDataToWindow().

◆ GetItemDescription()

wxString EDA_ITEM::GetItemDescription ( UNITS_PROVIDER aUnitsProvider) const
virtualinherited

Return a user-visible description string of this item.

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

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

Returns
The menu text string.

Reimplemented in SCH_BITMAP, SCH_BUS_WIRE_ENTRY, SCH_BUS_BUS_ENTRY, SCH_FIELD, SCH_JUNCTION, SCH_LABEL, SCH_DIRECTIVE_LABEL, SCH_GLOBALLABEL, SCH_HIERLABEL, SCH_LINE, SCH_MARKER, SCH_NO_CONNECT, SCH_PIN, SCH_RULE_AREA, SCH_SHAPE, SCH_SHEET, DELETED_SHEET_ITEM, SCH_SHEET_PIN, SCH_SYMBOL, SCH_TABLE, SCH_TABLECELL, SCH_TEXT, SCH_TEXTBOX, GERBER_DRAW_ITEM, DELETED_BOARD_ITEM, DS_DRAW_ITEM_LINE, DS_DRAW_ITEM_POLYPOLYGONS, DS_DRAW_ITEM_RECT, DS_DRAW_ITEM_PAGE, DS_DRAW_ITEM_TEXT, DS_DRAW_ITEM_BITMAP, BOARD, FOOTPRINT, PCB_TUNING_PATTERN, PAD, PCB_DIMENSION_BASE, PCB_FIELD, PCB_GENERATOR, PCB_GROUP, PCB_MARKER, PCB_REFERENCE_IMAGE, PCB_SHAPE, PCB_TABLE, PCB_TABLECELL, PCB_TARGET, PCB_TEXT, PCB_TEXTBOX, PCB_TRACK, PCB_VIA, and ZONE.

Definition at line 108 of file eda_item.cpp.

References EDA_ITEM::GetClass().

Referenced by CONNECTION_GRAPH::collectAllDriverValues(), DIALOG_GROUP_PROPERTIES::DoAddMember(), SELECTION_TOOL::doSelectionMenu(), DRC_ENGINE::EvalRules(), BOARD_INSPECTION_TOOL::getItemDescription(), RC_ITEM::GetJsonViolation(), SCH_MARKER::GetMsgPanelInfo(), PCB_MARKER::GetMsgPanelInfo(), ERC_TREE_MODEL::GetValue(), RC_TREE_MODEL::GetValue(), PNS::SHOVE::shoveIteration(), RC_ITEM::ShowReport(), DIALOG_POSITION_RELATIVE::updateAnchorInfo(), and PCB_CONTROL::UpdateMessagePanel().

◆ GetMenuImage()

BITMAPS EDA_ITEM::GetMenuImage ( ) const
virtualinherited

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 in SCH_BITMAP, SCH_BUS_WIRE_ENTRY, SCH_BUS_BUS_ENTRY, SCH_FIELD, SCH_JUNCTION, SCH_LABEL, SCH_GLOBALLABEL, SCH_HIERLABEL, SCH_LINE, SCH_MARKER, SCH_NO_CONNECT, SCH_PIN, SCH_SHAPE, SCH_SHEET, SCH_SHEET_PIN, SCH_SYMBOL, SCH_TABLE, SCH_TEXT, SCH_TEXTBOX, GERBER_DRAW_ITEM, FOOTPRINT, PAD, PCB_DIM_ALIGNED, PCB_DIM_ORTHOGONAL, PCB_DIM_RADIAL, PCB_DIM_LEADER, PCB_DIM_CENTER, PCB_GROUP, PCB_MARKER, PCB_REFERENCE_IMAGE, PCB_SHAPE, PCB_TABLE, PCB_TARGET, PCB_TEXT, PCB_TEXTBOX, PCB_TRACK, PCB_VIA, and ZONE.

Definition at line 288 of file eda_item.cpp.

Referenced by SELECTION_TOOL::doSelectionMenu().

◆ GetMsgPanelInfo()

◆ GetNetClassAssignmentCandidates()

std::set< wxString > SCHEMATIC::GetNetClassAssignmentCandidates ( )

Return the set of netname candidates for netclass assignment.

The list will include both composite names (buses) and atomic net names. Names are fetched from available labels, power pins, etc.

Definition at line 400 of file schematic.cpp.

References CONNECTION_SUBGRAPH::GetDriverConnection(), CONNECTION_SUBGRAPH::GetDriverPriority(), CONNECTION_GRAPH::GetNetMap(), SCH_CONNECTION::IsBus(), m_connectionGraph, and CONNECTION_SUBGRAPH::PIN.

Referenced by DIALOG_SCHEMATIC_SETUP::DIALOG_SCHEMATIC_SETUP().

◆ GetOperatingPoint()

wxString SCHEMATIC::GetOperatingPoint ( const wxString &  aNetName,
int  aPrecision,
const wxString &  aRange 
)

◆ GetPageRefsMap()

std::map< wxString, std::set< int > > & SCHEMATIC::GetPageRefsMap ( )
inline

◆ GetParent()

EDA_ITEM * EDA_ITEM::GetParent ( ) const
inlineinherited

Definition at line 102 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(), KIGFX::SCH_PAINTER::draw(), 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_POINT_EDITOR::Main(), EE_SELECTION_TOOL::Main(), SCH_EDIT_TOOL::Mirror(), SCH_MOVE_TOOL::moveItem(), SCH_EDIT_FRAME::onNetNavigatorSelection(), SCH_FIELD::OnScintillaCharAdded(), SCH_COMMIT::parentObject(), SCH_FIELD::Print(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem(), 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(), SCH_SHEET::SearchHierarchy(), PCB_SELECTION_TOOL::select(), SCH_COMMIT::Stage(), DIALOG_SYMBOL_FIELDS_TABLE::TransferDataToWindow(), EE_SELECTION_TOOL::unhighlight(), DIALOG_FIELD_PROPERTIES::UpdateField(), EE_TOOL_BASE< T >::updateItem(), SCH_BASE_FRAME::UpdateItem(), and EE_POINT_EDITOR::updateParentItem().

◆ GetPosition()

virtual VECTOR2I EDA_ITEM::GetPosition ( ) const
inlinevirtualinherited

Reimplemented in SCH_BITMAP, SCH_BUS_ENTRY_BASE, SCH_FIELD, SCH_JUNCTION, SCH_LINE, SCH_MARKER, SCH_NO_CONNECT, SCH_PIN, SCH_SHAPE, SCH_SHEET, SCH_SYMBOL, SCH_TABLE, SCH_TEXT, GERBER_DRAW_ITEM, DELETED_BOARD_ITEM, DS_DRAW_ITEM_LINE, DS_DRAW_ITEM_POLYPOLYGONS, DS_DRAW_ITEM_RECT, DS_DRAW_ITEM_PAGE, DS_DRAW_ITEM_TEXT, DS_DRAW_ITEM_BITMAP, KIGFX::ORIGIN_VIEWITEM, BOARD, FOOTPRINT, TUNING_STATUS_VIEW_ITEM, NETINFO_ITEM, PAD, PCB_DIMENSION_BASE, PCB_GENERATOR, PCB_GROUP, PCB_MARKER, PCB_REFERENCE_IMAGE, PCB_SHAPE, PCB_TABLE, PCB_TARGET, PCB_TEXT, PCB_TRACK, PCB_ARC, PCB_VIA, ROUTER_STATUS_VIEW_ITEM, and ZONE.

Definition at line 242 of file eda_item.h.

Referenced by SYMBOL_EDITOR_MOVE_TOOL::AlignElements(), SCH_MOVE_TOOL::AlignToGrid(), TEARDROP_MANAGER::areItemsInSameZone(), SCH_EDIT_TOOL::ChangeTextType(), SCH_ITEM::compare(), TEST_BOARD_ITEM_FIXTURE::CompareItems(), TEST_EE_ITEM_FIXTURE::CompareItems(), PCB_GRID_HELPER::computeAnchors(), EE_GRID_HELPER::computeAnchors(), CONVERT_TOOL::CreatePolys(), SCH_EDIT_FRAME::DeleteJunction(), EDIT_TOOL::doMoveSelection(), SCH_MOVE_TOOL::doMoveSelection(), CONNECTION_GRAPH::ercCheckBusToBusConflicts(), CONNECTION_GRAPH::ercCheckBusToNetConflicts(), CONNECTION_GRAPH::ercCheckMultipleDrivers(), CONNECTION_GRAPH::ercCheckNoConnects(), CONNECTION_GRAPH::ercCheckSingleGlobalLabel(), PCB_SELECTION_TOOL::FindItem(), GERBVIEW_SELECTION::GetCenter(), SCH_MOVE_TOOL::getConnectedDragItems(), EDA_ITEM::GetFocusPosition(), BOARD_ITEM::GetFPRelativePosition(), RC_ITEM::GetJsonViolation(), getMinDist(), SCH_FIELD::GetParentPosition(), EDA_ITEM::GetSortPosition(), PCB_SELECTION::GetTopLeftItem(), EE_SELECTION::GetTopLeftItem(), BOARD_ITEM::GetX(), BOARD_ITEM::GetY(), SCH_EDIT_TOOL::Mirror(), SYMBOL_EDITOR_EDIT_TOOL::Mirror(), EDIT_TOOL::MoveExact(), DIALOG_MIGRATE_BUSES::onItemSelected(), BOARD::cmp_items::operator()(), PAD::PAD(), SCH_EDITOR_CONTROL::Paste(), PL_EDIT_TOOL::Paste(), PCB_CONTROL::placeBoardItems(), POSITION_RELATIVE_TOOL::PositionRelative(), BACK_ANNOTATE::processNetNameChange(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), SCH_EDIT_TOOL::RepeatDrawItem(), SCH_EDIT_TOOL::Rotate(), SYMBOL_EDITOR_EDIT_TOOL::Rotate(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), DRC_TEST_PROVIDER_TEXT_DIMS::Run(), RC_ITEM::ShowReport(), SCH_EDIT_TOOL::Swap(), EDIT_TOOL::Swap(), DRC_TEST_PROVIDER_MISC::testTextVars(), TransformItem(), DIALOG_POSITION_RELATIVE::UpdateAnchor(), and PL_EDIT_TOOL::updateModificationPoint().

◆ GetProperties()

◆ GetSheets()

SCH_SHEET_LIST SCHEMATIC::GetSheets ( ) const
inlineoverridevirtual

Builds and returns an updated schematic hierarchy TODO: can this be cached?

Returns
a SCH_SHEET_LIST containing the schematic hierarchy

Implements SCHEMATIC_IFACE.

Definition at line 100 of file schematic.h.

References m_rootSheet.

Referenced by SCH_EDIT_FRAME::AnnotateSymbols(), SCH_EDITOR_CONTROL::AssignFootprints(), BACK_ANNOTATE::BackAnnotateSymbols(), SCH_SCREENS::BuildClientSheetPathList(), CONNECTION_GRAPH::buildConnectionGraph(), CONNECTION_GRAPH::buildItemSubGraphs(), SCH_EDIT_FRAME::canCloseWindow(), SCH_NAVIGATE_TOOL::CanGoNext(), SCH_EDIT_FRAME::CheckAnnotate(), SCH_EDIT_FRAME::CheckSheetForRecursion(), SCH_NAVIGATE_TOOL::CleanHistory(), SCH_SCREENS::ClearAnnotationOfNewSheetPaths(), ConvertKIIDsToRefs(), ConvertRefsToKIIDs(), SCH_EDIT_FRAME::DeleteAnnotation(), SCH_MARKER::DeserializeFromString(), DIALOG_SYMBOL_FIELDS_TABLE::DIALOG_SYMBOL_FIELDS_TABLE(), SCH_EDIT_FRAME::doCloseWindow(), SCH_EDITOR_CONTROL::doCopy(), SCH_EDITOR_CONTROL::ExportSymbolsToLibrary(), findItemsFromSyncSelection(), SCH_EDITOR_CONTROL::FindSymbolAndItem(), findSymbolsAndPins(), FixupJunctions(), SCH_EDIT_FRAME::FocusOnItem(), SCH_IO_KICAD_SEXPR::Format(), TEST_SCH_REFERENCE_LIST_FIXTURE::getAdditionalRefs(), GetBusAlias(), DIALOG_TABLE_PROPERTIES::getContextualTextVars(), DIALOG_TEXT_PROPERTIES::getContextualTextVars(), SCH_EDIT_FRAME::GetItem(), DIALOG_SYMBOL_FIELDS_TABLE::getSheetSymbolReferences(), TEST_SCH_REFERENCE_LIST_FIXTURE::getSymbolByKIID(), DIALOG_CHANGE_SYMBOLS::getSymbolReferences(), DIALOG_SYMBOL_FIELDS_TABLE::getSymbolReferences(), ERC_REPORT::GetTextReport(), GetVirtualPageToSheetNamesMap(), GetVirtualPageToSheetPagesMap(), SCH_NAVIGATE_TOOL::HypertextCommand(), SCH_EDIT_FRAME::importFile(), DIALOG_EDIT_SYMBOLS_LIBID::initDlg(), SCH_EDIT_FRAME::IsContentModified(), EESCHEMA_JOBS_HANDLER::JobExportBom(), EESCHEMA_JOBS_HANDLER::JobExportNetlist(), EESCHEMA_JOBS_HANDLER::JobExportPythonBom(), SCH_EDIT_FRAME::KiwayMailIn(), KI_TEST::SCHEMATIC_TEST_FIXTURE::LoadSchematic(), EESCHEMA_HELPERS::LoadSchematic(), SCH_IO_CADSTAR_ARCHIVE::LoadSchematicFile(), SCH_EDIT_FRAME::LoadSheetFromFile(), SCH_EDIT_FRAME::mapExistingAnnotation(), SCH_NAVIGATE_TOOL::Next(), DIALOG_ERC::OnERCItemSelected(), SCH_PRINTOUT::OnPrintPage(), DIALOG_ERC::OnRunERCClick(), DIALOG_SYMBOL_FIELDS_TABLE::OnSchItemsAdded(), DIALOG_SYMBOL_FIELDS_TABLE::OnSchItemsChanged(), SCH_FIELD::OnScintillaCharAdded(), SCH_EDIT_FRAME::OpenProjectFiles(), SCH_EDITOR_CONTROL::Paste(), SCH_DRAWING_TOOLS::PlaceSymbol(), SCH_NAVIGATE_TOOL::Previous(), SCH_EDITOR_CONTROL::processCmpToFootprintLinkFile(), DIALOG_CHANGE_SYMBOLS::processMatchingSymbols(), SCH_EDIT_FRAME::PutDataInPreviousState(), SCH_EDIT_FRAME::ReadyToNetlist(), SCH_EDIT_FRAME::RecalculateConnections(), RecomputeIntersheetRefs(), RecordERCExclusions(), SCH_EDITOR_CONTROL::RepairSchematic(), SCH_FIND_REPLACE_TOOL::ReplaceAll(), ResolveCrossReference(), ResolveERCExclusions(), ResolveERCExclusionsPostUpdate(), SCH_SHEET::ResolveTextVar(), SCH_COMMIT::Revert(), SCH_EDIT_FRAME::SaveProject(), SCH_IO_KICAD_SEXPR::saveSheet(), SCH_IO_KICAD_SEXPR::saveSymbol(), SCH_EDIT_FRAME::SaveSymbolToSchematic(), SCHEMATIC(), SetSheetNumberAndCount(), sheetContainsOnlyWantedItems(), ERC_TESTER::TestFootprintLinkIssues(), ERC_TESTER::TestFourWayJunction(), ERC_TESTER::TestMissingNetclasses(), ERC_TESTER::TestMissingUnits(), ERC_TESTER::TestMultiunitFootprints(), ERC_TESTER::TestNoConnectPins(), ERC_TESTER::TestSimModelIssues(), ERC_TESTER::TestTextVars(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::TransferDataFromWindow(), DIALOG_FIELD_PROPERTIES::UpdateField(), DIALOG_CHANGE_SYMBOLS::updateFieldsList(), SCH_SCREENS::UpdateSymbolLinks(), SHEETLIST_ERC_ITEMS_PROVIDER::visitMarkers(), ERC_REPORT::WriteJsonReport(), and SCH_EDIT_FRAME::WriteNetListFile().

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

References EDA_ITEM::GetPosition().

◆ GetTempFlags()

EDA_ITEM_FLAGS EDA_ITEM::GetTempFlags ( ) const
inlineinherited

◆ GetTypeDesc()

wxString EDA_ITEM::GetTypeDesc ( ) const
inherited

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

Definition at line 320 of file eda_item.cpp.

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

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

◆ GetUniqueFilenameForCurrentSheet()

wxString SCHEMATIC::GetUniqueFilenameForCurrentSheet ( )
Returns
a filename that can be used in plot and print functions for the current screen and sheet path. This filename is unique and must be used instead of the screen filename when one must create files for each sheet in the hierarchy. Name is &ltroot sheet filename&gt-&ltsheet path&gt and has no extension. However if filename is too long name is &ltsheet filename&gt-&ltsheet number&gt

Definition at line 619 of file schematic.cpp.

References SCH_SHEET_PATH::at(), CurrentSheet(), GetFileName(), SCH_SHEET::GetName(), and SCH_SHEET_PATH::size().

Referenced by SCH_PLOTTER::createDXFFiles(), SCH_PLOTTER::createHPGLFiles(), SCH_PLOTTER::createPSFiles(), SCH_PLOTTER::createSVGFiles(), and SCH_PLOTTER::getOutputFilenameSingle().

◆ GetVirtualPageToSheetNamesMap()

std::map< int, wxString > SCHEMATIC::GetVirtualPageToSheetNamesMap ( ) const

Definition at line 454 of file schematic.cpp.

References _, and GetSheets().

Referenced by SCH_LABEL_BASE::GetIntersheetRefs().

◆ GetVirtualPageToSheetPagesMap()

std::map< int, wxString > SCHEMATIC::GetVirtualPageToSheetPagesMap ( ) const

Definition at line 470 of file schematic.cpp.

References GetSheets().

Referenced by SCH_LABEL_BASE::GetIntersheetRefs(), and SCH_GLOBALLABEL::ResolveTextVar().

◆ HasFlag()

◆ HitTest() [1/2]

virtual bool EDA_ITEM::HitTest ( const BOX2I aRect,
bool  aContained,
int  aAccuracy = 0 
) const
inlinevirtualinherited

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 in PCB_TUNING_PATTERN, SCH_BITMAP, SCH_BUS_ENTRY_BASE, SCH_FIELD, SCH_JUNCTION, SCH_LABEL_BASE, SCH_LINE, SCH_NO_CONNECT, SCH_PIN, SCH_SHAPE, SCH_SHEET, SCH_SYMBOL, SCH_TABLE, SCH_TEXT, SCH_TEXTBOX, DS_DRAW_ITEM_BASE, DS_DRAW_ITEM_POLYPOLYGONS, DS_DRAW_ITEM_RECT, DS_DRAW_ITEM_TEXT, DS_DRAW_ITEM_BITMAP, FOOTPRINT, PAD, PCB_DIMENSION_BASE, PCB_GROUP, PCB_REFERENCE_IMAGE, PCB_SHAPE, PCB_TABLE, PCB_TARGET, PCB_TEXT, PCB_TEXTBOX, PCB_TRACK, PCB_VIA, PCB_ARC, ZONE, and GERBER_DRAW_ITEM.

Definition at line 228 of file eda_item.h.

◆ HitTest() [2/2]

◆ InvokeListeners()

template<typename Func , typename... Args>
void SCHEMATIC::InvokeListeners ( Func &&  aFunc,
Args &&...  args 
)
inlineprivate

Definition at line 309 of file schematic.h.

References m_listeners.

Referenced by OnItemsAdded(), OnItemsChanged(), OnItemsRemoved(), and OnSchSheetChanged().

◆ IsBrightened()

◆ IsEntered()

bool EDA_ITEM::IsEntered ( ) const
inlineinherited

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

References EDA_ITEM::m_forceVisible.

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

◆ IsModified()

bool EDA_ITEM::IsModified ( ) const
inlineinherited

Definition at line 105 of file eda_item.h.

References IS_CHANGED, and EDA_ITEM::m_flags.

Referenced by PCB_EDIT_FRAME::OpenProjectFiles().

◆ IsMoving()

◆ IsNew()

◆ IsReplaceable()

virtual bool EDA_ITEM::IsReplaceable ( ) const
inlinevirtualinherited

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 in SCH_FIELD, SCH_LABEL, SCH_SHEET, SCH_SHEET_PIN, SCH_SYMBOL, SCH_TEXT, and SCH_TEXTBOX.

Definition at line 413 of file eda_item.h.

Referenced by EDA_ITEM::Matches().

◆ IsRollover()

bool EDA_ITEM::IsRollover ( ) const
inlineinherited

Definition at line 113 of file eda_item.h.

References IS_MOVING, IS_ROLLOVER, and EDA_ITEM::m_flags.

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

◆ IsSelected()

bool EDA_ITEM::IsSelected ( ) const
inlineinherited

Definition at line 109 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::GERBVIEW_RENDER_SETTINGS::GetColor(), KIGFX::DS_RENDER_SETTINGS::GetColor(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), SCH_MOVE_TOOL::getConnectedDragItems(), KIGFX::SCH_PAINTER::getLineWidth(), DIALOG_EXCHANGE_FOOTPRINTS::isMatch(), DIALOG_CHANGE_SYMBOLS::isMatch(), SCH_SCREEN::MarkConnections(), SCH_LINE::MergeOverlap(), SCH_EDIT_TOOL::Mirror(), EDIT_TOOL::MoveExact(), SCH_MOVE_TOOL::moveItem(), KIGFX::SCH_PAINTER::nonCached(), SCH_MOVE_TOOL::orthoLineDrag(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::processItem(), BOARD_COMMIT::Push(), SCH_COMMIT::pushSchEdit(), EE_SELECTION_TOOL::RebuildSelection(), PCB_SELECTION_TOOL::RebuildSelection(), SCH_FIND_REPLACE_TOOL::ReplaceAll(), SCH_COMMIT::Revert(), SCH_EDIT_TOOL::Rotate(), EE_TOOL_BASE< T >::saveCopyInUndoList(), 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(), SCH_SYMBOL::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 167 of file eda_item.h.

References IS_SHOWN_AS_BITMAP, and EDA_ITEM::m_flags.

◆ IsType()

◆ IsValid()

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

References EDA_ITEM::Visit().

◆ Matches() [1/2]

virtual bool EDA_ITEM::Matches ( const EDA_SEARCH_DATA aSearchData,
void *  aAuxData 
) const
inlinevirtualinherited

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 in SCH_MARKER, SCH_FIELD, SCH_LABEL_BASE, SCH_PIN, SCH_SHEET, SCH_SHEET_PIN, SCH_SYMBOL, SCH_TABLE, SCH_TEXT, SCH_TEXTBOX, NETINFO_ITEM, PCB_MARKER, PCB_TABLE, PCB_TEXT, PCB_TEXTBOX, and ZONE.

Definition at line 375 of file eda_item.h.

Referenced by SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape(), SCH_DRAWING_TOOLS::DrawShape(), SCH_FIND_REPLACE_TOOL::HasMatch(), SCH_MARKER::Matches(), SCH_FIELD::Matches(), SCH_LABEL_BASE::Matches(), SCH_PIN::Matches(), SCH_SHEET_PIN::Matches(), SCH_TEXT::Matches(), SCH_TEXTBOX::Matches(), NETINFO_ITEM::Matches(), PCB_MARKER::Matches(), PCB_TEXT::Matches(), PCB_TEXTBOX::Matches(), ZONE::Matches(), TEXT_SEARCH_HANDLER::Search(), SCH_DRAWING_TOOLS::TwoClickPlace(), SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace(), and SCH_FIND_REPLACE_TOOL::UpdateFind().

◆ Matches() [2/2]

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

Compare aText against search criteria in aSearchData.

This is a helper function for simplify derived class logic.

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

Definition at line 123 of file eda_item.cpp.

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

◆ OnItemsAdded()

void SCHEMATIC::OnItemsAdded ( std::vector< SCH_ITEM * > &  aNewItems)

Must be used if Add() is used using a BULK_x ADD_MODE to generate a change event for listeners.

Definition at line 757 of file schematic.cpp.

References InvokeListeners(), and SCHEMATIC_LISTENER::OnSchItemsAdded().

Referenced by SCH_COMMIT::pushSchEdit(), SCH_EDIT_FRAME::PutDataInPreviousState(), and SCH_COMMIT::Revert().

◆ OnItemsChanged()

void SCHEMATIC::OnItemsChanged ( std::vector< SCH_ITEM * > &  aItems)

Notify the schematic and its listeners that an item on the schematic has been modified in some way.

Definition at line 769 of file schematic.cpp.

References InvokeListeners(), and SCHEMATIC_LISTENER::OnSchItemsChanged().

Referenced by SCH_COMMIT::pushSchEdit(), SCH_EDIT_FRAME::PutDataInPreviousState(), and SCH_COMMIT::Revert().

◆ OnItemsRemoved()

void SCHEMATIC::OnItemsRemoved ( std::vector< SCH_ITEM * > &  aRemovedItems)

Must be used if Remove() is used using a BULK_x REMOVE_MODE to generate a change event for listeners.

Definition at line 763 of file schematic.cpp.

References InvokeListeners(), and SCHEMATIC_LISTENER::OnSchItemsRemoved().

Referenced by SCH_COMMIT::pushSchEdit(), SCH_EDIT_FRAME::PutDataInPreviousState(), and SCH_COMMIT::Revert().

◆ OnSchSheetChanged()

void SCHEMATIC::OnSchSheetChanged ( )

Notify the schematic and its listeners that the current sheet has been changed.

This is called when the user navigates to a different sheet, not when the sheet is altered.

Definition at line 775 of file schematic.cpp.

References InvokeListeners(), and SCHEMATIC_LISTENER::OnSchSheetChanged().

Referenced by SCH_EDIT_FRAME::DisplayCurrentSheet().

◆ operator<()

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

Test if another item is less than this object.

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

Definition at line 249 of file eda_item.cpp.

References EDA_ITEM::GetClass().

◆ Prj()

PROJECT & SCHEMATIC::Prj ( ) const
inlineoverridevirtual

Return a reference to the project this schematic is part of.

Implements SCHEMATIC_IFACE.

Definition at line 90 of file schematic.h.

References m_project.

Referenced by CONNECTION_GRAPH::buildConnectionGraph(), SCH_PLOTTER::createPDFFile(), KIGFX::SCH_VIEW::DisplaySheet(), GetContextualTextVars(), EESCHEMA_JOBS_HANDLER::getDrawingSheetProxyView(), SCH_ITEM::GetEffectiveNetClass(), SCH_IO_ALTIUM::getLibFileName(), SCH_IO_EAGLE::getLibFileName(), SCH_IO_ALTIUM::getLibName(), SCH_IO_EAGLE::getLibName(), TEST_NETLIST_EXPORTER_SPICE_FIXTURE::GetNetlistPath(), TEST_SIM_REGRESSIONS_FIXTURE::GetNetlistPath(), EESCHEMA_JOBS_HANDLER::InitRenderSettings(), EESCHEMA_JOBS_HANDLER::JobExportBom(), EESCHEMA_JOBS_HANDLER::JobExportPlot(), EESCHEMA_JOBS_HANDLER::JobSchErc(), LTSPICE_SCHEMATIC::Load(), SCH_IO_EAGLE::loadLibrary(), SCH_IO_ALTIUM::LoadSchematicFile(), SCH_IO_CADSTAR_ARCHIVE::LoadSchematicFile(), SCH_IO_EAGLE::LoadSchematicFile(), SCH_IO_EASYEDA::LoadSchematicFile(), SCH_IO_EASYEDAPRO::LoadSchematicFile(), SCH_IO_KICAD_LEGACY::LoadSchematicFile(), SCH_IO_KICAD_SEXPR::LoadSchematicFile(), SCH_IO_LTSPICE::LoadSchematicFile(), CADSTAR_SCH_ARCHIVE_LOADER::loadSheetAndChildSheets(), CADSTAR_SCH_ARCHIVE_LOADER::loadSheets(), CADSTAR_SCH_ARCHIVE_LOADER::loadTextVariables(), SCH_FIELD::OnScintillaCharAdded(), SCH_IO_ALTIUM::ParseAltiumSch(), SCH_IO_ALTIUM::ParseHarnessType(), SCH_IO_ALTIUM::ParseParameter(), SCH_PLOTTER::plotOneSheetDXF(), SCH_PLOTTER::plotOneSheetHpgl(), SCH_PLOTTER::plotOneSheetPDF(), SCH_PLOTTER::plotOneSheetPS(), SCH_PLOTTER::plotOneSheetSVG(), SCH_SHEET::ResolveTextVar(), SCH_SYMBOL::ResolveTextVar(), ResolveTextVar(), SCH_IO_KICAD_SEXPR::saveSheet(), ERC_TESTER::TestLibSymbolIssues(), ERC_TESTER::TestMissingNetclasses(), ERC_TESTER::TestSimModelIssues(), and ERC_TESTER::TestTextVars().

◆ RecomputeIntersheetRefs()

void SCHEMATIC::RecomputeIntersheetRefs ( const std::function< void(SCH_GLOBALLABEL *)> &  aItemCallback)

Update the schematic's page reference map for all global labels, and refresh the labels so that they are redrawn with up-to-date references.

Definition at line 664 of file schematic.cpp.

References CurrentSheet(), GetPageRefsMap(), GetSheets(), SCH_LABEL_BASE::GetShownText(), SCH_SHEET_PATH::LastScreen(), SCHEMATIC_SETTINGS::m_IntersheetRefsShow, SCH_GLOBAL_LABEL_T, Settings(), and SCH_SCREEN::Update().

Referenced by EESCHEMA_HELPERS::LoadSchematic(), and SCH_EDIT_FRAME::RecomputeIntersheetRefs().

◆ RecordERCExclusions()

◆ RemoveAllListeners()

void SCHEMATIC::RemoveAllListeners ( )

Remove all listeners.

Definition at line 800 of file schematic.cpp.

References m_listeners.

Referenced by SCH_EDIT_FRAME::~SCH_EDIT_FRAME().

◆ RemoveListener()

void SCHEMATIC::RemoveListener ( SCHEMATIC_LISTENER aListener)

Remove the specified listener.

If it has not been added before, it will do nothing.

Definition at line 788 of file schematic.cpp.

References m_listeners.

Referenced by DIALOG_SYMBOL_FIELDS_TABLE::OnClose().

◆ RenderAsBitmap()

virtual bool EDA_ITEM::RenderAsBitmap ( double  aWorldScale) const
inlinevirtualinherited

Reimplemented in SCH_ITEM.

Definition at line 157 of file eda_item.h.

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

◆ Replace() [2/2]

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

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

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

Definition at line 186 of file eda_item.cpp.

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

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

◆ Reset()

◆ ResolveCrossReference()

bool SCHEMATIC::ResolveCrossReference ( wxString *  token,
int  aDepth 
) const

Resolves text vars that refer to other items.

Note that the actual resolve is delegated to the symbol/sheet in question. This routine just does the look-up and delegation.

Definition at line 419 of file schematic.cpp.

References SCH_SHEET_LIST::GetItem(), SCH_SYMBOL::GetRef(), GetSheets(), SCH_SHEET_PATH::push_back(), SCH_SHEET::ResolveTextVar(), SCH_SYMBOL::ResolveTextVar(), SCH_SHEET_T, SCH_SYMBOL_T, and EDA_ITEM::Type().

Referenced by SCH_LABEL_BASE::ResolveTextVar(), SCH_SHEET::ResolveTextVar(), and SCH_SYMBOL::ResolveTextVar().

◆ ResolveERCExclusions()

◆ ResolveERCExclusionsPostUpdate()

void SCHEMATIC::ResolveERCExclusionsPostUpdate ( )

◆ ResolveTextVar()

◆ Root()

SCH_SHEET & SCHEMATIC::Root ( ) const
inline

Definition at line 105 of file schematic.h.

References m_rootSheet.

Referenced by DIALOG_SYMBOL_REMAP::backupProject(), SCH_NAVIGATE_TOOL::CanGoUp(), SCH_SCREENS::ClearAnnotationOfNewSheetPaths(), SCH_PLOTTER::createDXFFiles(), SCH_PLOTTER::createHPGLFiles(), SCH_PLOTTER::createPDFFile(), SCH_PLOTTER::createPSFiles(), SCH_EDIT_FRAME::CreateScreens(), SCH_PLOTTER::createSVGFiles(), DIALOG_ERC::deleteAllMarkers(), SHEETLIST_ERC_ITEMS_PROVIDER::DeleteItem(), SCH_EDIT_FRAME::doAutoSave(), SCH_SEARCH_HANDLER::FindAll(), SCH_FIND_REPLACE_TOOL::FindNext(), SCH_PRINTOUT::GetPageInfo(), HIERARCHY_PANE::getRootString(), getSymbols(), SCH_PRINTOUT::HasPage(), SCH_EDIT_FRAME::importFile(), EE_SELECTION_TOOL::Init(), SCH_DRAWING_TOOLS::Init(), SCH_LINE_WIRE_BUS_TOOL::Init(), SCH_SHEET::IsRootSheet(), KI_TEST::SCHEMATIC_TEST_FIXTURE::LoadSchematic(), EESCHEMA_HELPERS::LoadSchematic(), SCH_IO_ALTIUM::LoadSchematicFile(), SCH_IO_CADSTAR_ARCHIVE::LoadSchematicFile(), SCH_IO_EAGLE::LoadSchematicFile(), SCH_IO_EASYEDA::LoadSchematicFile(), SCH_IO_EASYEDAPRO::LoadSchematicFile(), SCH_IO_KICAD_LEGACY::LoadSchematicFile(), SCH_IO_KICAD_SEXPR::LoadSchematicFile(), SCH_IO_LTSPICE::LoadSchematicFile(), DIALOG_SCH_IMPORT_SETTINGS::OnBrowseClicked(), DIALOG_ERC::OnERCItemRClick(), DIALOG_PLOT_SCHEMATIC::OnOutputDirectoryBrowseClicked(), DIALOG_SHEET_PROPERTIES::onSheetFilenameChanged(), SCH_EDIT_FRAME::OpenProjectFiles(), SCH_EDITOR_CONTROL::Paste(), SCH_EDIT_TOOL::Properties(), SCH_EDIT_FRAME::PutDataInPreviousState(), DIALOG_SYMBOL_REMAP::remapSymbolsToLibTable(), SCH_FIND_REPLACE_TOOL::ReplaceAll(), SCH_EDITOR_CONTROL::rescueProject(), SCH_EDITOR_CONTROL::RescueSymbols(), ResolveTextVar(), SCH_EDITOR_CONTROL::Revert(), ERC_TESTER::RunRuleAreaERC(), SCH_EDIT_FRAME::SaveProject(), SCH_IO_KICAD_SEXPR::saveSheet(), SCH_IO_KICAD_SEXPR::saveSymbol(), SetSheetNumberAndCount(), SCH_DRAWING_TOOLS::SyncAllSheetsPins(), ERC_TESTER::TestConflictingBusAliases(), ERC_TESTER::TestDuplicateSheetNames(), DIALOG_ERC::testErc(), ERC_TESTER::TestLibSymbolIssues(), ERC_TESTER::TestOffGridEndpoints(), DIALOG_SHEET_PROPERTIES::TransferDataFromWindow(), PANEL_SETUP_BUSES::TransferDataFromWindow(), DIALOG_PRINT_USING_PRINTER::TransferDataFromWindow(), DIALOG_LABEL_PROPERTIES::TransferDataToWindow(), PANEL_SETUP_BUSES::TransferDataToWindow(), HIERARCHY_PANE::UpdateHierarchyTree(), LEGACY_RESCUER::WriteRescueLibrary(), and SYMBOL_LIB_TABLE_RESCUER::WriteRescueLibrary().

◆ RootScreen()

◆ 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, and PCB_VIA.

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

◆ SetBrightened()

◆ SetCurrentSheet()

◆ SetFlags()

void EDA_ITEM::SetFlags ( EDA_ITEM_FLAGS  aMask)
inlineinherited

Definition at line 126 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(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), 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(), SCH_SYMBOL::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(), 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::updateSizesAfterLayerSwitch().

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

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

◆ SetLegacySymbolInstanceData()

void SCHEMATIC::SetLegacySymbolInstanceData ( )

Update the symbol value and footprint instance data for legacy designs.

Prior to schematic file format version 20200828 and legacy file format version, only symbol reference field and unit were saved in the instance data. The value and footprint fields must be carried forward from the original symbol to prevent data loss.

Definition at line 611 of file schematic.cpp.

References m_rootSheet, and SCH_SCREENS::SetLegacySymbolInstanceData().

◆ SetModified()

◆ SetOperatingPoint()

void SCHEMATIC::SetOperatingPoint ( const wxString &  aSignal,
double  aValue 
)
inline

Set operating points from a .op simulation.

Called after the simulation completes.

Definition at line 232 of file schematic.h.

References m_operatingPoints.

Referenced by SIMULATOR_FRAME_UI::OnSimRefresh().

◆ SetParent()

virtual void EDA_ITEM::SetParent ( EDA_ITEM aParent)
inlinevirtualinherited

Reimplemented in LIB_SYMBOL, and NETINFO_ITEM.

Definition at line 103 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(), 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(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), PCB_EDIT_FRAME::ExchangeFootprint(), PAD_TOOL::explodePad(), LIB_SYMBOL::Flatten(), PCB_IO_KICAD_SEXPR::FootprintSave(), DISPLAY_FOOTPRINTS_FRAME::GetFootprint(), CADSTAR_SCH_ARCHIVE_LOADER::getKiCadSchText(), PCB_TABLE::InsertCell(), SCH_TABLE::InsertCell(), LIB_SYMBOL::LIB_SYMBOL(), LTSPICE_SCHEMATIC::Load(), SCH_IO_KICAD_LEGACY_LIB_CACHE::loadAliases(), CADSTAR_SCH_ARCHIVE_LOADER::loadChildSheets(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), SCH_IO_KICAD_SEXPR::loadHierarchy(), SCH_IO_KICAD_LEGACY::loadHierarchy(), KI_TEST::LoadHierarchy(), LIB_SYMBOL::operator=(), SCH_IO_KICAD_SEXPR_PARSER::parseLibSymbol(), SCH_IO_KICAD_SEXPR_PARSER::ParseSchematic(), SCH_EDITOR_CONTROL::Paste(), SYMBOL_EDITOR_EDIT_TOOL::Paste(), PCB_CONTROL::Paste(), pasteFootprintItemsToFootprintEditor(), BOARD_EDITOR_CONTROL::PlaceFootprint(), BACK_ANNOTATE::processNetNameChange(), PAD_TOOL::RecombinePad(), SCH_IO_LIB_CACHE::removeSymbol(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), CLIPBOARD_IO::SaveSelection(), SCH_SHEET_PIN::SCH_SHEET_PIN(), LIB_SYMBOL::SetFields(), SCH_DRAWING_TOOLS::SingleClickPlace(), SCH_LINE_WIRE_BUS_TOOL::startSegments(), FOOTPRINT::swapData(), PCB_TABLE::swapData(), SCH_LABEL_BASE::SwapData(), SCH_SHEET::SwapData(), SCH_SYMBOL::SwapData(), SCH_TABLE::SwapData(), BOARD_ITEM::SwapItemData(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), and SCH_DRAWING_TOOLS::TwoClickPlace().

◆ SetPosition()

◆ SetProject()

◆ SetRoot()

void SCHEMATIC::SetRoot ( SCH_SHEET aRootSheet)

Initialize the schematic with a new root sheet.

This is typically done by calling a file loader that returns the new root sheet As a side-effect, takes care of some post-load initialization.

Parameters
aRootSheetis the new root sheet for this schematic.

Definition at line 186 of file schematic.cpp.

References SCH_SHEET_PATH::clear(), m_connectionGraph, m_currentSheet, m_rootSheet, SCH_SHEET_PATH::push_back(), and CONNECTION_GRAPH::Reset().

Referenced by SCH_EDIT_FRAME::CreateScreens(), SCH_EDIT_FRAME::importFile(), KI_TEST::SCHEMATIC_TEST_FIXTURE::LoadSchematic(), EESCHEMA_HELPERS::LoadSchematic(), SCH_IO_ALTIUM::LoadSchematicFile(), SCH_IO_CADSTAR_ARCHIVE::LoadSchematicFile(), SCH_IO_EAGLE::LoadSchematicFile(), SCH_IO_EASYEDA::LoadSchematicFile(), SCH_IO_EASYEDAPRO::LoadSchematicFile(), SCH_IO_LTSPICE::LoadSchematicFile(), and SCH_EDIT_FRAME::OpenProjectFiles().

◆ SetSelected()

◆ SetSheetNumberAndCount()

◆ Settings()

SCHEMATIC_SETTINGS & SCHEMATIC::Settings ( ) const

Definition at line 289 of file schematic.cpp.

References PROJECT::GetProjectFile(), m_project, and PROJECT_FILE::m_SchematicSettings.

Referenced by SCH_EDIT_TOOL::ChangeTextType(), SCH_EDIT_FRAME::CommonSettingsChanged(), SCH_DRAWING_TOOLS::createNewSheetPin(), SCH_DRAWING_TOOLS::createNewText(), SCH_PLOTTER::createPlotFileName(), DIALOG_EXPORT_NETLIST::DIALOG_EXPORT_NETLIST(), DIALOG_SCHEMATIC_SETUP::DIALOG_SCHEMATIC_SETUP(), SCH_DRAWING_TOOLS::DrawShape(), SCH_DRAWING_TOOLS::DrawTable(), SCH_JUNCTION::getEffectiveShape(), SCH_SHAPE::GetEffectiveWidth(), SCH_LABEL_BASE::GetLabelBoxExpansion(), SCH_DIRECTIVE_LABEL::GetPenWidth(), SCH_LINE::GetPenWidth(), SCH_SHEET::GetPenWidth(), SCH_SHEET_PIN::GetPenWidth(), DIALOG_PLOT_SCHEMATIC::getPlotOptions(), SCH_EDIT_FRAME::GetSchematicJunctionSize(), SCH_TEXT::GetTextOffset(), DIALOG_PLOT_SCHEMATIC::initDlg(), EESCHEMA_JOBS_HANDLER::InitRenderSettings(), DIALOG_ANNOTATE::InitValues(), DIALOG_EXPORT_NETLIST::InstallPageSpice(), DIALOG_EXPORT_NETLIST::InstallPageSpiceModel(), EESCHEMA_JOBS_HANDLER::JobExportBom(), PANEL_EESCHEMA_ANNOTATION_OPTIONS::loadEEschemaSettings(), SCH_EDIT_FRAME::LoadProjectSettings(), DIALOG_EXPORT_NETLIST::NetlistUpdateOpt(), DIALOG_SYMBOL_PROPERTIES::OnAddField(), DIALOG_SCHEMATIC_SETUP::onAuxiliaryAction(), SCH_EDITOR_CONTROL::Paste(), SCH_DRAWING_TOOLS::PlaceSymbol(), BACK_ANNOTATE::processNetNameChange(), SCH_EDIT_FRAME::RecalculateConnections(), RecomputeIntersheetRefs(), SCH_EDIT_FRAME::RefreshOperatingPointDisplay(), SCH_EDIT_TOOL::RepeatDrawItem(), SCH_GLOBALLABEL::ResolveTextVar(), SCH_SYMBOL::ResolveTextVar(), SCH_EDIT_FRAME::ShowSchematicSetupDialog(), ERC_TESTER::TestOffGridEndpoints(), DIALOG_EXPORT_NETLIST::TransferDataFromWindow(), DIALOG_LABEL_PROPERTIES::TransferDataFromWindow(), PANEL_SETUP_FORMATTING::TransferDataFromWindow(), PANEL_SETUP_FORMATTING::TransferDataToWindow(), SCH_DRAWING_TOOLS::TwoClickPlace(), SCH_SHEET_PATH::UpdateAllScreenReferences(), DIALOG_FIELD_PROPERTIES::UpdateField(), and DIALOG_ANNOTATE::~DIALOG_ANNOTATE().

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

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

References EDA_ITEM::m_structType.

Referenced by CN_CONNECTIVITY_ALGO::Add(), BOARD::Add(), FOOTPRINT::Add(), CN_CLUSTER::Add(), PCB_POINT_EDITOR::addCorner(), PCB_GROUP::AddItem(), CONNECTION_SUBGRAPH::AddItem(), DRC_TEST_PROVIDER_SOLDER_MASK::addItemToRTrees(), ZONE_FILLER::addKnockout(), SCH_SHEET::AddPin(), SCH_BASE_FRAME::AddToScreen(), ALIGN_DISTRIBUTE_TOOL::AlignBottom(), ALIGN_DISTRIBUTE_TOOL::AlignCenterX(), ALIGN_DISTRIBUTE_TOOL::AlignCenterY(), SCH_MOVE_TOOL::AlignToGrid(), ALIGN_DISTRIBUTE_TOOL::AlignTop(), CN_ITEM::AnchorCount(), SCH_SCREEN::Append(), CADSTAR_SCH_ARCHIVE_LOADER::applyTextSettings(), TEARDROP_MANAGER::areItemsInSameZone(), PNS::TOPOLOGY::AssembleTuningPath(), SCH_LABEL_BASE::AutoplaceFields(), EE_SELECTION_TOOL::autostartEvent(), 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(), SCH_SYMBOL::CanConnect(), 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(), SCH_SYMBOL::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_PIN::compare(), SCH_TEXT::compare(), SCH_TEXTBOX::compare(), PCB_GRID_HELPER::computeAnchors(), EE_GRID_HELPER::computeAnchors(), SCH_BUS_WIRE_ENTRY::ConnectionPropagatesTo(), SCH_LINE::ConnectionPropagatesTo(), EE_RTREE::contains(), PICKED_ITEMS_LIST::ContainsItemType(), BOARD::ConvertKIIDsToCrossReferences(), ConvertKIIDsToRefs(), PAD_TOOL::copyPadSettings(), FOOTPRINT::CoverageRatio(), CreateItemForType(), BOARD_ADAPTER::createLayers(), PCB_BASE_FRAME::CreateNewFootprint(), SCH_DRAWING_TOOLS::createNewText(), ZONE_CREATE_HELPER::createNewZone(), BOARD_ADAPTER::createTrack(), EE_INSPECTION_TOOL::CrossProbe(), DRC_TOOL::CrossProbe(), SCH_SCREEN::DeleteItem(), DIALOG_DIMENSION_PROPERTIES::DIALOG_DIMENSION_PROPERTIES(), DIALOG_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(), SYMBOL_EDITOR_EDIT_TOOL::Duplicate(), EDIT_TOOL::Duplicate(), FOOTPRINT::DuplicateItem(), EDA_ITEM_DESC::EDA_ITEM_DESC(), SCH_EDIT_TOOL::EditField(), SCH_EDIT_TOOL::editFieldText(), SYMBOL_EDITOR_EDIT_TOOL::editTextBoxProperties(), SYMBOL_EDITOR_EDIT_TOOL::editTextProperties(), CONNECTION_GRAPH::ercCheckBusToBusConflicts(), CONNECTION_GRAPH::ercCheckBusToBusEntryConflicts(), CONNECTION_GRAPH::ercCheckBusToNetConflicts(), CONNECTION_GRAPH::ercCheckFloatingWires(), CONNECTION_GRAPH::ercCheckLabels(), CONNECTION_GRAPH::ercCheckMultipleDrivers(), CONNECTION_GRAPH::ercCheckNoConnects(), DRC_ENGINE::EvalRules(), DRC_ENGINE::EvalZoneConnection(), 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(), PCB_POINT_EDITOR::get45DegConstrainer(), CN_ITEM::GetAnchor(), BOARD_ITEM::GetBoard(), SCH_FIELD::GetBoundingBox(), SCH_LABEL_BASE::GetBoundingBox(), PCB_TRACK::GetBoundingBox(), SCH_FIELD::GetCanonicalName(), PCB_FIELD::GetCanonicalName(), EDIT_TOOL::getChildItemsOfGroupsAndGenerators(), getClosestGroup(), KIGFX::GERBVIEW_RENDER_SETTINGS::GetColor(), KIGFX::DS_RENDER_SETTINGS::GetColor(), KIGFX::PCB_RENDER_SETTINGS::GetColor(), SCH_MOVE_TOOL::getConnectedDragItems(), SCH_MOVE_TOOL::getConnectedItems(), CONNECTIVITY_DATA::GetConnectedPadsAndVias(), FOOTPRINT::GetCoverageArea(), CONNECTION_GRAPH::getDefaultConnection(), SCH_FIELD::GetDefaultLayer(), SCH_FIELD::GetDrawRotation(), getDrilledHoleShape(), CONNECTION_SUBGRAPH::GetDriverPriority(), getFieldFunc(), PCB_TRACK::GetFriendlyName(), getInferredSymbols(), PCB_TRACK::GetItemDescription(), EE_GRID_HELPER::GetItemGrid(), PCB_GRID_HELPER::GetItemGrid(), PL_EDITOR_FRAME::GetLayoutFromRedoList(), PL_EDITOR_FRAME::GetLayoutFromUndoList(), SCH_FIELD::GetMenuImage(), getMinDist(), SCH_LABEL_BASE::GetMsgPanelInfo(), PCB_DIMENSION_BASE::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfo(), SCH_FIELD::GetName(), PCB_FIELD::GetName(), SCH_SCREEN::GetNeededJunctions(), CONNECTION_SUBGRAPH::GetNetclassesForDriver(), CONNECTIVITY_DATA::GetNetItems(), GetNetNavigatorItemText(), BOARD_ITEM::GetParentFootprint(), SCH_ITEM::GetParentSymbol(), SCH_SYMBOL::GetPinPhysicalPosition(), SCH_FIELD::GetPosition(), KIGFX::SCH_PAINTER::getRenderColor(), SCH_RULE_AREA::GetResolvedNetclasses(), TEXT_SEARCH_HANDLER::getResultCell(), LABEL_SEARCH_HANDLER::getResultCell(), ALIGN_DISTRIBUTE_TOOL::GetSelections(), SCH_FIELD::GetShownText(), CONVERT_TOOL::getStartEndPoints(), KIGFX::SCH_PAINTER::getTextThickness(), EDA_ITEM::GetTypeDesc(), PCBEXPR_TYPE_REF::GetValue(), TEARDROP_MANAGER::GetWidth(), PCB_SELECTION_TOOL::grabUnconnected(), EE_SELECTION_TOOL::GuessSelectionCandidates(), PCB_SELECTION_TOOL::GuessSelectionCandidates(), hash_fp_item(), EE_SELECTION_TOOL::highlight(), BOARD_INSPECTION_TOOL::HighlightItem(), BOARD_INSPECTION_TOOL::highlightNet(), highlightNet(), SCH_FIELD::HitTest(), SCH_LABEL_BASE::HitTest(), PCB_SELECTION_TOOL::hitTestDistance(), SCH_EDIT_TOOL::Init(), ROUTER_TOOL::InlineBreakTrack(), ROUTER_TOOL::InlineDrag(), DRC_RTREE::Insert(), EE_RTREE::insert(), EE_COLLECTOR::Inspect(), GENERAL_COLLECTOR::Inspect(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), BOARD_INSPECTION_TOOL::InspectDRCError(), ARRAY_CREATOR::Invoke(), isBlindBuriedViaFunc(), CONNECTIVITY_DATA::IsConnectedOnLayer(), isCopper(), SCH_LINE_WIRE_BUS_TOOL::IsDrawingLineWireOrBus(), PCB_SELECTION_TOOL::isExpandableGraphicShape(), PNS_KICAD_IFACE_BASE::IsFlashedOnLayer(), CADSTAR_PCB_ARCHIVE_LOADER::isFootprint(), PNS_PCBNEW_RULE_RESOLVER::IsKeepout(), isKeepoutZone(), 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(), CONVERT_TOOL::makePolysFromChainedSegs(), SCH_SCREEN::MarkConnections(), CONNECTIVITY_DATA::MarkItemNetAsDirty(), CN_CONNECTIVITY_ALGO::markItemNetAsDirty(), SCH_FIELD::Matches(), memberOfGroupFunc(), SCH_LINE::MergeOverlap(), SCH_EDIT_TOOL::Mirror(), SYMBOL_EDITOR_EDIT_TOOL::Mirror(), SCH_MOVE_TOOL::moveItem(), EE_SELECTION_TOOL::narrowSelection(), DIALOG_DRC::OnDRCItemSelected(), FOOTPRINT_EDIT_FRAME::OnEditItemRequest(), PCB_EDIT_FRAME::OnEditItemRequest(), DIALOG_GENERATORS::OnItemSelected(), EDA_3D_CANVAS::OnMouseMove(), SCH_EDIT_FRAME::onNetNavigatorSelection(), DIALOG_GENERATORS::OnRebuildTypeClick(), PCB_POINT_EDITOR::OnSelectionChange(), DIALOG_TEXT_PROPERTIES::OnSetFocusText(), CN_VISITOR::operator()(), BOARD_ITEM::ptr_cmp::operator()(), BOARD::cmp_items::operator()(), BOARD::cmp_drawings::operator()(), PCB_SHAPE::cmp_drawings::operator()(), FOOTPRINT::cmp_drawings::operator()(), KI_TEST::kitest_cmp_drawings::operator()(), PCB_TRACK::cmp_tracks::operator()(), SCH_ITEM::operator<(), SCH_BUS_ENTRY_BASE::operator<(), SCH_FIELD::operator<(), SCH_JUNCTION::operator<(), SCH_LINE::operator<(), SCH_SHEET::operator<(), SCH_SYMBOL::operator<(), SCH_TABLE::operator<(), SCH_TEXT::operator<(), SCH_TEXTBOX::operator<(), PCB_REFERENCE_IMAGE::operator=(), SCH_BITMAP::operator=(), SCH_SHEET::operator=(), SCH_SYMBOL::operator=(), PCB_REFERENCE_IMAGE::operator==(), PCB_SHAPE::operator==(), PCB_TABLECELL::operator==(), PCB_TARGET::operator==(), PCB_TEXT::operator==(), PCB_TEXTBOX::operator==(), BOARD::operator==(), FOOTPRINT::operator==(), PAD::operator==(), PCB_DIMENSION_BASE::operator==(), PCB_FIELD::operator==(), PCB_GROUP::operator==(), PCB_TABLE::operator==(), PCB_TRACK::operator==(), PCB_ARC::operator==(), PCB_VIA::operator==(), ZONE::operator==(), 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_PIN::operator==(), SCH_SHAPE::operator==(), SCH_SHEET::operator==(), SCH_SHEET_PIN::operator==(), SCH_SYMBOL::operator==(), SCH_TABLE::operator==(), SCH_TABLECELL::operator==(), SCH_TEXTBOX::operator==(), PAD::PAD(), SCH_COMMIT::parentObject(), PCB_IO_KICAD_SEXPR_PARSER::parsePCB_SHAPE(), SCH_EASYEDAPRO_PARSER::ParseSchematic(), SCH_IO_KICAD_SEXPR_PARSER::parseSchField(), PCB_CONTROL::Paste(), SCH_FIELD::Plot(), SCH_LABEL_BASE::Plot(), BRDITEMS_PLOTTER::PlotBoardGraphicItem(), SCH_FIELD::Print(), DIALOG_GLOBAL_EDIT_TEARDROPS::processItem(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::processItem(), BACK_ANNOTATE::processNetNameChange(), CONNECTION_GRAPH::processSubGraphs(), SCH_EDIT_TOOL::Properties(), SYMBOL_EDITOR_EDIT_TOOL::Properties(), PCB_SELECTION_TOOL::pruneObscuredSelectionCandidates(), BOARD_COMMIT::Push(), SCH_COMMIT::pushSchEdit(), SCH_EDIT_FRAME::PutDataInPreviousState(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), PCB_GRID_HELPER::queryVisible(), BOARD_REANNOTATE_TOOL::ReannotateDuplicates(), PCB_SELECTION_TOOL::RebuildSelection(), SCH_CONNECTION::recacheName(), SCH_EDIT_FRAME::RecalculateConnections(), SCH_BASE_FRAME::RefreshZoomDependentItems(), GENERATOR_TOOL::RegenerateSelected(), BOARD::Remove(), CN_CONNECTIVITY_ALGO::Remove(), FOOTPRINT::Remove(), EE_RTREE::remove(), SCH_SCREEN::Remove(), PCB_POINT_EDITOR::removeCorner(), PCB_POINT_EDITOR::removeCornerCondition(), LIB_SYMBOL::RemoveDrawItem(), SCH_BASE_FRAME::RemoveFromScreen(), CONNECTION_SUBGRAPH::RemoveItem(), 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(), ResolveCrossReference(), CONNECTION_SUBGRAPH::ResolveDrivers(), PCB_IO_KICAD_SEXPR_PARSER::resolveGroups(), SCH_LABEL_BASE::ResolveTextVar(), BOARD::ResolveTextVar(), DS_PROXY_UNDO_ITEM::Restore(), SCH_COMMIT::Revert(), PL_EDITOR_FRAME::RollbackFromUndo(), SCH_EDIT_TOOL::Rotate(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::Run(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::Run(), DRC_TEST_PROVIDER_TEXT_DIMS::Run(), DRC_TEST_PROVIDER_MATCHED_LENGTH::runInternal(), EE_TOOL_BASE< T >::saveCopyInUndoList(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveField(), SCH_IO_KICAD_SEXPR_LIB_CACHE::saveField(), SCH_IO_KICAD_LEGACY_LIB_CACHE::savePin(), SCH_IO_KICAD_SEXPR_LIB_CACHE::savePin(), CLIPBOARD_IO::SaveSelection(), SCH_IO_KICAD_SEXPR_LIB_CACHE::saveSymbolDrawItem(), SCH_IO_KICAD_LEGACY_LIB_CACHE::saveText(), SCH_IO_KICAD_SEXPR::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_EDIT_FRAME::SetActiveLayer(), PCB_POINT_EDITOR::setAltConstraint(), SCH_FIELD::SetId(), ITEM_PICKER::SetItem(), PCB_BASE_FRAME::SetPlotSettings(), SCH_FIELD::SetPosition(), PCB_EDIT_FRAME::ShowBoardSetupDialog(), PCB_EDIT_FRAME::ShowFindDialog(), SCH_EDIT_FRAME::ShowFindReplaceDialog(), BOARD_INSPECTION_TOOL::ShowFootprintLinks(), PCB_REFERENCE_IMAGE::Similarity(), PCB_SHAPE::Similarity(), PCB_TABLECELL::Similarity(), PCB_TARGET::Similarity(), PCB_TEXT::Similarity(), PCB_TEXTBOX::Similarity(), FOOTPRINT::Similarity(), PAD::Similarity(), PCB_DIMENSION_BASE::Similarity(), PCB_FIELD::Similarity(), PCB_GROUP::Similarity(), PCB_TABLE::Similarity(), PCB_TRACK::Similarity(), PCB_ARC::Similarity(), PCB_VIA::Similarity(), ZONE::Similarity(), 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(), SCH_SYMBOL::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(), 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(), SCH_SYMBOL::SwapData(), SCH_TABLE::SwapData(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::testAgainstEdge(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testGraphicClearances(), DRC_TEST_PROVIDER_HOLE_TO_HOLE::testHoleAgainstHole(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testItemAgainstZone(), DRC_TEST_PROVIDER_PHYSICAL_CLEARANCE::testItemAgainstZones(), DRC_TEST_PROVIDER_SOLDER_MASK::testMaskItemAgainstZones(), ERC_TESTER::TestMissingNetclasses(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testPadAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testSingleLayerItemAgainstItem(), DRC_TEST_PROVIDER_COPPER_CLEARANCE::testTrackClearances(), CONNECTIVITY_DATA::TestTrackEndpointDangling(), DIALOG_LABEL_PROPERTIES::TransferDataFromWindow(), DIALOG_TEXT_PROPERTIES::TransferDataFromWindow(), 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(), SCH_SHEET_PATH::UpdateAllScreenReferences(), DIALOG_FIELD_PROPERTIES::UpdateField(), PL_POINT_EDITOR::updateItem(), PCB_POINT_EDITOR::updateItem(), EE_TOOL_BASE< T >::updateItem(), SCH_BASE_FRAME::UpdateItem(), PCB_CONTROL::UpdateMessagePanel(), EDIT_TOOL::updateModificationPoint(), EE_POINT_EDITOR::updateParentItem(), EE_POINT_EDITOR::updatePoints(), PL_POINT_EDITOR::updatePoints(), PCB_POINT_EDITOR::updatePoints(), SCH_BUS_ENTRY_BASE::ViewGetLayers(), 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().

◆ ViewBBox()

◆ ViewDraw()

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

Draw the parts of the object belonging to layer aLayer.

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

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

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

Definition at line 115 of file view_item.h.

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

◆ ViewGetLayers()

void EDA_ITEM::ViewGetLayers ( int  aLayers[],
int &  aCount 
) const
overridevirtualinherited

Return the all the layers within the VIEW the object is painted on.

For instance, a PAD spans zero or more copper layers and a few technical layers. ViewDraw() or PAINTER::Draw() is repeatedly called for each of the layers returned by ViewGetLayers(), depending on the rendering order.

Parameters
aLayers[]is the output layer index array.
aCountis the number of layer indices in aLayers[].

Implements KIGFX::VIEW_ITEM.

Reimplemented in SCH_BITMAP, SCH_BUS_ENTRY_BASE, SCH_FIELD, SCH_ITEM, SCH_JUNCTION, SCH_LABEL_BASE, SCH_GLOBALLABEL, SCH_LINE, SCH_MARKER, SCH_NO_CONNECT, SCH_PIN, SCH_RULE_AREA, SCH_SHAPE, SCH_SHEET, SCH_TABLE, SCH_TEXT, SYMBOL, GERBER_DRAW_ITEM, BOARD_ITEM, DS_DRAW_ITEM_BASE, DS_PROXY_VIEW_ITEM, KIGFX::ORIGIN_VIEWITEM, KIGFX::PREVIEW::ARC_ASSISTANT, KIGFX::PREVIEW::RULER_ITEM, KIGFX::PREVIEW::SIMPLE_OVERLAY_ITEM, KIGFX::PREVIEW::TWO_POINT_ASSISTANT, EDIT_POINTS, FOOTPRINT, TUNING_STATUS_VIEW_ITEM, PCB_TUNING_PATTERN, PAD, PCB_GROUP, PCB_MARKER, PCB_REFERENCE_IMAGE, PCB_SHAPE, PCB_TEXT, PCB_TEXTBOX, PCB_TRACK, PCB_VIA, RATSNEST_VIEW_ITEM, ROUTER_PREVIEW_ITEM, ROUTER_STATUS_VIEW_ITEM, ZONE, and MY_DRAWING.

Definition at line 280 of file eda_item.cpp.

◆ ViewGetLOD()

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

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

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

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

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

Definition at line 141 of file view_item.h.

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

◆ viewPrivData()

◆ Visit()

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

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 in PCB_GROUP, LIB_SYMBOL, SCH_SHEET, SCH_SYMBOL, SCH_TABLE, GBR_LAYOUT, GERBER_DRAW_ITEM, GERBER_FILE_IMAGE, FOOTPRINT, PCB_TABLE, PCB_TRACK, SCH_LABEL_BASE, and BOARD.

Definition at line 91 of file eda_item.cpp.

References EDA_ITEM::GetClass(), and EDA_ITEM::IsType().

Referenced by PCB_TYPE_COLLECTOR::Collect(), PCB_LAYER_COLLECTOR::Collect(), GENERAL_COLLECTOR::Collect(), GERBER_COLLECTOR::Collect(), EDA_ITEM::IterateForward(), FOOTPRINT_PREVIEW_PANEL::renderFootprint(), and BOARD::UpdateUserUnits().

◆ XorFlags()

void EDA_ITEM::XorFlags ( EDA_ITEM_FLAGS  aMask)
inlineinherited

Definition at line 127 of file eda_item.h.

References EDA_ITEM::m_flags.

Referenced by EE_SELECTION_TOOL::selectMultiple().

Friends And Related Function Documentation

◆ SCH_EDIT_FRAME

friend class SCH_EDIT_FRAME
friend

Definition at line 306 of file schematic.h.

Member Data Documentation

◆ m_connectionGraph

CONNECTION_GRAPH* SCHEMATIC::m_connectionGraph
private

Holds and calculates connectivity information of this schematic.

Definition at line 329 of file schematic.h.

Referenced by ConnectionGraph(), GetNetClassAssignmentCandidates(), SCH_EDIT_FRAME::RefreshOperatingPointDisplay(), Reset(), SCHEMATIC(), SetRoot(), and ~SCHEMATIC().

◆ m_currentSheet

SCH_SHEET_PATH* SCHEMATIC::m_currentSheet
private

The sheet path of the sheet currently being edited or displayed.

Note that this was moved here from SCH_EDIT_FRAME because currently many places in the code want to know the current sheet. Potentially this can be moved back to the UI code once the only places that want to know it are UI-related

Definition at line 326 of file schematic.h.

Referenced by CurrentSheet(), Reset(), SCHEMATIC(), SetCurrentSheet(), SetRoot(), and ~SCHEMATIC().

◆ m_flags

◆ m_forcedTransparency

double KIGFX::VIEW_ITEM::m_forcedTransparency
privateinherited

Additional transparency for diff'ing items.

Definition at line 166 of file view_item.h.

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

◆ m_forceVisible

◆ m_labelToPageRefsMap

std::map<wxString, std::set<int> > SCHEMATIC::m_labelToPageRefsMap
private

Holds a map of labels to the page sequence (virtual page number) that they appear on.

It is used for updating global label intersheet references.

Definition at line 335 of file schematic.h.

Referenced by GetPageRefsMap().

◆ m_listeners

std::vector<SCHEMATIC_LISTENER*> SCHEMATIC::m_listeners
private

Currently installed listeners.

Definition at line 350 of file schematic.h.

Referenced by AddListener(), InvokeListeners(), RemoveAllListeners(), and RemoveListener().

◆ m_operatingPoints

std::map<wxString, double> SCHEMATIC::m_operatingPoints
private

Simulation operating points for text variable substitution.

Definition at line 345 of file schematic.h.

Referenced by ClearOperatingPoints(), GetOperatingPoint(), and SetOperatingPoint().

◆ m_parent

◆ m_project

PROJECT* SCHEMATIC::m_project
private

Definition at line 315 of file schematic.h.

Referenced by ErcSettings(), Prj(), Reset(), ResolveTextVar(), SetProject(), and Settings().

◆ m_properties

std::map<wxString, wxString> SCHEMATIC::m_properties
private

Properties for text variable substitution (and perhaps other uses in future).

Definition at line 340 of file schematic.h.

Referenced by GetProperties().

◆ m_rootSheet

SCH_SHEET* SCHEMATIC::m_rootSheet
private

The top-level sheet in this schematic hierarchy (or potentially the only one)

Definition at line 318 of file schematic.h.

Referenced by GetFileName(), GetFullHierarchy(), GetSheets(), IsValid(), Reset(), Root(), RootScreen(), SetLegacySymbolInstanceData(), and SetRoot().

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

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

◆ m_Uuid

const KIID EDA_ITEM::m_Uuid
inherited

Definition at line 485 of file eda_item.h.

Referenced by BOARD::Add(), SCH_SYMBOL::AddHierarchicalReference(), SCH_SHEET::addInstance(), RC_ITEM::AddItem(), SCH_EDIT_FRAME::AnnotateSymbols(), FIELDS_EDITOR_GRID_DATA_MODEL::ApplyData(), SCH_SHEET_PATH::Cmp(), SCH_ITEM::compare(), 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_FILLER_TOOL::DirtyZone(), DRAWING_TOOL::DrawVia(), LIB_SYMBOL::Duplicate(), BOARD_ITEM::Duplicate(), FOOTPRINT::Duplicate(), SCH_ITEM::Duplicate(), FOOTPRINT::DuplicateItem(), PCB_EDIT_FRAME::ExchangeFootprint(), PAD_TOOL::explodePad(), NETLIST_EXPORTER_ALLEGRO::extractComponentsInfo(), SCH_SHEET_LIST::FillItemMap(), BOARD::FillItemMap(), KIGIT_PCB_MERGE::findSetDifferences(), SCH_EDITOR_CONTROL::FindSymbolAndItem(), 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(), SCH_SHEET::getPageNumber(), BOARD_ITEM::GetParentAsString(), SCH_MARKER::GetUUID(), PCB_MARKER::GetUUID(), FIELDS_EDITOR_GRID_DATA_MODEL::GetValue(), FIELDS_EDITOR_GRID_DATA_MODEL::groupMatch(), ZONE::HigherPriority(), SCH_SHEET_PATH::IsContainedWithin(), PCB_IO_KICAD_LEGACY::loadFOOTPRINT(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), PCB_EDIT_FRAME::LoadFootprints(), SCH_IO_KICAD_LEGACY::loadHierarchy(), PCB_IO_KICAD_LEGACY::loadPCB_TARGET(), PCB_IO_KICAD_LEGACY::loadPCB_TEXT(), EESCHEMA_HELPERS::LoadSchematic(), SCH_IO_ALTIUM::LoadSchematicFile(), SCH_IO_EAGLE::LoadSchematicFile(), SCH_EDIT_FRAME::LoadSheetFromFile(), SYMBOL_EDIT_FRAME::LoadSymbolFromSchematic(), PCB_IO_KICAD_LEGACY::loadTrackList(), PNS::LOGGER::Log(), NETLIST_EXPORTER_XML::makeSymbols(), SCH_EDIT_FRAME::mapExistingAnnotation(), PCB_BASE_FRAME::OnFpChangeDebounceTimer(), BOARD_ITEM::ptr_cmp::operator()(), BOARD::cmp_items::operator()(), BOARD::cmp_drawings::operator()(), PCB_SHAPE::cmp_drawings::operator()(), FOOTPRINT::cmp_drawings::operator()(), CompareByUuid::operator()(), FOOTPRINT::cmp_pads::operator()(), PCB_TRACK::cmp_tracks::operator()(), FOOTPRINT::cmp_zones::operator()(), SCH_SYMBOL::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(), BOARD_COMMIT::Push(), PCB_BASE_EDIT_FRAME::PutDataInPreviousState(), BOARD::Remove(), SCH_SYMBOL::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_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(), RC_ITEM::SetItems(), SCH_SHEET::setPageNumber(), SCH_EDITOR_CONTROL::setPastedSymbolInstances(), FIELDS_EDITOR_GRID_DATA_MODEL::SetValue(), PAD::Similarity(), PCB_DIMENSION_BASE::Similarity(), PCB_FIELD::Similarity(), 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(), DRC_TEST_PROVIDER_EDGE_CLEARANCE::testAgainstEdge(), testGroupEqual(), DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow(), FIELDS_EDITOR_GRID_DATA_MODEL::updateDataStoreSymbolField(), SCH_EDITOR_CONTROL::updatePastedSheet(), SCH_EDITOR_CONTROL::updatePastedSymbol(), SCH_SHEET_LIST::UpdateSymbolInstanceData(), and NETLIST_EXPORTER_ORCADPCB2::WriteNetlist().

◆ m_viewPrivData

VIEW_ITEM_DATA* KIGFX::VIEW_ITEM::m_viewPrivData
privateinherited

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