Browse Source

Wpf

reports
Peter Forstmeier 13 years ago
parent
commit
edbc8acab8
  1. 1
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/ICSharpCode.Reporting.csproj
  2. 24
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/ExportRenderer/FixedDocumentCreator.cs
  3. 2
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/Visitors/DebugVisitor.cs
  4. 10
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/Visitors/WpfVisitor.cs
  5. 26
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/WpfExporter.cs
  6. 30
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Factories/SectionFactory.cs
  7. 8
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/BaseSection.cs
  8. 2
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/ReportContainer.cs
  9. 13
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/BasePageBuilder.cs
  10. 12
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/Converter/ContainerConverter.cs
  11. 45
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/Converter/DataContainerConverter.cs
  12. 17
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/DataPageBuilder.cs
  13. 4
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/ReportingFactory.cs
  14. 20
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Wpf/PreviewViewModel.cs
  15. 34
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/PageBuilder/FormBuilderFixture.cs
  16. 2
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/Reportingfactory/PushModelFixture.cs
  17. 4
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/TestReports/FromList.srd
  18. 1
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/DesignerBinding/ReportDesignerGenerator.cs

1
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/ICSharpCode.Reporting.csproj

@ -100,7 +100,6 @@ @@ -100,7 +100,6 @@
<Compile Include="Src\ExportRenderer\FixedDocumentCreator.cs" />
<Compile Include="Src\Factories\ExportColumnFactory.cs" />
<Compile Include="Src\Factories\ReportCreatorFactory.cs" />
<Compile Include="Src\Factories\SectionFactory.cs" />
<Compile Include="Src\Globals\CreateGraphics.cs" />
<Compile Include="Src\Globals\MeasurementService.cs" />
<Compile Include="Src\Interfaces\Data\IDataViewHandling.cs" />

24
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/ExportRenderer/FixedDocumentCreator.cs

