30 changed files with 519 additions and 149 deletions
@ -0,0 +1,23 @@
@@ -0,0 +1,23 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: Peter Forstmeier |
||||
* Date: 12.04.2013 |
||||
* Time: 20:28 |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
using System; |
||||
using System.Collections.Generic; |
||||
using ICSharpCode.Reporting.PageBuilder.ExportColumns; |
||||
|
||||
namespace ICSharpCode.Reporting.Interfaces.Export |
||||
{ |
||||
/// <summary>
|
||||
/// Description of IExportContainer.
|
||||
/// </summary>
|
||||
public interface IExportContainer:IExportColumn |
||||
{ |
||||
List<IExportColumn> ExportedItems {get;set;} |
||||
|
||||
} |
||||
} |
||||
@ -0,0 +1,22 @@
@@ -0,0 +1,22 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: Peter Forstmeier |
||||
* Date: 11.04.2013 |
||||
* Time: 19:58 |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
using System; |
||||
using System.Collections.Generic; |
||||
|
||||
namespace ICSharpCode.Reporting.Interfaces.Export |
||||
{ |
||||
/// <summary>
|
||||
/// Description of IPage.
|
||||
/// </summary>
|
||||
public interface IPage:IExportContainer |
||||
{ |
||||
bool IsFirstPage {get;set;} |
||||
IPageInfo PageInfo {get;} |
||||
} |
||||
} |
||||
@ -0,0 +1,24 @@
@@ -0,0 +1,24 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: Peter Forstmeier |
||||
* Date: 11.04.2013 |
||||
* Time: 19:59 |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
using System; |
||||
|
||||
namespace ICSharpCode.Reporting.Interfaces.Export |
||||
{ |
||||
/// <summary>
|
||||
/// Description of IPageInfo.
|
||||
/// </summary>
|
||||
public interface IPageInfo |
||||
{ |
||||
int PageNumber {get;set;} |
||||
int TotalPages {get;set;} |
||||
string ReportName {get;set;} |
||||
string ReportFileName {get;set;} |
||||
string ReportFolder {get;} |
||||
} |
||||
} |
||||
@ -1,22 +1,24 @@
@@ -1,22 +1,24 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: Peter Forstmeier |
||||
* Date: 08.04.2013 |
||||
* Time: 19:50 |
||||
* Date: 16.04.2013 |
||||
* Time: 19:53 |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
using System; |
||||
using System.Collections.Generic; |
||||
using ICSharpCode.Reporting.Interfaces.Export; |
||||
using ICSharpCode.Reporting.Items; |
||||
|
||||
namespace ICSharpCode.Reporting.Interfaces |
||||
{ |
||||
/// <summary>
|
||||
/// Description of ISection.
|
||||
/// Description of IReportContainer.
|
||||
/// </summary>
|
||||
public interface ISection:IReportItem |
||||
public interface IReportContainer :IReportObject |
||||
{ |
||||
List<ReportItem> Items {get;} |
||||
List<IPrintableObject> Items {get;set;} |
||||
IExportContainer CreateExportColumn(); |
||||
} |
||||
} |
||||
@ -0,0 +1,23 @@
@@ -0,0 +1,23 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: Peter Forstmeier |
||||
* Date: 06.04.2013 |
||||
* Time: 20:15 |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
using System; |
||||
using System.Drawing; |
||||
using ICSharpCode.Reporting.Interfaces; |
||||
using ICSharpCode.Reporting.Interfaces.Export; |
||||
|
||||
namespace ICSharpCode.Reporting.Items |
||||
{ |
||||
public class PrintableItem : ReportItem,IPrintableObject |
||||
{ |
||||
public virtual IExportColumn CreateExportColumn() |
||||
{ |
||||
return null; |
||||
} |
||||
} |
||||
} |
||||
@ -0,0 +1,40 @@
@@ -0,0 +1,40 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: Peter Forstmeier |
||||
* Date: 16.04.2013 |
||||
* Time: 19:51 |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
using System; |
||||
using System.Collections.Generic; |
||||
using ICSharpCode.Reporting.Interfaces; |
||||
using ICSharpCode.Reporting.Interfaces.Export; |
||||
using ICSharpCode.Reporting.PageBuilder.ExportColumns; |
||||
|
||||
namespace ICSharpCode.Reporting.Items |
||||
{ |
||||
/// <summary>
|
||||
/// Description of ReportContainer.
|
||||
/// </summary>
|
||||
public class ReportContainer:ReportItem,IReportContainer |
||||
{ |
||||
public ReportContainer() |
||||
{ |
||||
} |
||||
|
||||
|
||||
public List<IPrintableObject> Items {get;set;} |
||||
|
||||
|
||||
|
||||
public IExportContainer CreateExportColumn() |
||||
{ |
||||
return new ExportContainer(){ |
||||
Name = this.Name, |
||||
Size = this.Size, |
||||
Location = this.Location |
||||
}; |
||||
} |
||||
} |
||||
} |
||||
@ -0,0 +1,53 @@
@@ -0,0 +1,53 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: Peter Forstmeier |
||||
* Date: 08.04.2013 |
||||
* Time: 19:49 |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
using System; |
||||
using System.Collections.Generic; |
||||
using System.Drawing; |
||||
|
||||
using ICSharpCode.Reporting.Factories; |
||||
using ICSharpCode.Reporting.Interfaces; |
||||
using ICSharpCode.Reporting.Interfaces.Export; |
||||
using ICSharpCode.Reporting.Items; |
||||
using ICSharpCode.Reporting.PageBuilder.ExportColumns; |
||||
|
||||
namespace ICSharpCode.Reporting.PageBuilder.Converter |
||||
{ |
||||
/// <summary>
|
||||
/// Description of SectionConverter.
|
||||
/// </summary>
|
||||
internal class ContainerConverter |
||||
{ |
||||
private ExportColumnFactory factory; |
||||
|
||||
public ContainerConverter(IReportContainer container,Point currentLocation ) |
||||
{ |
||||
Container = container; |
||||
CurrentLocation = currentLocation; |
||||
factory = new ExportColumnFactory(); |
||||
} |
||||
|
||||
|
||||
public IExportContainer Convert() { |
||||
Console.WriteLine("Convert section for location {0}",CurrentLocation); |
||||
var exportContainer = (ExportContainer)Container.CreateExportColumn(); |
||||
exportContainer.Location = CurrentLocation; |
||||
var itemsList = new List<IExportColumn>(); |
||||
foreach (var element in Container.Items) { |
||||
var item = factory.CreateItem(element); |
||||
itemsList.Add(item); |
||||
} |
||||
exportContainer.ExportedItems.AddRange(itemsList); |
||||
return exportContainer; |
||||
} |
||||
|
||||
internal IReportContainer Container {get; private set;} |
||||
|
||||
internal Point CurrentLocation {get; private set;} |
||||
} |
||||
} |
||||
@ -1,47 +0,0 @@
@@ -1,47 +0,0 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: Peter Forstmeier |
||||
* Date: 08.04.2013 |
||||
* Time: 19:49 |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
using System; |
||||
using System.Collections.Generic; |
||||
using System.Drawing; |
||||
|
||||
using ICSharpCode.Reporting.Factories; |
||||
using ICSharpCode.Reporting.Interfaces; |
||||
using ICSharpCode.Reporting.PageBuilder.ExportColumns; |
||||
|
||||
namespace ICSharpCode.Reporting.PageBuilder.Converter |
||||
{ |
||||
/// <summary>
|
||||
/// Description of SectionConverter.
|
||||
/// </summary>
|
||||
internal class SectionConverter |
||||
{ |
||||
private Point currentPoint; |
||||
private ExportColumnFactory factory; |
||||
|
||||
public SectionConverter(ISection section,Point currentPoint ) |
||||
{ |
||||
Section = section; |
||||
this.currentPoint = currentPoint; |
||||
factory = new ExportColumnFactory(); |
||||
} |
||||
|
||||
public List<IExportColumn> Convert(){ |
||||
var l = new List<IExportColumn>(); |
||||
foreach (var element in Section.Items) { |
||||
|
||||
var item = factory.CreateItem(element); |
||||
l.Add(item); |
||||
} |
||||
|
||||
return l; |
||||
} |
||||
|
||||
public ISection Section {get; private set;} |
||||
} |
||||
} |
||||
@ -0,0 +1,28 @@
@@ -0,0 +1,28 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: Peter Forstmeier |
||||
* Date: 12.04.2013 |
||||
* Time: 20:27 |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
using System; |
||||
using System.Collections.Generic; |
||||
using ICSharpCode.Reporting.Interfaces.Export; |
||||
|
||||
namespace ICSharpCode.Reporting.PageBuilder.ExportColumns |
||||
{ |
||||
/// <summary>
|
||||
/// Description of BaseExportContainer.
|
||||
/// </summary>
|
||||
public class ExportContainer:ExportColumn,IExportContainer |
||||
{ |
||||
public ExportContainer() |
||||
{ |
||||
ExportedItems = new List<IExportColumn>(); |
||||
} |
||||
|
||||
public List<IExportColumn> ExportedItems {get;set;} |
||||
|
||||
} |
||||
} |
||||
@ -0,0 +1,74 @@
@@ -0,0 +1,74 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: Peter Forstmeier |
||||
* Date: 17.04.2013 |
||||
* Time: 20:14 |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
using System; |
||||
using System.Drawing; |
||||
using ICSharpCode.Reporting.Interfaces; |
||||
using ICSharpCode.Reporting.Interfaces.Export; |
||||
using ICSharpCode.Reporting.Items; |
||||
using ICSharpCode.Reporting.PageBuilder.Converter; |
||||
using ICSharpCode.Reporting.PageBuilder.ExportColumns; |
||||
using NUnit.Framework; |
||||
|
||||
namespace ICSharpCode.Reporting.Test.PageBuilder |
||||
{ |
||||
[TestFixture] |
||||
public class ContainerConverterFixture |
||||
{ |
||||
private IReportContainer container; |
||||
|
||||
|
||||
[Test] |
||||
public void ConverterReturnExportContainer() { |
||||
var converter = new ContainerConverter(container,new Point(30,30)); |
||||
var result = converter.Convert(); |
||||
Assert.That(result,Is.InstanceOf(typeof(IExportContainer))); |
||||
} |
||||
|
||||
|
||||
[Test] |
||||
public void ConverterReturnExportContainerwithTwoItems() |
||||
{ |
||||
var converter = new ContainerConverter(container,new Point(30,30)); |
||||
var result = converter.Convert(); |
||||
Assert.That(result.ExportedItems.Count,Is.EqualTo(2)); |
||||
} |
||||
|
||||
|
||||
[Test] |
||||
public void LocationIsAdjusted() { |
||||
var pp = new Point(30,30); |
||||
var converter = new ContainerConverter(container,pp); |
||||
var result = converter.Convert(); |
||||
Assert.That(result.Location,Is.EqualTo(pp)); |
||||
} |
||||
[TestFixtureSetUp] |
||||
public void Init() |
||||
{ |
||||
container = new BaseSection(){ |
||||
Size = new Size (720,60), |
||||
Location = new Point(50,50), |
||||
Name ="Section" |
||||
}; |
||||
|
||||
var item1 = new BaseTextItem(){ |
||||
Name = "Item1", |
||||
Location = new Point(10,10), |
||||
Size = new Size (60,20) |
||||
}; |
||||
|
||||
var item2 = new BaseTextItem(){ |
||||
Name = "Item2", |
||||
Location = new Point(80,10), |
||||
Size = new Size (60,20) |
||||
}; |
||||
container.Items.Add(item1); |
||||
container.Items.Add(item2); |
||||
} |
||||
} |
||||
} |
||||
Loading…
Reference in new issue