Browse Source

Debug Rectangle

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@5724 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
pull/1/head
Peter Forstmeier 15 years ago
parent
commit
093883475a
  1. 1
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj
  2. 4
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/Layouter.cs
  3. 4
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Collections/Collections.cs
  4. 54
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs
  5. 36
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs
  6. 14
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs
  7. 20
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/IExportContainer.cs
  8. 22
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs

1
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj

@ -136,6 +136,7 @@
<Compile Include="Project\Exporter\Decorators\IBaseStyleDecorator.cs" /> <Compile Include="Project\Exporter\Decorators\IBaseStyleDecorator.cs" />
<Compile Include="Project\Exporter\Decorators\ILineDecorator.cs" /> <Compile Include="Project\Exporter\Decorators\ILineDecorator.cs" />
<Compile Include="Project\Exporter\Decorators\Linedecorator.cs" /> <Compile Include="Project\Exporter\Decorators\Linedecorator.cs" />
<Compile Include="Project\Exporter\ExportColumns\IExportContainer.cs" />
<Compile Include="Project\Exporter\ExportRenderer\HTMLRenderer.cs" /> <Compile Include="Project\Exporter\ExportRenderer\HTMLRenderer.cs" />
<Compile Include="Project\Exporter\ExportRenderer\PdfRenderer.cs" /> <Compile Include="Project\Exporter\ExportRenderer\PdfRenderer.cs" />
<Compile Include="Project\Exporter\ExportRenderer\XPSRenderer.cs" /> <Compile Include="Project\Exporter\ExportRenderer\XPSRenderer.cs" />

4
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/Layouter.cs

@ -33,7 +33,7 @@ namespace ICSharpCode.Reports.Core
} }
BaseReportItem containerItem = container as BaseReportItem; BaseReportItem containerItem = container as BaseReportItem;
container.Items.SortByLocation(); // container.Items.SortByLocation();
Rectangle desiredContainerRectangle = new Rectangle (containerItem.Location,containerItem.Size); Rectangle desiredContainerRectangle = new Rectangle (containerItem.Location,containerItem.Size);
System.Collections.Generic.IEnumerable<BaseReportItem> canGrowShrinkCollection = from bt in container.Items where bt.CanGrow == true select bt; System.Collections.Generic.IEnumerable<BaseReportItem> canGrowShrinkCollection = from bt in container.Items where bt.CanGrow == true select bt;
@ -62,7 +62,7 @@ namespace ICSharpCode.Reports.Core
if (section == null) { if (section == null) {
throw new ArgumentNullException("section"); throw new ArgumentNullException("section");
} }
section.Items.SortByLocation(); //section.Items.SortByLocation();
IEnumerable<BaseReportItem> canGrowShrinkCollection = from bt in section.Items where bt.CanGrow == true select bt; IEnumerable<BaseReportItem> canGrowShrinkCollection = from bt in section.Items where bt.CanGrow == true select bt;

4
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Collections/Collections.cs