@ -16,7 +16,6 @@ using ICSharpCode.Reporting.Items; @@ -16,7 +16,6 @@ using ICSharpCode.Reporting.Items;
using ICSharpCode.Reporting.PageBuilder.ExportColumns;
using Brush = System.Windows.Media.Brush;
using FontFamily = System.Windows.Media.FontFamily;
using Image = System.Windows.Controls.Image;
using Pen = System.Windows.Media.Pen;
using Size = System.Windows.Size;
@ -35,7 +34,6 @@ namespace ICSharpCode.Reporting.ExportRenderer @@ -35,7 +34,6 @@ namespace ICSharpCode.Reporting.ExportRenderer
if (reportSettings == null)
throw new ArgumentNullException("reportSettings");
this.reportSettings = reportSettings;
Console.WriteLine("FixedDocumentCreator()");
brushConverter = new BrushConverter();
}
@ -43,16 +41,14 @@ namespace ICSharpCode.Reporting.ExportRenderer @@ -43,16 +41,14 @@ namespace ICSharpCode.Reporting.ExportRenderer
public UIElement CreateContainer(ExportContainer container)
{
// http://tech.pro/tutorial/736/wpf-tutorial-creating-a-custom-panel-control
Console.WriteLine();
Console.WriteLine("create container {0}",container.Name);
var canvas = CreateCanvas(container);
// canvas.Measure(new Size(reportSettings.PageSize.Width,reportSettings.PageSize.Height));
var size = new Size(container.DesiredSize.Width,container.DesiredSize.Height);
canvas.Measure(size);
// canvas.Arrange(new Rect(new System.Windows.Point(),new Size(reportSettings.PageSize.Width,reportSettings.PageSize.Height) ));
canvas.Arrange(new Rect(new System.Windows.Point(),size ));
canvas.UpdateLayout();
@ -82,8 +78,8 @@ namespace ICSharpCode.Reporting.ExportRenderer @@ -82,8 +78,8 @@ namespace ICSharpCode.Reporting.ExportRenderer
// SetDimension(textBlock,exportText.StyleDecorator);
// textBlock.Background = ConvertBrush(exportText.StyleDecorator.BackColor);
// SetContendAlignment(textBlock,exportText.StyleDecorator);
SetPosition(textBlock,exportText);
SetDimension(textBlock,exportText);
SetPositionAndSize(textBlock,exportText);
textBlock.Background = ConvertBrush(exportText.BackColor);
return textBlock;
}
@ -92,21 +88,26 @@ namespace ICSharpCode.Reporting.ExportRenderer @@ -92,21 +88,26 @@ namespace ICSharpCode.Reporting.ExportRenderer
Canvas CreateCanvas(ExportContainer container)
{
var canvas = new Canvas();
SetDimension(canvas, container);
SetPosition(canvas,container);
canvas.Background = ConvertBrush(System.Drawing.Color.Red);
SetPositionAndSize(canvas,container);
canvas.Background = ConvertBrush(container.BackColor);
return canvas;
}
void SetPositionAndSize(FrameworkElement element,ExportColumn column) {
SetPosition(element,column);
SetDimension(element,column);
}
static void SetDimension (FrameworkElement element,ExportColumn exportColumn)
{
Console.WriteLine("set Demension to {0}",exportColumn.DesiredSize);
element.Width = exportColumn.DesiredSize.Width;
element.Height = exportColumn.DesiredSize.Height;
}
static void SetPosition (FrameworkElement element,ExportColumn exportColumn) {
Console.WriteLine("set Position to {0}",exportColumn.Location);
FixedPage.SetLeft(element,exportColumn.Location.X );
FixedPage.SetTop(element,exportColumn.Location.Y);
}
@ -167,6 +168,7 @@ namespace ICSharpCode.Reporting.ExportRenderer @@ -167,6 +168,7 @@ namespace ICSharpCode.Reporting.ExportRenderer
Brush ConvertBrush(System.Drawing.Color color)
{
if (brushConverter.IsValid(color.Name)){
var r = brushConverter.ConvertFromString(color.Name) as SolidColorBrush;
return brushConverter.ConvertFromString(color.Name) as SolidColorBrush;
} else{
return brushConverter.ConvertFromString("Black") as SolidColorBrush;

2
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/Visitors/DebugVisitor.cs

@ -31,7 +31,7 @@ namespace ICSharpCode.Reporting.Exporter.Visitors @@ -31,7 +31,7 @@ namespace ICSharpCode.Reporting.Exporter.Visitors
{
Console.WriteLine("Start Container");
Console.WriteLine("Visit ExportContainer {0} - {1} - {2} - Items {3}",
exportColumn.Name,exportColumn.Size,exportColumn.Location,exportColumn.ExportedItems.Count);
exportColumn.Name,exportColumn.Size,exportColumn.Location,exportColumn.BackColor);
}
public override void Visit(ExportText exportColumn)

10
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/Visitors/WpfVisitor.cs

@ -8,12 +8,7 @@ @@ -8,12 +8,7 @@
*/
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Media;
using ICSharpCode.Reporting.ExportRenderer;
using ICSharpCode.Reporting.Interfaces.Export;
using ICSharpCode.Reporting.Items;
using ICSharpCode.Reporting.PageBuilder.ExportColumns;
@ -43,7 +38,8 @@ namespace ICSharpCode.Reporting.Exporter.Visitors @@ -43,7 +38,8 @@ namespace ICSharpCode.Reporting.Exporter.Visitors
public override void Visit(ExportContainer exportColumn)
{
// Console.WriteLine("Wpf-Visit ExportContainer {0} - {1} - {2}", exportColumn.Name,exportColumn.Size,exportColumn.Location);
// Console.WriteLine("Wpf-Visit ExportContainer {0} - {1} - {2} - {3}", exportColumn.Name,exportColumn.Size,
// exportColumn.Location,exportColumn.BackColor);
var canvas = documentCreator.CreateContainer(exportColumn);
UIElement = canvas;
}
@ -51,7 +47,7 @@ namespace ICSharpCode.Reporting.Exporter.Visitors @@ -51,7 +47,7 @@ namespace ICSharpCode.Reporting.Exporter.Visitors
public override void Visit(ExportText exportColumn)
{
// Console.WriteLine("Wpf-Visit ExportText {0} - {1} - {2}", exportColumn.Name,exportColumn.Size,exportColumn.DesiredSize);
Console.WriteLine("Wpf-Visit ExportText {0} - {1} - {2}", exportColumn.Name,exportColumn.Size,exportColumn.DesiredSize);
var textBlock = documentCreator.CreateTextBlock(exportColumn);
UIElement = textBlock;
}

26
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/WpfExporter.cs

@ -51,40 +51,36 @@ namespace ICSharpCode.Reporting.Exporter @@ -51,40 +51,36 @@ namespace ICSharpCode.Reporting.Exporter
{
FixedPage fixedPage = CreateFixedPage();
Canvas canvas = null ;
Canvas parentCanvas = null ;
Console.WriteLine("page start");
foreach (var item in container.ExportedItems) {
var exportContainer = item as IExportContainer;
var acceptor = item as IAcceptor;
if (exportContainer != null) {
if (acceptor != null) {
acceptor.Accept(visitor);
canvas = (Canvas)visitor.UIElement;
fixedPage.Children.Add(canvas);
parentCanvas = (Canvas)visitor.UIElement;
fixedPage.Children.Add(parentCanvas);
foreach (IAcceptor element in exportContainer.ExportedItems) {
element.Accept(visitor);
var ui = visitor.UIElement;
Canvas.SetLeft(ui,((IExportColumn)element).Location.X);
Canvas.SetTop(ui, ((IExportColumn)element).Location.Y);
canvas.Children.Add(ui);
parentCanvas.Children.Add(ui);
}
} else {
if (acceptor != null) {
acceptor.Accept(visitor);
var uiElement = visitor.UIElement;
if (canvas != null) {
Canvas.SetLeft(uiElement, item.Location.X - exportContainer.Location.X);
Canvas.SetTop(uiElement, item.Location.Y - exportContainer.Location.Y);
canvas.Children.Add(uiElement);
}
fixedPage.Children.Add(uiElement);
}
throw new NotSupportedException("item is not an IAcceptor");
}
}
}
Console.WriteLine("-------page end---");
return fixedPage;
}
FixedPage CreateFixedPage()
FixedPage CreateFixedPage()
{
var fixedPage = new FixedPage();
fixedPage.Width = reportSettings.PageSize.Width;

30
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Factories/SectionFactory.cs

@ -1,30 +0,0 @@ @@ -1,30 +0,0 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 06.04.2013
* Time: 20:08
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using ICSharpCode.Reporting.Items;
namespace ICSharpCode.Reporting.Factories
{
/// <summary>
/// Description of SectionFactory.
/// </summary>
internal sealed class SectionFactory
{
private SectionFactory ()
{
}
public static BaseSection Create(string sectionName) {
if (String.IsNullOrEmpty(sectionName)) {
throw new ArgumentException("sectionName");
}
return new BaseSection(sectionName);
}
}
}

8
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/BaseSection.cs

@ -7,10 +7,7 @@ @@ -7,10 +7,7 @@
* 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
{
@ -18,7 +15,7 @@ namespace ICSharpCode.Reporting.Items @@ -18,7 +15,7 @@ namespace ICSharpCode.Reporting.Items
/// Description of BaseSection.
/// </summary>
public class BaseSection:ReportContainer,IReportContainer
public class BaseSection:ReportContainer,IReportContainer
{
#region Constructors
@ -26,9 +23,6 @@ public class BaseSection:ReportContainer,IReportContainer @@ -26,9 +23,6 @@ public class BaseSection:ReportContainer,IReportContainer
{
}
public BaseSection (string name) {
Name = name;
}
#endregion
}
}

2
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/ReportContainer.cs

@ -41,6 +41,8 @@ namespace ICSharpCode.Reporting.Items @@ -41,6 +41,8 @@ namespace ICSharpCode.Reporting.Items
Size = this.Size,
Location = this.Location,
CanGrow = this.CanGrow,
BackColor = this.BackColor,
DesiredSize = this.Size
};
}

