Ejemplo n.º 1
0
        public ScreenRendererPackageFile(ScreenRenderer screenRenderer)
        {
            this.Name = $"{Path}/{LayoutExtension.GetPageName(screenRenderer.Model)}.xml";

            List <IRenderer> childrens = RendererTreeHelper
                                         .FindChildrens <IRenderer>(screenRenderer)
                                         .ToList();

            childrens.Insert(0, screenRenderer);

            this.Model = new ObjectContainer <RendererSurface>()
            {
                Items = childrens
                        .Select(c => new RendererSurface()
                {
                    Guid     = c.Model.Guid,
                    Metadata = c.Metadata,
                    Location = new Point(
                        Canvas.GetLeft(c.Element),
                        Canvas.GetTop(c.Element))
                }).ToList()
            };

            base.CreateStream();
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 이전 작업으로 돌아갑니다.
        /// </summary>
        public override void Undo()
        {
            base.Undo();

            if (TaskType == RendererTaskType.Remove)
            {
                foreach (IRenderer child in RendererTreeHelper.FindChildrens <IRenderer>(Source))
                {
                    child.Element.AddAdorner((Adorner)child);
                }
            }
        }