Another improvement to the pin/entry targets: if a bus entry is drawn between
two WIRES (not a wire and a bus, or two buses), it looks like it's connecting
the wires together, but doesn't actually represent a connection. This patch
makes it display as dangling in that case, to make it clear to the user that
a connection has not actually been made.
--
Chris
commit 04217c50d45ce0ed4e291c24e559da133aa4e181
Author: Chris Pavlina
Date: Mon Jun 15 11:05:25 2015 -0400
Show bus entry joining two wires as dangling
diff --git a/eeschema/sch_bus_entry.cpp b/eeschema/sch_bus_entry.cpp
index c655750..1819cae 100644
--- a/eeschema/sch_bus_entry.cpp
+++ b/eeschema/sch_bus_entry.cpp
@@ -258,6 +258,12 @@ bool SCH_BUS_ENTRY_BASE::IsDanglingStateChanged( std::vector&
// when the end position is found.
wxPoint seg_start;
+// Special case: if both items are wires, show as dangling. This is because
+// a bus entry between two wires will look like a connection, but does NOT
+// actually represent one. We need to clarify this for the user.
+bool start_is_wire = false;
+bool end_is_wire = false;
+
BOOST_FOREACH( DANGLING_END_ITEM& each_item, aItemList )
{
if( each_item.GetItem() == this )
@@ -269,17 +275,29 @@ bool SCH_BUS_ENTRY_BASE::IsDanglingStateChanged( std::vector&
case BUS_START_END:
seg_start = each_item.GetPosition();
break;
+
case WIRE_END_END:
+if( IsPointOnSegment( seg_start, each_item.GetPosition(), m_pos ) )
+start_is_wire = true;
+if( IsPointOnSegment( seg_start, each_item.GetPosition(), m_End() ) )
+end_is_wire = true;
+// Fall through
+
case BUS_END_END:
if( IsPointOnSegment( seg_start, each_item.GetPosition(), m_pos ) )
m_isDanglingStart = false;
if( IsPointOnSegment( seg_start, each_item.GetPosition(), m_End() ) )
m_isDanglingEnd = false;
+break;
default:
break;
}
}
+// See above: show as dangling if joining two wires
+if( start_is_wire && end_is_wire )
+m_isDanglingStart = m_isDanglingEnd = true;
+
return (previousStateStart != m_isDanglingStart) || (previousStateEnd != m_isDanglingEnd);
}
___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help : https://help.launchpad.net/ListHelp