13
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/BasePageBuilder.cs

@ -64,7 +64,6 @@ namespace ICSharpCode.Reporting.PageBuilder @@ -64,7 +64,6 @@ namespace ICSharpCode.Reporting.PageBuilder
protected void BuildPageFooter()
{
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);
@ -76,7 +75,6 @@ namespace ICSharpCode.Reporting.PageBuilder @@ -76,7 +75,6 @@ namespace ICSharpCode.Reporting.PageBuilder
protected void BuildReportFooter()
{
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);
@ -98,14 +96,14 @@ namespace ICSharpCode.Reporting.PageBuilder @@ -98,14 +96,14 @@ namespace ICSharpCode.Reporting.PageBuilder
this.BuildReportHeader();
BuildPageHeader();
BuildPageFooter();
// BuildReportFooter();
}
protected IExportContainer CreateSection(IReportContainer section,Point location)
protected IExportContainer CreateSection(IReportContainer container,Point location)
{
var containerConverter = new ContainerConverter(Graphics, section, location);
var header = containerConverter.Convert();
return header;
var containerConverter = new ContainerConverter(Graphics, container, location);
var convertedContainer = containerConverter.Convert();
return convertedContainer;
}
@ -152,6 +150,5 @@ namespace ICSharpCode.Reporting.PageBuilder @@ -152,6 +150,5 @@ namespace ICSharpCode.Reporting.PageBuilder
protected Graphics Graphics {get;private set;}
public Collection<IPage> Pages {get; private set;}
}
}

