mirror of
https://gitlab.com/kicad/code/kicad.git
synced 2025-09-14 02:03:12 +02:00
sch groups: add delete support
This commit is contained in:
parent
f72d5c43f3
commit
6a24c5c5a4
@ -1630,7 +1630,8 @@ static std::vector<KICAD_T> deletableItems =
|
||||
SCH_SHEET_PIN_T,
|
||||
SCH_SYMBOL_T,
|
||||
SCH_FIELD_T, // Will be hidden
|
||||
SCH_BITMAP_T
|
||||
SCH_BITMAP_T,
|
||||
SCH_GROUP_T
|
||||
};
|
||||
|
||||
|
||||
@ -1697,6 +1698,27 @@ int SCH_EDIT_TOOL::DoDelete( const TOOL_EVENT& aEvent )
|
||||
sch_item->SetFlags( STRUCT_DELETED );
|
||||
commit.Remove( item, m_frame->GetScreen() );
|
||||
}
|
||||
else if( sch_item->Type() == SCH_GROUP_T )
|
||||
{
|
||||
// Groups need to have all children ungrouped, then deleted
|
||||
sch_item->RunOnChildren(
|
||||
[&]( SCH_ITEM* aChild )
|
||||
{
|
||||
commit.Stage( aChild, CHT_UNGROUP, m_frame->GetScreen() );
|
||||
},
|
||||
RECURSE_MODE::RECURSE );
|
||||
|
||||
sch_item->RunOnChildren(
|
||||
[&]( SCH_ITEM* aChild )
|
||||
{
|
||||
aChild->SetFlags( STRUCT_DELETED );
|
||||
commit.Remove( aChild, m_frame->GetScreen() );
|
||||
},
|
||||
RECURSE_MODE::RECURSE );
|
||||
|
||||
sch_item->SetFlags( STRUCT_DELETED );
|
||||
commit.Remove( sch_item, m_frame->GetScreen() );
|
||||
}
|
||||
else
|
||||
{
|
||||
sch_item->SetFlags( STRUCT_DELETED );
|
||||
|
Loading…
x
Reference in New Issue
Block a user