public void Arrange(IExportColumn exportColumn)
        {
            if (exportColumn == null)
                throw new ArgumentNullException("exportColumn");
            var container = exportColumn as IExportContainer;
            if ((container != null) && (container.ExportedItems.Any())) {
                List<IExportColumn> canGrowItems = CreateCanGrowList(container);
                if (canGrowItems.Any()) {
                    var containerSize = ArrangeInternal(container);
                    if (containerSize.Height > container.DesiredSize.Height) {
                        container.DesiredSize = new Size(containerSize.Width,containerSize.Height + 15);
                    }
                }
            }

            var fixedElements = container.ExportedItems.Where(x => !x.CanGrow);
            var growables = container.ExportedItems.Where(x => x.CanGrow);

            foreach (var growable in growables) {
                var r = new Rectangle(growable.Location,growable.DesiredSize);
                foreach (var x in fixedElements) {
                    var xr = new Rectangle(x.Location,x.DesiredSize);
                    if (r.IntersectsWith(xr)) {
                        x.Location = new Point(x.Location.X, r.Bottom + 5);
                    }
                }
            }
        }
 public TotalValuesEventArgs(ConfigTotalValues configTotalValues, string group, IExportColumn column, string totalRowFilter)
 {
     ConfigTotalValues = configTotalValues;
     Group             = group;
     Column            = column;
     TotalRowFilter    = totalRowFilter;
 }
        static Thickness Thickness(IExportColumn exportColumn)
        {
            double bT;

            bT = !IsGraphicsContainer(exportColumn) ? 1 : Convert.ToDouble(((GraphicsContainer)exportColumn).Thickness);
            return(new Thickness(bT));
        }
        Canvas RenderGraphicsContainer(IExportColumn column)
        {
            var graphicsContainer = column as GraphicsContainer;
            var graphCanvas       = FixedDocumentCreator.CreateContainer(graphicsContainer);

            CanvasHelper.SetPosition(graphCanvas, column.Location.ToWpf());
            graphCanvas.Background = FixedDocumentCreator.ConvertBrush(column.BackColor);

            if (graphicsContainer != null)
            {
                var rect = column as ExportRectangle;
                if (rect != null)
                {
                    Visit(rect);
                }

                var circle = column as ExportCircle;
                if (circle != null)
                {
                    Visit(circle);
                }
                graphCanvas.Children.Add(UIElement);
            }
            return(graphCanvas);
        }
Example #5
0
        public static void DrawBorder(XRect rect, IExportColumn column, XGraphics graphics)
        {
            var pen = new XPen(ToXColor(column.ForeColor), 1);

            rect.Inflate(new XSize(2, 2));
            graphics.DrawRectangle(pen, rect);
        }
 public ComputeTotalValuesEventArgs(ConfigTotalValues configTotalValues, object row, string group, IExportColumn column)
 {
     ConfigTotalValues = configTotalValues;
     Row    = row;
     Group  = group;
     Column = column;
 }
Example #7
0
 /// <summary>
 /// Добавить колонку.
 /// </summary>
 /// <param name="exportColumn"></param>
 public void AddColumn(IExportColumn exportColumn)
 {
     if (Columns == null)
     {
         Columns = new List <IExportColumn>();
     }
     ((ICollection <IExportColumn>)Columns).Add(exportColumn);
 }
            internal bool ComputeTotalValue(object row, string group, IExportColumn column)
            {
                if (!_configCompute.ContainsKey(column.ColumnName))
                {
                    return(false);
                }

                _configCompute[column.ColumnName](new ComputeTotalValuesEventArgs(this, row, group, column));
                return(true);
            }
        static Border CreateBorder(IExportColumn exportColumn)
        {
            var border = new Border();

            border.BorderThickness = Thickness(exportColumn);
            border.BorderBrush     = FixedDocumentCreator.ConvertBrush(exportColumn.ForeColor);
            border.Background      = FixedDocumentCreator.ConvertBrush(exportColumn.BackColor);
            border.Width           = exportColumn.Size.Width + 2;
            border.Height          = exportColumn.Size.Height + 2;
            return(border);
        }