12
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/Converter/ContainerConverter.cs

@ -40,16 +40,10 @@ namespace ICSharpCode.Reporting.PageBuilder.Converter @@ -40,16 +40,10 @@ namespace ICSharpCode.Reporting.PageBuilder.Converter
public virtual IExportContainer Convert()
{
var exportContainer = CreateExportContainer();
var itemsList = CreateConvertedList(exportContainer,Point.Empty);
exportContainer.ExportedItems.AddRange(itemsList);
ArrangeContainer(exportContainer);
return exportContainer;
}
@ -63,7 +57,7 @@ namespace ICSharpCode.Reporting.PageBuilder.Converter @@ -63,7 +57,7 @@ namespace ICSharpCode.Reporting.PageBuilder.Converter
}
protected List<IExportColumn> CreateConvertedList(ExportContainer exportContainer,Point position)
protected List<IExportColumn> CreateConvertedList(IExportContainer exportContainer,Point position)
{
var itemsList = new List<IExportColumn>();
foreach (var element in Container.Items) {
@ -72,7 +66,6 @@ namespace ICSharpCode.Reporting.PageBuilder.Converter @@ -72,7 +66,6 @@ namespace ICSharpCode.Reporting.PageBuilder.Converter
exportColumn.Location = new Point(element.Location.X,element.Location.Y + position.Y);
exportColumn.DesiredSize = Measure(element);
itemsList.Add(exportColumn);
// Console.WriteLine("Size {0} DesiredSize {1}", exportColumn.Size, exportColumn.DesiredSize);
}
return itemsList;
}
@ -84,9 +77,8 @@ namespace ICSharpCode.Reporting.PageBuilder.Converter @@ -84,9 +77,8 @@ namespace ICSharpCode.Reporting.PageBuilder.Converter
return measureStrategy.Measure(element, Graphics);
}
protected void ArrangeContainer(ExportContainer exportContainer)
protected void ArrangeContainer(IExportContainer exportContainer)
{
// Console.WriteLine("calling Container-Arrange");
var exportArrange = exportContainer.GetArrangeStrategy();
exportArrange.Arrange(exportContainer);
}

45
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/Converter/DataContainerConverter.cs

@ -40,50 +40,11 @@ namespace ICSharpCode.Reporting.PageBuilder.Converter @@ -40,50 +40,11 @@ namespace ICSharpCode.Reporting.PageBuilder.Converter
}
this.collectionSource = collectionSource;
}
/*
public override IExportContainer Convert(){
if (collectionSource.Count == 0) {
return base.Convert();
}
var exportContainer = CreateExportContainer();
Console.WriteLine("");
Console.WriteLine("start CurrentLocation {0}",CurrentLocation);
var position = Point.Empty;
// do {
// FitOnPage(position);
// collectionSource.Fill(Container.Items);
var itemsList = CreateConvertedList(exportContainer,position);
exportContainer.ExportedItems.AddRange(itemsList);
position = new Point(Container.Location.X,position.Y + Container.Size.Height);
// }
// while (collectionSource.MoveNext());
Console.WriteLine("end CurrentLocation {0}",CurrentLocation);
Console.WriteLine("");
ArrangeContainer(exportContainer);
return exportContainer;
}
*/
/*
public IExportContainer aaaConvert(List<IPrintableObject>list,Point position){
var exportContainer = CreateExportContainer();
Console.WriteLine("");
Console.WriteLine("start CurrentLocation {0}",CurrentLocation);
var itemsList = CreateConvertedList(exportContainer,position);
exportContainer.ExportedItems.AddRange(itemsList);
Console.WriteLine("end CurrentLocation {0}",CurrentLocation);
Console.WriteLine("");
ArrangeContainer(exportContainer);
return exportContainer;
}
*/
public List<IExportColumn> Convert(ExportContainer container,Point position){
// Console.WriteLine("");
// Console.WriteLine("start CurrentLocation {0}",CurrentLocation);
public List<IExportColumn> Convert(IExportContainer container,Point position){
var itemsList = CreateConvertedList(container,position);
// Console.WriteLine("end CurrentLocation {0}",CurrentLocation);
// Console.WriteLine("");
ArrangeContainer(container);
return itemsList;
}
}