@ -352,6 +352,10 @@ namespace ICSharpCode.Reports.Core{
public void AddRange (IEnumerable <BaseExportColumn> items){ public void AddRange (IEnumerable <BaseExportColumn> items){
foreach (var item in items) { foreach (var item in items) {
IExportContainer container = item as IExportContainer;
if (container != null) {
AddRange(container.Items);
}
this.Add (item); this.Add (item);
} }
} }

54
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs

@ -90,13 +90,14 @@ namespace ICSharpCode.Reports.Core.Exporter
#region Converters #region Converters
/*
protected void ConvertSection (BaseSection section,int currentRow) protected void ConvertSection (BaseSection section,int currentRow)
{ {
this.FireSectionRenderEvent (section ,currentRow); this.FireSectionRenderEvent (section ,currentRow);
this.Convert(section); this.Convert(section);
} }
*/
/*
private void Convert (BaseSection section) private void Convert (BaseSection section)
{ {
this.exportItemsConverter.Offset = section.SectionOffset; this.exportItemsConverter.Offset = section.SectionOffset;
@ -146,36 +147,33 @@ namespace ICSharpCode.Reports.Core.Exporter
} }
} }
} }
*/
protected ExporterCollection bak_Convert (BaseSection section) protected ExporterCollection ConvertSection (BaseSection section,int dataRow)
{ {
FireSectionRenderEvent (section ,dataRow);
this.exportItemsConverter.Offset = section.SectionOffset; this.exportItemsConverter.Offset = section.SectionOffset;
PrintHelper.AdjustParent((BaseSection)section,section.Items); PrintHelper.AdjustParent((BaseSection)section,section.Items);
ExporterCollection list = null;
/* ExporterCollection list = new ExporterCollection();
if (section.DrawBorder == true) { if (section.DrawBorder == true) {
BaseRectangleItem debugRectangle = new BaseRectangleItem(); section.Items.Insert(0,CreateDebugItem(section));
debugRectangle = new BaseRectangleItem();
debugRectangle.Location = new Point (0 ,0);
debugRectangle.Size = new Size(section.Size.Width,section.Size.Height);
debugRectangle.FrameColor = section.FrameColor;
section.Items.Insert(0,debugRectangle);
} }
*/
if (section.Items.Count > 0) { if (section.Items.Count > 0) {
ISimpleContainer container = section.Items[0] as ISimpleContainer; foreach (IReportItem item in section.Items) {
if (container != null) {
ISimpleContainer container = item as ISimpleContainer;
if (container != null) {
ExportContainer exportContainer = this.exportItemsConverter.ConvertToContainer(container); ExportContainer exportContainer = this.exportItemsConverter.ConvertToContainer(container);
this.exportItemsConverter.ParentLocation = exportContainer.StyleDecorator.Location; this.exportItemsConverter.ParentLocation = exportContainer.StyleDecorator.Location;
AdjustBackColor (container); AdjustBackColor (container);
ExporterCollection clist = container.Items.ConvertAll <BaseExportColumn> (this.exportItemsConverter.ConvertToLineItem);
ExporterCollection clist = container.Items.ConvertAll <BaseExportColumn> (this.exportItemsConverter.ConvertToLineItem) as ExporterCollection;
exportContainer.Items.AddRange(clist); exportContainer.Items.AddRange(clist);
list = new ExporterCollection();
list.Add(exportContainer); list.Add(exportContainer);
} else { } else {
@ -188,16 +186,30 @@ namespace ICSharpCode.Reports.Core.Exporter
section.Size = new Size(section.Size.Width,desiredRectangle.Size.Height); section.Size = new Size(section.Size.Width,desiredRectangle.Size.Height);
} }
list = section.Items.ConvertAll <BaseExportColumn> (this.exportItemsConverter.ConvertToLineItem); list = section.Items.ConvertAll <BaseExportColumn> (this.exportItemsConverter.ConvertToLineItem);
} }
if ((list != null) && (list.Count) > 0) {
// this.singlePage.Items.AddRange(list); // if ((list != null) && (list.Count) > 0) {
//// this.singlePage.Items.AddRange(list);
// }
// }
} }
} }
return list; return list;
} }
private static BaseRectangleItem CreateDebugItem (BaseReportItem item)
{
BaseRectangleItem debugRectangle = new BaseRectangleItem();
debugRectangle = new BaseRectangleItem();
debugRectangle.Location = new Point (0 ,0);
debugRectangle.Size = new Size(item.Size.Width,item.Size.Height);
debugRectangle.FrameColor = item.FrameColor;
return debugRectangle;
}
private static void AdjustBackColor (ISimpleContainer container) private static void AdjustBackColor (ISimpleContainer container)
{ {
BaseReportItem parent = container as BaseReportItem; BaseReportItem parent = container as BaseReportItem;

36
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs

@ -84,10 +84,11 @@ namespace ICSharpCode.Reports.Core.Exporter
protected override void BuildReportHeader () protected override void BuildReportHeader ()
{ {
if (base.Pages.Count == 0) { if ((base.Pages.Count == 0) && (base.ReportModel.ReportHeader.Items.Count > 0)) {
base.ReportModel.ReportHeader.SectionOffset = base.SinglePage.SectionBounds.ReportHeaderRectangle.Top; base.ReportModel.ReportHeader.SectionOffset = base.SinglePage.SectionBounds.ReportHeaderRectangle.Top;
base.ConvertSection (base.ReportModel.ReportHeader, ExporterCollection convertedList = base.ConvertSection (base.ReportModel.ReportHeader,this.dataNavigator.CurrentRow);
this.dataNavigator.CurrentRow); base.SinglePage.Items.AddRange(convertedList);
} }
} }
@ -95,40 +96,26 @@ namespace ICSharpCode.Reports.Core.Exporter
protected override void BuildPageHeader () protected override void BuildPageHeader ()
{ {
base.ReportModel.PageHeader.SectionOffset = base.AdjustPageHeader(); base.ReportModel.PageHeader.SectionOffset = base.AdjustPageHeader();
ExporterCollection convertedList = new ExporterCollection(); ExporterCollection convertedList = base.ConvertSection (base.ReportModel.PageHeader,this.dataNavigator.CurrentRow);
/*
IBaseConverter baseConverter = ConverterFactory.CreateConverter(base.ReportModel.PageHeader.Items[0],
dataNavigator,
this.SinglePage,this.ExportItemsConverter,
base.Layouter);
if (baseConverter != null) {
convertedList = baseConverter.Convert(base.ReportModel.PageHeader,base.ReportModel.PageHeader.Items[0]);
} else {
convertedList = base.bak_Convert (base.ReportModel.PageHeader);
}
*/
convertedList = base.bak_Convert (base.ReportModel.PageHeader);
base.SinglePage.Items.AddRange(convertedList); base.SinglePage.Items.AddRange(convertedList);
//orginal
//base.ConvertSection(base.ReportModel.PageHeader,0);
} }
protected override void BuildReportFooter (Rectangle footerRectangle) protected override void BuildReportFooter (Rectangle footerRectangle)
{ {
base.ReportModel.ReportFooter.SectionOffset = footerRectangle.Top; base.ReportModel.ReportFooter.SectionOffset = footerRectangle.Top;
base.ConvertSection (base.ReportModel.ReportFooter, ExporterCollection convertedList = base.ConvertSection (base.ReportModel.ReportFooter,this.dataNavigator.CurrentRow);
this.dataNavigator.CurrentRow); base.SinglePage.Items.AddRange(convertedList);
} }
protected override void BuildPageFooter () protected override void BuildPageFooter ()
{ {
base.ReportModel.PageFooter.SectionOffset = base.SinglePage.SectionBounds.PageFooterRectangle.Top; base.ReportModel.PageFooter.SectionOffset = base.SinglePage.SectionBounds.PageFooterRectangle.Top;
base.ConvertSection (base.ReportModel.PageFooter, ExporterCollection convertedList = convertedList = base.ConvertSection (base.ReportModel.PageFooter,this.dataNavigator.CurrentRow);
this.dataNavigator.CurrentRow); base.SinglePage.Items.AddRange(convertedList);
} }
@ -155,7 +142,6 @@ namespace ICSharpCode.Reports.Core.Exporter
} }
#endregion #endregion
private void WritePages () private void WritePages ()