Example #10
0
		public void Arrange(IExportColumn exportColumn){
			if (exportColumn == null)
				throw new ArgumentNullException("exportColumn");
			var container = exportColumn as IExportContainer;
			if ((container != null) && (container.ExportedItems.Count > 0)) {
				List<IExportColumn> canGrowItems = CreateCanGrowList(container);
				if (canGrowItems.Count > 0) {
					var containerSize = ArrangeInternal(container);
					if (containerSize.Height > container.DesiredSize.Height) {
						container.DesiredSize = new Size(containerSize.Width,containerSize.Height);
					} 
				}
			}
		}
Example #11
0
		void RenderGraphicsContainer(IExportColumn column){
			var graphicsContainer = column as GraphicsContainer;
			if (graphicsContainer != null) {
				var rect = column as ExportRectangle;
				if (rect != null) {
					Visit(rect);
				}
				
				var circle = column as ExportCircle;
				if (circle != null) {
					Visit(circle);
				}
			}
		}
 public Size Measure(IExportColumn exportColumn,Graphics graphics)
 {
     var items = ((ExportContainer)exportColumn).ExportedItems;
     foreach (var element in items) {
         if (element is IExportContainer) {
             Measure(element,graphics);
         }
         var tbi = element as IExportText;
         if (tbi != null) {
             element.DesiredSize = MeasurementService.Measure(tbi,graphics);
         }
     }
     exportColumn.DesiredSize = exportColumn.Size;
     return exportColumn.DesiredSize;
 }
Example #13
0
        void RenderGraphicsContainer(IExportColumn column)
        {
            var graphicsContainer = column as GraphicsContainer;

            if (graphicsContainer != null)
            {
                var rect = column as ExportRectangle;
                if (rect != null)
                {
                    Visit(rect);
                }

                var circle = column as ExportCircle;
                if (circle != null)
                {
                    Visit(circle);
                }
            }
        }
        public Size Measure(IExportColumn exportColumn, Graphics graphics)
        {
            var items = ((ExportContainer)exportColumn).ExportedItems;

            foreach (var element in items)
            {
                if (element is IExportContainer)
                {
                    Measure(element, graphics);
                }
                var tbi = element as IExportText;
                if (tbi != null)
                {
                    element.DesiredSize = MeasurementService.Measure(tbi, graphics);
                }
            }
            exportColumn.DesiredSize = exportColumn.Size;
            return(exportColumn.DesiredSize);
        }
Example #15
0
        public void Arrange(IExportColumn exportColumn)
        {
            if (exportColumn == null)
            {
                throw new ArgumentNullException("exportColumn");
            }
            var container = exportColumn as IExportContainer;

            if ((container != null) && (container.ExportedItems.Count > 0))
            {
                List <IExportColumn> canGrowItems = CreateCanGrowList(container);
                if (canGrowItems.Count > 0)
                {
                    var containerSize = ArrangeInternal(container);
                    if (containerSize.Height > container.DesiredSize.Height)
                    {
                        container.DesiredSize = new Size(containerSize.Width, containerSize.Height);
                    }
                }
            }
        }
		public void Arrange(IExportColumn exportColumn)
		{
			if (exportColumn == null)
				throw new ArgumentNullException("exportColumn");
			var container = exportColumn as IExportContainer;
			if ((container != null) && (container.ExportedItems.Count > 0)) {
				
				
				FindBiggestRectangle(container);
				var resizeable = from resize in container.ExportedItems
					where ((resize.CanGrow == true))
					select resize;
               
				if (resizeable.Any()) {
					if (!BiggestRectangle.IsEmpty) {
						var containerRectangle = new Rectangle(container.Location,container.Size);
						var desiredRectangle = Rectangle.Union(containerRectangle,BiggestRectangle);
						container.DesiredSize = new Size(container.Size.Width,desiredRectangle.Size.Height + 5);
					}
				}
			}
		}
