private void RecordUndoGraphLayout(bool isGroupLayout)
{
List<ModelBase> undoItems = new List<ModelBase>();
if (!isGroupLayout)
{
// Add all selected items to the undo recorder
undoItems.AddRange(Nodes);
undoItems.AddRange(Notes);
if (DynamoSelection.Instance.Selection.Count > 0)
{
undoItems = undoItems.Where(x => x.IsSelected).ToList();
}
}
else
{
// Add all models inside selected groups
foreach (var group in Annotations)
{
if (group.IsSelected)
{
group.SelectedModels.OfType<NodeModel>().ToList().ForEach(x => x.IsSelected = false);
undoItems.AddRange(group.SelectedModels);
}
}
}
WorkspaceModel.RecordModelsForModification(undoItems, UndoRecorder);
}