Convert selection vector to EDA_ITEMS for base tool call
The base tool expects a generic EDA_ITEMS, but the existing vector doesn't easily cast, so add a temporary one.
This commit is contained in:
parent
f899d9676f
commit
f14feafc6b
|
@ -1553,7 +1553,9 @@ int DRAWING_TOOL::PlaceImportedGraphics( const TOOL_EVENT& aEvent )
|
||||||
|
|
||||||
// Clear the current selection then select the drawings so that edit tools work on them
|
// Clear the current selection then select the drawings so that edit tools work on them
|
||||||
m_toolMgr->RunAction( PCB_ACTIONS::selectionClear, true );
|
m_toolMgr->RunAction( PCB_ACTIONS::selectionClear, true );
|
||||||
m_toolMgr->RunAction( PCB_ACTIONS::selectItems, true, &selectedItems );
|
|
||||||
|
EDA_ITEMS selItems( selectedItems.begin(), selectedItems.end() );
|
||||||
|
m_toolMgr->RunAction<EDA_ITEMS*>( PCB_ACTIONS::selectItems, true, &selItems );
|
||||||
|
|
||||||
m_frame->PushTool( aEvent );
|
m_frame->PushTool( aEvent );
|
||||||
|
|
||||||
|
|
|
@ -2229,7 +2229,8 @@ int EDIT_TOOL::Duplicate( const TOOL_EVENT& aEvent )
|
||||||
m_toolMgr->RunAction( PCB_ACTIONS::selectionClear, true );
|
m_toolMgr->RunAction( PCB_ACTIONS::selectionClear, true );
|
||||||
|
|
||||||
// Select the new items
|
// Select the new items
|
||||||
m_toolMgr->RunAction( PCB_ACTIONS::selectItems, true, &new_items );
|
EDA_ITEMS nItems( new_items.begin(), new_items.end() );
|
||||||
|
m_toolMgr->RunAction<EDA_ITEMS*>( PCB_ACTIONS::selectItems, true, &nItems );
|
||||||
|
|
||||||
// record the new items as added
|
// record the new items as added
|
||||||
if( !selection.Empty() )
|
if( !selection.Empty() )
|
||||||
|
|
|
@ -816,7 +816,9 @@ int EDIT_TOOL::doMoveSelection( const TOOL_EVENT& aEvent, const wxString& aCommi
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_commit->Push( aCommitMessage );
|
m_commit->Push( aCommitMessage );
|
||||||
m_toolMgr->RunAction( PCB_ACTIONS::selectItems, true, &orig_items );
|
|
||||||
|
EDA_ITEMS oItems( orig_items.begin(), orig_items.end() );
|
||||||
|
m_toolMgr->RunAction<EDA_ITEMS*>( PCB_ACTIONS::selectItems, true, &oItems );
|
||||||
}
|
}
|
||||||
|
|
||||||
m_toolMgr->GetTool<DRAWING_TOOL>()->UpdateStatusBar();
|
m_toolMgr->GetTool<DRAWING_TOOL>()->UpdateStatusBar();
|
||||||
|
|
|
@ -357,7 +357,8 @@ int GROUP_TOOL::Ungroup( const TOOL_EVENT& aEvent )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_toolMgr->RunAction( PCB_ACTIONS::selectItems, true, &members );
|
EDA_ITEMS mem( members.begin(), members.end() );
|
||||||
|
m_toolMgr->RunAction<EDA_ITEMS*>( PCB_ACTIONS::selectItems, true, &mem );
|
||||||
|
|
||||||
m_toolMgr->PostEvent( EVENTS::SelectedItemsModified );
|
m_toolMgr->PostEvent( EVENTS::SelectedItemsModified );
|
||||||
m_frame->OnModify();
|
m_frame->OnModify();
|
||||||
|
|
|
@ -1152,7 +1152,8 @@ int PCB_CONTROL::placeBoardItems( std::vector<BOARD_ITEM*>& aItems, bool aIsNew,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Select the items that should be selected
|
// Select the items that should be selected
|
||||||
m_toolMgr->RunAction( PCB_ACTIONS::selectItems, true, &itemsToSel );
|
EDA_ITEMS toSel( itemsToSel.begin(), itemsToSel.end() );
|
||||||
|
m_toolMgr->RunAction<EDA_ITEMS*>( PCB_ACTIONS::selectItems, true, &toSel );
|
||||||
|
|
||||||
// Reannotate duplicate footprints (make sense only in board editor )
|
// Reannotate duplicate footprints (make sense only in board editor )
|
||||||
if( aReannotateDuplicates && m_isBoardEditor )
|
if( aReannotateDuplicates && m_isBoardEditor )
|
||||||
|
|
|
@ -116,7 +116,10 @@ void FOOTPRINT_SEARCH_HANDLER::SelectItems( std::vector<long>& aItemRows )
|
||||||
m_frame->GetToolManager()->RunAction( PCB_ACTIONS::selectionClear, true );
|
m_frame->GetToolManager()->RunAction( PCB_ACTIONS::selectionClear, true );
|
||||||
|
|
||||||
if( selectedItems.size() )
|
if( selectedItems.size() )
|
||||||
m_frame->GetToolManager()->RunAction( PCB_ACTIONS::selectItems, true, &selectedItems );
|
{
|
||||||
|
EDA_ITEMS selItems( selectedItems.begin(), selectedItems.end() );
|
||||||
|
m_frame->GetToolManager()->RunAction( PCB_ACTIONS::selectItems, true, &selItems );
|
||||||
|
}
|
||||||
|
|
||||||
m_frame->GetCanvas()->Refresh( false );
|
m_frame->GetCanvas()->Refresh( false );
|
||||||
}
|
}
|
||||||
|
@ -202,7 +205,10 @@ void ZONE_SEARCH_HANDLER::SelectItems( std::vector<long>& aItemRows )
|
||||||
m_frame->GetToolManager()->RunAction( PCB_ACTIONS::selectionClear, true );
|
m_frame->GetToolManager()->RunAction( PCB_ACTIONS::selectionClear, true );
|
||||||
|
|
||||||
if( selectedItems.size() )
|
if( selectedItems.size() )
|
||||||
m_frame->GetToolManager()->RunAction( PCB_ACTIONS::selectItems, true, &selectedItems );
|
{
|
||||||
|
EDA_ITEMS selItems( selectedItems.begin(), selectedItems.end() );
|
||||||
|
m_frame->GetToolManager()->RunAction( PCB_ACTIONS::selectItems, true, &selItems );
|
||||||
|
}
|
||||||
|
|
||||||
m_frame->GetCanvas()->Refresh( false );
|
m_frame->GetCanvas()->Refresh( false );
|
||||||
}
|
}
|
||||||
|
@ -290,7 +296,10 @@ void TEXT_SEARCH_HANDLER::SelectItems( std::vector<long>& aItemRows )
|
||||||
m_frame->GetToolManager()->RunAction( PCB_ACTIONS::selectionClear, true );
|
m_frame->GetToolManager()->RunAction( PCB_ACTIONS::selectionClear, true );
|
||||||
|
|
||||||
if( selectedItems.size() )
|
if( selectedItems.size() )
|
||||||
m_frame->GetToolManager()->RunAction( PCB_ACTIONS::selectItems, true, &selectedItems );
|
{
|
||||||
|
EDA_ITEMS selItems( selectedItems.begin(), selectedItems.end() );
|
||||||
|
m_frame->GetToolManager()->RunAction( PCB_ACTIONS::selectItems, true, &selItems );
|
||||||
|
}
|
||||||
|
|
||||||
m_frame->GetCanvas()->Refresh( false );
|
m_frame->GetCanvas()->Refresh( false );
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue