Browse Source

Start working on Debug Rectangle

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@5715 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
pull/1/head
Peter Forstmeier 15 years ago
parent
commit
e81563b695
  1. 11
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/AbstractItem.cs
  2. 9
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseSection.cs
  3. 41
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs
  4. 2
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseGraphicItem.cs
  5. 156
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseReportItem.cs
  6. 1
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseRowItem.cs
  7. 11
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs
  8. 3
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs
  9. 63
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs
  10. 20
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs
  11. 1
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphic.cs
  12. 1
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Interfaces/IReportItem.cs
  13. 1
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs
  14. 7
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/SectionBoundFixture.cs
  15. 49
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/SinglePageFixture.cs

11
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/AbstractItem.cs

@ -23,7 +23,7 @@ namespace ICSharpCode.Reports.Addin @@ -23,7 +23,7 @@ namespace ICSharpCode.Reports.Addin
[TypeDescriptionProvider(typeof(AbstractItemTypeProvider))]
public abstract class AbstractItem:System.Windows.Forms.Control
{
private Color frameColor = GlobalValues.DefaultBackColor;
private Color frameColor = Color.Black;
private bool drawBorder;
private Size defaultSize;
@ -38,15 +38,12 @@ namespace ICSharpCode.Reports.Addin @@ -38,15 +38,12 @@ namespace ICSharpCode.Reports.Addin
{
if (this.drawBorder == true) {
graphics.DrawRectangle(new Pen(this.frameColor),borderRectangle);
} else {
System.Windows.Forms.ControlPaint.DrawBorder3D(graphics, this.ClientRectangle,
System.Windows.Forms.Border3DStyle.Etched);
}
}
System.Windows.Forms.ControlPaint.DrawBorder3D(graphics, this.ClientRectangle,
System.Windows.Forms.Border3DStyle.Etched);
}
#region Property's
protected Rectangle DrawingRectangle {

9
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseSection.cs

@ -32,7 +32,7 @@ namespace ICSharpCode.Reports.Addin @@ -32,7 +32,7 @@ namespace ICSharpCode.Reports.Addin
public BaseSection():base()
{
base.BackColor = Color.White;
base.FrameColor = Color.Black;
TypeDescriptor.AddProvider(new SectionItemTypeProvider(), typeof(BaseSection));
}
@ -47,9 +47,10 @@ namespace ICSharpCode.Reports.Addin @@ -47,9 +47,10 @@ namespace ICSharpCode.Reports.Addin
public override void Draw(Graphics graphics)
{
base.DrawControl(graphics,new Rectangle(this.Location,this.Size));
base.DrawControl(graphics,Rectangle.Inflate(this.ClientRectangle,-2,-2));
}
#region Propertys
public int SectionOffset {
@ -77,7 +78,6 @@ namespace ICSharpCode.Reports.Addin @@ -77,7 +78,6 @@ namespace ICSharpCode.Reports.Addin
set { canShrink = value; }
}
#endregion
}
@ -140,7 +140,8 @@ namespace ICSharpCode.Reports.Addin @@ -140,7 +140,8 @@ namespace ICSharpCode.Reports.Addin
prop = props.Find("Controls",true);
allProperties.Add(prop);
prop = props.Find("FrameColor",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}

41
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseClasses/SectionBounds.cs

