Пример #1
0
        public void ExcludeFromGroup(DisplayNode node)
        {
            if (node.Parent != null)
            {
                DisplayGroupNode groupNode = node.Parent as DisplayGroupNode;
                if (groupNode != null)
                {
                    groupNode.DisplayGroup.DisplayNameList.Remove(node.Display.Type.Name);
                    PresentationController.Instance.CurrentSlideLayout.RemoveFromLayout(node.Display);
                    foreach (Slide slide in PresentationController.Instance.GetAllSlides()
                        .Where(sld=> !sld.Name.Equals(PresentationController.Instance.CurrentSlideLayout.Slide.Name)))
                    {
                        IEnumerable<Display> displs = slide.DisplayList.Where(dsp => groupNode.DisplayGroup.DisplayNameList.Contains(dsp.Type.Name));
                        SlideLayout sltemp = new SlideLayout(displs, slide);
                        sltemp.RemoveFromLayout(node.Display);
                    }
                    PresentationController.Instance.PresentationChanged = true;
                    if (groupNode.DisplayGroup.DisplayNameList.Count == 0)
                    {
                        groupNode.DisplayGroup.Width = 0;
                        groupNode.DisplayGroup.Height = 0;
                        groupNode.DisplayGroup.Type = String.Empty;

                        groupNode.OpenImgIndex = 1;
                        groupNode.NoChildrenImgIndex = 0;
                    }

                    node.Display.DisplayGroup = null;
                }
            }
        }