Browse Source

Obsolete methods refactorization

Marcin Ziąbek 3 years ago
parent
commit
b9fbb9267f

+ 0 - 179
QuestPDF/Elements/RowOld.cs

@@ -1,179 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using QuestPDF.Drawing;
-using QuestPDF.Infrastructure;
-
-namespace QuestPDF.Elements
-{
-    // TODO: remove
-    internal class RowOldElement : Constrained
-    {
-        public float ConstantSize { get; }
-        public float RelativeSize { get; }
-
-        public RowOldElement(float constantSize, float relativeSize)
-        {
-            ConstantSize = constantSize;
-            RelativeSize = relativeSize;
-        }
-        
-        public void SetWidth(float width)
-        {
-            MinWidth = width;
-            MaxWidth = width;
-        }
-    }
-    
-    // TODO: remove
-    internal class BinaryRow : Element, ICacheable, IStateResettable
-    {
-        internal Element Left { get; set; }
-        internal Element Right { get; set; }
-
-        private bool IsLeftRendered { get; set; } 
-        private bool IsRightRendered { get; set; } 
-        
-        public void ResetState()
-        {
-            IsLeftRendered = false;
-            IsRightRendered = false;
-        }
-        
-        internal override IEnumerable<Element?> GetChildren()
-        {
-            yield return Left;
-            yield return Right;
-        }
-        
-        internal override void CreateProxy(Func<Element?, Element?> create)
-        {
-            Left = create(Left);
-            Right = create(Right);
-        }
-
-        internal override SpacePlan Measure(Size availableSpace)
-        {
-            var leftMeasurement = Left.Measure(new Size(availableSpace.Width, availableSpace.Height));
-            
-            if (leftMeasurement.Type == SpacePlanType.Wrap)
-                return SpacePlan.Wrap();
-
-            if (leftMeasurement.Type == SpacePlanType.FullRender)
-                IsLeftRendered = true;
-            
-            var rightMeasurement = Right.Measure(new Size(availableSpace.Width - leftMeasurement.Width, availableSpace.Height));
-
-            if (rightMeasurement.Type == SpacePlanType.Wrap)
-                return SpacePlan.Wrap();
-            
-            if (leftMeasurement.Type == SpacePlanType.FullRender)
-                IsRightRendered = true;
-            
-            var totalWidth = leftMeasurement.Width + rightMeasurement.Width;
-            var totalHeight = Math.Max(leftMeasurement.Height, rightMeasurement.Height);
-
-            var targetSize = new Size(totalWidth, totalHeight);
-
-            if ((!IsLeftRendered && leftMeasurement.Type == SpacePlanType.PartialRender) || 
-                (!IsRightRendered && rightMeasurement.Type == SpacePlanType.PartialRender))
-                return SpacePlan.PartialRender(targetSize);
-
-            return SpacePlan.FullRender(targetSize);
-        }
-
-        internal override void Draw(Size availableSpace)
-        {
-            var leftMeasurement = Left.Measure(new Size(availableSpace.Width, availableSpace.Height));
-            var leftWidth = leftMeasurement.Width;
-            
-            Left.Draw(new Size(leftWidth, availableSpace.Height));
-            
-            Canvas.Translate(new Position(leftWidth, 0));
-            Right.Draw(new Size(availableSpace.Width - leftWidth, availableSpace.Height));
-            Canvas.Translate(new Position(-leftWidth, 0));
-        }
-    }
-    
-    // TODO: remove
-    internal class RowOld : Element
-    {
-        public float Spacing { get; set; } = 0;
-        
-        public ICollection<RowOldElement> Items { get; internal set; } = new List<RowOldElement>();
-        private Element? RootElement { get; set; }
-
-        internal override IEnumerable<Element?> GetChildren()
-        {
-            if (RootElement == null)
-                ComposeTree();
-
-            yield return RootElement;
-        }
-
-        internal override SpacePlan Measure(Size availableSpace)
-        {
-            UpdateElementsWidth(availableSpace.Width);
-            return RootElement.Measure(availableSpace);
-        }
-
-        internal override void Draw(Size availableSpace)
-        {
-            UpdateElementsWidth(availableSpace.Width);
-            RootElement.Draw(availableSpace);
-        }
-        
-        #region structure
-        
-        private void ComposeTree()
-        {
-            Items = AddSpacing(Items, Spacing);
-            
-            var elements = Items.Cast<Element>().ToArray();
-            RootElement = BuildTree(elements);
-        }
-
-        private void UpdateElementsWidth(float availableWidth)
-        {
-            var constantWidth = Items.Sum(x => x.ConstantSize);
-            var relativeWidth = Items.Sum(x => x.RelativeSize);
-
-            var widthPerRelativeUnit = (relativeWidth > 0) ? (availableWidth - constantWidth) / relativeWidth : 0;
-            
-            foreach (var row in Items)
-            {
-                row.SetWidth(row.ConstantSize + row.RelativeSize * widthPerRelativeUnit);
-            }
-        }
-        
-        private static ICollection<RowOldElement> AddSpacing(ICollection<RowOldElement> elements, float spacing)
-        {
-            if (spacing < Size.Epsilon)
-                return elements;
-            
-            return elements
-                .SelectMany(x => new[] { new RowOldElement(spacing, 0), x })
-                .Skip(1)
-                .ToList();
-        }
-
-        private static Element BuildTree(Span<Element> elements)
-        {
-            if (elements.IsEmpty)
-                return Empty.Instance;
-
-            if (elements.Length == 1)
-                return elements[0];
-
-            var half = elements.Length / 2;
-            
-            return new BinaryRow
-            {
-                Left = BuildTree(elements.Slice(0, half)),
-                Right = BuildTree(elements.Slice(half))
-            };
-        }
-        
-        #endregion
-    }
-}

