예제 #1
0
        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);
        }
예제 #2
0
        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);
            }
        }