14
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs

@ -13,18 +13,20 @@ namespace ICSharpCode.Reports.Core.Exporter
/// <summary> /// <summary>
/// Description of ContainerItem. /// Description of ContainerItem.
/// </summary> /// </summary>
public class ExportContainer:BaseExportColumn public class ExportContainer : BaseExportColumn, IExportContainer
{ {
ExporterCollection items; ExporterCollection items;
#region Constructor #region Constructor
public ExportContainer():base(){ public ExportContainer() : base()
{
base.IsContainer = true; base.IsContainer = true;
} }
public ExportContainer (BaseStyleDecorator itemStyle):base(itemStyle,true){ public ExportContainer(BaseStyleDecorator itemStyle) : base(itemStyle, true)
{
} }
#endregion #endregion
@ -32,7 +34,8 @@ namespace ICSharpCode.Reports.Core.Exporter
#region overrides #region overrides
public override void DrawItem(System.Drawing.Graphics graphics){ public override void DrawItem(System.Drawing.Graphics graphics)
{
base.Decorate(graphics); base.Decorate(graphics);
} }
@ -45,7 +48,8 @@ namespace ICSharpCode.Reports.Core.Exporter
#endregion #endregion
public void AddLineItem (BaseExportColumn item) { public void AddLineItem(BaseExportColumn item)
{
if (item == null) { if (item == null) {
throw new ArgumentNullException("item"); throw new ArgumentNullException("item");
} }

20
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/IExportContainer.cs

@ -0,0 +1,20 @@
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Peter Forstmeier" email="peter.forstmeier@t-online.de"/>
// <version>$Revision: 5369 $</version>
// </file>
using System;
using iTextSharp.text.pdf;
namespace ICSharpCode.Reports.Core.Exporter
{
public interface IExportContainer
{
void DrawItem(System.Drawing.Graphics graphics);
void DrawItem(PdfWriter pdfWriter, ICSharpCode.Reports.Core.Exporter.ExportRenderer.PdfUnitConverter converter);
void AddLineItem(BaseExportColumn item);
ExporterCollection Items { get; }
}
}

22
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs

@ -51,45 +51,39 @@ namespace ICSharpCode.Reports.Core.Exporter
protected override void BuildReportHeader() protected override void BuildReportHeader()
{ {
base.BuildReportHeader();
if (base.Pages.Count == 0) { if (base.Pages.Count == 0) {
this.ReportModel.ReportHeader.SectionOffset = base.SinglePage.SectionBounds.ReportHeaderRectangle.Top; this.ReportModel.ReportHeader.SectionOffset = base.SinglePage.SectionBounds.ReportHeaderRectangle.Top;
base.ConvertSection(this.ReportModel.ReportHeader,1); ExporterCollection convertedList = base.ConvertSection (base.ReportModel.ReportHeader,0);
base.SinglePage.Items.AddRange(convertedList);
} }
} }
protected override void BuildPageHeader() protected override void BuildPageHeader()
{ {
base.BuildPageHeader();
this.ReportModel.PageHeader.SectionOffset = base.SinglePage.SectionBounds.PageHeaderRectangle.Top; this.ReportModel.PageHeader.SectionOffset = base.SinglePage.SectionBounds.PageHeaderRectangle.Top;
base.ConvertSection(this.ReportModel.PageHeader, ExporterCollection convertedList = base.ConvertSection (base.ReportModel.PageHeader,0);
// base.SinglePage.SectionBounds.PageHeaderRectangle.Top, base.SinglePage.Items.AddRange(convertedList);
1 );
} }
protected override void BuildDetailInternal(BaseSection section) protected override void BuildDetailInternal(BaseSection section)
{ {
base.BuildDetailInternal(section); base.BuildDetailInternal(section);
section.SectionOffset = base.SinglePage.SectionBounds.DetailStart.Y; section.SectionOffset = base.SinglePage.SectionBounds.DetailStart.Y;
base.ConvertSection (section,
// base.SinglePage.SectionBounds.DetailStart.Y,
1);
} }
protected override void BuildPageFooter() protected override void BuildPageFooter()
{ {
base.BuildPageFooter();
this.ReportModel.PageFooter.SectionOffset = base.SinglePage.SectionBounds.PageFooterRectangle.Top; this.ReportModel.PageFooter.SectionOffset = base.SinglePage.SectionBounds.PageFooterRectangle.Top;
base.ConvertSection(this.ReportModel.PageFooter, ExporterCollection convertedList = convertedList = base.ConvertSection (base.ReportModel.PageFooter,0);
// base.SinglePage.SectionBounds.PageFooterRectangle.Top, base.SinglePage.Items.AddRange(convertedList);
1 );
} }
protected override void BuildReportFooter(Rectangle footerRectangle) protected override void BuildReportFooter(Rectangle footerRectangle)
{ {
base.BuildReportFooter(footerRectangle); ExporterCollection convertedList = base.ConvertSection (base.ReportModel.ReportFooter,0);
base.SinglePage.Items.AddRange(convertedList);
} }

Loading…
Cancel
Save