+ 0 - 145
QuestPDF/Elements/Stack.cs

@@ -1,145 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using QuestPDF.Drawing;
-using QuestPDF.Fluent;
-using QuestPDF.Infrastructure;
-using IComponent = QuestPDF.Infrastructure.IComponent;
-using IContainer = QuestPDF.Infrastructure.IContainer;
-
-namespace QuestPDF.Elements
-{
-    // TODO: remove
-    internal class Binarycolumn : Element, IStateResettable, ICacheable
-    {
-        internal Element First { get; set; } = Empty.Instance;
-        internal Element Second { get; set; } = Empty.Instance;
-
-        internal bool IsFirstRendered { get; set; } = false;
-
-        internal override IEnumerable<Element?> GetChildren()
-        {
-            yield return First;
-            yield return Second;
-        }
-
-        public void ResetState()
-        {
-            IsFirstRendered = false;
-        }
-
-        internal override void CreateProxy(Func<Element?, Element?> create)
-        {
-            First = create(First);
-            Second = create(Second);
-        }
-        
-        internal override SpacePlan Measure(Size availableSpace)
-        {
-            var firstElement = IsFirstRendered ? Empty.Instance : First;
-            var firstSize = firstElement.Measure(availableSpace);
-
-            if (firstSize.Type == SpacePlanType.Wrap)
-                return SpacePlan.Wrap();
-            
-            if (firstSize.Type == SpacePlanType.PartialRender)
-                return firstSize;
-                
-            var spaceForSecond = new Size(availableSpace.Width, availableSpace.Height - firstSize.Height);
-            var secondSize = Second.Measure(spaceForSecond);
-
-            if (secondSize.Type == SpacePlanType.Wrap)
-                return SpacePlan.PartialRender(firstSize);
-
-            var totalWidth = Math.Max(firstSize.Width, secondSize.Width);
-            var totalHeight = firstSize.Height + secondSize.Height;
-            var targetSize = new Size(totalWidth, totalHeight);
-
-            if (secondSize.Type == SpacePlanType.PartialRender)
-                return SpacePlan.PartialRender(targetSize);
-                
-            return SpacePlan.FullRender(targetSize);
-        }
-
-        internal override void Draw(Size availableSpace)
-        {
-            var firstElement = IsFirstRendered ? Empty.Instance : First;
-
-            var firstMeasurement = firstElement.Measure(availableSpace);
-
-            if (firstMeasurement.Type == SpacePlanType.FullRender)
-                IsFirstRendered = true;
-
-            var firstSize = firstMeasurement;
-
-            if (firstSize.Type != SpacePlanType.Wrap)
-                firstElement.Draw(new Size(availableSpace.Width, firstSize.Height));
-
-            if (firstMeasurement.Type == SpacePlanType.Wrap || firstMeasurement.Type == SpacePlanType.PartialRender)
-                return;
-
-            var firstHeight = firstSize.Height;
-            var spaceForSecond = new Size(availableSpace.Width, availableSpace.Height - firstHeight);
-            var secondMeasurement = Second.Measure(spaceForSecond);
-
-            if (secondMeasurement.Type == SpacePlanType.Wrap)
-                return;
-
-            Canvas.Translate(new Position(0, firstHeight));
-            Second.Draw(new Size(availableSpace.Width, secondMeasurement.Height));
-            Canvas.Translate(new Position(0, -firstHeight));
-            
-            if (secondMeasurement.Type == SpacePlanType.FullRender)
-                IsFirstRendered = false;
-        }
-    }
-    
-    // TODO: remove
-    internal class column : IComponent
-    {
-        public ICollection<Element> Items { get; } = new List<Element>();
-        public float Spacing { get; set; } = 0;
-        
-        public void Compose(IContainer container)
-        {
-            var elements = AddSpacing(Spacing, Items);
-
-            container
-                .PaddingBottom(-Spacing)    
-                .Element(BuildTree(elements.ToArray()));
-        }
-        
-        static ICollection<Element> AddSpacing(float spacing, ICollection<Element> elements)
-        {
-            if (spacing < Size.Epsilon)
-                return elements;
-                
-            return elements
-                .Where(x => !(x is Empty))
-                .Select(x => new Padding
-                {
-                    Bottom = spacing,
-                    Child = x
-                })
-                .Cast<Element>()
-                .ToList();
-        }
-
-        static Element BuildTree(Span<Element> elements)
-        {
-            if (elements.IsEmpty)
-                return Empty.Instance;
-
-            if (elements.Length == 1)
-                return elements[0];
-
-            var half = elements.Length / 2;
-                
-            return new Binarycolumn
-            {
-                First = BuildTree(elements.Slice(0, half)),
-                Second = BuildTree(elements.Slice(half))
-            };
-        }
-    }
-}