@ -24,6 +24,7 @@ namespace ICSharpCode.Reports.Core{ @@ -24,6 +24,7 @@ namespace ICSharpCode.Reports.Core{
Point DetailStart {get;}
Point DetailEnds {get;}
Rectangle DetailArea {get;}
Size PageSize {get;set;}
int Gap {get;}
bool Landscape{get;}
}
@ -38,6 +39,7 @@ namespace ICSharpCode.Reports.Core{ @@ -38,6 +39,7 @@ namespace ICSharpCode.Reports.Core{
Rectangle marginBounds;
Rectangle detailArea;
bool firstPage;
bool landscape;
int gap = 1;
@ -46,17 +48,24 @@ namespace ICSharpCode.Reports.Core{ @@ -46,17 +48,24 @@ namespace ICSharpCode.Reports.Core{
#region Constructor
public SectionBounds (ReportSettings settings,bool firstPage)
public SectionBounds (ReportSettings reportSettings,bool firstPage)
{
if (reportSettings == null) {
throw new ArgumentNullException("reportSettings");
}
this.firstPage = firstPage;
this.landscape = settings.Landscape;
this.printableArea = new Rectangle(settings.LeftMargin,settings.TopMargin,
settings.PageSize.Width - settings.RightMargin,settings.PageSize.Height - settings.BottomMargin);
this.marginBounds = new Rectangle(settings.LeftMargin,
settings.TopMargin,
settings.PageSize.Width - settings.LeftMargin - settings.RightMargin,
settings.PageSize.Height - settings.TopMargin - settings.BottomMargin);
this.landscape = reportSettings.Landscape;
this.PageSize = reportSettings.PageSize;
this.printableArea = new Rectangle(reportSettings.LeftMargin,reportSettings.TopMargin,
reportSettings.PageSize.Width - reportSettings.RightMargin,
reportSettings.PageSize.Height - reportSettings.BottomMargin);
this.marginBounds = new Rectangle(reportSettings.LeftMargin,
reportSettings.TopMargin,
reportSettings.PageSize.Width - reportSettings.LeftMargin - reportSettings.RightMargin,
reportSettings.PageSize.Height - reportSettings.TopMargin - reportSettings.BottomMargin);
}
#endregion
@ -104,11 +113,18 @@ namespace ICSharpCode.Reports.Core{ @@ -104,11 +113,18 @@ namespace ICSharpCode.Reports.Core{
if (section == null) {
throw new ArgumentNullException("section");
}
/*
section.SectionOffset = this.printableArea.Bottom - section.Size.Height;
this.pageFooterRectangle = new Rectangle(this.printableArea.Location.X,
section.SectionOffset,
this.marginBounds.Width,
section.Size.Height);
*/
this.pageFooterRectangle = new Rectangle(this.printableArea.Location.X,
this.marginBounds.Bottom - section.Size.Height,
this.marginBounds.Width,
section.Size.Height);
}
//Test
@ -192,7 +208,7 @@ namespace ICSharpCode.Reports.Core{ @@ -192,7 +208,7 @@ namespace ICSharpCode.Reports.Core{
{
get {
return new Point(this.pageHeaderRectangle.Left,
this.pageHeaderRectangle.Bottom);
this.pageHeaderRectangle.Bottom + this.Gap);
}
}
@ -201,7 +217,7 @@ namespace ICSharpCode.Reports.Core{ @@ -201,7 +217,7 @@ namespace ICSharpCode.Reports.Core{
public Point DetailEnds
{
get {
return new Point(this.pageFooterRectangle.Left,this.pageFooterRectangle.Top);
return new Point(this.pageFooterRectangle.Left,this.pageFooterRectangle.Top - this.Gap);
}
}
@ -235,6 +251,9 @@ namespace ICSharpCode.Reports.Core{ @@ -235,6 +251,9 @@ namespace ICSharpCode.Reports.Core{
public bool Landscape
{get {return this.landscape;}}
public Size PageSize {get;set;}
#endregion
}
}

2
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseGraphicItem.cs

@ -36,6 +36,7 @@ namespace ICSharpCode.Reports.Core { @@ -36,6 +36,7 @@ namespace ICSharpCode.Reports.Core {
style.Location = this.Location;
style.BackColor = this.BackColor;
style.ForeColor = this.ForeColor;
style.FrameColor = this.FrameColor;
style.Thickness = this.thickness;
style.DashStyle = this.dashStyle;
@ -100,6 +101,7 @@ namespace ICSharpCode.Reports.Core { @@ -100,6 +101,7 @@ namespace ICSharpCode.Reports.Core {
set { base.DrawBorder = value; }
}
[XmlIgnoreAttribute]
[Browsable(false)]
public override Font Font {

156
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseReportItem.cs

@ -17,24 +17,7 @@ using System.Xml.Serialization; @@ -17,24 +17,7 @@ using System.Xml.Serialization;
namespace ICSharpCode.Reports.Core {
public class BaseReportItem : IReportItem
{
private bool drawBorder;
private bool visible = true;
private bool canGrow;
private bool canShrink;
private Color foreColor;
private Color backColor;
private Color frameColor;
private string name;
private BaseReportItem parent;
private Size size;
private Point location;
private int sectionOffset;
private Font font;
[Obsolete ("will be deleted")]
public event EventHandler<BeforePrintEventArgs> ItemPrinting;
[Obsolete("will be deleted")]
@ -44,11 +27,12 @@ namespace ICSharpCode.Reports.Core { @@ -44,11 +27,12 @@ namespace ICSharpCode.Reports.Core {
public BaseReportItem()
{
this.size = GlobalValues.PreferedSize;
this.backColor = GlobalValues.DefaultBackColor;
this.frameColor = GlobalValues.DefaultBackColor;
this.foreColor = Color.Black;
this.font = GlobalValues.DefaultFont;
this.Size = GlobalValues.PreferedSize;
this.BackColor = GlobalValues.DefaultBackColor;
this.FrameColor = Color.Black;
this.ForeColor = Color.Black;
this.Font = GlobalValues.DefaultFont;
this.Visible = true;
}
#region EventHandling
@ -104,122 +88,32 @@ namespace ICSharpCode.Reports.Core { @@ -104,122 +88,32 @@ namespace ICSharpCode.Reports.Core {
#region Properties
//
public virtual bool Visible
{
get {
return visible;
}
set {
visible = value;
}
}
public virtual bool Visible {get;set;}
public bool CanGrow {get;set;}
public bool CanShrink {get;set;}
public virtual bool DrawBorder {get;set;}
public bool CanGrow {
get { return canGrow; }
set { canGrow = value; }
}
public bool CanShrink {
get { return canShrink; }
set { canShrink = value; }
}
public virtual bool DrawBorder
{
get {
return drawBorder;
}
set {
drawBorder = value;
}
}
public virtual string Name
{
get {
return name;
}
set {
name = value;
}
}
public virtual Size Size
{
get {
return size;
}
set {
size = value;
}
}
public virtual Point Location
{
get {
return location;
}
set {
location = value;
}
}
public virtual int SectionOffset
{
get {
return sectionOffset;
}
set {
sectionOffset = value;
}
}
public virtual string Name {get;set;}
public BaseReportItem Parent
{
get {
return parent;
}
set {
parent = value;
}
}
public virtual Size Size {get;set;}
public virtual Color ForeColor
{
get {return foreColor;}
set {foreColor = value;}
}
public virtual Point Location {get;set;}
public virtual int SectionOffset {get;set;}
public virtual Color BackColor
{
get {return backColor;}
set {backColor = value;}
}
public BaseReportItem Parent{get;set;}
public virtual Color ForeColor {get;set;}
public virtual Color BackColor{get;set;}
public Color FrameColor {
get { return frameColor; }
set { frameColor = value; }
}
public Color FrameColor{get;set;}
public virtual Font Font {get;set;}
public virtual Font Font
{
get {return this.font;}
set {this.font = value;}
}
#endregion
@ -228,9 +122,9 @@ namespace ICSharpCode.Reports.Core { @@ -228,9 +122,9 @@ namespace ICSharpCode.Reports.Core {
protected virtual void Dispose(bool disposing)
{
if (disposing){
if (this.font != null){
this.font = null;
this.font.Dispose();
if (this.Font != null){
this.Font = null;
this.Font.Dispose();
}
}

1
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseRowItem.cs

@ -53,6 +53,7 @@ namespace ICSharpCode.Reports.Core{ @@ -53,6 +53,7 @@ namespace ICSharpCode.Reports.Core{
style.Location = this.Location;
}
//style.Location = this.Location;
style.Size = this.Size;
style.DrawBorder = this.DrawBorder;
return style;

11
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs

@ -7,8 +7,10 @@ @@ -7,8 +7,10 @@
using System;
using System.ComponentModel;
using System.Xml.Serialization;
using System.Drawing;
using System.Linq;
using System.Xml.Serialization;
using ICSharpCode.Reports.Core.Interfaces;
/// <summary>
@ -20,7 +22,6 @@ namespace ICSharpCode.Reports.Core @@ -20,7 +22,6 @@ namespace ICSharpCode.Reports.Core
{
public class BaseSection : BaseReportItem {
// private int sectionMargin;
private bool pageBreakAfter;
private ReportItemCollection items;
@ -48,6 +49,12 @@ namespace ICSharpCode.Reports.Core @@ -48,6 +49,12 @@ namespace ICSharpCode.Reports.Core
{
this.NotifyPrinting();
base.Render(rpea);
if (this.DrawBorder == true) {
Border b = new Border(new BaseLine (this.FrameColor,System.Drawing.Drawing2D.DashStyle.Solid,1));
Rectangle r = new Rectangle (this.Location,this.Size);
b.DrawBorder(rpea.PrintPageEventArgs.Graphics,r);
}
this.NotifyPrinted();
}

3
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs

@ -53,9 +53,8 @@ namespace ICSharpCode.Reports.Core @@ -53,9 +53,8 @@ namespace ICSharpCode.Reports.Core
style.BackColor = this.BackColor;
style.ForeColor = this.ForeColor;
style.FrameColor = this.FrameColor;
style.Font = new Font(this.Font,Font.Style);
style.Font = this.Font;
style.Location = this.Location;
style.Size = this.Size;

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

@ -103,6 +103,15 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -103,6 +103,15 @@ namespace ICSharpCode.Reports.Core.Exporter
PrintHelper.AdjustParent((BaseSection)section,section.Items);
ExporterCollection list = null;
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);
}
if (section.Items.Count > 0) {
ISimpleContainer container = section.Items[0] as ISimpleContainer;
@ -115,7 +124,6 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -115,7 +124,6 @@ namespace ICSharpCode.Reports.Core.Exporter
ExporterCollection clist = container.Items.ConvertAll <BaseExportColumn> (this.exportItemsConverter.ConvertToLineItem) as ExporterCollection;
exportContainer.Items.AddRange(clist);
list = new ExporterCollection();
list.Add(exportContainer);
@ -129,6 +137,8 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -129,6 +137,8 @@ namespace ICSharpCode.Reports.Core.Exporter
if (!sectionRectangle.Contains(desiredRectangle)) {
section.Size = new Size(section.Size.Width,desiredRectangle.Size.Height);
}
list = section.Items.ConvertAll <BaseExportColumn> (this.exportItemsConverter.ConvertToLineItem);
}
if ((list != null) && (list.Count) > 0) {
@ -137,6 +147,57 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -137,6 +147,57 @@ namespace ICSharpCode.Reports.Core.Exporter
}
}
protected ExporterCollection bak_Convert (BaseSection section)
{
this.exportItemsConverter.Offset = section.SectionOffset;
PrintHelper.AdjustParent((BaseSection)section,section.Items);
ExporterCollection list = null;
/*
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);
}
*/
if (section.Items.Count > 0) {
ISimpleContainer container = section.Items[0] 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) 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);
}
list = section.Items.ConvertAll <BaseExportColumn> (this.exportItemsConverter.ConvertToLineItem);
}
if ((list != null) && (list.Count) > 0) {
// this.singlePage.Items.AddRange(list);
}
}
return list;
}
private static void AdjustBackColor (ISimpleContainer container)
{
BaseReportItem parent = container as BaseReportItem;

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

@ -95,8 +95,24 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -95,8 +95,24 @@ namespace ICSharpCode.Reports.Core.Exporter
protected override void BuildPageHeader ()
{
base.ReportModel.PageHeader.SectionOffset = base.AdjustPageHeader();
base.ConvertSection (base.ReportModel.PageHeader,
this.dataNavigator.CurrentRow );
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);
base.SinglePage.Items.AddRange(convertedList);
}

1
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphic.cs

@ -47,7 +47,6 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -47,7 +47,6 @@ namespace ICSharpCode.Reports.Core.Exporter
BaseLine baseLine = null;
if (style.BackColor == GlobalValues.DefaultBackColor){
baseLine = new BaseLine (style.ForeColor,style.DashStyle,style.Thickness);
} else {
baseLine = new BaseLine (style.BackColor,style.DashStyle,style.Thickness);
}

1
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Interfaces/IReportItem.cs

@ -23,6 +23,7 @@ namespace ICSharpCode.Reports.Core { @@ -23,6 +23,7 @@ namespace ICSharpCode.Reports.Core {
Font Font {get;set;}
bool Visible {get;set;}
Color BackColor {get;set;}
Color FrameColor {get;set;}
int SectionOffset {get;set;}
bool CanGrow {get;set;}
bool CanShrink {get;set;}

1
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs

@ -224,7 +224,6 @@ namespace ICSharpCode.Reports.Core.ReportViewer @@ -224,7 +224,6 @@ namespace ICSharpCode.Reports.Core.ReportViewer
private void OnPageCreated (object sender, PageCreatedEventArgs e)
{
System.Console.WriteLine("OnPageCreatd {0}",this.Pages.Count);
this.Pages.Add(e.SinglePage);
if (this.Pages.Count == 1) {
ShowSelectedPage();

7
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/SectionBoundFixture.cs

@ -150,6 +150,7 @@ namespace ICSharpCode.Reports.Core.Test.Printing @@ -150,6 +150,7 @@ namespace ICSharpCode.Reports.Core.Test.Printing
[Test]
public void MeasurePageFooter()
{
var setting = new ReportSettings();
SectionBounds sectionBounds = new SectionBounds(new ReportSettings(),true);
BaseSection baseSection = new BaseSection();
baseSection.Location = new Point (50,50);
@ -161,6 +162,8 @@ namespace ICSharpCode.Reports.Core.Test.Printing @@ -161,6 +162,8 @@ namespace ICSharpCode.Reports.Core.Test.Printing
Assert.AreEqual(sectionBounds.MarginBounds.Width,
sectionBounds.PageFooterRectangle.Width);
//int i = sectionBounds.PageSize.Height - setting.BottomMargin;
//Assert.AreEqual(i,sectionBounds.PageFooterRectangle.Location.Y);
}
#endregion
@ -214,7 +217,7 @@ namespace ICSharpCode.Reports.Core.Test.Printing @@ -214,7 +217,7 @@ namespace ICSharpCode.Reports.Core.Test.Printing
baseSection.Location = new Point (50,50);
baseSection.Size = new Size (727,60);
sectionBounds.MeasurePageHeader(baseSection);
Point p = new Point(sectionBounds.PageHeaderRectangle.Left,sectionBounds.PageHeaderRectangle.Bottom );
Point p = new Point(sectionBounds.PageHeaderRectangle.Left,sectionBounds.PageHeaderRectangle.Bottom + sectionBounds.Gap );
Assert.AreEqual(p,sectionBounds.DetailStart);
}
@ -226,7 +229,7 @@ namespace ICSharpCode.Reports.Core.Test.Printing @@ -226,7 +229,7 @@ namespace ICSharpCode.Reports.Core.Test.Printing
baseSection.Location = new Point (50,50);
baseSection.Size = new Size (727,60);
sectionBounds.MeasurePageFooter(baseSection);
Point p = new Point(sectionBounds.PageFooterRectangle.Left,sectionBounds.PageFooterRectangle.Top );
Point p = new Point(sectionBounds.PageFooterRectangle.Left,sectionBounds.PageFooterRectangle.Top - sectionBounds.Gap);
Assert.AreEqual(p,sectionBounds.DetailEnds);
}

49
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/Printing/SinglePageFixture.cs

@ -8,6 +8,8 @@ @@ -8,6 +8,8 @@
*/
using System;
using System.Drawing;
using ICSharpCode.Reports.Core.Interfaces;
using NUnit.Framework;
namespace ICSharpCode.Reports.Core.Test.Printing
@ -26,6 +28,14 @@ namespace ICSharpCode.Reports.Core.Test.Printing @@ -26,6 +28,14 @@ namespace ICSharpCode.Reports.Core.Test.Printing
}
[Test]
public void SinglePage_Should_Return_PageNumber()
{
SinglePage p = new SinglePage(sectionBounds,15);
Assert.AreEqual(15,p.PageNumber);
}
[Test]
[ExpectedExceptionAttribute(typeof(ArgumentNullException))]
public void ConstrThrowIfNullSectionBounds()
@ -42,12 +52,49 @@ namespace ICSharpCode.Reports.Core.Test.Printing @@ -42,12 +52,49 @@ namespace ICSharpCode.Reports.Core.Test.Printing
}
[Test]
public void Calculate_Page_If_Firstpage ()
{
Size defSize = new Size (727,60);
IReportModel model = ReportModel.Create();
model.ReportHeader.Size = defSize;
model.ReportHeader.Location = new Point(50,50);
model.PageHeader.Size = defSize;
model.PageHeader.Location = new Point(50,125);
model.DetailSection.Size = defSize;
model.DetailSection.Location = new Point(50,200);
model.PageFooter.Size = defSize;
model.ReportFooter.Location = new Point(50,275);
model.ReportFooter.Size = defSize;
model.ReportFooter.Location = new Point(50,350);
var s = new SectionBounds(new ReportSettings(),true);
SinglePage sp = new SinglePage(s,0);
sp.CalculatePageBounds(model);
Console.WriteLine();
Console.WriteLine("ReportHeader {0} - {1}",sp.SectionBounds.ReportHeaderRectangle,sp.SectionBounds.ReportHeaderRectangle.Location.Y + sp.SectionBounds.ReportHeaderRectangle.Height);
Console.WriteLine("PageHeader {0} - {1}",sp.SectionBounds.PageHeaderRectangle,sp.SectionBounds.PageHeaderRectangle.Location.Y +sp.SectionBounds.PageHeaderRectangle.Height );
Console.WriteLine("DetailSection {0} - {1} ",sp.SectionBounds.DetailSectionRectangle,sp.SectionBounds.DetailSectionRectangle.Location.Y + sp.SectionBounds.DetailSectionRectangle.Height);
Console.WriteLine("\tDetailStart {0} ",sp.SectionBounds.DetailStart);
Console.WriteLine("\tDetailEnd {0} ",sp.SectionBounds.DetailEnds);
Console.WriteLine("\tDetailArea {0} ",sp.SectionBounds.DetailArea);
Console.WriteLine("PageFooter {0} - {1} ",sp.SectionBounds.PageFooterRectangle,sp.SectionBounds.PageFooterRectangle.Location.Y + sp.SectionBounds.PageFooterRectangle.Height);
Console.WriteLine("ReportFooter {0} - {1}",sp.SectionBounds.ReportFooterRectangle,sp.SectionBounds.ReportFooterRectangle.Location.Y + sp.SectionBounds.ReportFooterRectangle.Height);
Console.WriteLine();
}
#region Setup/Teardown
[TestFixtureSetUp]
public void Init()
{
this.sectionBounds = new SectionBounds(new ReportSettings(),false);
}

Loading…
Cancel
Save