17
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/DataPageBuilder.cs

@ -33,6 +33,7 @@ namespace ICSharpCode.Reporting.PageBuilder @@ -33,6 +33,7 @@ namespace ICSharpCode.Reporting.PageBuilder
public override void BuildExportList()
{
var m = base.ReportModel;
base.BuildExportList();
CurrentPage = CreateNewPage ();
WriteStandardSections();
@ -59,20 +60,24 @@ namespace ICSharpCode.Reporting.PageBuilder @@ -59,20 +60,24 @@ namespace ICSharpCode.Reporting.PageBuilder
var position = Point.Empty;
do {
collectionSource.Fill(Container.Items);
var r = converter.Convert(Container as ExportContainer,position);
if (PageFull(r)) {
detail.ExportedItems.AddRange(r);
var convertedItems = converter.Convert(detail,position);
if (PageFull(convertedItems)) {
detail.ExportedItems.AddRange(convertedItems);
CurrentPage.ExportedItems.Insert(2,detail);
Pages.Add(CurrentPage);
var aa = detail.GetArrangeStrategy();
aa.Arrange(detail);
position = Point.Empty;
CurrentPage = CreateNewPage();
WriteStandardSections();
CurrentLocation = DetailStart;
detail = CreateContainerForSection(DetailStart);
} else {
detail.ExportedItems.AddRange(r);
detail.ExportedItems.AddRange(convertedItems);
position = new Point(Container.Location.Y,position.Y + Container.Size.Height);
}
}
@ -92,6 +97,8 @@ namespace ICSharpCode.Reporting.PageBuilder @@ -92,6 +97,8 @@ namespace ICSharpCode.Reporting.PageBuilder
IExportContainer CreateContainerForSection(Point location )
{
var detail = (ExportContainer)Container.CreateExportColumn();
// var m = Container.MeasurementStrategy();
// detail.DesiredSize = m.Measure(Container,Graphics);
detail.Location = location;
return detail;
}

4
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/ReportingFactory.cs

@ -63,8 +63,8 @@ namespace ICSharpCode.Reporting @@ -63,8 +63,8 @@ namespace ICSharpCode.Reporting
{
var doc = new XmlDocument();
doc.Load(stream);
var rm = LoadModel(doc);
return rm;
ReportModel = LoadModel(doc);
return ReportModel;
}
static ReportModel LoadModel(XmlDocument doc)

20
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Wpf/PreviewViewModel.cs

@ -34,14 +34,20 @@ namespace ICSharpCode.Reporting.WpfReportViewer @@ -34,14 +34,20 @@ namespace ICSharpCode.Reporting.WpfReportViewer
throw new ArgumentNullException("pages");
if (reportSettings == null)
throw new ArgumentNullException("reportSettings");
Document = new FixedDocument();
var s = Document.DocumentPaginator.PageSize;
Document.DocumentPaginator.PageSize = new System.Windows.Size(reportSettings.PageSize.Width,reportSettings.PageSize.Height);
Document = CreateFixedDocument(reportSettings);
var wpfExporter = new WpfExporter(reportSettings,pages);
wpfExporter.Run();
// var fixedPage = wpfExporter.FixedPage;
// AddPageToDocument(Document,fixedPage);
this.Document = wpfExporter.Document;
this.document = wpfExporter.Document;
}
FixedDocument CreateFixedDocument(ReportSettings reportSettings)
{
var document = new FixedDocument();
var s = document.DocumentPaginator.PageSize;
document.DocumentPaginator.PageSize = new System.Windows.Size(reportSettings.PageSize.Width, reportSettings.PageSize.Height);
return document;
}
static void AddPageToDocument(FixedDocument fixedDocument,FixedPage page)
@ -57,7 +63,7 @@ namespace ICSharpCode.Reporting.WpfReportViewer @@ -57,7 +63,7 @@ namespace ICSharpCode.Reporting.WpfReportViewer
set {
this.document = value;
OnNotifyPropertyChanged ("Document");
}
}
}

