64 bool canGroup =
false;
65 bool hasGroup =
false;
66 bool hasMember =
false;
67 bool onlyOneGroup =
false;
68 bool hasUngroupedItems =
false;
87 else if( !item->GetParentGroup() )
88 hasUngroupedItems =
true;
90 if( item->GetParentGroup() )
129 std::shared_ptr<GROUP_CONTEXT_MENU> groupMenu = std::make_shared<GROUP_CONTEXT_MENU>();
130 groupMenu->SetTool(
this );
160 if( selection.
Empty() )
170 group->AsEdaItem()->SetSelected();
176 toSelect.push_back( member );
206 if(
group !=
nullptr )
211 else if( !item->GetParentGroup() )
213 toAdd.push_back( item );
217 if( !
group || toAdd.empty() )
226 EDA_GROUP* existingGroup = item->GetParentGroup();
228 if( existingGroup !=
group )
235 group->AddItem( item );
239 m_commit->Push(
_(
"Add Items to Group" ) );
253 if( selection.
Empty() )
262 group->RemoveItem( item );
266 m_commit->Push(
_(
"Remove Group Items" ) );
279 if( selection.
GetSize() == 1 &&
static TOOL_ACTION pickNewGroupMember
static TOOL_ACTION selectionCursor
Select a single item under the cursor position.
static TOOL_ACTION groupEnter
static TOOL_ACTION groupProperties
static TOOL_ACTION ungroup
static TOOL_ACTION selectionClear
Clear the current selection.
static TOOL_ACTION addToGroup
static TOOL_ACTION removeFromGroup
static TOOL_ACTION groupLeave
static TOOL_ACTION selectItems
Select a list of items (specified as the event parameter)
A set of EDA_ITEMs (i.e., without duplicates).
virtual EDA_ITEM * AsEdaItem()=0
A base class for most all the KiCad significant classes used in schematics and boards.
static const TOOL_EVENT SelectedItemsModified
Selected items were moved, this can be very high frequency on the canvas, use with care.
static bool NotEmpty(const SELECTION &aSelection)
Test if there are any items selected.
virtual unsigned int GetSize() const override
Return the number of stored items.
bool Empty() const
Checks if there is anything selected.
std::vector< EDA_ITEM * > EDA_ITEMS
Define list of drawing items for screens.
@ PCB_GROUP_T
class PCB_GROUP, a set of BOARD_ITEMs