diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/ICSharpCode.Reporting.csproj b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/ICSharpCode.Reporting.csproj
index 0351c2a900..e59caa7135 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/ICSharpCode.Reporting.csproj
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/ICSharpCode.Reporting.csproj
@@ -124,6 +124,8 @@
+
+
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/DebugExporter.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/DebugExporter.cs
index a1b59f5e1b..f663d8ff8b 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/DebugExporter.cs
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/DebugExporter.cs
@@ -42,13 +42,13 @@ namespace ICSharpCode.Reporting.Exporter
var acceptor = item as IAcceptor;
if (exportContainer != null) {
if (acceptor != null) {
- Console.WriteLine("--container--");
+// Console.WriteLine("--container--");
acceptor.Accept(visitor);
}
ShowDebug(item as IExportContainer);
} else {
if (acceptor != null) {
- Console.WriteLine("..Item...");
+// Console.WriteLine("..Item...");
acceptor.Accept(visitor);
}
}
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Factories/ReportCreatorFactory.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Factories/ReportCreatorFactory.cs
index 5cfe01ba9f..1df20e5415 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Factories/ReportCreatorFactory.cs
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Factories/ReportCreatorFactory.cs
@@ -36,6 +36,7 @@ namespace ICSharpCode.Reporting.Factories
case GlobalEnums.PushPullModel.PushData:
{
+
break;
}
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/BaseDataItem.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/BaseDataItem.cs
index 8424e0e07a..b8ff344b7b 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/BaseDataItem.cs
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/BaseDataItem.cs
@@ -8,6 +8,8 @@
*/
using System;
using ICSharpCode.Reporting.Interfaces;
+using ICSharpCode.Reporting.Interfaces.Export;
+using ICSharpCode.Reporting.PageBuilder.ExportColumns;
namespace ICSharpCode.Reporting.Items
{
@@ -20,6 +22,14 @@ namespace ICSharpCode.Reporting.Items
{
}
+ public override IExportColumn CreateExportColumn()
+ {
+ var exCol = (IExportText)base.CreateExportColumn();
+// exCol.Text = "blabla";
+ return exCol;
+ }
+
+
public virtual string DBValue {get;set;}
public virtual string ColumnName {get;set;}
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/BasePageBuilder.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/BasePageBuilder.cs
index deeb9bd393..363fbfc459 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/BasePageBuilder.cs
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/BasePageBuilder.cs
@@ -25,8 +25,7 @@ namespace ICSharpCode.Reporting.PageBuilder
///
public class BasePageBuilder:IReportCreator
{
- Graphics graphics;
-
+
public BasePageBuilder(IReportModel reportModel)
{
if (reportModel == null) {
@@ -34,7 +33,7 @@ namespace ICSharpCode.Reporting.PageBuilder
}
ReportModel = reportModel;
Pages = new Collection();
- graphics = CreateGraphics.FromSize(reportModel.ReportSettings.PageSize);
+ Graphics = CreateGraphics.FromSize(reportModel.ReportSettings.PageSize);
}
@@ -67,7 +66,7 @@ namespace ICSharpCode.Reporting.PageBuilder
protected void BuildPageFooter()
{
- Console.WriteLine("FormPageBuilder - Build PageFooter {0} - {1}",ReportModel.ReportSettings.PageSize.Height,ReportModel.ReportSettings.BottomMargin);
+ Console.WriteLine("Build PageFooter {0} - {1}",ReportModel.ReportSettings.PageSize.Height,ReportModel.ReportSettings.BottomMargin);
CurrentLocation = new Point(ReportModel.ReportSettings.LeftMargin,
ReportModel.ReportSettings.PageSize.Height - ReportModel.ReportSettings.BottomMargin - ReportModel.PageFooter.Size.Height);
@@ -78,7 +77,7 @@ namespace ICSharpCode.Reporting.PageBuilder
protected void BuildReportFooter()
{
- Console.WriteLine("FormPageBuilder - Build ReportFooter {0} - {1}",ReportModel.ReportSettings.PageSize.Height,ReportModel.ReportSettings.BottomMargin);
+ Console.WriteLine("Build ReportFooter {0} - {1}",ReportModel.ReportSettings.PageSize.Height,ReportModel.ReportSettings.BottomMargin);
var lastSection = CurrentPage.ExportedItems.Last();
CurrentLocation = new Point(ReportModel.ReportSettings.LeftMargin,
lastSection.Location.Y - lastSection.Size.Height - 1);
@@ -96,16 +95,13 @@ namespace ICSharpCode.Reporting.PageBuilder
this.BuildReportHeader();
BuildPageHeader();
BuildPageFooter();
-// BuilDetail();
BuildReportFooter();
-// base.AddPage(CurrentPage);
-// Console.WriteLine("------{0}---------",ReportModel.ReportSettings.PageSize);
}
protected IExportContainer CreateSection(IReportContainer section,Point location)
{
- var containerConverter = new ContainerConverter(graphics, section, location);
+ var containerConverter = new ContainerConverter(Graphics, section, location);
var header = containerConverter.Convert();
return header;
}
@@ -149,6 +145,8 @@ namespace ICSharpCode.Reporting.PageBuilder
protected Point DetailStart {get;private set;}
+ protected Graphics Graphics {get;private set;}
+
public Collection Pages {get; private set;}
}
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/Converter/ContainerConverter.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/Converter/ContainerConverter.cs
index 6faaa87df8..0135940936 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/Converter/ContainerConverter.cs
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/Converter/ContainerConverter.cs
@@ -20,11 +20,11 @@ namespace ICSharpCode.Reporting.PageBuilder.Converter
///
/// Description of SectionConverter.
///
- internal class ContainerConverter
+ internal class ContainerConverter : IContainerConverter
{
private Graphics graphics;
-
- public ContainerConverter(Graphics graphics,IReportContainer reportContainer,Point currentLocation )
+
+ public ContainerConverter(Graphics graphics, IReportContainer reportContainer, Point currentLocation)
{
if (graphics == null) {
throw new ArgumentNullException("graphics");
@@ -32,42 +32,43 @@ namespace ICSharpCode.Reporting.PageBuilder.Converter
if (reportContainer == null) {
throw new ArgumentNullException("reportContainer");
}
-
+
this.graphics = graphics;
Container = reportContainer;
CurrentLocation = currentLocation;
}
-
-
- public IExportContainer Convert() {
- var containerStrategy = Container.MeasurementStrategy ();
+
+
+ public IExportContainer Convert()
+ {
+ var containerStrategy = Container.MeasurementStrategy();
var exportContainer = (ExportContainer)Container.CreateExportColumn();
-
+
exportContainer.Location = CurrentLocation;
- exportContainer.DesiredSize = containerStrategy.Measure(Container,graphics);
-
+ exportContainer.DesiredSize = containerStrategy.Measure(Container, graphics);
+
var itemsList = new List();
-
+
foreach (var element in Container.Items) {
var item = ExportColumnFactory.CreateItem(element);
item.Parent = exportContainer;
var measureStrategy = element.MeasurementStrategy();
- item.DesiredSize = measureStrategy.Measure(element,graphics);
-
+ item.DesiredSize = measureStrategy.Measure(element, graphics);
+
itemsList.Add(item);
- Console.WriteLine("Size {0} DesiredSize {1}",item.Size,item.DesiredSize);
+ Console.WriteLine("Size {0} DesiredSize {1}", item.Size, item.DesiredSize);
}
exportContainer.ExportedItems.AddRange(itemsList);
-
+
Console.WriteLine("calling Container-Arrange");
var exportArrange = exportContainer.GetArrangeStrategy();
exportArrange.Arrange(exportContainer);
-
+
return exportContainer;
}
-
- internal IReportContainer Container {get; private set;}
-
- internal Point CurrentLocation {get; private set;}
+
+ internal IReportContainer Container { get; private set; }
+
+ internal Point CurrentLocation { get; private set; }
}
}
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/Converter/DataContainerConverter.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/Converter/DataContainerConverter.cs
new file mode 100644
index 0000000000..3c9e4da277
--- /dev/null
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/Converter/DataContainerConverter.cs
@@ -0,0 +1,77 @@
+/*
+ * Created by SharpDevelop.
+ * User: Peter Forstmeier
+ * Date: 13.06.2013
+ * Time: 11:55
+ *
+ * To change this template use Tools | Options | Coding | Edit Standard Headers.
+ */
+
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+
+using ICSharpCode.Reporting.DataManager.Listhandling;
+using ICSharpCode.Reporting.Factories;
+using ICSharpCode.Reporting.Interfaces;
+using ICSharpCode.Reporting.Interfaces.Export;
+using ICSharpCode.Reporting.PageBuilder.ExportColumns;
+
+namespace ICSharpCode.Reporting.PageBuilder.Converter
+{
+ ///
+ /// Description of DataContainerConverter.
+ ///
+ internal class DataContainerConverter:IContainerConverter
+ {
+ private Graphics graphics;
+ private CollectionSource cs;
+ public DataContainerConverter(Graphics graphics, IReportContainer reportContainer, Point currentLocation,CollectionSource cs)
+ {
+ if (graphics == null) {
+ throw new ArgumentNullException("graphics");
+ }
+ if (reportContainer == null) {
+ throw new ArgumentNullException("reportContainer");
+ }
+
+ this.graphics = graphics;
+ Container = reportContainer;
+ CurrentLocation = currentLocation;
+this.cs = cs;
+ }
+
+ public IExportContainer Convert(){
+ var containerStrategy = Container.MeasurementStrategy();
+ var exportContainer = (ExportContainer)Container.CreateExportColumn();
+
+ exportContainer.Location = CurrentLocation;
+ exportContainer.DesiredSize = containerStrategy.Measure(Container, graphics);
+
+ var itemsList = new List();
+
+ foreach (var element in Container.Items) {
+ var item = ExportColumnFactory.CreateItem(element);
+ Console.WriteLine("Create {0}",item.ToString());
+ item.Parent = exportContainer;
+ Console.WriteLine("Fill element");
+ var measureStrategy = element.MeasurementStrategy();
+ item.DesiredSize = measureStrategy.Measure(element, graphics);
+
+ itemsList.Add(item);
+ Console.WriteLine("Size {0} DesiredSize {1}", item.Size, item.DesiredSize);
+ }
+ exportContainer.ExportedItems.AddRange(itemsList);
+
+ Console.WriteLine("calling Container-Arrange");
+ var exportArrange = exportContainer.GetArrangeStrategy();
+ exportArrange.Arrange(exportContainer);
+
+ return exportContainer;
+ }
+
+ internal IReportContainer Container { get; private set; }
+
+ internal Point CurrentLocation { get; private set; }
+ }
+}
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/Converter/IContainerConverter.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/Converter/IContainerConverter.cs
new file mode 100644
index 0000000000..4b0114cfc3
--- /dev/null
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/Converter/IContainerConverter.cs
@@ -0,0 +1,24 @@
+/*
+ * 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.PageBuilder.ExportColumns;
+
+namespace ICSharpCode.Reporting.PageBuilder.Converter
+{
+ internal interface IContainerConverter
+ {
+ IExportContainer Convert();
+ }
+}
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/DataPageBuilder.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/DataPageBuilder.cs
index ef69d3666f..88b6ac39da 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/DataPageBuilder.cs
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/DataPageBuilder.cs
@@ -8,7 +8,10 @@
*/
using System;
using System.Collections.Generic;
+using ICSharpCode.Reporting.DataManager.Listhandling;
+using ICSharpCode.Reporting.Interfaces;
using ICSharpCode.Reporting.Items;
+using ICSharpCode.Reporting.PageBuilder.Converter;
namespace ICSharpCode.Reporting.PageBuilder
{
@@ -17,7 +20,7 @@ namespace ICSharpCode.Reporting.PageBuilder
///
public class DataPageBuilder:BasePageBuilder
{
- public DataPageBuilder(ReportModel reportModel, IEnumerable