34
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/PageBuilder/FormBuilderFixture.cs

@ -32,39 +32,7 @@ namespace ICSharpCode.Reporting.Test.PageBuilder @@ -32,39 +32,7 @@ namespace ICSharpCode.Reporting.Test.PageBuilder
{
Assert.IsNotNull(reportCreator);
}
[Test]
public void DetailStartIsSetToOneBelowPageHeader() {
var reportModel = new ReportModel();
foreach (GlobalEnums.ReportSection sec in Enum.GetValues(typeof(GlobalEnums.ReportSection))) {
reportModel.SectionCollection.Add (SectionFactory.Create(sec.ToString()));
}
var formPageBuilder = new FormPageBuilder(reportModel);
formPageBuilder.BuildExportList();
var page = formPageBuilder.Pages[0];
var pageHeader = page.ExportedItems[1];
Assert.That(formPageBuilder.DetailStart,
Is.EqualTo(new Point(pageHeader.Location.X,
pageHeader.Location.Y + pageHeader.Size.Height + 1)));
}
[Test]
public void DetailEndsIsOneAbovePageFooter () {
var reportModel = new ReportModel();
foreach (GlobalEnums.ReportSection sec in Enum.GetValues(typeof(GlobalEnums.ReportSection))) {
reportModel.SectionCollection.Add (SectionFactory.Create(sec.ToString()));
}
var formPageBuilder = new FormPageBuilder(reportModel);
formPageBuilder.BuildExportList();
var page = formPageBuilder.Pages[0];
var pageFooter = page.ExportedItems[3];
var x = formPageBuilder.DetailEnds;
Assert.That(formPageBuilder.DetailEnds,
Is.EqualTo(new Point(pageFooter.Location.X,
pageFooter.Location.Y - 1)));
}
#region Pages

2
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/Reportingfactory/PushModelFixture.cs

@ -46,6 +46,8 @@ namespace ICSharpCode.Reporting.Test.Reportingfactory @@ -46,6 +46,8 @@ namespace ICSharpCode.Reporting.Test.Reportingfactory
Assert.That(sections.ToList().Count,Is.EqualTo(4));
}
[Test]
public void LastPageContains_4_Sections()
{
reportCreator.BuildExportList();

4
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/TestReports/FromList.srd

@ -72,7 +72,7 @@ @@ -72,7 +72,7 @@
<BaseSection>
<Location>50, 200</Location>
<Size>727, 60</Size>
<BackColor>White</BackColor>
<BackColor>LightGray</BackColor>
<SectionOffset>0</SectionOffset>
<SectionMargin>0</SectionMargin>
<DrawBorder>False</DrawBorder>
@ -97,7 +97,7 @@ @@ -97,7 +97,7 @@
<Name>BaseDataItem1</Name>
</BaseDataItem>
</Items>
<FrameColor>Black</FrameColor>
<FrameColor>LightGray</FrameColor>
<Name>ReportDetail</Name>
</BaseSection>
<BaseSection>

1
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/DesignerBinding/ReportDesignerGenerator.cs

@ -96,6 +96,7 @@ namespace ICSharpCode.Reports.Addin @@ -96,6 +96,7 @@ namespace ICSharpCode.Reports.Addin
foreach (IComponent component in viewContent.Host.Container.Components) {
BaseSection b = component as BaseSection;
if (b != null) {
Console.WriteLine(b.BackColor.ToString());
rpd.Save(component,xml);
}
}

Loading…
Cancel
Save