24 changed files with 645 additions and 66 deletions
@ -0,0 +1,77 @@
@@ -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 |
||||
{ |
||||
/// <summary>
|
||||
/// Description of DataContainerConverter.
|
||||
/// </summary>
|
||||
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<IExportColumn>(); |
||||
|
||||
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; } |
||||
} |
||||
} |
||||
@ -0,0 +1,24 @@
@@ -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(); |
||||
} |
||||
} |
||||
@ -0,0 +1,45 @@
@@ -0,0 +1,45 @@
|
||||
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
|
||||
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
|
||||
|
||||
using System; |
||||
using System.Drawing; |
||||
using System.Reflection; |
||||
|
||||
using ICSharpCode.Reporting.Items; |
||||
using NUnit.Framework; |
||||
|
||||
namespace ICSharpCode.Reporting.Test.Model |
||||
{ |
||||
[TestFixture] |
||||
public class Report_FromListFixture |
||||
{ |
||||
private ReportModel model; |
||||
|
||||
[Test] |
||||
public void ReportHeaderOneItem () { |
||||
var section = model.ReportHeader; |
||||
Assert.That(section.Items.Count,Is.EqualTo(1)); |
||||
} |
||||
|
||||
|
||||
[Test] |
||||
public void PageHeaderOneItem () { |
||||
var section = model.ReportHeader; |
||||
Assert.That(section.Items.Count,Is.EqualTo(1)); |
||||
} |
||||
|
||||
[Test] |
||||
public void DetailContainsOneDataItem() { |
||||
var section = model.DetailSection; |
||||
Assert.That(section.Items.Count,Is.EqualTo(1)); |
||||
} |
||||
[SetUp] |
||||
public void LoadModelFromStream() |
||||
{ |
||||
System.Reflection.Assembly asm = Assembly.GetExecutingAssembly(); |
||||
var stream = asm.GetManifestResourceStream(TestHelper.ReportFromList); |
||||
var rf = new ReportingFactory(); |
||||
model = rf.LoadReportModel(stream); |
||||
} |
||||
} |
||||
} |
||||
@ -0,0 +1,83 @@
@@ -0,0 +1,83 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: Peter Forstmeier |
||||
* Date: 19.03.2013 |
||||
* Time: 19:58 |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
using System; |
||||
using System.IO; |
||||
using System.Reflection; |
||||
|
||||
using ICSharpCode.Reporting.Globals; |
||||
using ICSharpCode.Reporting.Test; |
||||
using NUnit.Framework; |
||||
|
||||
namespace ICSharpCode.Reporting.Test.Model |
||||
{ |
||||
[TestFixture] |
||||
public class LoadPlainModelFixture |
||||
{ |
||||
private Stream stream; |
||||
|
||||
[Test] |
||||
public void CanLoadFromResource() |
||||
{ |
||||
Assert.IsNotNull(stream); |
||||
} |
||||
|
||||
|
||||
[Test] |
||||
public void LoadPlainModel() |
||||
{ |
||||
var rf = new ReportingFactory(); |
||||
var model = rf.LoadReportModel(stream); |
||||
Assert.IsNotNull(model); |
||||
} |
||||
|
||||
|
||||
[Test] |
||||
public void ReportSettingsFromPlainModel() |
||||
{ |
||||
var rf = new ReportingFactory(); |
||||
var model = rf.LoadReportModel(stream); |
||||
Assert.That(model.ReportSettings,Is.Not.Null); |
||||
} |
||||
|
||||
|
||||
[Test] |
||||
public void ReportSettingsReportName() |
||||
{ |
||||
var rf = new ReportingFactory(); |
||||
var model = rf.LoadReportModel(stream); |
||||
Assert.That(model.ReportSettings.ReportName,Is.EqualTo(Globals.GlobalValues.DefaultReportName)); |
||||
} |
||||
|
||||
|
||||
[Test] |
||||
public void ReportSettingsDataModelFormSheet() |
||||
{ |
||||
var rf = new ReportingFactory(); |
||||
var model = rf.LoadReportModel(stream); |
||||
Assert.That(model.ReportSettings.DataModel,Is.EqualTo(GlobalEnums.PushPullModel.FormSheet)); |
||||
} |
||||
|
||||
[Test] |
||||
public void ReportSettingsPageSize() |
||||
{ |
||||
var rf = new ReportingFactory(); |
||||
var model = rf.LoadReportModel(stream); |
||||
Assert.That(model.ReportSettings.PageSize,Is.EqualTo(Globals.GlobalValues.DefaultPageSize)); |
||||
} |
||||
|
||||
|
||||
|
||||
[SetUp] |
||||
public void LoadFromStream() |
||||
{ |
||||
System.Reflection.Assembly asm = Assembly.GetExecutingAssembly(); |
||||
stream = asm.GetManifestResourceStream(TestHelper.PlainReportFileName); |
||||
} |
||||
} |
||||
} |
||||
@ -0,0 +1,69 @@
@@ -0,0 +1,69 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: Peter Forstmeier |
||||
* Date: 12.06.2013 |
||||
* Time: 23:05 |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
using System; |
||||
using System.IO; |
||||
using System.Reflection; |
||||
using System.Linq; |
||||
|
||||
using ICSharpCode.Reporting.Interfaces; |
||||
using ICSharpCode.Reporting.PageBuilder; |
||||
using ICSharpCode.Reporting.PageBuilder.ExportColumns; |
||||
using ICSharpCode.Reporting.Test.DataSource; |
||||
using NUnit.Framework; |
||||
|
||||
namespace ICSharpCode.Reporting.Test.Reportingfactory |
||||
{ |
||||
[TestFixture] |
||||
public class PushModelFixture |
||||
{ |
||||
|
||||
private IReportCreator reportCreator; |
||||
|
||||
[Test] |
||||
public void InitPushModelReport() |
||||
{ |
||||
reportCreator.BuildExportList(); |
||||
Assert.That(reportCreator.Pages.Count,Is.GreaterThan(0)); |
||||
} |
||||
|
||||
|
||||
[Test] |
||||
public void DetailContainsOneDataItem() { |
||||
reportCreator.BuildExportList(); |
||||
var exporteditems = reportCreator.Pages[0].ExportedItems; |
||||
var sections = from s in exporteditems |
||||
|
||||
where s.GetType() == typeof(ExportContainer) |
||||
select s; |
||||
var section = sections.ToList()[2] as ExportContainer; |
||||
var result = section.ExportedItems[0]; |
||||
Assert.That(result,Is.AssignableFrom(typeof(ExportText))); |
||||
} |
||||
|
||||
|
||||
[SetUp] |
||||
public void LoadFromStream() |
||||
{ |
||||
var contributorList = new ContributorsList(); |
||||
var list = contributorList.ContributorCollection; |
||||
|
||||
|
||||
|
||||
System.Reflection.Assembly asm = Assembly.GetExecutingAssembly(); |
||||
var stream = asm.GetManifestResourceStream(TestHelper.ReportFromList); |
||||
|
||||
// System.Reflection.Assembly asm = Assembly.GetExecutingAssembly();
|
||||
// var stream = asm.GetManifestResourceStream(TestHelper.RepWithTwoItems);
|
||||
//
|
||||
var reportingFactory = new ReportingFactory(); |
||||
var model = reportingFactory.LoadReportModel (stream); |
||||
reportCreator = new DataPageBuilder(model,list); |
||||
} |
||||
} |
||||
} |
||||
@ -0,0 +1,146 @@
@@ -0,0 +1,146 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<ReportModel> |
||||
<ReportSettings> |
||||
<ReportSettings> |
||||
<ReportName>Report1</ReportName> |
||||
<ReportType>DataReport</ReportType> |
||||
<BottomMargin>50</BottomMargin> |
||||
<TopMargin>50</TopMargin> |
||||
<LeftMargin>50</LeftMargin> |
||||
<RightMargin>50</RightMargin> |
||||
<PageSize>827, 1169</PageSize> |
||||
<Landscape>False</Landscape> |
||||
<GraphicsUnit>Millimeter</GraphicsUnit> |
||||
<Padding>5, 5, 5, 5</Padding> |
||||
<AvailableFieldsCollection /> |
||||
<SortColumnsCollection /> |
||||
<GroupColumnsCollection /> |
||||
<ParameterCollection /> |
||||
<SqlParameters /> |
||||
<ConnectionString /> |
||||
<CommandText /> |
||||
<CommandType>Text</CommandType> |
||||
<DataModel>PushData</DataModel> |
||||
<NoDataMessage>No Data for this Report</NoDataMessage> |
||||
<DefaultFont>Microsoft Sans Serif, 10pt</DefaultFont> |
||||
<UseStandardPrinter>True</UseStandardPrinter> |
||||
</ReportSettings> |
||||
</ReportSettings> |
||||
<SectionCollection> |
||||
<BaseSection> |
||||
<Location>50, 50</Location> |
||||
<Size>727, 60</Size> |
||||
<BackColor>White</BackColor> |
||||
<SectionOffset>0</SectionOffset> |
||||
<SectionMargin>0</SectionMargin> |
||||
<DrawBorder>False</DrawBorder> |
||||
<PageBreakAfter>False</PageBreakAfter> |
||||
<Items> |
||||
<BaseTextItem> |
||||
<Location>313, 5</Location> |
||||
<Size>100, 20</Size> |
||||
<BackColor>White</BackColor> |
||||
<Font>Microsoft Sans Serif, 10pt</Font> |
||||
<StringTrimming>None</StringTrimming> |
||||
<ContentAlignment>TopLeft</ContentAlignment> |
||||
<CanGrow>False</CanGrow> |
||||
<CanShrink>False</CanShrink> |
||||
<DataType>System.String</DataType> |
||||
<RTL>No</RTL> |
||||
<Text>Report1</Text> |
||||
<DrawBorder>False</DrawBorder> |
||||
<FrameColor>Black</FrameColor> |
||||
<ForeColor>Black</ForeColor> |
||||
<Name>Report1</Name> |
||||
</BaseTextItem> |
||||
</Items> |
||||
<FrameColor>Black</FrameColor> |
||||
<Name>ReportHeader</Name> |
||||
</BaseSection> |
||||
<BaseSection> |
||||
<Location>50, 125</Location> |
||||
<Size>727, 60</Size> |
||||
<BackColor>White</BackColor> |
||||
<SectionOffset>0</SectionOffset> |
||||
<SectionMargin>0</SectionMargin> |
||||
<DrawBorder>False</DrawBorder> |
||||
<PageBreakAfter>False</PageBreakAfter> |
||||
<Items /> |
||||
<FrameColor>Black</FrameColor> |
||||
<Name>ReportPageHeader</Name> |
||||
</BaseSection> |
||||
<BaseSection> |
||||
<Location>50, 200</Location> |
||||
<Size>727, 60</Size> |
||||
<BackColor>White</BackColor> |
||||
<SectionOffset>0</SectionOffset> |
||||
<SectionMargin>0</SectionMargin> |
||||
<DrawBorder>False</DrawBorder> |
||||
<PageBreakAfter>False</PageBreakAfter> |
||||
<Items> |
||||
<BaseDataItem> |
||||
<Location>29, 14</Location> |
||||
<Size>100, 20</Size> |
||||
<BackColor>White</BackColor> |
||||
<Font>Microsoft Sans Serif, 10pt</Font> |
||||
<StringTrimming>None</StringTrimming> |
||||
<ContentAlignment>TopLeft</ContentAlignment> |
||||
<CanGrow>False</CanGrow> |
||||
<CanShrink>False</CanShrink> |
||||
<DataType>System.String</DataType> |
||||
<RTL>No</RTL> |
||||
<Text>BaseDataItem1</Text> |
||||
<DrawBorder>False</DrawBorder> |
||||
<FrameColor>Black</FrameColor> |
||||
<ForeColor>Black</ForeColor> |
||||
<ColumnName>First</ColumnName> |
||||
<Name>BaseDataItem1</Name> |
||||
</BaseDataItem> |
||||
</Items> |
||||
<FrameColor>Black</FrameColor> |
||||
<Name>ReportDetail</Name> |
||||
</BaseSection> |
||||
<BaseSection> |
||||
<Location>50, 275</Location> |
||||
<Size>727, 60</Size> |
||||
<BackColor>White</BackColor> |
||||
<SectionOffset>0</SectionOffset> |
||||
<SectionMargin>0</SectionMargin> |
||||
<DrawBorder>False</DrawBorder> |
||||
<PageBreakAfter>False</PageBreakAfter> |
||||
<Items> |
||||
<BaseTextItem> |
||||
<Location>622, 5</Location> |
||||
<Size>100, 20</Size> |
||||
<BackColor>White</BackColor> |
||||
<Font>Microsoft Sans Serif, 10pt</Font> |
||||
<StringTrimming>None</StringTrimming> |
||||
<ContentAlignment>TopLeft</ContentAlignment> |
||||
<CanGrow>False</CanGrow> |
||||
<CanShrink>False</CanShrink> |
||||
<DataType>System.String</DataType> |
||||
<RTL>No</RTL> |
||||
<Text>=Globals!PageNumber</Text> |
||||
<DrawBorder>False</DrawBorder> |
||||
<FrameColor>Black</FrameColor> |
||||
<ForeColor>Black</ForeColor> |
||||
<Name>PageNumber1</Name> |
||||
</BaseTextItem> |
||||
</Items> |
||||
<FrameColor>Black</FrameColor> |
||||
<Name>ReportPageFooter</Name> |
||||
</BaseSection> |
||||
<BaseSection> |
||||
<Location>50, 350</Location> |
||||
<Size>727, 60</Size> |
||||
<BackColor>White</BackColor> |
||||
<SectionOffset>0</SectionOffset> |
||||
<SectionMargin>0</SectionMargin> |
||||
<DrawBorder>False</DrawBorder> |
||||
<PageBreakAfter>False</PageBreakAfter> |
||||
<Items /> |
||||
<FrameColor>Black</FrameColor> |
||||
<Name>ReportFooter</Name> |
||||
</BaseSection> |
||||
</SectionCollection> |
||||
</ReportModel> |
||||
@ -0,0 +1,86 @@
@@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<ReportModel> |
||||
<ReportSettings> |
||||
<ReportSettings> |
||||
<DefaultFont>Microsoft Sans Serif, 10pt</DefaultFont> |
||||
<DataModel>FormSheet</DataModel> |
||||
<FileName>D:\SharpDevelop3.0_CHECKOUT\SharpDevelop\bin\Raaaaaeport1.srd</FileName> |
||||
<RightMargin>50</RightMargin> |
||||
<UseStandardPrinter>True</UseStandardPrinter> |
||||
<SortColumnCollection /> |
||||
<AvailableFieldsCollection /> |
||||
<NoDataMessage>No Data for this Report</NoDataMessage> |
||||
<LeftMargin>50</LeftMargin> |
||||
<PageSize>827, 1169</PageSize> |
||||
<Padding>5, 5, 5, 5</Padding> |
||||
<BottomMargin>50</BottomMargin> |
||||
<CommandType>Text</CommandType> |
||||
<ParameterCollection /> |
||||
<Landscape>False</Landscape> |
||||
<ReportName>Report1</ReportName> |
||||
<TopMargin>50</TopMargin> |
||||
<GroupColumnsCollection /> |
||||
<GraphicsUnit>Millimeter</GraphicsUnit> |
||||
<CommandText /> |
||||
<ReportType>FormSheet</ReportType> |
||||
<ConnectionString /> |
||||
</ReportSettings> |
||||
</ReportSettings> |
||||
<SectionCollection> |
||||
<BaseSection> |
||||
<Size>727, 60</Size> |
||||
<Name>ReportHeader</Name> |
||||
<PageBreakAfter>False</PageBreakAfter> |
||||
<SectionMargin>0</SectionMargin> |
||||
<SectionOffset>0</SectionOffset> |
||||
<BackColor>White</BackColor> |
||||
<Items /> |
||||
<Location>50, 50</Location> |
||||
<DrawBorder>False</DrawBorder> |
||||
</BaseSection> |
||||
<BaseSection> |
||||
<Size>727, 60</Size> |
||||
<Name>ReportPageHeader</Name> |
||||
<PageBreakAfter>False</PageBreakAfter> |
||||
<SectionMargin>0</SectionMargin> |
||||
<SectionOffset>0</SectionOffset> |
||||
<BackColor>White</BackColor> |
||||
<Items /> |
||||
<Location>50, 125</Location> |
||||
<DrawBorder>False</DrawBorder> |
||||
</BaseSection> |
||||
<BaseSection> |
||||
<Size>727, 60</Size> |
||||
<Name>ReportDetail</Name> |
||||
<PageBreakAfter>False</PageBreakAfter> |
||||
<SectionMargin>0</SectionMargin> |
||||
<SectionOffset>0</SectionOffset> |
||||
<BackColor>White</BackColor> |
||||
<Items /> |
||||
<Location>50, 200</Location> |
||||
<DrawBorder>False</DrawBorder> |
||||
</BaseSection> |
||||
<BaseSection> |
||||
<Size>727, 60</Size> |
||||
<Name>ReportPageFooter</Name> |
||||
<PageBreakAfter>False</PageBreakAfter> |
||||
<SectionMargin>0</SectionMargin> |
||||
<SectionOffset>0</SectionOffset> |
||||
<BackColor>White</BackColor> |
||||
<Items /> |
||||
<Location>50, 275</Location> |
||||
<DrawBorder>False</DrawBorder> |
||||
</BaseSection> |
||||
<BaseSection> |
||||
<Size>727, 60</Size> |
||||
<Name>ReportFooter</Name> |
||||
<PageBreakAfter>False</PageBreakAfter> |
||||
<SectionMargin>0</SectionMargin> |
||||
<SectionOffset>0</SectionOffset> |
||||
<BackColor>White</BackColor> |
||||
<Items /> |
||||
<Location>50, 350</Location> |
||||
<DrawBorder>False</DrawBorder> |
||||
</BaseSection> |
||||
</SectionCollection> |
||||
</ReportModel> |
||||
Loading…
Reference in new issue