Example #17
0
        public void Arrange(IExportColumn exportColumn)
        {
            if (exportColumn == null)
            {
                throw new ArgumentNullException("exportColumn");
            }
            var container = exportColumn as IExportContainer;

            if ((container != null) && (container.ExportedItems.Any()))
            {
                List <IExportColumn> canGrowItems = CreateCanGrowList(container);
                if (canGrowItems.Any())
                {
                    var containerSize = ArrangeInternal(container);
                    if (containerSize.Height > container.DesiredSize.Height)
                    {
                        container.DesiredSize = new Size(containerSize.Width, containerSize.Height + 15);
                    }
                }
            }


            var fixedElements = container.ExportedItems.Where(x => !x.CanGrow);
            var growables     = container.ExportedItems.Where(x => x.CanGrow);

            foreach (var growable in growables)
            {
                var r = new Rectangle(growable.Location, growable.DesiredSize);
                foreach (var x in fixedElements)
                {
                    var xr = new Rectangle(x.Location, x.DesiredSize);
                    if (r.IntersectsWith(xr))
                    {
                        x.Location = new Point(x.Location.X, r.Bottom + 5);
                    }
                }
            }
        }
 static void SetPosition(UIElement element,IExportColumn exportColumn)
 {
     FixedPage.SetLeft(element,exportColumn.Location.X );
     FixedPage.SetTop(element,exportColumn.Location.Y);
 }
Example #19
0
 protected bool IsGraphicsContainer(IExportColumn column)
 {
     return(column is GraphicsContainer);
 }
Example #20
0
 public static void DrawBorder(XRect rect,IExportColumn column,XGraphics graphics)
 {
     var pen = 	new XPen(ToXColor(column.ForeColor),1);
     rect.Inflate(new XSize(2,2));
     graphics.DrawRectangle(pen,rect);
 }
Example #21
0
 public static Point LocationRelToParent(IExportColumn column)
 {
     return new Point(column.Parent.Location.X + column.Location.X,
                      column.Parent.Location.Y + column.Location.Y);
 }
 public Size Measure(IExportColumn exportColumn, Graphics graphics)
 {
     return MeasurementService.Measure((IExportText)exportColumn,graphics);
 }
 static void SetPosition(UIElement element, IExportColumn exportColumn)
 {
     FixedPage.SetLeft(element, exportColumn.Location.X);
     FixedPage.SetTop(element, exportColumn.Location.Y);
 }
Example #24
0
		Canvas RenderGraphicsContainer(IExportColumn column){
		
			var graphicsContainer = column as GraphicsContainer;
			var graphCanvas = FixedDocumentCreator.CreateContainer(graphicsContainer);
			CanvasHelper.SetPosition(graphCanvas, column.Location.ToWpf());
			graphCanvas.Background = FixedDocumentCreator.ConvertBrush(column.BackColor);
			
			if (graphicsContainer != null) {
				var rect = column as ExportRectangle;
				if (rect != null) {
					Visit(rect);
				}
				
				var circle = column as ExportCircle;
				if (circle != null) {
					Visit(circle);
				}
				graphCanvas.Children.Add(UIElement);
			}
			return graphCanvas;
		}
Example #25
0
 public static Point LocationRelToParent(IExportColumn column)
 {
     return(new Point(column.Parent.Location.X + column.Location.X,
                      column.Parent.Location.Y + column.Location.Y));
 }
Example #26
0
 public double?GetTotalValue(string group, IExportColumn column)
 {
     return(ConfigTotalValues.GetTotalValue(group, column.ColumnName));
 }
Example #27
0
		public static XRect CreateDisplayRectangle(IExportColumn column) {
			return column.DisplayRectangle.ToXRect();
		}
