Browse Source

Pagenumbering, cleanup in BasePager.cs - Final step's

pull/2/head
peterforstmeier 15 years ago
parent
commit
8cd63bdca9
  1. 76
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs
  2. 3
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs

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

@ -15,11 +15,8 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -15,11 +15,8 @@ namespace ICSharpCode.Reports.Core.Exporter
/// </summary>
public class BasePager:IReportCreator
{
private ExporterPage singlePage;
private PagesCollection pages;
private IReportModel reportModel;
private Graphics graphics;
private bool pageFull;
private readonly object pageLock = new object();
private ILayouter layouter;
@ -36,9 +33,9 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -36,9 +33,9 @@ namespace ICSharpCode.Reports.Core.Exporter
if (layouter == null) {
throw new ArgumentNullException ("layouter");
}
this.reportModel = reportModel;
this.ReportModel = reportModel;
this.layouter = layouter;
this.graphics = CreateGraphicObject.FromSize(this.reportModel.ReportSettings.PageSize);
this.graphics = CreateGraphicObject.FromSize(this.ReportModel.ReportSettings.PageSize);
}
#endregion
@ -60,13 +57,13 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -60,13 +57,13 @@ namespace ICSharpCode.Reports.Core.Exporter
protected ExporterPage InitNewPage ()
{
bool firstPage;
this.ReportModel.ReportSettings.LeftMargin = this.reportModel.ReportSettings.LeftMargin;
this.ReportModel.ReportSettings.LeftMargin = this.ReportModel.ReportSettings.LeftMargin;
if (this.Pages.Count == 0) {
firstPage = true;
} else {
firstPage = false;
}
SectionBounds sectionBounds = new SectionBounds (this.reportModel.ReportSettings,firstPage);
SectionBounds sectionBounds = new SectionBounds (this.ReportModel.ReportSettings,firstPage);
ExporterPage sp = ExporterPage.CreateInstance(sectionBounds,this.pages.Count + 1);
return sp;
}
@ -74,10 +71,9 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -74,10 +71,9 @@ namespace ICSharpCode.Reports.Core.Exporter
protected virtual void BuildNewPage ()
{
this.singlePage = this.InitNewPage();
PrintHelper.InitPage(this.singlePage,this.reportModel.ReportSettings);
this.singlePage.CalculatePageBounds(this.ReportModel);
this.pageFull = false;
this.SinglePage = this.InitNewPage();
PrintHelper.InitPage(this.SinglePage,this.ReportModel.ReportSettings);
this.SinglePage.CalculatePageBounds(this.ReportModel);
}
#endregion
@ -179,32 +175,27 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -179,32 +175,27 @@ namespace ICSharpCode.Reports.Core.Exporter
#endregion
protected void FinishRendering (IDataNavigator navigator)
#region After Converting, final step's
protected void FinishRendering (IDataNavigator dataNavigator)
{
if (this.Pages.Count == 0) {
return;
}
// set values known only end of reportcreation
foreach (ExporterPage p in this.pages)
{
p.TotalPages = this.Pages.Count;
}
this.singlePage.IDataNavigator = navigator;
IExpressionEvaluatorFacade evaluatorFacade = new ExpressionEvaluatorFacade(this.singlePage);
IExpressionEvaluatorFacade evaluatorFacade = new ExpressionEvaluatorFacade(this.SinglePage);
foreach (ExporterPage p in this.pages)
{
this.singlePage = p;
// evaluatorFacade.SinglePage = this.singlePage;
// evaluatorFacade.SinglePage.IDataNavigator = navigator;
p.TotalPages = this.Pages.Count;
p.IDataNavigator = dataNavigator;
evaluatorFacade.SinglePage = p;
EvaluateRecursive(evaluatorFacade,p.Items);
}
}
private void EvaluateRecursive (IExpressionEvaluatorFacade evaluatorFassade,ExporterCollection items)
private static void EvaluateRecursive (IExpressionEvaluatorFacade evaluatorFassade,ExporterCollection items)
{
foreach (BaseExportColumn be in items) {
@ -218,6 +209,10 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -218,6 +209,10 @@ namespace ICSharpCode.Reports.Core.Exporter
ExportText et = be as ExportText;
if (et != null) {
try{
if (et.Text.StartsWith("=Globals!Page")) {
Console.WriteLine ("wxpression : {0}",evaluatorFassade.Evaluate(et.Text));
}
et.Text = evaluatorFassade.Evaluate(et.Text);
}
catch (UnknownFunctionException ufe)
@ -228,11 +223,12 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -228,11 +223,12 @@ namespace ICSharpCode.Reports.Core.Exporter
{
}
}
}
}
#endregion
#region Event's
@ -268,19 +264,9 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -268,19 +264,9 @@ namespace ICSharpCode.Reports.Core.Exporter
get { return layouter; }
}
public IReportModel ReportModel
{
get { return reportModel; }
set { reportModel = value; }
}
protected ExporterPage SinglePage
{
get { return singlePage; }
set { singlePage = value; }
}
public IReportModel ReportModel {get;set;}
protected ExporterPage SinglePage {get;set;}
public PagesCollection Pages
{
@ -297,16 +283,16 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -297,16 +283,16 @@ namespace ICSharpCode.Reports.Core.Exporter
protected SectionBounds SectionBounds
{
get { return singlePage.SectionBounds; }
get { return SinglePage.SectionBounds; }
}
protected bool PageFull
{
get { return pageFull; }
set { pageFull = value; }
}
// protected bool PageFull
// {
// get { return pageFull; }
// set { pageFull = value; }
// }
//
#endregion
}

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

@ -16,7 +16,7 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -16,7 +16,7 @@ namespace ICSharpCode.Reports.Core.Exporter
readonly object addLock = new object();
internal delegate ExporterCollection ConverterDelegate (BaseSection s);
//internal delegate ExporterCollection ConverterDelegate (BaseSection s);
#region Constructor
@ -50,7 +50,6 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -50,7 +50,6 @@ namespace ICSharpCode.Reports.Core.Exporter
protected override void BuildNewPage ()
{
base.BuildNewPage();
this.BuildReportHeader();
this.BuildPageHeader();
}

Loading…
Cancel
Save