KiCad PCB EDA Suite
|
Each graphical item can have a SCH_CONNECTION describing its logical connection (to a bus or net). More...
#include <sch_connection.h>
Public Member Functions | |
SCH_CONNECTION (SCH_ITEM *aParent=nullptr, const SCH_SHEET_PATH &aPath=SCH_SHEET_PATH()) | |
Buses can be defined in multiple ways. | |
SCH_CONNECTION (SCH_CONNECTION &aOther) | |
SCH_CONNECTION (CONNECTION_GRAPH *aGraph) | |
~SCH_CONNECTION () | |
bool | operator== (const SCH_CONNECTION &aOther) const |
Note: the equality operator for SCH_CONNECTION only tests the net properties, not the ownership / sheet location! | |
bool | operator!= (const SCH_CONNECTION &aOther) const |
void | SetGraph (CONNECTION_GRAPH *aGraph) |
void | ConfigureFromLabel (const wxString &aLabel) |
Configures the connection given a label. | |
void | Reset () |
Clears connectivity information. | |
void | Clone (const SCH_CONNECTION &aOther) |
Copies connectivity information (but not parent) from another connection. | |
SCH_ITEM * | Parent () const |
SCH_ITEM * | Driver () const |
void | SetDriver (SCH_ITEM *aItem) |
SCH_SHEET_PATH | Sheet () const |
void | SetSheet (SCH_SHEET_PATH aSheet) |
SCH_SHEET_PATH | LocalSheet () const |
bool | IsDriver () const |
Checks if the SCH_ITEM this connection is attached to can drive connections Drivers can be labels, sheet pins, or symbol pins. | |
bool | IsBus () const |
bool | IsNet () const |
bool | IsUnconnected () const |
bool | IsDirty () const |
void | SetDirty () |
void | ClearDirty () |
bool | HasDriverChanged () const |
void | ClearDriverChanged () |
void * | GetLastDriver () const |
wxString | Name (bool aIgnoreSheet=false) const |
wxString | LocalName () const |
wxString | FullLocalName () const |
void | SetName (const wxString &aName) |
wxString | GetNetName () const |
wxString | Prefix () const |
void | SetPrefix (const wxString &aPrefix) |
wxString | BusPrefix () const |
wxString | Suffix () const |
void | SetSuffix (const wxString &aSuffix) |
CONNECTION_TYPE | Type () const |
void | SetType (CONNECTION_TYPE aType) |
int | NetCode () const |
void | SetNetCode (int aCode) |
int | BusCode () const |
void | SetBusCode (int aCode) |
int | SubgraphCode () const |
void | SetSubgraphCode (int aCode) |
long | VectorStart () const |
long | VectorEnd () const |
long | VectorIndex () const |
wxString | VectorPrefix () const |
const std::vector< std::shared_ptr< SCH_CONNECTION > > & | Members () const |
const std::vector< std::shared_ptr< SCH_CONNECTION > > | AllMembers () const |
bool | IsSubsetOf (SCH_CONNECTION *aOther) const |
Returns true if this connection is contained within aOther (but not the same as aOther) | |
bool | IsMemberOfBus (SCH_CONNECTION *aOther) const |
Returns true if this connection is a member of bus connection aOther. | |
void | AppendInfoToMsgPanel (std::vector< MSG_PANEL_ITEM > &aList) const |
Adds information about the connection object to aList. | |
Static Public Member Functions | |
static wxString | PrintBusForUI (const wxString &aString) |
static bool | IsBusLabel (const wxString &aLabel) |
Test if aLabel has a bus notation. | |
static bool | MightBeBusLabel (const wxString &aLabel) |
Test if aLabel looks like a bus notation. | |
Private Member Functions | |
void | recacheName () |
Private Attributes | |
bool | m_dirty |
SCH_SHEET_PATH | m_sheet |
The hierarchical sheet this connection is on. | |
SCH_SHEET_PATH | m_local_sheet |
When a connection is overridden by one on a different hierarchical sheet, it will be cloned and m_sheet will point to the parent sheet. | |
SCH_ITEM * | m_parent |
The SCH_ITEM this connection is owned by. | |
void * | m_lastDriver |
WEAK POINTER (there is no guarantee it is still allocated) Equality comparisons are OK, but that's pretty much it. | |
SCH_ITEM * | m_driver |
The SCH_ITEM that drives this connection's net. | |
CONNECTION_TYPE | m_type |
wxString | m_name |
Name of the connection. | |
wxString | m_cached_name |
Full name, including prefix and suffix. | |
wxString | m_cached_name_with_path |
Full name including sheet path (if not global) | |
wxString | m_local_name |
For bus members, we want to keep track of the "local" name of a member, that is, the name it takes on from its parent bus name. | |
wxString | m_prefix |
Prefix if connection is member of a labeled bus group (or "" if not) | |
wxString | m_local_prefix |
Local prefix for group bus members (used with m_local_name) | |
wxString | m_bus_prefix |
Optional prefix of a bux group (always empty for nets and vector buses) | |
wxString | m_suffix |
Name suffix (used only for disambiguation) | |
int | m_net_code |
int | m_bus_code |
int | m_subgraph_code |
Groups directly-connected items. | |
long | m_vector_index |
Index of bus vector member nets. | |
long | m_vector_start |
Highest member of a vector bus. | |
long | m_vector_end |
Lowest member of a vector bus. | |
wxString | m_vector_prefix |
std::vector< std::shared_ptr< SCH_CONNECTION > > | m_members |
For bus connections, store a list of member connections. | |
CONNECTION_GRAPH * | m_graph |
Pointer to the connection graph for the schematic this connection exists on. | |
Each graphical item can have a SCH_CONNECTION describing its logical connection (to a bus or net).
These are generated when netlisting, or when editing operations that can change the netlist are performed.
In hierarchical schematics, a single SCH_ITEM object can refer to multiple distinct parts of a design (in the case of a sub-sheet that is instanced more than once in a higher level sheet). Because of this, a single item may contain more than one SCH_CONNECTION – each is specific to a sheet.
Symbols contain connections for each of their pins (and for each sheet they exist on) but don't use their own connection object.
Definition at line 60 of file sch_connection.h.
SCH_CONNECTION::SCH_CONNECTION | ( | SCH_ITEM * | aParent = nullptr , |
const SCH_SHEET_PATH & | aPath = SCH_SHEET_PATH() |
||
) |
Buses can be defined in multiple ways.
A bus vector consists of a prefix and a numeric range of suffixes:
BUS_NAME[M..N]
For example, the bus A[3..0] will contain nets A3, A2, A1, and A0. The BUS_NAME is required. M and N must be integers but do not need to be in any particular order – A[0..3] produces the same result.
Like net names, bus names cannot contain whitespace.
A bus group is just a grouping of signals, separated by spaces, some of which may be bus vectors. Bus groups can have names, but do not need to.
MEMORY{A[15..0] D[7..0] RW CE OE}
In named bus groups, the net names are expanded as <BUS_NAME>.<NET_NAME> In the above example, the nets would be named like MEMORY.A15, MEMORY.D0, etc.
{USB_DP USB_DN}
In the above example, the bus is unnamed and so the underlying net names are just USB_DP and USB_DN.
Definition at line 65 of file sch_connection.cpp.
References Reset().
SCH_CONNECTION::SCH_CONNECTION | ( | SCH_CONNECTION & | aOther | ) |
Definition at line 87 of file sch_connection.cpp.
SCH_CONNECTION::SCH_CONNECTION | ( | CONNECTION_GRAPH * | aGraph | ) |
Definition at line 76 of file sch_connection.cpp.
References Reset().
|
inline |
Definition at line 69 of file sch_connection.h.
const std::vector< std::shared_ptr< SCH_CONNECTION > > SCH_CONNECTION::AllMembers | ( | ) | const |
Definition at line 497 of file sch_connection.cpp.
References m_members.
Referenced by SCH_EDIT_FRAME::SetCrossProbeConnection().
void SCH_CONNECTION::AppendInfoToMsgPanel | ( | std::vector< MSG_PANEL_ITEM > & | aList | ) | const |
Adds information about the connection object to aList.
Definition at line 434 of file sch_connection.cpp.
References _, Driver(), CONNECTION_GRAPH::GetBusAlias(), IsBus(), m_bus_code, m_graph, m_name, m_subgraph_code, Name(), NET_SETTINGS::ParseBusGroup(), schIUScale, and UnescapeString().
Referenced by SCH_BUS_ENTRY_BASE::GetMsgPanelInfo(), SCH_JUNCTION::GetMsgPanelInfo(), SCH_LABEL_BASE::GetMsgPanelInfo(), SCH_LINE::GetMsgPanelInfo(), and SCH_PIN::GetMsgPanelInfo().
|
inline |
|
inline |
Definition at line 163 of file sch_connection.h.
References m_bus_prefix.
|
inline |
Definition at line 137 of file sch_connection.h.
References m_dirty.
Referenced by CONNECTION_SUBGRAPH::ExchangeItem(), CONNECTION_SUBGRAPH::ResolveDrivers(), and CONNECTION_SUBGRAPH::UpdateItemConnections().
void SCH_CONNECTION::ClearDriverChanged | ( | ) |
Definition at line 351 of file sch_connection.cpp.
References m_driver, and m_lastDriver.
Referenced by SCH_EDIT_FRAME::RecalculateConnections().
void SCH_CONNECTION::Clone | ( | const SCH_CONNECTION & | aOther | ) |
Copies connectivity information (but not parent) from another connection.
aOther | is the connection to clone |
Definition at line 239 of file sch_connection.cpp.
References BusCode(), Clone(), Driver(), LocalName(), m_bus_code, m_driver, m_graph, m_local_name, m_local_prefix, m_members, m_name, m_net_code, m_prefix, m_sheet, m_suffix, m_type, m_vector_end, m_vector_prefix, m_vector_start, Members(), NetCode(), Prefix(), recacheName(), Sheet(), Suffix(), Type(), VectorEnd(), VectorPrefix(), and VectorStart().
Referenced by CONNECTION_GRAPH::buildConnectionGraph(), Clone(), CONNECTION_SUBGRAPH::ExchangeItem(), CONNECTION_GRAPH::propagateToNeighbors(), SCH_CONNECTION(), and CONNECTION_SUBGRAPH::UpdateItemConnections().
void SCH_CONNECTION::ConfigureFromLabel | ( | const wxString & | aLabel | ) |
Configures the connection given a label.
For CONNECTION_NET, this just sets the name. For CONNECTION_BUS, this will deduce the correct BUS_TYPE and also generate a correct list of members.
Definition at line 139 of file sch_connection.cpp.
References CTX_NETNAME, EscapeString(), CONNECTION_GRAPH::GetBusAlias(), m_bus_prefix, m_graph, m_local_name, m_local_prefix, m_members, m_name, m_parent, m_prefix, m_sheet, m_type, m_vector_prefix, NET_SETTINGS::ParseBusGroup(), NET_SETTINGS::ParseBusVector(), recacheName(), and UnescapeString().
Referenced by EE_SELECTION_TOOL::autostartEvent(), CONNECTION_GRAPH::ercCheckBusToNetConflicts(), DIALOG_MIGRATE_BUSES::getProposedLabels(), and CONNECTION_SUBGRAPH::ResolveDrivers().
|
inline |
Definition at line 107 of file sch_connection.h.
References m_driver.
Referenced by AppendInfoToMsgPanel(), SCH_EDITOR_CONTROL::AssignNetclass(), and Clone().
|
inline |
Definition at line 147 of file sch_connection.h.
References m_local_name, m_local_prefix, and m_suffix.
Referenced by CONNECTION_GRAPH::ercCheckBusToBusEntryConflicts(), and IsSubsetOf().
|
inline |
Definition at line 141 of file sch_connection.h.
References m_lastDriver.
wxString SCH_CONNECTION::GetNetName | ( | ) | const |
Definition at line 365 of file sch_connection.cpp.
References CONNECTION_SUBGRAPH::GetNetName(), CONNECTION_GRAPH::GetSubgraphForItem(), m_graph, and m_parent.
Referenced by BOOST_FIXTURE_TEST_CASE().
bool SCH_CONNECTION::HasDriverChanged | ( | ) | const |
Definition at line 345 of file sch_connection.cpp.
References m_driver, and m_lastDriver.
Referenced by SCH_EDIT_FRAME::RecalculateConnections(), and SCH_EDIT_FRAME::SaveCopyInUndoList().
|
inline |
Definition at line 123 of file sch_connection.h.
References m_type.
Referenced by AppendInfoToMsgPanel(), SCH_EDITOR_CONTROL::AssignNetclass(), EE_SELECTION_TOOL::autostartEvent(), CONNECTION_GRAPH::buildConnectionGraph(), KIGFX::SCH_PAINTER::draw(), CONNECTION_GRAPH::ercCheckBusToBusConflicts(), CONNECTION_GRAPH::ercCheckBusToNetConflicts(), CONNECTION_GRAPH::ercCheckLabels(), CONNECTION_GRAPH::GetBusesNeedingMigration(), SCH_BUS_ENTRY_BASE::GetMsgPanelInfo(), SCH_JUNCTION::GetMsgPanelInfo(), SCH_LABEL_BASE::GetMsgPanelInfo(), SCH_LINE::GetMsgPanelInfo(), SCHEMATIC::GetNetClassAssignmentCandidates(), IsMemberOfBus(), IsSubsetOf(), CONNECTION_GRAPH::matchBusMember(), SCH_LABEL_BASE::Plot(), SCH_TEXT::Plot(), SCH_LABEL_BASE::Print(), CONNECTION_GRAPH::processSubGraphs(), CONNECTION_GRAPH::propagateToNeighbors(), CONNECTION_SUBGRAPH::ResolveDrivers(), BUS_UNFOLD_MENU::update(), and CONNECTION_SUBGRAPH::UpdateItemConnections().
|
static |
Test if aLabel has a bus notation.
aLabel | A wxString object containing the label to test. |
Definition at line 479 of file sch_connection.cpp.
References NET_SETTINGS::ParseBusGroup(), NET_SETTINGS::ParseBusVector(), and UnescapeString().
Referenced by SCH_BUS_WIRE_ENTRY::ConnectionPropagatesTo().
|
inline |
Definition at line 135 of file sch_connection.h.
References m_dirty.
bool SCH_CONNECTION::IsDriver | ( | ) | const |
Checks if the SCH_ITEM this connection is attached to can drive connections Drivers can be labels, sheet pins, or symbol pins.
Definition at line 313 of file sch_connection.cpp.
References m_sheet, Parent(), pin, SCH_GLOBAL_LABEL_T, SCH_HIER_LABEL_T, SCH_LABEL_T, SCH_PIN_T, SCH_SHEET_PIN_T, SCH_SHEET_T, and Type().
Referenced by CONNECTION_SUBGRAPH::AddItem(), and CONNECTION_SUBGRAPH::ExchangeItem().
bool SCH_CONNECTION::IsMemberOfBus | ( | SCH_CONNECTION * | aOther | ) | const |
Returns true if this connection is a member of bus connection aOther.
Will always return false if aOther is not a bus connection
Definition at line 584 of file sch_connection.cpp.
|
inline |
Definition at line 128 of file sch_connection.h.
References m_type.
Referenced by CONNECTION_GRAPH::buildConnectionGraph(), CONNECTION_GRAPH::processSubGraphs(), SCH_EDIT_FRAME::SetCrossProbeConnection(), and CONNECTION_SUBGRAPH::UpdateItemConnections().
bool SCH_CONNECTION::IsSubsetOf | ( | SCH_CONNECTION * | aOther | ) | const |
Returns true if this connection is contained within aOther (but not the same as aOther)
Definition at line 569 of file sch_connection.cpp.
References FullLocalName(), IsBus(), and Members().
Referenced by CONNECTION_SUBGRAPH::ResolveDrivers().
|
inline |
Definition at line 133 of file sch_connection.h.
References m_type.
|
inline |
Definition at line 145 of file sch_connection.h.
References m_local_name.
Referenced by Clone(), CONNECTION_GRAPH::matchBusMember(), CONNECTION_GRAPH::propagateToNeighbors(), SCH_LABEL_BASE::ResolveTextVar(), and SCH_SYMBOL::ResolveTextVar().
|
inline |
Definition at line 113 of file sch_connection.h.
References m_local_sheet.
|
inline |
Definition at line 192 of file sch_connection.h.
References m_members.
Referenced by CONNECTION_GRAPH::assignNetCodesToBus(), Clone(), CONNECTION_GRAPH::ercCheckBusToBusConflicts(), CONNECTION_GRAPH::ercCheckBusToBusEntryConflicts(), IsMemberOfBus(), IsSubsetOf(), CONNECTION_GRAPH::matchBusMember(), SCH_EDIT_FRAME::SetCrossProbeConnection(), SetPrefix(), SetSuffix(), and BUS_UNFOLD_MENU::update().
|
static |
Test if aLabel looks like a bus notation.
This check is much less expensive than IsBusLabel.
aLabel | A wxString object containing the label to test. |
Definition at line 488 of file sch_connection.cpp.
References UnescapeString().
wxString SCH_CONNECTION::Name | ( | bool | aIgnoreSheet = false | ) | const |
Definition at line 358 of file sch_connection.cpp.
References m_cached_name, and m_cached_name_with_path.
Referenced by AppendInfoToMsgPanel(), BACK_ANNOTATE::applyChangelist(), SCH_EDITOR_CONTROL::AssignNetclass(), CONNECTION_GRAPH::assignNewNetCode(), CONNECTION_GRAPH::buildConnectionGraph(), CONNECTION_GRAPH::ercCheckBusToBusEntryConflicts(), CONNECTION_GRAPH::FindSubgraphByName(), CONNECTION_GRAPH::GetBusesNeedingMigration(), SCH_ITEM::GetEffectiveNetClass(), CONNECTION_SUBGRAPH::GetNetName(), highlightNet(), IsMemberOfBus(), SCH_LABEL_BASE::Plot(), CONNECTION_GRAPH::processSubGraphs(), CONNECTION_GRAPH::propagateToNeighbors(), CONNECTION_GRAPH::recacheSubgraphName(), SCH_EDIT_FRAME::RecalculateConnections(), SCH_LABEL_BASE::ResolveTextVar(), SCH_SYMBOL::ResolveTextVar(), SCH_EDIT_FRAME::SaveCopyInUndoList(), SCH_EDIT_FRAME::SetCrossProbeConnection(), SCH_EDITOR_CONTROL::SimProbe(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::TransferDataToWindow(), and DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem().
|
inline |
bool SCH_CONNECTION::operator!= | ( | const SCH_CONNECTION & | aOther | ) | const |
Definition at line 133 of file sch_connection.cpp.
bool SCH_CONNECTION::operator== | ( | const SCH_CONNECTION & | aOther | ) | const |
Note: the equality operator for SCH_CONNECTION only tests the net properties, not the ownership / sheet location!
Definition at line 95 of file sch_connection.cpp.
|
inline |
Definition at line 105 of file sch_connection.h.
References m_parent.
Referenced by IsDriver(), and recacheName().
|
inline |
|
static |
Definition at line 517 of file sch_connection.cpp.
References isSuperSubOverbar().
Referenced by BUS_UNFOLD_MENU::update().
|
private |
Definition at line 381 of file sch_connection.cpp.
References m_cached_name, m_cached_name_with_path, m_driver, m_name, m_prefix, m_sheet, m_suffix, m_type, Parent(), SCH_SHEET_PATH::PathHumanReadable(), SCH_GLOBAL_LABEL_T, SCH_PIN_T, and EDA_ITEM::Type().
Referenced by Clone(), ConfigureFromLabel(), SetDriver(), SetName(), SetPrefix(), SetSheet(), SetSuffix(), and SetType().
void SCH_CONNECTION::Reset | ( | ) |
Clears connectivity information.
Definition at line 214 of file sch_connection.cpp.
References m_bus_code, m_bus_prefix, m_cached_name, m_cached_name_with_path, m_dirty, m_driver, m_lastDriver, m_local_name, m_local_prefix, m_members, m_name, m_net_code, m_prefix, m_subgraph_code, m_suffix, m_type, m_vector_end, m_vector_index, m_vector_prefix, and m_vector_start.
Referenced by SCH_ITEM::InitializeConnection(), and SCH_CONNECTION().
|
inline |
Definition at line 180 of file sch_connection.h.
References m_bus_code.
Referenced by CONNECTION_GRAPH::processSubGraphs().
|
inline |
Definition at line 136 of file sch_connection.h.
References m_dirty.
void SCH_CONNECTION::SetDriver | ( | SCH_ITEM * | aItem | ) |
Definition at line 110 of file sch_connection.cpp.
References m_driver, m_members, and recacheName().
Referenced by CONNECTION_SUBGRAPH::ExchangeItem(), and CONNECTION_SUBGRAPH::ResolveDrivers().
|
inline |
Definition at line 80 of file sch_connection.h.
References m_graph.
Referenced by CONNECTION_GRAPH::generateBusAliasMembers(), SCH_ITEM::InitializeConnection(), and CONNECTION_GRAPH::Merge().
|
inline |
Definition at line 152 of file sch_connection.h.
References m_name, and recacheName().
Referenced by CONNECTION_GRAPH::generateBusAliasMembers(), and CONNECTION_GRAPH::generateGlobalPowerPinSubGraphs().
|
inline |
Definition at line 177 of file sch_connection.h.
References m_net_code.
Referenced by CONNECTION_GRAPH::assignNewNetCode(), and CONNECTION_GRAPH::generateGlobalPowerPinSubGraphs().
void SCH_CONNECTION::SetPrefix | ( | const wxString & | aPrefix | ) |
Definition at line 412 of file sch_connection.cpp.
References m_prefix, Members(), and recacheName().
void SCH_CONNECTION::SetSheet | ( | SCH_SHEET_PATH | aSheet | ) |
Definition at line 121 of file sch_connection.cpp.
References m_local_sheet, m_members, m_sheet, and recacheName().
Referenced by SCH_ITEM::InitializeConnection().
|
inline |
Definition at line 183 of file sch_connection.h.
References m_subgraph_code.
Referenced by CONNECTION_SUBGRAPH::Absorb(), CONNECTION_GRAPH::buildItemSubGraphs(), and CONNECTION_GRAPH::generateGlobalPowerPinSubGraphs().
void SCH_CONNECTION::SetSuffix | ( | const wxString & | aSuffix | ) |
Definition at line 423 of file sch_connection.cpp.
References m_suffix, Members(), and recacheName().
|
inline |
Definition at line 170 of file sch_connection.h.
References m_type, and recacheName().
Referenced by CONNECTION_GRAPH::buildConnectionGraph(), CONNECTION_GRAPH::generateBusAliasMembers(), and CONNECTION_GRAPH::updateItemConnectivity().
|
inline |
Definition at line 110 of file sch_connection.h.
References m_sheet.
Referenced by Clone(), and BACK_ANNOTATE::processNetNameChange().
|
inline |
Definition at line 182 of file sch_connection.h.
References m_subgraph_code.
Referenced by CONNECTION_GRAPH::buildItemSubGraphs(), and CONNECTION_GRAPH::generateGlobalPowerPinSubGraphs().
|
inline |
|
inline |
Definition at line 168 of file sch_connection.h.
References m_type.
Referenced by Clone(), CONNECTION_SUBGRAPH::GetVectorBusLabels(), IsDriver(), CONNECTION_GRAPH::matchBusMember(), CONNECTION_GRAPH::processSubGraphs(), and CONNECTION_GRAPH::propagateToNeighbors().
|
inline |
Definition at line 186 of file sch_connection.h.
References m_vector_end.
Referenced by Clone(), and DIALOG_MIGRATE_BUSES::getProposedLabels().
|
inline |
Definition at line 188 of file sch_connection.h.
References m_vector_index.
Referenced by CONNECTION_GRAPH::matchBusMember().
|
inline |
Definition at line 190 of file sch_connection.h.
References m_vector_prefix.
Referenced by Clone(), and DIALOG_MIGRATE_BUSES::getProposedLabels().
|
inline |
Definition at line 185 of file sch_connection.h.
References m_vector_start.
Referenced by Clone(), and DIALOG_MIGRATE_BUSES::getProposedLabels().
|
private |
Definition at line 288 of file sch_connection.h.
Referenced by AppendInfoToMsgPanel(), BusCode(), Clone(), Reset(), and SetBusCode().
|
private |
Optional prefix of a bux group (always empty for nets and vector buses)
Definition at line 282 of file sch_connection.h.
Referenced by BusPrefix(), ConfigureFromLabel(), and Reset().
|
private |
Full name, including prefix and suffix.
Definition at line 262 of file sch_connection.h.
Referenced by Name(), recacheName(), and Reset().
|
private |
Full name including sheet path (if not global)
Definition at line 264 of file sch_connection.h.
Referenced by Name(), recacheName(), and Reset().
|
private |
Definition at line 239 of file sch_connection.h.
Referenced by ClearDirty(), IsDirty(), Reset(), and SetDirty().
|
private |
The SCH_ITEM that drives this connection's net.
Definition at line 256 of file sch_connection.h.
Referenced by ClearDriverChanged(), Clone(), Driver(), CONNECTION_GRAPH::GetBusesNeedingMigration(), HasDriverChanged(), operator==(), recacheName(), Reset(), and SetDriver().
|
private |
Pointer to the connection graph for the schematic this connection exists on.
Needed for bus alias lookups.
Definition at line 313 of file sch_connection.h.
Referenced by AppendInfoToMsgPanel(), Clone(), ConfigureFromLabel(), GetNetName(), and SetGraph().
|
private |
WEAK POINTER (there is no guarantee it is still allocated) Equality comparisons are OK, but that's pretty much it.
Definition at line 253 of file sch_connection.h.
Referenced by ClearDriverChanged(), GetLastDriver(), HasDriverChanged(), and Reset().
|
private |
For bus members, we want to keep track of the "local" name of a member, that is, the name it takes on from its parent bus name.
This is because we always want to use the local name for bus unfolding, matching within buses, etc. The actual resolved name of this bus member might change, for example if it's connected elsewhere to some other item with higher priority.
Definition at line 273 of file sch_connection.h.
Referenced by Clone(), ConfigureFromLabel(), FullLocalName(), LocalName(), and Reset().
|
private |
Local prefix for group bus members (used with m_local_name)
Definition at line 279 of file sch_connection.h.
Referenced by Clone(), ConfigureFromLabel(), FullLocalName(), and Reset().
|
private |
When a connection is overridden by one on a different hierarchical sheet, it will be cloned and m_sheet will point to the parent sheet.
This member stores the original sheet so that it can be used for applications such as net highlighting to retrieve the sheet of the parent item from the highlighted connection.
Definition at line 249 of file sch_connection.h.
Referenced by LocalSheet(), and SetSheet().
|
private |
For bus connections, store a list of member connections.
NOTE: All connections that Clone() others share the list of member pointers. This seems fine at the moment.
Definition at line 307 of file sch_connection.h.
Referenced by AllMembers(), Clone(), ConfigureFromLabel(), Members(), Reset(), SetDriver(), and SetSheet().
|
private |
Name of the connection.
Definition at line 260 of file sch_connection.h.
Referenced by AppendInfoToMsgPanel(), Clone(), ConfigureFromLabel(), operator==(), recacheName(), Reset(), and SetName().
|
private |
Definition at line 286 of file sch_connection.h.
Referenced by Clone(), NetCode(), Reset(), and SetNetCode().
|
private |
The SCH_ITEM this connection is owned by.
Definition at line 251 of file sch_connection.h.
Referenced by ConfigureFromLabel(), GetNetName(), and Parent().
|
private |
Prefix if connection is member of a labeled bus group (or "" if not)
Definition at line 276 of file sch_connection.h.
Referenced by Clone(), ConfigureFromLabel(), Prefix(), recacheName(), Reset(), and SetPrefix().
|
private |
The hierarchical sheet this connection is on.
Definition at line 241 of file sch_connection.h.
Referenced by Clone(), ConfigureFromLabel(), IsDriver(), operator==(), recacheName(), SetSheet(), and Sheet().
|
private |
Groups directly-connected items.
Definition at line 290 of file sch_connection.h.
Referenced by AppendInfoToMsgPanel(), Reset(), SetSubgraphCode(), and SubgraphCode().
|
private |
Name suffix (used only for disambiguation)
Definition at line 284 of file sch_connection.h.
Referenced by Clone(), FullLocalName(), recacheName(), Reset(), SetSuffix(), and Suffix().
|
private |
Definition at line 258 of file sch_connection.h.
Referenced by Clone(), ConfigureFromLabel(), IsBus(), IsNet(), IsUnconnected(), operator==(), recacheName(), Reset(), SetType(), and Type().
|
private |
Lowest member of a vector bus.
Prefix name of the vector, if m_type == CONNECTION_BUS (or "" if not)
Definition at line 296 of file sch_connection.h.
Referenced by Clone(), Reset(), and VectorEnd().
|
private |
Index of bus vector member nets.
Definition at line 292 of file sch_connection.h.
Referenced by Reset(), and VectorIndex().
|
private |
Definition at line 299 of file sch_connection.h.
Referenced by Clone(), ConfigureFromLabel(), Reset(), and VectorPrefix().
|
private |
Highest member of a vector bus.
Definition at line 294 of file sch_connection.h.
Referenced by Clone(), Reset(), and VectorStart().