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_SHEET_PIN_T,
|
||||||
SCH_SYMBOL_T,
|
SCH_SYMBOL_T,
|
||||||
SCH_FIELD_T, // Will be hidden
|
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 );
|
sch_item->SetFlags( STRUCT_DELETED );
|
||||||
commit.Remove( item, m_frame->GetScreen() );
|
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
|
else
|
||||||
{
|
{
|
||||||
sch_item->SetFlags( STRUCT_DELETED );
|
sch_item->SetFlags( STRUCT_DELETED );
|
||||||
|
Loading…
x
Reference in New Issue
Block a user