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. 88
      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. 38
      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 @@ @@ -136,6 +136,7 @@
<Compile Include="Project\Exporter\Decorators\IBaseStyleDecorator.cs" />
<Compile Include="Project\Exporter\Decorators\ILineDecorator.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\PdfRenderer.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 @@ -33,7 +33,7 @@ namespace ICSharpCode.Reports.Core
}
BaseReportItem containerItem = container as BaseReportItem;
container.Items.SortByLocation();
// container.Items.SortByLocation();
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;
@ -62,7 +62,7 @@ namespace ICSharpCode.Reports.Core @@ -62,7 +62,7 @@ namespace ICSharpCode.Reports.Core
if (section == null) {
throw new ArgumentNullException("section");
}
section.Items.SortByLocation();
//section.Items.SortByLocation();
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{ @@ -352,6 +352,10 @@ namespace ICSharpCode.Reports.Core{
public void AddRange (IEnumerable <BaseExportColumn> items){
foreach (var item in items) {
IExportContainer container = item as IExportContainer;
if (container != null) {
AddRange(container.Items);
}
this.Add (item);
}
}

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

@ -90,13 +90,14 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -90,13 +90,14 @@ namespace ICSharpCode.Reports.Core.Exporter
#region Converters
/*
protected void ConvertSection (BaseSection section,int currentRow)
{
this.FireSectionRenderEvent (section ,currentRow);
this.Convert(section);
}
*/
/*
private void Convert (BaseSection section)
{
this.exportItemsConverter.Offset = section.SectionOffset;
@ -146,58 +147,69 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -146,58 +147,69 @@ 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;
PrintHelper.AdjustParent((BaseSection)section,section.Items);
ExporterCollection list = null;
/*
ExporterCollection list = new ExporterCollection();
if (section.DrawBorder == true) {
BaseRectangleItem debugRectangle = new BaseRectangleItem();
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);
section.Items.Insert(0,CreateDebugItem(section));
}
*/
if (section.Items.Count > 0) {
ISimpleContainer container = section.Items[0] as ISimpleContainer;
if (container != null) {
foreach (IReportItem item in section.Items) {
ExportContainer exportContainer = this.exportItemsConverter.ConvertToContainer(container);
this.exportItemsConverter.ParentLocation = exportContainer.StyleDecorator.Location;
AdjustBackColor (container);
ExporterCollection clist = container.Items.ConvertAll <BaseExportColumn> (this.exportItemsConverter.ConvertToLineItem) as ExporterCollection;
exportContainer.Items.AddRange(clist);
list = new ExporterCollection();
list.Add(exportContainer);
} else {
this.exportItemsConverter.ParentLocation = section.Location;
Rectangle desiredRectangle = layouter.Layout(this.graphics,section);
Rectangle sectionRectangle = new Rectangle(0,0,section.Size.Width,section.Size.Height);
if (!sectionRectangle.Contains(desiredRectangle)) {
section.Size = new Size(section.Size.Width,desiredRectangle.Size.Height);
ISimpleContainer container = item as ISimpleContainer;
if (container != null) {
ExportContainer exportContainer = this.exportItemsConverter.ConvertToContainer(container);
this.exportItemsConverter.ParentLocation = exportContainer.StyleDecorator.Location;
AdjustBackColor (container);
ExporterCollection clist = container.Items.ConvertAll <BaseExportColumn> (this.exportItemsConverter.ConvertToLineItem);
exportContainer.Items.AddRange(clist);
list.Add(exportContainer);
} else {
this.exportItemsConverter.ParentLocation = section.Location;
Rectangle desiredRectangle = layouter.Layout(this.graphics,section);
Rectangle sectionRectangle = new Rectangle(0,0,section.Size.Width,section.Size.Height);
if (!sectionRectangle.Contains(desiredRectangle)) {
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;
}
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)
{
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 @@ -84,10 +84,11 @@ namespace ICSharpCode.Reports.Core.Exporter
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.ConvertSection (base.ReportModel.ReportHeader,
this.dataNavigator.CurrentRow);
ExporterCollection convertedList = base.ConvertSection (base.ReportModel.ReportHeader,this.dataNavigator.CurrentRow);
base.SinglePage.Items.AddRange(convertedList);
}
}
@ -95,40 +96,26 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -95,40 +96,26 @@ namespace ICSharpCode.Reports.Core.Exporter
protected override void BuildPageHeader ()
{
base.ReportModel.PageHeader.SectionOffset = base.AdjustPageHeader();
ExporterCollection convertedList = new ExporterCollection();
/*
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);
ExporterCollection convertedList = base.ConvertSection (base.ReportModel.PageHeader,this.dataNavigator.CurrentRow);
base.SinglePage.Items.AddRange(convertedList);
//orginal
//base.ConvertSection(base.ReportModel.PageHeader,0);
}
protected override void BuildReportFooter (Rectangle footerRectangle)
{
base.ReportModel.ReportFooter.SectionOffset = footerRectangle.Top;
base.ConvertSection (base.ReportModel.ReportFooter,
this.dataNavigator.CurrentRow);
ExporterCollection convertedList = base.ConvertSection (base.ReportModel.ReportFooter,this.dataNavigator.CurrentRow);
base.SinglePage.Items.AddRange(convertedList);
}
protected override void BuildPageFooter ()
{
base.ReportModel.PageFooter.SectionOffset = base.SinglePage.SectionBounds.PageFooterRectangle.Top;
base.ConvertSection (base.ReportModel.PageFooter,
this.dataNavigator.CurrentRow);
ExporterCollection convertedList = convertedList = base.ConvertSection (base.ReportModel.PageFooter,this.dataNavigator.CurrentRow);
base.SinglePage.Items.AddRange(convertedList);
}
@ -155,7 +142,6 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -155,7 +142,6 @@ namespace ICSharpCode.Reports.Core.Exporter
}
#endregion
private void WritePages ()

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

@ -13,45 +13,49 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -13,45 +13,49 @@ namespace ICSharpCode.Reports.Core.Exporter
/// <summary>
/// Description of ContainerItem.
/// </summary>
public class ExportContainer:BaseExportColumn
public class ExportContainer : BaseExportColumn, IExportContainer
{
ExporterCollection items;
#region Constructor
public ExportContainer():base(){
public ExportContainer() : base()
{
base.IsContainer = true;
}
public ExportContainer (BaseStyleDecorator itemStyle):base(itemStyle,true){
public ExportContainer(BaseStyleDecorator itemStyle) : base(itemStyle, true)
{
}
#endregion
#region overrides
public override void DrawItem(System.Drawing.Graphics graphics){
public override void DrawItem(System.Drawing.Graphics graphics)
{
base.Decorate(graphics);
}
public override void DrawItem(PdfWriter pdfWriter, ICSharpCode.Reports.Core.Exporter.ExportRenderer.PdfUnitConverter converter)
{
base.DrawItem(pdfWriter, converter);
base.Decorate();
}
#endregion
public void AddLineItem (BaseExportColumn item) {
public void AddLineItem(BaseExportColumn item)
{
if (item == null) {
throw new ArgumentNullException("item");
}
this.items.Add(item);
}
public ExporterCollection Items {
get {
if (this.items == null) {

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

@ -0,0 +1,20 @@ @@ -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 @@ -51,45 +51,39 @@ namespace ICSharpCode.Reports.Core.Exporter
protected override void BuildReportHeader()
{
base.BuildReportHeader();
if (base.Pages.Count == 0) {
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()
{
base.BuildPageHeader();
this.ReportModel.PageHeader.SectionOffset = base.SinglePage.SectionBounds.PageHeaderRectangle.Top;
base.ConvertSection(this.ReportModel.PageHeader,
// base.SinglePage.SectionBounds.PageHeaderRectangle.Top,
1 );
ExporterCollection convertedList = base.ConvertSection (base.ReportModel.PageHeader,0);
base.SinglePage.Items.AddRange(convertedList);
}
protected override void BuildDetailInternal(BaseSection section)
{
base.BuildDetailInternal(section);
section.SectionOffset = base.SinglePage.SectionBounds.DetailStart.Y;
base.ConvertSection (section,
// base.SinglePage.SectionBounds.DetailStart.Y,
1);
}
protected override void BuildPageFooter()
{
base.BuildPageFooter();
this.ReportModel.PageFooter.SectionOffset = base.SinglePage.SectionBounds.PageFooterRectangle.Top;
base.ConvertSection(this.ReportModel.PageFooter,
// base.SinglePage.SectionBounds.PageFooterRectangle.Top,
1 );
ExporterCollection convertedList = convertedList = base.ConvertSection (base.ReportModel.PageFooter,0);
base.SinglePage.Items.AddRange(convertedList);
}
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