From ad3e80a77cbb6bc4cbd3c9de76db638faada0557 Mon Sep 17 00:00:00 2001 From: Peter Forstmeier Date: Fri, 9 Jul 2010 18:39:17 +0000 Subject: [PATCH] Remove IExportItemsConverter.cs, move Renderer and Converters to dedicated classes git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/reports@6078 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../BaseClasses/Printing/StandardPrinter.cs | 147 ++++++++++++++++++ .../Interfaces/IExportItemsConverter.cs | 7 +- .../Project/Printing/AbstractDataRenderer.cs | 27 +--- .../Project/Printing/AbstractRenderer.cs | 31 +--- .../Project/old_Exporter/BasePager.cs | 31 ++-- .../old_Exporter/Converters/BaseConverter.cs | 22 +-- .../Converters/ConverterFactory.cs | 6 +- .../old_Exporter/Converters/RowConverter.cs | 5 +- .../old_Exporter/Converters/TableConverter.cs | 6 +- .../Project/old_Exporter/DataPageBuilder.cs | 9 +- .../old_Exporter/ExportItemsConverter.cs | 65 +------- .../ICSharpCode.Reports.Core.Test.csproj | 2 - .../ExportItemsConverterFixture.cs | 142 ----------------- 13 files changed, 210 insertions(+), 290 deletions(-) delete mode 100644 src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/old_Exporter/ExportItemsConverterFixture.cs diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs index 08bfe2fb9d..91fb13b0d9 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/StandardPrinter.cs @@ -10,6 +10,7 @@ using System; using System.Drawing; using ICSharpCode.Reports.Core.Interfaces; using ICSharpCode.Reports.Core.old_Exporter; +using ICSharpCode.Reports.Expressions.ReportingLanguage; namespace ICSharpCode.Reports.Core.BaseClasses.Printing { @@ -63,6 +64,152 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing border.DrawBorder(graphics,decorator.DisplayRectangle); } } + + + #region Render/Convert SimpleItem + + /// + /// Convert a single item, Location is calculated as follows + /// + /// only Y value is used, gives the offset to Items location.Y + /// Item to convert + /// + + public static BaseExportColumn ConvertLineItem (BaseReportItem item,Point offset) + { + if (item == null) { + throw new ArgumentNullException("item"); + } + + IExportColumnBuilder columnBuilder = item as IExportColumnBuilder; + BaseExportColumn lineItem = null; + + if (columnBuilder != null) { + lineItem = columnBuilder.CreateExportColumn(); + + + lineItem.StyleDecorator.Location = new Point(offset.X + lineItem.StyleDecorator.Location.X, + lineItem.StyleDecorator.Location.Y + offset.Y); + + lineItem.StyleDecorator.DisplayRectangle = new Rectangle(lineItem.StyleDecorator.Location, + lineItem.StyleDecorator.Size); + } + return lineItem; + } + + + public static void RenderLineItem (BaseReportItem item, Point offset,IExpressionEvaluatorFacade evaluator,ReportPageEventArgs rpea) + { + + Point saveLocation = new Point (item.Location.X,item.Location.Y); + + + item.Location = new Point(offset.X + item.Location.X, + offset.Y + item.Location.Y); + + + BaseTextItem textItem = item as BaseTextItem; + + if (textItem != null) { + string str = textItem.Text; + textItem.Text = evaluator.Evaluate(textItem.Text); + textItem.Render(rpea); + textItem.Text = str; + } else { + item.Render (rpea); + } + item.Location = saveLocation; + } + + + #endregion + + + #region Render Collection + + public static Rectangle RenderPlainCollection (BaseReportItem parent,ReportItemCollection items,IExpressionEvaluatorFacade evaluator, Point offset,ReportPageEventArgs rpea) + { + Rectangle retVal = Rectangle.Empty; + Size size = Size.Empty; + + if (items.Count > 0) { + foreach (BaseReportItem child in items) { + child.Parent = parent; + StandardPrinter.RenderLineItem (child,offset,evaluator,rpea); + } + + retVal = new Rectangle(offset,size); + return retVal; + + } else { + retVal = new Rectangle(offset.X,offset.Y,0,0); + return retVal; + } + } + + + public static ExporterCollection ConvertPlainCollection (BaseReportItem parent,ReportItemCollection items,Point offset) + { + if (items == null) { + throw new ArgumentNullException("items"); + } + ExporterCollection col = new ExporterCollection(); + if (items.Count > 0) { + + foreach(BaseReportItem item in items) + { + col.Add(StandardPrinter.ConvertLineItem(item,offset)); + } + } + return col; + } + + #endregion + #region Container + + + public static Rectangle RenderContainer (ISimpleContainer simpleContainer,IExpressionEvaluatorFacade evaluator,Point offset,ReportPageEventArgs rpea) + { + BaseReportItem item = simpleContainer as BaseReportItem; + Rectangle retVal = new Rectangle(offset,item.Size); + Point loc = item.Location; + item.Location = new Point (offset.X + item.Location.X,offset.Y + item.Location.Y); + + item.Render(rpea); + + if (simpleContainer.Items != null) { + retVal = StandardPrinter.RenderPlainCollection(item,simpleContainer.Items,evaluator,offset,rpea); + } + + retVal = new Rectangle (retVal.X,retVal.Y, + retVal.X + item.Size.Width, + item.Size.Height + 3 * GlobalValues.GapBetweenContainer); + item.Location = loc; + return retVal; + } + + + public static ExportContainer ConvertToContainer (BaseReportItem parent,ISimpleContainer item,Point offset) + { + if (item == null) { + throw new ArgumentNullException("item"); + } + IExportColumnBuilder lineBuilder = item as IExportColumnBuilder; + + if (lineBuilder != null) { + ExportContainer lineItem = (ExportContainer)lineBuilder.CreateExportColumn(); + + lineItem.StyleDecorator.Location = new Point (offset.X + lineItem.StyleDecorator.Location.X, + offset.Y); + + lineItem.StyleDecorator.DisplayRectangle = new Rectangle(lineItem.StyleDecorator.Location, + lineItem.StyleDecorator.Size); + + return lineItem; + } + return null; + } + #endregion } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IExportItemsConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IExportItemsConverter.cs index ee37cfda10..dd02b4d800 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IExportItemsConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IExportItemsConverter.cs @@ -18,9 +18,10 @@ namespace ICSharpCode.Reports.Core.old_Exporter public interface IExportItemsConverter { - ExporterCollection ConvertSimpleItems (BaseReportItem parent,Point offset,ReportItemCollection items); + //ExporterCollection ConvertSimpleItems (BaseReportItem parent,ReportItemCollection items,Point offset); - ExportContainer ConvertToContainer (BaseReportItem parent,Point offset,ISimpleContainer item); - Rectangle ParentRectangle {get;set;} + //ExportContainer ConvertToContainer (BaseReportItem parent,ISimpleContainer item,Point offset); + +// Rectangle ParentRectangle {get;set;} } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractDataRenderer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractDataRenderer.cs index 29f31d643e..4d316fe9e5 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractDataRenderer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractDataRenderer.cs @@ -11,6 +11,7 @@ using System.Drawing.Printing; using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.Interfaces; +using ICSharpCode.Reports.Expressions.ReportingLanguage; namespace ICSharpCode.Reports.Core { @@ -81,7 +82,7 @@ namespace ICSharpCode.Reports.Core if (PrintHelper.IsTextOnlyRow(row) ) { - Rectangle r = this.RenderContainer(row,currentPosition,rpea); + Rectangle r = StandardPrinter.RenderContainer(row,Evaluator,currentPosition,rpea); currentPosition = ConvertRectangleToCurentPosition (r); currentPosition = new Point(parent.Location.X + row.Location.X,currentPosition.Y); @@ -101,7 +102,7 @@ namespace ICSharpCode.Reports.Core } this.dataNavigator.Fill(row.Items); - Rectangle r = this.RenderContainer(row,currentPosition,rpea); + Rectangle r = StandardPrinter.RenderContainer(row,Evaluator,currentPosition,rpea); currentPosition = ConvertRectangleToCurentPosition (r); currentPosition = new Point(parent.Location.X + row.Location.X,currentPosition.Y); @@ -177,7 +178,7 @@ namespace ICSharpCode.Reports.Core ISimpleContainer con = item as ISimpleContainer; if (con != null) { - Rectangle r = RenderContainer(container,offset,rpea); + Rectangle r = StandardPrinter.RenderContainer(container,Evaluator,offset,rpea); currentPosition = base.ConvertRectangleToCurentPosition(r); } @@ -192,7 +193,7 @@ namespace ICSharpCode.Reports.Core ISimpleContainer cont = item as ISimpleContainer; - Rectangle r = this.RenderContainer(cont,currentPosition,rpea); + Rectangle r = StandardPrinter.RenderContainer(cont,Evaluator,currentPosition,rpea); currentPosition = ConvertRectangleToCurentPosition (r); item.Location = saveLocation; @@ -217,25 +218,7 @@ namespace ICSharpCode.Reports.Core } - private Rectangle RenderContainer (ISimpleContainer simpleContainer,Point offset,ReportPageEventArgs rpea) - { - BaseReportItem item = simpleContainer as BaseReportItem; - Rectangle retVal = new Rectangle(offset,item.Size); - Point loc = item.Location; - item.Location = new Point (offset.X + item.Location.X,offset.Y + item.Location.Y); - - item.Render(rpea); - - if (simpleContainer.Items != null) { - retVal = base.RenderPlainCollection(item,simpleContainer.Items,offset,rpea); - } - retVal = new Rectangle (retVal.X,retVal.Y, - retVal.X + item.Size.Width, - item.Size.Height + 3 * GlobalValues.GapBetweenContainer); - item.Location = loc; - return retVal; - } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractRenderer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractRenderer.cs index f836a29325..966c55782b 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractRenderer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractRenderer.cs @@ -36,7 +36,6 @@ namespace ICSharpCode.Reports.Core private int currentPageNumber; - //private IExpressionEvaluatorFacade expressionFassade; private ILayouter layout; private IReportModel reportModel; @@ -232,9 +231,7 @@ namespace ICSharpCode.Reports.Core } -// currentPosition = RenderPlainCollection (this.CurrentSection,this.CurrentSection.Items,new Point(this.CurrentSection.Location.X, -// this.CurrentSection.SectionOffset),rpea); - Rectangle r = RenderPlainCollection (this.CurrentSection,this.CurrentSection.Items,new Point(this.CurrentSection.Location.X, + Rectangle r = StandardPrinter.RenderPlainCollection (this.CurrentSection,this.CurrentSection.Items,Evaluator,new Point(this.CurrentSection.Location.X, this.CurrentSection.SectionOffset),rpea); currentPosition = ConvertRectangleToCurentPosition(r); @@ -249,8 +246,8 @@ namespace ICSharpCode.Reports.Core return currentPosition; } - - protected Rectangle RenderPlainCollection (BaseReportItem parent,ReportItemCollection items, Point offset,ReportPageEventArgs rpea) + /* + protected static Rectangle RenderPlainCollection (BaseReportItem parent,ReportItemCollection items,IExpressionEvaluatorFacade evaluator, Point offset,ReportPageEventArgs rpea) { Rectangle retVal = Rectangle.Empty; Size size = Size.Empty; @@ -258,26 +255,9 @@ namespace ICSharpCode.Reports.Core if (items.Count > 0) { foreach (BaseReportItem child in items) { child.Parent = parent; - Point saveLocation = new Point (child.Location.X,child.Location.Y); - - - child.Location = new Point(offset.X + child.Location.X, - offset.Y + child.Location.Y); - - - BaseTextItem textItem = child as BaseTextItem; - - if (textItem != null) { - string str = textItem.Text; - textItem.Text = Evaluator.Evaluate(textItem.Text); - textItem.Render(rpea); - textItem.Text = str; - } else { - child.Render (rpea); - } - size = child.Size; - child.Location = saveLocation; + StandardPrinter.RenderLineItem (child,offset,evaluator,rpea); } + retVal = new Rectangle(offset,size); return retVal; @@ -286,6 +266,7 @@ namespace ICSharpCode.Reports.Core return retVal; } } + */ protected Point ConvertRectangleToCurentPosition (Rectangle r) diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/old_Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/old_Exporter/BasePager.cs index 0d564ab465..5ac2234b7b 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/old_Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/old_Exporter/BasePager.cs @@ -26,7 +26,7 @@ namespace ICSharpCode.Reports.Core.old_Exporter private Graphics graphics; private bool pageFull; private readonly object pageLock = new object(); - private IExportItemsConverter exportItemsConverter; +// private IExportItemsConverter exportItemsConverter; private ILayouter layouter; public event EventHandler PageCreated; @@ -45,7 +45,7 @@ namespace ICSharpCode.Reports.Core.old_Exporter this.reportModel = reportModel; this.layouter = layouter; this.graphics = CreateGraphicObject.FromSize(this.reportModel.ReportSettings.PageSize); - this.exportItemsConverter = new ExportItemsConverter(); +// this.exportItemsConverter = new ExportItemsConverter(); } #endregion @@ -89,6 +89,7 @@ namespace ICSharpCode.Reports.Core.old_Exporter #endregion + #region Converters @@ -113,17 +114,17 @@ namespace ICSharpCode.Reports.Core.old_Exporter ISimpleContainer container = item as ISimpleContainer; if (container != null) { - ExportContainer exportContainer = this.exportItemsConverter.ConvertToContainer(section,offset,container); + ExportContainer exportContainer = StandardPrinter.ConvertToContainer(section,container,offset); StandardPrinter.AdjustBackColor (container); - ExporterCollection clist = this.exportItemsConverter.ConvertSimpleItems(item,offset,container.Items); + ExporterCollection clist = StandardPrinter.ConvertPlainCollection(item,container.Items,offset); exportContainer.Items.AddRange(clist); list.Add(exportContainer); } else { - this.exportItemsConverter.ParentRectangle = new Rectangle (section.Location,section.Size); +// this.exportItemsConverter.ParentRectangle = new Rectangle (section.Location,section.Size); Rectangle desiredRectangle = layouter.Layout(this.graphics,section); Rectangle sectionRectangle = new Rectangle(0,0,section.Size.Width,section.Size.Height); @@ -132,7 +133,7 @@ namespace ICSharpCode.Reports.Core.old_Exporter section.Size = new Size(section.Size.Width,desiredRectangle.Size.Height); } - list = this.exportItemsConverter.ConvertSimpleItems(section,offset,section.Items); + list = StandardPrinter.ConvertPlainCollection(section,section.Items,offset); } } } @@ -151,14 +152,6 @@ namespace ICSharpCode.Reports.Core.old_Exporter } -// private static void AdjustBackColor (ISimpleContainer container) -// { -// BaseReportItem parent = container as BaseReportItem; -// foreach (BaseReportItem item in container.Items) -// { -// item.BackColor = parent.BackColor; -// } -// } #endregion @@ -315,11 +308,11 @@ namespace ICSharpCode.Reports.Core.old_Exporter } - protected IExportItemsConverter ExportItemsConverter - { - get { return exportItemsConverter; } - set { exportItemsConverter = value; } - } +// protected IExportItemsConverter ExportItemsConverter +// { +// get { return exportItemsConverter; } +// set { exportItemsConverter = value; } +// } #endregion } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/old_Exporter/Converters/BaseConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/old_Exporter/Converters/BaseConverter.cs index ba531c0888..34cad6cd13 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/old_Exporter/Converters/BaseConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/old_Exporter/Converters/BaseConverter.cs @@ -27,7 +27,7 @@ namespace ICSharpCode.Reports.Core.old_Exporter private ExporterPage singlePage; private SectionBounds sectionBounds; private Rectangle parentRectangle; - private IExportItemsConverter exportItemsConverter; +// private IExportItemsConverter exportItemsConverter; private ILayouter layouter; private Size saveSize; private IExpressionEvaluatorFacade evaluator; @@ -36,8 +36,11 @@ namespace ICSharpCode.Reports.Core.old_Exporter public event EventHandler SectionRendering; +// public BaseConverter(IDataNavigator dataNavigator,ExporterPage singlePage, +// IExportItemsConverter exportItemsConverter,ILayouter layouter) + public BaseConverter(IDataNavigator dataNavigator,ExporterPage singlePage, - IExportItemsConverter exportItemsConverter,ILayouter layouter) + ILayouter layouter) { if (dataNavigator == null) { throw new ArgumentNullException("dataNavigator"); @@ -45,16 +48,16 @@ namespace ICSharpCode.Reports.Core.old_Exporter if (singlePage == null) { throw new ArgumentNullException("singlePage"); } - if (exportItemsConverter == null) { - throw new ArgumentNullException("exportItemsConverter"); - } +// if (exportItemsConverter == null) { +// throw new ArgumentNullException("exportItemsConverter"); +// } if (layouter == null) { throw new ArgumentNullException("layouter"); } this.singlePage = singlePage; this.dataNavigator = dataNavigator; this.sectionBounds = this.singlePage.SectionBounds; - this.exportItemsConverter = exportItemsConverter; +// this.exportItemsConverter = exportItemsConverter; this.layouter = layouter; this.evaluator = PrintHelper.SetupEvaluator(this.singlePage,this.dataNavigator); } @@ -84,13 +87,13 @@ namespace ICSharpCode.Reports.Core.old_Exporter if (exportLineBuilder != null) { - ExportContainer lineItem = this.exportItemsConverter.ConvertToContainer(row.Parent,offset,row); + ExportContainer lineItem = StandardPrinter.ConvertToContainer(row.Parent,row,offset); BaseReportItem baseReportItem = row as BaseReportItem; - this.exportItemsConverter.ParentRectangle = new Rectangle(baseReportItem.Location,baseReportItem.Size); +// this.exportItemsConverter.ParentRectangle = new Rectangle(baseReportItem.Location,baseReportItem.Size); StandardPrinter.AdjustBackColor(row); - ExporterCollection list = this.exportItemsConverter.ConvertSimpleItems(row as BaseReportItem,offset,row.Items); + ExporterCollection list = StandardPrinter.ConvertPlainCollection(row as BaseReportItem,row.Items,offset); lineItem.Items.AddRange(list); @@ -178,7 +181,6 @@ namespace ICSharpCode.Reports.Core.old_Exporter protected Point BaseConvert(ExporterCollection myList,ISimpleContainer container,int leftPos,Point curPos) { - container.Location = new Point (leftPos,container.Location.Y); ExporterCollection ml = this.ConvertItems (container, curPos); myList.AddRange(ml); return new Point (leftPos,curPos.Y + container.Size.Height + (3 *GlobalValues.GapBetweenContainer)); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/old_Exporter/Converters/ConverterFactory.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/old_Exporter/Converters/ConverterFactory.cs index 40a92fee3e..63b1d2a9bc 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/old_Exporter/Converters/ConverterFactory.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/old_Exporter/Converters/ConverterFactory.cs @@ -21,16 +21,16 @@ namespace ICSharpCode.Reports.Core.old_Exporter public static IBaseConverter CreateConverter (BaseReportItem itemToConvert,IDataNavigator dataNavigator, - ExporterPage singlePage,IExportItemsConverter exportItemsConverter,ILayouter layouter) + ExporterPage singlePage,ILayouter layouter) { Type t = itemToConvert.GetType(); if (t.Equals(typeof(BaseTableItem))) { - return new TableConverter(dataNavigator,singlePage,exportItemsConverter,layouter); + return new TableConverter(dataNavigator,singlePage,layouter); } if (t.Equals(typeof(BaseRowItem))) { - return new RowConverter (dataNavigator,singlePage,exportItemsConverter,layouter); + return new RowConverter (dataNavigator,singlePage,layouter); } return null; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/old_Exporter/Converters/RowConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/old_Exporter/Converters/RowConverter.cs index 36305bbb35..d7bbebafe1 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/old_Exporter/Converters/RowConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/old_Exporter/Converters/RowConverter.cs @@ -27,8 +27,8 @@ namespace ICSharpCode.Reports.Core.old_Exporter public RowConverter(IDataNavigator dataNavigator, ExporterPage singlePage, - IExportItemsConverter exportItemsConverter, - ILayouter layouter):base(dataNavigator,singlePage,exportItemsConverter,layouter) + + ILayouter layouter):base(dataNavigator,singlePage,layouter) { } @@ -77,6 +77,7 @@ namespace ICSharpCode.Reports.Core.old_Exporter base.LayoutRow(simpleContainer); base.FireSectionRendering(section); + currentPosition = base.BaseConvert(mylist,simpleContainer,defaultLeftPos,currentPosition); EvaluateRow(mylist); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/old_Exporter/Converters/TableConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/old_Exporter/Converters/TableConverter.cs index 71e46de1a3..0d463f7039 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/old_Exporter/Converters/TableConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/old_Exporter/Converters/TableConverter.cs @@ -23,8 +23,8 @@ namespace ICSharpCode.Reports.Core.old_Exporter public TableConverter(IDataNavigator dataNavigator, ExporterPage singlePage, - IExportItemsConverter exportItemsConverter, - ILayouter layouter ):base(dataNavigator,singlePage,exportItemsConverter,layouter) + + ILayouter layouter ):base(dataNavigator,singlePage,layouter) { } @@ -59,7 +59,7 @@ namespace ICSharpCode.Reports.Core.old_Exporter foreach (ISimpleContainer simpleContainer in this.baseTable.Items) { if (simpleContainer.Items.Count > 0) { - simpleContainer.Location = new Point (simpleContainer.Location.X + defaultLeftPos,simpleContainer.Location.Y); + simpleContainer.Location = new Point (simpleContainer.Location.X,simpleContainer.Location.Y); simpleContainer.Parent = (BaseReportItem)this.baseTable; base.SaveSize( new Size (simpleContainer.Size.Width,simpleContainer.Size.Height)); // Header/FooterRow diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/old_Exporter/DataPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/old_Exporter/DataPageBuilder.cs index 66b9baa6b7..a244fe4606 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/old_Exporter/DataPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/old_Exporter/DataPageBuilder.cs @@ -130,9 +130,14 @@ namespace ICSharpCode.Reports.Core.old_Exporter foreach (BaseReportItem item in section.Items) { - IBaseConverter baseConverter = ConverterFactory.CreateConverter(item,dataNavigator, - this.SinglePage,this.ExportItemsConverter, +// IBaseConverter baseConverter = ConverterFactory.CreateConverter(item,dataNavigator, +// this.SinglePage,this.ExportItemsConverter, +// base.Layouter); + + IBaseConverter baseConverter = ConverterFactory.CreateConverter(item,dataNavigator, + this.SinglePage, base.Layouter); + if (baseConverter != null) { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/old_Exporter/ExportItemsConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/old_Exporter/ExportItemsConverter.cs index 645a783e8b..8e173b5889 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/old_Exporter/ExportItemsConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/old_Exporter/ExportItemsConverter.cs @@ -7,11 +7,12 @@ using System; using System.Drawing; +using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.Interfaces; namespace ICSharpCode.Reports.Core.old_Exporter { - + /* public class ExportItemsConverter:IExportItemsConverter { @@ -20,58 +21,7 @@ namespace ICSharpCode.Reports.Core.old_Exporter } - public ExporterCollection ConvertSimpleItems (BaseReportItem parent,Point offset,ReportItemCollection items) - { - if (items == null) { - throw new ArgumentNullException("items"); - } - ExporterCollection col = new ExporterCollection(); - if (items.Count > 0) { - - foreach(BaseReportItem item in items) - { - col.Add(ConvertToLineItem(parent,item,offset)); - } - } - return col; - } - - /// - /// Convert a single item, Location is calculated as follows - /// (X = ParentRectangle.X + Item.X Y = offset.Y + Item.Y) - /// - /// only Y value is used, gives the offset to Items location.Y - /// Item to convert - /// - -// protected Rectangle RenderPlainCollection (BaseReportItem parent,ReportItemCollection items, Point offset,ReportPageEventArgs rpea) - - - private static BaseExportColumn ConvertToLineItem (BaseReportItem parent,BaseReportItem item,Point offset) - { - if (item == null) { - throw new ArgumentNullException("item"); - } - - IExportColumnBuilder columnBuilder = item as IExportColumnBuilder; - BaseExportColumn lineItem = null; - - if (columnBuilder != null) { - lineItem = columnBuilder.CreateExportColumn(); - - - lineItem.StyleDecorator.Location = new Point(parent.Location.X + lineItem.StyleDecorator.Location.X, - lineItem.StyleDecorator.Location.Y + offset.Y); - - lineItem.StyleDecorator.DisplayRectangle = new Rectangle(lineItem.StyleDecorator.Location, - lineItem.StyleDecorator.Size); - } - return lineItem; - } - - - - public ExportContainer ConvertToContainer (BaseReportItem parent,Point offset,ISimpleContainer item) + public static ExportContainer ConvertToContainer (BaseReportItem parent,ISimpleContainer item,Point offset) { if (item == null) { throw new ArgumentNullException("item"); @@ -80,9 +30,10 @@ namespace ICSharpCode.Reports.Core.old_Exporter if (lineBuilder != null) { ExportContainer lineItem = (ExportContainer)lineBuilder.CreateExportColumn(); - - lineItem.StyleDecorator.Location = new Point (parent.Location.X + lineItem.StyleDecorator.Location.X, + + lineItem.StyleDecorator.Location = new Point (offset.X + lineItem.StyleDecorator.Location.X, offset.Y); + lineItem.StyleDecorator.DisplayRectangle = new Rectangle(lineItem.StyleDecorator.Location, lineItem.StyleDecorator.Size); @@ -91,7 +42,7 @@ namespace ICSharpCode.Reports.Core.old_Exporter return null; } - public Rectangle ParentRectangle {get;set;} - + //public Rectangle ParentRectangle {get;set;} } + */ } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj index 68856e591a..8a8fbd5324 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ICSharpCode.Reports.Core.Test.csproj @@ -80,7 +80,6 @@ - @@ -128,7 +127,6 @@ - diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/old_Exporter/ExportItemsConverterFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/old_Exporter/ExportItemsConverterFixture.cs deleted file mode 100644 index 925484fea7..0000000000 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/old_Exporter/ExportItemsConverterFixture.cs +++ /dev/null @@ -1,142 +0,0 @@ -/* - * Created by SharpDevelop. - * User: Peter Forstmeier - * Date: 06.05.2010 - * Time: 19:54 - * - * To change this template use Tools | Options | Coding | Edit Standard Headers. - */ - -using System; -using System.Drawing; -using ICSharpCode.Reports.Core.old_Exporter; -using NUnit.Framework; -using ICSharpCode.Reports.Core.Test.TestHelpers; - -namespace ICSharpCode.Reports.Core.Test.old_Exporter -{ - [TestFixture] - public class ExportItemsConverterFixture:ConcernOf - { - - [Test] - public void CanCreateExportItemsConverter() - { - IExportItemsConverter sut = new ExportItemsConverter(); - Assert.IsNotNull(sut); - } - - -// [Test] -// [ExpectedException(typeof(ArgumentNullException))] -// public void ConvertSimpleItems_Throw_On_Null_Items() -// { -// IExportItemsConverter sut = new ExportItemsConverter(); -// ExporterCollection ec = sut.ConvertSimpleItems(new Point (10,10),null); -// -// } -// - -// [Test] -// public void Convert_SimpleItems_Should_Return_Valid_Collection() -// { -// ReportItemCollection ri = new ReportItemCollection(); -// BaseReportItem r = new BaseTextItem(){ -// Location = new Point (10,10), -// Size = new Size(20,100) -// }; -// ri.Add(r); -// IExportItemsConverter sut = new ExportItemsConverter(); -// -// ExporterCollection ec = sut.ConvertSimpleItems(new Point (10,10),ri); -// -// Assert.IsNotNull(ec); -// Assert.AreEqual(1,ec.Count); -// } -// - /* - [Test] - public void Convert_SimpleItems_Should_Calculate_Correct_Locations () - { - ReportItemCollection ri = new ReportItemCollection(); - Point itemLocation = new Point (10,10); - BaseReportItem r = new BaseTextItem(){ - Location = itemLocation, - Size = new Size(20,100) - }; - ri.Add(r); - - Point offset = new Point(20,20); - Rectangle parentRectangle = new Rectangle (50,50,700,50); - - Sut.ParentRectangle = parentRectangle; - - ExporterCollection ec = Sut.ConvertSimpleItems(offset,ri); - - BaseExportColumn be = ec[0]; - -// this.ParentRectangle.Location.X + lineItem.StyleDecorator.Location.X, -// lineItem.StyleDecorator.Location.Y + offset.Y); - - - Point resultLocation = new Point (parentRectangle.Location.X + itemLocation.X,itemLocation.Y + offset.Y); - - Assert.AreEqual(resultLocation,be.StyleDecorator.Location); - } - */ - /* - [Test] - public void Convert_Container_Should_Return_ExportContainer () - { - ReportItemCollection ri = new ReportItemCollection(); - - Point itemLocation = new Point (10,10); - - BaseRowItem row = new BaseRowItem() { - Location = itemLocation - }; - - - Point offset = new Point(20,20); - Rectangle parentRectangle = new Rectangle (50,50,700,50); - - Sut.ParentRectangle = parentRectangle; - - var exportContainer = Sut.ConvertToContainer(offset,row); - - Assert.IsAssignableFrom(typeof(ExportContainer),exportContainer); - } - */ - - /* - [Test] - public void Convert_Container_Should_Calculate_Correct_Locations() - { - ReportItemCollection ri = new ReportItemCollection(); - - Point itemLocation = new Point (10,10); - - BaseRowItem row = new BaseRowItem() { - Location = itemLocation - }; - - Point offset = new Point(20,20); - Rectangle parentRectangle = new Rectangle (50,50,700,50); - - Sut.ParentRectangle = parentRectangle; - - var exportContainer = Sut.ConvertToContainer(offset,row); - - Point containerLoction = new Point (itemLocation.X, offset.Y); - Assert.AreEqual(containerLoction,exportContainer.StyleDecorator.Location); - } - */ - - - public override void Setup() - { - Sut = new ExportItemsConverter(); - } - - } -}