diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/Layouter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/Layouter.cs index 7f28554bea..1cecaafc43 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/Layouter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/Layouter.cs @@ -31,36 +31,22 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing return Rectangle.Empty; } -// Console.WriteLine("\tlayouter for container <{0}>",container.ToString()); -// Console.WriteLine("\tLayouter for Container"); Rectangle desiredContainerRectangle = new Rectangle (container.Location,container.Size); System.Collections.Generic.IEnumerable canGrowShrinkCollection = from bt in container.Items where bt.CanGrow == true select bt; if (canGrowShrinkCollection.Count() > 0 ) { Rectangle surroundingRec = FindSurroundingRectangle(graphics,canGrowShrinkCollection); -// desiredContainerRectangle = new Rectangle(container.Location.X, -// container.Location.Y, -// container.Size.Width, -// surroundingRec.Size.Height + GlobalValues.ControlMargins.Top + GlobalValues.ControlMargins.Bottom); -// desiredContainerRectangle = new Rectangle(container.Location.X, container.Location.Y, container.Size.Width, surroundingRec.Size.Height); -// var r1 = new Rectangle(container.Location.X, -// container.Location.Y, -// container.Size.Width, -// surroundingRec.Size.Height); -// -// Console.WriteLine("Diff {0} - {1} dif {2}",desiredContainerRectangle,r1,desiredContainerRectangle.Height - r1.Height); } -// Console.WriteLine("\tContainer : {0} - DesiredContainerRectangle {1} ",container.Size,desiredContainerRectangle.Size); return desiredContainerRectangle; } - + public Rectangle Layout(Graphics graphics,BaseSection section) { if (graphics == null) { @@ -69,9 +55,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing if (section == null) { throw new ArgumentNullException("section"); } - -// Console.WriteLine("\tLayouter for Container");Console.WriteLine("\tlayouter for section <{0}>",section.Name); -// Console.WriteLine("\tLayouter for Section"); + IEnumerable canGrowShrinkCollection = from bt in section.Items where bt.CanGrow == true select bt; Rectangle desiredSectionRectangle = new Rectangle(section.Location.X, @@ -91,11 +75,10 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing surroundingRec.Size.Height); } } -// Console.WriteLine("\tSection : {0} - DesiredContainerRectangle {1} ",section.Size,desiredSectionRectangle.Size); return desiredSectionRectangle; } - + private static Rectangle FindSurroundingRectangle (Graphics graphics,IEnumerable canGrowShrinkCollection) { @@ -107,7 +90,6 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing canGrowShrinkCollection.First().Size.Height); foreach (BaseTextItem elemToLayout in canGrowShrinkCollection) { - Console.WriteLine("ELEMTEXT {0}",elemToLayout.Text); Size textSize = MeasurementService.MeasureReportItem (graphics,elemToLayout); elemToLayout.Size = new Size(elemToLayout.Size.Width,textSize.Height); rec = Rectangle.Union(rec,new Rectangle(elemToLayout.Location,elemToLayout.Size)); 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 6986b7505f..db042d1c37 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 @@ -30,8 +30,8 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing } } - - public static void AdjustBackColor (ISimpleContainer container, Color defaultColor) + /* + public static void aaAdjustBackColor (ISimpleContainer container, Color defaultColor) { if (container.BackColor != defaultColor) { foreach (var item in container.Items) @@ -40,7 +40,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing } } } - + */ public static void FillBackground (Graphics graphics,BaseStyleDecorator decorator) { @@ -224,10 +224,9 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing lineItem.StyleDecorator.Size); AdjustBackColor (container); - Console.WriteLine("\tstart container at {0}",lineItem.StyleDecorator.Location); - return lineItem; - + return lineItem; } + return null; } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs index 887578c2fb..c086ba8dbc 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs @@ -86,23 +86,22 @@ namespace ICSharpCode.Reports.Core.Exporter #region Converters //Point currentPosition = Point.Empty; - protected Point Offset {get;set;} + protected ExporterCollection ConvertSection (BaseSection section,int dataRow) { FireSectionRenderEvent (section ,dataRow); - Console.WriteLine(""); - Console.WriteLine("section {0}",section.Name); PrintHelper.AdjustParent((BaseSection)section,section.Items); var list = new ExporterCollection(); + Point startLocation = section.Location; Offset = new Point(section.Location.X,section.SectionOffset); if (section.Items.Count > 0) { - section.Items.SortByLocation(); + section.Items.SortByLocation(); - IExpressionEvaluatorFacade evaluator = EvaluationHelper.CreateEvaluator(this.SinglePage,this.SinglePage.IDataNavigator); + IExpressionEvaluatorFacade evaluator = EvaluationHelper.CreateEvaluator(this.SinglePage,this.SinglePage.IDataNavigator); Rectangle desiredRectangle = LayoutHelper.CalculateSectionLayout(this.Graphics,section); LayoutHelper.FixSectionLayout(desiredRectangle,section); @@ -113,43 +112,25 @@ namespace ICSharpCode.Reports.Core.Exporter if (simpleContainer != null) { - EvaluationHelper.EvaluateReportItems(evaluator,simpleContainer.Items); - Size s = simpleContainer.Size; - var l = (ILayouter)ServiceContainer.GetService(typeof(ILayouter)); - LayoutHelper.SetLayoutForRow(Graphics,l, simpleContainer); - -ExportContainer exportContainer = StandardPrinter.ConvertToContainer(simpleContainer,Offset); - Console.WriteLine ("offset {0}",Offset); -Console.WriteLine("start exportContainer container at {0} with height {1}",exportContainer.StyleDecorator.Location,exportContainer.StyleDecorator.Size.Height); - s = simpleContainer.Size; + EvaluationHelper.EvaluateReportItems(evaluator,simpleContainer.Items); + var l = (ILayouter)ServiceContainer.GetService(typeof(ILayouter)); + LayoutHelper.SetLayoutForRow(Graphics,l, simpleContainer); + ExportContainer exportContainer = StandardPrinter.ConvertToContainer(simpleContainer,Offset); ExporterCollection clist = StandardPrinter.ConvertPlainCollection(simpleContainer.Items,exportContainer.StyleDecorator.Location); exportContainer.Items.AddRange(clist); list.Add(exportContainer); - Offset = new Point(Offset.X,Offset.Y + exportContainer.StyleDecorator.Size.Height); - -Console.WriteLine ("new offset {0}",Offset); - - -// foreach (ExportText VARIABLE in clist) -// { -// Console.WriteLine("{0} - {1}",VARIABLE.Text,VARIABLE.StyleDecorator.Location); -// } -// Console.WriteLine("......."); - + Offset = new Point(Offset.X,Offset.Y + exportContainer.StyleDecorator.Size.Height); } else { - Console.WriteLine("start section {0} at {1}",section.Name,section.SectionOffset + section.Location.Y); list = StandardPrinter.ConvertPlainCollection(section.Items,Offset); Offset = new Point(Offset.X,Offset.Y + section.Size.Height); } - section.Size = new Size(section.Size.Width,section.Size.Height); + section.Size = new Size(section.Size.Width,Offset.Y - section.SectionOffset); + } - Console.WriteLine ("\toffset {0} sectionoffset {1}",Offset,section.SectionOffset); - } - Console.WriteLine ("Cuurent location {0} section.botom {1}",Offset,section.Location.Y + section.Size.Height); return list; } @@ -291,8 +272,15 @@ Console.WriteLine ("new offset {0}",Offset); #region Property's + protected Point Offset {get;set;} + protected Graphics Graphics {get; private set;} + protected SectionBounds SectionBounds + { + get { return SinglePage.SectionBounds; } + } + public IReportModel ReportModel {get;set;} protected ExporterPage SinglePage {get;set;} @@ -308,13 +296,6 @@ Console.WriteLine ("new offset {0}",Offset); } } } - - - protected SectionBounds SectionBounds - { - get { return SinglePage.SectionBounds; } - } - #endregion } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs index b6cd1c0dd8..8e9babe3ec 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs @@ -94,8 +94,8 @@ namespace ICSharpCode.Reports.Core.Exporter //Convert children if (childNavigator != null) { - StandardPrinter.AdjustBackColor(simpleContainer,GlobalValues.DefaultBackColor); - //Console.WriteLine("child start {0}",base.CurrentPosition); +// StandardPrinter.AdjustBackColor(simpleContainer,GlobalValues.DefaultBackColor); + StandardPrinter.AdjustBackColor(simpleContainer); do { section.Size = base.RestoreSectionSize; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs index 4e19dfa4e9..ff8498396d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs @@ -101,7 +101,8 @@ namespace ICSharpCode.Reports.Core.Exporter if (childNavigator != null) { do { - StandardPrinter.AdjustBackColor(simpleContainer,GlobalValues.DefaultBackColor); + StandardPrinter.AdjustBackColor(simpleContainer); +// StandardPrinter.AdjustBackColor(simpleContainer,GlobalValues.DefaultBackColor); simpleContainer = table.Items[2] as ISimpleContainer; containerSize = simpleContainer.Size; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs index caf832f561..4cbd3d07f9 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs @@ -78,12 +78,13 @@ namespace ICSharpCode.Reports.Core.Exporter protected override void BuildPageHeader () { base.ReportModel.PageHeader.SectionOffset = base.AdjustPageHeader(); - Console.WriteLine ("pageHeader {0}",base.ReportModel.PageHeader.Size); +// Console.WriteLine ("pageHeader at start {0}",base.ReportModel.PageHeader.Size); ExporterCollection convertedList = base.ConvertSection (base.ReportModel.PageHeader,this.dataNavigator.CurrentRow); - Console.WriteLine ("pageHeader {0}",base.ReportModel.PageHeader.Size); +// Console.WriteLine ("pageHeader after convert {0}",base.ReportModel.PageHeader.Size); +// Console.WriteLine ("Offset from base {0}",base.Offset); // base.ReportModel.PageHeader.Size = new Size(base.ReportModel.PageHeader.Size.Width,base.Offset.Y); base.SectionBounds.MeasurePageHeader(base.ReportModel.PageHeader); - Console.WriteLine ("rect {0} detail {1}",base.SectionBounds.PageHeaderRectangle,base.SectionBounds.DetailStart); +// Console.WriteLine ("PageHeaderRectangle {0} DetailStart {1}",base.SectionBounds.PageHeaderRectangle,base.SectionBounds.DetailStart); base.SinglePage.Items.AddRange(convertedList); } @@ -159,29 +160,24 @@ namespace ICSharpCode.Reports.Core.Exporter void OnSectionRendering (object sender,SectionRenderEventArgs e) { -// Console.WriteLine("Datapagebuilder : OnSectionRendering"); base.FireSectionRenderEvent(e.Section,e.RowNumber); } void OnGroupHeaderRendering (object sender, GroupHeaderEventArgs ghea) { - -// Console.WriteLine("Datapagebuilder : OnGroupHeaderRendering"); base.FireGroupHeaderEvent(ghea); } void OnGroupFooterRendering (object sender, GroupFooterEventArgs gfea) { -// Console.WriteLine ("DatapageBuilder : OnGroupFooterEvent"); base.FireGroupFooterEvent(gfea); } void OnRowRendering (object sender,RowRenderEventArgs rrea) { -// Console.WriteLine("Datapagebuilder : OnRowRendering"); base.FireRowRenderEvent(rrea); } #endregion diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs index 63ec24a5f7..e6a31da6de 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs @@ -55,7 +55,8 @@ namespace ICSharpCode.Reports.Core.Exporter { this.ReportModel.PageHeader.SectionOffset = base.SinglePage.SectionBounds.PageHeaderRectangle.Top; ExporterCollection convertedList = base.ConvertSection (base.ReportModel.PageHeader,0); - base.SinglePage.Items.AddRange(convertedList); + base.SinglePage.Items.AddRange(convertedList); + base.SectionBounds.MeasurePageHeader(base.ReportModel.PageHeader); } protected override void BuildDetailInternal(BaseSection section)