Code clarity.

This commit is contained in:
Jeff Young 2023-10-10 11:14:47 +01:00
parent 4226839586
commit bb74445dda
1 changed files with 30 additions and 30 deletions

View File

@ -1115,43 +1115,42 @@ int DRAWING_TOOL::PlaceMeander( const TOOL_EVENT& aEvent )
picker->SetClickHandler( picker->SetClickHandler(
[this]( const VECTOR2D& aPosition ) -> bool [this]( const VECTOR2D& aPosition ) -> bool
{ {
if( m_pickerItem ) if( !m_pickerItem )
return true; // keep going (ignore click with no target)
GENERATOR_TOOL* generatorTool = m_toolMgr->GetTool<GENERATOR_TOOL>();
if( !m_meander )
{ {
GENERATOR_TOOL* generatorTool = m_toolMgr->GetTool<GENERATOR_TOOL>(); // First click; create a meander
if( !m_meander ) generatorTool->HighlightNet( nullptr );
{
// First click; create a meander
generatorTool->HighlightNet( nullptr ); m_frame->SetActiveLayer( m_pickerItem->GetLayer() );
m_meander = PCB_GENERATOR_MEANDERS::CreateNew( generatorTool, m_frame,
m_pickerItem );
m_frame->SetActiveLayer( m_pickerItem->GetLayer() ); int dummyDist;
m_meander = PCB_GENERATOR_MEANDERS::CreateNew( generatorTool, m_frame, int dummyClearance = std::numeric_limits<int>::max() / 2;
m_pickerItem ); VECTOR2I closestPt;
int dummyDist; m_pickerItem->GetEffectiveShape()->Collide( aPosition, dummyClearance,
int dummyClearance = std::numeric_limits<int>::max() / 2; &dummyDist, &closestPt );
VECTOR2I closestPt; m_meander->SetPosition( closestPt );
return true; // keep going
m_pickerItem->GetEffectiveShape()->Collide( aPosition, dummyClearance,
&dummyDist, &closestPt );
m_meander->SetPosition( closestPt );
}
else
{
// Second click; we're done
BOARD_COMMIT commit( m_frame );
m_meander->EditStart( generatorTool, m_board, m_frame, &commit );
m_meander->Update( generatorTool, m_board, m_frame, &commit );
m_meander->EditPush( generatorTool, m_board, m_frame, &commit,
_( "Place Meander" ) );
return false; // exit picker tool
}
} }
else
{
// Second click; we're done
BOARD_COMMIT commit( m_frame );
return true; m_meander->EditStart( generatorTool, m_board, m_frame, &commit );
m_meander->Update( generatorTool, m_board, m_frame, &commit );
m_meander->EditPush( generatorTool, m_board, m_frame, &commit,
_( "Place Meander" ) );
return false; // exit picker tool
}
} ); } );
picker->SetMotionHandler( picker->SetMotionHandler(
@ -1213,6 +1212,7 @@ int DRAWING_TOOL::PlaceMeander( const TOOL_EVENT& aEvent )
if( m_meander ) if( m_meander )
{ {
// First click already made; clean up meander preview
m_meander->EditRevert( generatorTool, m_board, m_frame, nullptr ); m_meander->EditRevert( generatorTool, m_board, m_frame, nullptr );
delete m_meander; delete m_meander;