public void Do_Group() { List <BaseUMLObject> Target = new List <BaseUMLObject>(); foreach (BaseUMLShape shape in UMLShapes) { if (shape as BaseUMLObject != null) { BaseUMLObject obj = shape as BaseUMLObject; if (obj.getSelected()) { Target.Add(obj); } } } foreach (BaseUMLObject obj in Target) { obj.setSelected(false); UMLShapes.Remove(obj); } GroupUMLObject Group = new GroupUMLObject(CoreRectRange.Default()); Group.SetChildrens(Target); AddShape(Group); }
public void Do_Ungroup() { List <GroupUMLObject> Target = new List <GroupUMLObject>(); foreach (BaseUMLShape shape in UMLShapes) { if (shape as GroupUMLObject != null) { GroupUMLObject gp = shape as GroupUMLObject; if (gp.getSelected()) { Target.Add(gp); } } } foreach (GroupUMLObject gp in Target) { foreach (BaseUMLObject obj in gp.getChildrens()) { AddShape(obj, true); } UMLShapes.Remove(gp); } }