Example #28
0
 internal string GetTotalValue(string group, IExportColumn column, string totalRowFilter)
 {
     return(_configGetTotal[column.ColumnName](new TotalValuesEventArgs(this, group, column, totalRowFilter)));
 }
Example #29
0
 internal bool HasTotalValue(IExportColumn column)
 {
     return(_configGetTotal.ContainsKey(column.ColumnName));
 }
Example #30
0
		public static void DrawRectangle (IExportColumn column, XGraphics graphics) {
			FillRectangle(column.DisplayRectangle,column.FrameColor,graphics);
		}
Example #31
0
		static Border CreateBorder(IExportColumn exportColumn){
		
			var border = new Border();
			border.BorderThickness =  Thickness(exportColumn);
			border.BorderBrush = FixedDocumentCreator.ConvertBrush(exportColumn.ForeColor);
			border.Background = FixedDocumentCreator.ConvertBrush(exportColumn.BackColor);
			border.Width = exportColumn.Size.Width + 2;
			border.Height = exportColumn.Size.Height + 2;
			return border;
		}
Example #32
0
		static Thickness Thickness(IExportColumn exportColumn){
			double bT;
			bT = !IsGraphicsContainer(exportColumn) ? 1 : Convert.ToDouble(((GraphicsContainer)exportColumn).Thickness);
			return new Thickness(bT);
		}
 static protected IAcceptor AsAcceptor(IExportColumn element)
 {
     return(element as IAcceptor);
 }
 static void SetDimension(FrameworkElement element, IExportColumn exportColumn)
 {
     element.Width  = exportColumn.DesiredSize.Width;
     element.Height = exportColumn.DesiredSize.Height;
 }
        protected Size MeasureElement(IExportColumn element)
        {
            var measureStrategy = element.MeasurementStrategy();

            return(measureStrategy.Measure(element, Graphics));
        }
 static protected bool IsContainer(IExportColumn column)
 {
     return((column is ExportContainer) || (column is GraphicsContainer));
 }
Example #37
0
        void Measure(IExportColumn container)
        {
            var mes = container.MeasurementStrategy();

            container.DesiredSize = mes.Measure(container, graphics);
        }
 void Measure(IExportColumn container)
 {
     var mes = container.MeasurementStrategy();
     container.DesiredSize = mes.Measure(container, graphics);
 }
 public Size Measure(IExportColumn exportColumn, Graphics graphics)
 {
     return(MeasurementService.Measure((IExportText)exportColumn, graphics));
 }
Example #40
0
 static XFont CreatePdfFont(IExportColumn exportColumn)
 {
     var textColumn = (ExportText)exportColumn;
     return new XFont(textColumn.Font.FontFamily.Name, textColumn.Font.Size);
 }
Example #41
0
 protected static bool IsGraphicsContainer(IExportColumn column)
 {
     return column is GraphicsContainer;
 }
Example #42
0
 public static XRect CreateDisplayRectangle(IExportColumn column)
 {
     return(column.DisplayRectangle.ToXRect());
 }
Example #43
0
        static XFont CreatePdfFont(IExportColumn exportColumn)
        {
            var textColumn = (ExportText)exportColumn;

            return(new XFont(textColumn.Font.FontFamily.Name, textColumn.Font.Size));
        }
Example #44
0
 protected static bool IsContainer(IExportColumn column)
 {
     return (column is ExportContainer)|| (column is GraphicsContainer);
 }
 static void SetDimension(FrameworkElement element,IExportColumn exportColumn)
 {
     element.Width = exportColumn.DesiredSize.Width;
     element.Height = exportColumn.DesiredSize.Height;
 }
Example #46
0
 protected static IAcceptor AsAcceptor(IExportColumn element)
 {
     return element as IAcceptor;
 }
Example #47
0
 public static void DrawRectangle(IExportColumn column, XGraphics graphics)
 {
     FillRectangle(column.DisplayRectangle, column.FrameColor, graphics);
 }