![]() |
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, SCH_SHEET_PATH aPath=SCH_SHEET_PATH()) | |
Buses can be defined in multiple ways. More... | |
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! More... | |
bool | operator!= (const SCH_CONNECTION &aOther) const |
void | SetGraph (CONNECTION_GRAPH *aGraph) |
void | ConfigureFromLabel (const wxString &aLabel) |
Configures the connection given a label. More... | |
void | Reset () |
Clears connectivity information. More... | |
void | Clone (const SCH_CONNECTION &aOther) |
Copies connectivity information (but not parent) from another connection. More... | |
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. More... | |
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 | 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 |
std::vector< std::shared_ptr< SCH_CONNECTION > > & | Members () |
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) More... | |
bool | IsMemberOfBus (SCH_CONNECTION *aOther) const |
Returns true if this connection is a member of bus connection aOther. More... | |
void | AppendInfoToMsgPanel (std::vector< MSG_PANEL_ITEM > &aList) const |
Adds information about the connection object to aList. More... | |
Static Public Member Functions | |
static wxString | PrintBusForUI (const wxString &aString) |
static bool | IsBusLabel (const wxString &aLabel) |
Test if aLabel has a bus notation. More... | |
static bool | MightBeBusLabel (const wxString &aLabel) |
Test if aLabel looks like a bus notation. More... | |
Private Member Functions | |
void | recacheName () |
Private Attributes | |
bool | m_dirty |
SCH_SHEET_PATH | m_sheet |
The hierarchical sheet this connection is on. More... | |
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. More... | |
SCH_ITEM * | m_parent |
The SCH_ITEM this connection is owned by. More... | |
void * | m_lastDriver |
WEAK POINTER (there is no guarantee it is still allocated) Equality comparisons are OK, but that's pretty much it. More... | |
SCH_ITEM * | m_driver |
The SCH_ITEM that drives this connection's net. More... | |
CONNECTION_TYPE | m_type |
wxString | m_name |
Name of the connection. More... | |
wxString | m_cached_name |
Full name, including prefix and suffix. More... | |
wxString | m_cached_name_with_path |
Full name including sheet path (if not global) More... | |
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. More... | |
wxString | m_prefix |
Prefix if connection is member of a labeled bus group (or "" if not) More... | |
wxString | m_local_prefix |
Local prefix for group bus members (used with m_local_name) More... | |
wxString | m_bus_prefix |
Optional prefix of a bux group (always empty for nets and vector buses) More... | |
wxString | m_suffix |
Name suffix (used only for disambiguation) More... | |
int | m_net_code |
int | m_bus_code |
int | m_subgraph_code |
Groups directly-connected items. More... | |
long | m_vector_index |
Index of bus vector member nets. More... | |
long | m_vector_start |
Highest member of a vector bus. More... | |
long | m_vector_end |
Lowest member of a vector bus. More... | |
wxString | m_vector_prefix |
std::vector< std::shared_ptr< SCH_CONNECTION > > | m_members |
For bus connections, store a list of member connections. More... | |
CONNECTION_GRAPH * | m_graph |
Pointer to the connection graph for the schematic this connection exists on. More... | |
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 61 of file sch_connection.h.
SCH_CONNECTION::SCH_CONNECTION | ( | SCH_ITEM * | aParent = nullptr , |
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 64 of file sch_connection.cpp.
References Reset().
SCH_CONNECTION::SCH_CONNECTION | ( | CONNECTION_GRAPH * | aGraph | ) |
Definition at line 75 of file sch_connection.cpp.
References Reset().
|
inline |
Definition at line 68 of file sch_connection.h.
const std::vector< std::shared_ptr< SCH_CONNECTION > > SCH_CONNECTION::AllMembers | ( | ) | const |
Definition at line 481 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 403 of file sch_connection.cpp.
References _, Driver(), Format(), CONNECTION_GRAPH::GetBusAlias(), ADVANCED_CFG::GetCfg(), IsBus(), CONNECTION_GRAPH::m_allowRealTime, m_bus_code, m_graph, m_name, m_net_code, m_subgraph_code, MILLIMETRES, Name(), NET_SETTINGS::ParseBusGroup(), and UnescapeString().
Referenced by SCH_PIN::GetMsgPanelInfo(), SCH_BUS_ENTRY_BASE::GetMsgPanelInfo(), SCH_LINE::GetMsgPanelInfo(), and SCH_TEXT::GetMsgPanelInfo().
|
inline |
|
inline |
Definition at line 160 of file sch_connection.h.
References m_bus_prefix.
|
inline |
Definition at line 136 of file sch_connection.h.
References m_dirty.
Referenced by CONNECTION_SUBGRAPH::ResolveDrivers(), and CONNECTION_SUBGRAPH::UpdateItemConnections().
void SCH_CONNECTION::ClearDriverChanged | ( | ) |
Definition at line 337 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 230 of file sch_connection.cpp.
References BUS, BUS_GROUP, BusCode(), 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(), CONNECTION_GRAPH::propagateToNeighbors(), 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 130 of file sch_connection.cpp.
References BUS, BUS_GROUP, 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, NET_SETTINGS::ParseBusGroup(), NET_SETTINGS::ParseBusVector(), recacheName(), and UnescapeString().
Referenced by CONNECTION_GRAPH::buildConnectionGraph(), CONNECTION_GRAPH::ercCheckBusToNetConflicts(), DIALOG_MIGRATE_BUSES::getProposedLabels(), and CONNECTION_SUBGRAPH::ResolveDrivers().
|
inline |
Definition at line 106 of file sch_connection.h.
References m_driver.
Referenced by AppendInfoToMsgPanel(), SCH_EDITOR_CONTROL::AssignNetclass(), Clone(), and SCH_EDITOR_CONTROL::UpdateNetHighlighting().
|
inline |
Definition at line 146 of file sch_connection.h.
References m_local_name, m_local_prefix, and m_suffix.
Referenced by IsSubsetOf().
|
inline |
Definition at line 140 of file sch_connection.h.
References m_lastDriver.
bool SCH_CONNECTION::HasDriverChanged | ( | ) | const |
Definition at line 331 of file sch_connection.cpp.
References m_driver, and m_lastDriver.
Referenced by SCH_EDIT_FRAME::RecalculateConnections().
|
inline |
Definition at line 122 of file sch_connection.h.
References BUS, BUS_GROUP, and m_type.
Referenced by AppendInfoToMsgPanel(), SCH_EDITOR_CONTROL::AssignNetclass(), 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_LINE::GetMsgPanelInfo(), SCH_TEXT::GetMsgPanelInfo(), SCHEMATIC::GetNetClassAssignmentCandidates(), IsMemberOfBus(), IsSubsetOf(), EE_SELECTION_TOOL::Main(), CONNECTION_GRAPH::matchBusMember(), SCH_TEXT::Plot(), SCH_GLOBALLABEL::Print(), SCH_HIERLABEL::Print(), CONNECTION_GRAPH::processSubGraphs(), CONNECTION_GRAPH::propagateToNeighbors(), CONNECTION_SUBGRAPH::ResolveDrivers(), BUS_UNFOLD_MENU::update(), CONNECTION_SUBGRAPH::UpdateItemConnections(), and SCH_EDITOR_CONTROL::UpdateNetHighlighting().
|
static |
Test if aLabel has a bus notation.
aLabel | A wxString object containing the label to test. |
Definition at line 463 of file sch_connection.cpp.
References NET_SETTINGS::ParseBusGroup(), NET_SETTINGS::ParseBusVector(), and UnescapeString().
Referenced by SCH_BUS_WIRE_ENTRY::ConnectionPropagatesTo().
|
inline |
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 303 of file sch_connection.cpp.
References LIB_PIN_T, 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().
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 571 of file sch_connection.cpp.
|
inline |
Definition at line 127 of file sch_connection.h.
Referenced by CONNECTION_GRAPH::buildConnectionGraph(), EE_SELECTION_TOOL::Main(), SCH_EDIT_FRAME::SetCrossProbeConnection(), CONNECTION_SUBGRAPH::UpdateItemConnections(), and SCH_EDITOR_CONTROL::UpdateNetHighlighting().
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 556 of file sch_connection.cpp.
References FullLocalName(), IsBus(), and Members().
Referenced by CONNECTION_SUBGRAPH::ResolveDrivers().
|
inline |
Definition at line 132 of file sch_connection.h.
Referenced by EE_SELECTION_TOOL::Main().
|
inline |
Definition at line 144 of file sch_connection.h.
References m_local_name.
Referenced by Clone(), CONNECTION_GRAPH::matchBusMember(), and CONNECTION_GRAPH::propagateToNeighbors().
|
inline |
Definition at line 112 of file sch_connection.h.
References m_local_sheet.
Referenced by SCH_EDIT_FRAME::RecalculateConnections().
|
inline |
Definition at line 189 of file sch_connection.h.
References m_members.
Referenced by SCH_EDITOR_CONTROL::AssignNetclass(), CONNECTION_GRAPH::assignNetCodesToBus(), Clone(), CONNECTION_GRAPH::ercCheckBusToBusConflicts(), CONNECTION_GRAPH::ercCheckBusToBusEntryConflicts(), IsMemberOfBus(), IsSubsetOf(), CONNECTION_GRAPH::matchBusMember(), SCH_EDIT_FRAME::SetCrossProbeConnection(), SetPrefix(), SetSuffix(), BUS_UNFOLD_MENU::update(), and SCH_EDITOR_CONTROL::UpdateNetHighlighting().
|
inline |
Definition at line 194 of file sch_connection.h.
References m_members.
|
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 472 of file sch_connection.cpp.
References UnescapeString().
wxString SCH_CONNECTION::Name | ( | bool | aIgnoreSheet = false | ) | const |
Definition at line 344 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_BUS_ENTRY_BASE::GetMsgPanelInfo(), SCH_LINE::GetMsgPanelInfo(), SCH_TEXT::GetMsgPanelInfo(), CONNECTION_SUBGRAPH::GetNetName(), IsMemberOfBus(), SCH_ITEM::NetClass(), CONNECTION_GRAPH::processSubGraphs(), CONNECTION_GRAPH::propagateToNeighbors(), CONNECTION_GRAPH::recacheSubgraphName(), SCH_EDIT_FRAME::SetCrossProbeConnection(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::TransferDataToWindow(), SCH_EDITOR_CONTROL::UpdateNetHighlighting(), and DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem().
|
inline |
bool SCH_CONNECTION::operator!= | ( | const SCH_CONNECTION & | aOther | ) | const |
Definition at line 124 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 86 of file sch_connection.cpp.
|
inline |
Definition at line 104 of file sch_connection.h.
References m_parent.
Referenced by IsDriver(), recacheName(), SCH_EDIT_FRAME::RecalculateConnections(), and SCH_EDITOR_CONTROL::UpdateNetHighlighting().
|
inline |
Definition at line 157 of file sch_connection.h.
References m_prefix.
Referenced by Clone().
|
static |
Definition at line 499 of file sch_connection.cpp.
References isSuperSubOverbar().
Referenced by BUS_UNFOLD_MENU::update().
|
private |
Definition at line 351 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, NONE, 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 205 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, m_vector_start, and NONE.
Referenced by SCH_ITEM::InitializeConnection(), and SCH_CONNECTION().
|
inline |
Definition at line 177 of file sch_connection.h.
References m_bus_code.
Referenced by CONNECTION_GRAPH::processSubGraphs().
|
inline |
void SCH_CONNECTION::SetDriver | ( | SCH_ITEM * | aItem | ) |
Definition at line 101 of file sch_connection.cpp.
References m_driver, m_members, and recacheName().
Referenced by CONNECTION_SUBGRAPH::ResolveDrivers().
|
inline |
Definition at line 79 of file sch_connection.h.
References m_graph.
Referenced by SCH_ITEM::InitializeConnection().
|
inline |
Definition at line 151 of file sch_connection.h.
References m_name, and recacheName().
Referenced by CONNECTION_GRAPH::generateInvisiblePinSubGraphs().
|
inline |
Definition at line 174 of file sch_connection.h.
References m_net_code.
Referenced by CONNECTION_GRAPH::assignNewNetCode(), and CONNECTION_GRAPH::generateInvisiblePinSubGraphs().
void SCH_CONNECTION::SetPrefix | ( | const wxString & | aPrefix | ) |
Definition at line 381 of file sch_connection.cpp.
References m_prefix, Members(), and recacheName().
void SCH_CONNECTION::SetSheet | ( | SCH_SHEET_PATH | aSheet | ) |
Definition at line 112 of file sch_connection.cpp.
References m_local_sheet, m_members, m_sheet, and recacheName().
Referenced by SCH_ITEM::InitializeConnection().
|
inline |
Definition at line 180 of file sch_connection.h.
References m_subgraph_code.
Referenced by CONNECTION_SUBGRAPH::Absorb(), CONNECTION_GRAPH::buildItemSubGraphs(), and CONNECTION_GRAPH::generateInvisiblePinSubGraphs().
void SCH_CONNECTION::SetSuffix | ( | const wxString & | aSuffix | ) |
Definition at line 392 of file sch_connection.cpp.
References m_suffix, Members(), and recacheName().
|
inline |
Definition at line 167 of file sch_connection.h.
References m_type, and recacheName().
Referenced by CONNECTION_GRAPH::buildConnectionGraph(), and CONNECTION_GRAPH::updateItemConnectivity().
|
inline |
Definition at line 109 of file sch_connection.h.
References m_sheet.
Referenced by Clone(), and BACK_ANNOTATE::processNetNameChange().
|
inline |
Definition at line 179 of file sch_connection.h.
References m_subgraph_code.
Referenced by CONNECTION_GRAPH::buildItemSubGraphs(), and CONNECTION_GRAPH::generateInvisiblePinSubGraphs().
|
inline |
Definition at line 162 of file sch_connection.h.
References m_suffix.
Referenced by Clone().
|
inline |
Definition at line 165 of file sch_connection.h.
References m_type.
Referenced by Clone(), CONNECTION_SUBGRAPH::GetBusLabels(), IsDriver(), CONNECTION_GRAPH::matchBusMember(), and CONNECTION_GRAPH::propagateToNeighbors().
|
inline |
Definition at line 183 of file sch_connection.h.
References m_vector_end.
Referenced by Clone().
|
inline |
Definition at line 185 of file sch_connection.h.
References m_vector_index.
Referenced by CONNECTION_GRAPH::matchBusMember().
|
inline |
|
inline |
Definition at line 182 of file sch_connection.h.
References m_vector_start.
Referenced by Clone().
|
private |
Definition at line 290 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 284 of file sch_connection.h.
Referenced by BusPrefix(), ConfigureFromLabel(), and Reset().
|
private |
Full name, including prefix and suffix.
Definition at line 264 of file sch_connection.h.
Referenced by Name(), recacheName(), and Reset().
|
private |
Full name including sheet path (if not global)
Definition at line 266 of file sch_connection.h.
Referenced by Name(), recacheName(), and Reset().
|
private |
Definition at line 241 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 258 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 315 of file sch_connection.h.
Referenced by AppendInfoToMsgPanel(), Clone(), ConfigureFromLabel(), 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 255 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 275 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 281 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 251 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 309 of file sch_connection.h.
Referenced by AllMembers(), Clone(), ConfigureFromLabel(), Members(), Reset(), SetDriver(), and SetSheet().
|
private |
Name of the connection.
Definition at line 262 of file sch_connection.h.
Referenced by AppendInfoToMsgPanel(), Clone(), ConfigureFromLabel(), operator==(), recacheName(), Reset(), and SetName().
|
private |
Definition at line 288 of file sch_connection.h.
Referenced by AppendInfoToMsgPanel(), Clone(), NetCode(), Reset(), and SetNetCode().
|
private |
The SCH_ITEM this connection is owned by.
Definition at line 253 of file sch_connection.h.
Referenced by ConfigureFromLabel(), and Parent().
|
private |
Prefix if connection is member of a labeled bus group (or "" if not)
Definition at line 278 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 243 of file sch_connection.h.
Referenced by Clone(), ConfigureFromLabel(), IsDriver(), operator==(), recacheName(), SetSheet(), and Sheet().
|
private |
Groups directly-connected items.
Definition at line 292 of file sch_connection.h.
Referenced by AppendInfoToMsgPanel(), Reset(), SetSubgraphCode(), and SubgraphCode().
|
private |
Name suffix (used only for disambiguation)
Definition at line 286 of file sch_connection.h.
Referenced by Clone(), FullLocalName(), recacheName(), Reset(), SetSuffix(), and Suffix().
|
private |
Definition at line 260 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 298 of file sch_connection.h.
Referenced by Clone(), Reset(), and VectorEnd().
|
private |
Index of bus vector member nets.
Definition at line 294 of file sch_connection.h.
Referenced by Reset(), and VectorIndex().
|
private |
Definition at line 301 of file sch_connection.h.
Referenced by Clone(), ConfigureFromLabel(), Reset(), and VectorPrefix().
|
private |
Highest member of a vector bus.
Definition at line 296 of file sch_connection.h.
Referenced by Clone(), Reset(), and VectorStart().