EE_SELECTION_TOOL correctly identifies buses and wires for auto starting
This commit is contained in:
parent
cf42d692bf
commit
9205f1571d
|
@ -314,6 +314,7 @@ int EE_SELECTION_TOOL::Main( const TOOL_EVENT& aEvent )
|
||||||
while( TOOL_EVENT* evt = Wait() )
|
while( TOOL_EVENT* evt = Wait() )
|
||||||
{
|
{
|
||||||
bool displayWireCursor = false;
|
bool displayWireCursor = false;
|
||||||
|
bool displayBusCursor = false;
|
||||||
KIID rolloverItem = lastRolloverItem;
|
KIID rolloverItem = lastRolloverItem;
|
||||||
m_additive = m_subtractive = m_exclusive_or = false;
|
m_additive = m_subtractive = m_exclusive_or = false;
|
||||||
|
|
||||||
|
@ -356,7 +357,18 @@ int EE_SELECTION_TOOL::Main( const TOOL_EVENT& aEvent )
|
||||||
if( m_frame->eeconfig()->m_Drawing.auto_start_wires
|
if( m_frame->eeconfig()->m_Drawing.auto_start_wires
|
||||||
&& collector[0]->IsPointClickableAnchor( (wxPoint) snappedCursorPos ) )
|
&& collector[0]->IsPointClickableAnchor( (wxPoint) snappedCursorPos ) )
|
||||||
{
|
{
|
||||||
OPT_TOOL_EVENT newEvt = EE_ACTIONS::drawWire.MakeEvent();
|
OPT_TOOL_EVENT newEvt;
|
||||||
|
SCH_CONNECTION* connection = collector[0]->Connection();
|
||||||
|
|
||||||
|
if( connection && connection->IsBus() )
|
||||||
|
{
|
||||||
|
newEvt = EE_ACTIONS::drawBus.MakeEvent();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
newEvt = EE_ACTIONS::drawWire.MakeEvent();
|
||||||
|
}
|
||||||
|
|
||||||
auto* params = newEvt->Parameter<DRAW_SEGMENT_EVENT_PARAMS*>();
|
auto* params = newEvt->Parameter<DRAW_SEGMENT_EVENT_PARAMS*>();
|
||||||
auto* newParams = new DRAW_SEGMENT_EVENT_PARAMS();
|
auto* newParams = new DRAW_SEGMENT_EVENT_PARAMS();
|
||||||
|
|
||||||
|
@ -557,8 +569,18 @@ int EE_SELECTION_TOOL::Main( const TOOL_EVENT& aEvent )
|
||||||
|
|
||||||
if( m_frame->eeconfig()->m_Drawing.auto_start_wires
|
if( m_frame->eeconfig()->m_Drawing.auto_start_wires
|
||||||
&& collector[0]->IsPointClickableAnchor( (wxPoint) snappedCursorPos ) )
|
&& collector[0]->IsPointClickableAnchor( (wxPoint) snappedCursorPos ) )
|
||||||
|
{
|
||||||
|
SCH_CONNECTION* connection = collector[0]->Connection();
|
||||||
|
|
||||||
|
if( connection && connection->IsBus() )
|
||||||
|
{
|
||||||
|
displayBusCursor = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
displayWireCursor = true;
|
displayWireCursor = true;
|
||||||
|
}
|
||||||
|
|
||||||
getViewControls()->ForceCursorPosition( true, snappedCursorPos );
|
getViewControls()->ForceCursorPosition( true, snappedCursorPos );
|
||||||
}
|
}
|
||||||
else if( collector[0]->IsHypertext()
|
else if( collector[0]->IsHypertext()
|
||||||
|
@ -614,6 +636,10 @@ int EE_SELECTION_TOOL::Main( const TOOL_EVENT& aEvent )
|
||||||
{
|
{
|
||||||
m_nonModifiedCursor = KICURSOR::LINE_WIRE_ADD;
|
m_nonModifiedCursor = KICURSOR::LINE_WIRE_ADD;
|
||||||
}
|
}
|
||||||
|
else if( displayBusCursor )
|
||||||
|
{
|
||||||
|
m_nonModifiedCursor = KICURSOR::LINE_BUS;
|
||||||
|
}
|
||||||
else if( rolloverItem != niluuid )
|
else if( rolloverItem != niluuid )
|
||||||
{
|
{
|
||||||
m_nonModifiedCursor = KICURSOR::HAND;
|
m_nonModifiedCursor = KICURSOR::HAND;
|
||||||
|
|
Loading…
Reference in New Issue