+ 1 - 2
QuestPDF/Fluent/ColumnExtensions.cs

@@ -28,8 +28,7 @@ namespace QuestPDF.Fluent
     
     
     public static class ColumnExtensions
     public static class ColumnExtensions
     {
     {
-        // TODO: deprecated Box method in QuestPDF 2022.2
-        [Obsolete("This element has been renamed. Please use the Column method.")]
+        [Obsolete("This element has been renamed since version 2022.2. Please use the 'Column' method.")]
         public static void Stack(this IContainer element, Action<ColumnDescriptor> handler)
         public static void Stack(this IContainer element, Action<ColumnDescriptor> handler)
         {
         {
             element.Column(handler);
             element.Column(handler);

+ 4 - 8
QuestPDF/Fluent/DecorationExtensions.cs

@@ -46,8 +46,7 @@ namespace QuestPDF.Fluent
 
 
         #region Obsolete
         #region Obsolete
 
 
-        // TODO: deprecated Box method in QuestPDF 2022.2
-        [Obsolete("This element has been renamed. Please use the Before method.")]
+        [Obsolete("This element has been renamed since version 2022.2. Please use the 'Before' method.")]
         public IContainer Header()
         public IContainer Header()
         {
         {
             var container = new Container();
             var container = new Container();
@@ -55,15 +54,13 @@ namespace QuestPDF.Fluent
             return container;
             return container;
         }
         }
         
         
-        // TODO: deprecated Box method in QuestPDF 2022.2
-        [Obsolete("This element has been renamed. Please use the Before method.")]
+        [Obsolete("This element has been renamed since version 2022.2. Please use the 'Before' method.")]
         public void Header(Action<IContainer> handler)
         public void Header(Action<IContainer> handler)
         {
         {
             handler?.Invoke(Header());
             handler?.Invoke(Header());
         }
         }
         
         
-        // TODO: deprecated Box method in QuestPDF 2022.2
-        [Obsolete("This element has been renamed. Please use the After method.")]
+        [Obsolete("This element has been renamed since version 2022.2. Please use the 'After' method.")]
         public IContainer Footer()
         public IContainer Footer()
         {
         {
             var container = new Container();
             var container = new Container();
@@ -71,8 +68,7 @@ namespace QuestPDF.Fluent
             return container;
             return container;
         }
         }
         
         
-        // TODO: deprecated Box method in QuestPDF 2022.2
-        [Obsolete("This element has been renamed. Please use the After method.")]
+        [Obsolete("This element has been renamed since version 2022.2. Please use the 'After' method.")]
         public void Footer(Action<IContainer> handler)
         public void Footer(Action<IContainer> handler)
         {
         {
             handler?.Invoke(Footer());
             handler?.Invoke(Footer());

+ 1 - 2
QuestPDF/Fluent/ElementExtensions.cs

@@ -136,8 +136,7 @@ namespace QuestPDF.Fluent
             });
             });
         }
         }
         
         
-        // TODO: deprecated Box method in QuestPDF 2022.1
-        [Obsolete("This element has been renamed. Please use the MinimalBox method.")]
+        [Obsolete("This element has been renamed since version 2022.1. Please use the MinimalBox method.")]
         public static IContainer Box(this IContainer element)
         public static IContainer Box(this IContainer element)
         {
         {
             return element.Element(new MinimalBox());
             return element.Element(new MinimalBox());

+ 2 - 4
QuestPDF/Fluent/RowExtensions.cs

@@ -25,15 +25,13 @@ namespace QuestPDF.Fluent
             return element;
             return element;
         }
         }
         
         
-        // TODO: deprecated Box method in QuestPDF 2022.2
-        [Obsolete("This element has been renamed. Please use the RelativeItem method.")]
+        [Obsolete("This element has been renamed since version 2022.2. Please use the RelativeItem method.")]
         public IContainer RelativeColumn(float size = 1)
         public IContainer RelativeColumn(float size = 1)
         {
         {
             return Item(RowItemType.Relative, size);
             return Item(RowItemType.Relative, size);
         }
         }
         
         
-        // TODO: deprecated Box method in QuestPDF 2022.2
-        [Obsolete("This element has been renamed. Please use the ConstantItem method.")]
+        [Obsolete("This element has been renamed since version 2022.2. Please use the ConstantItem method.")]
         public IContainer ConstantColumn(float size)
         public IContainer ConstantColumn(float size)
         {
         {
             return Item(RowItemType.Constant, size);
             return Item(RowItemType.Constant, size);