Browse Source

RowRendering Event, cleanup

pull/14/head
peterforstmeier 15 years ago
parent
commit
239fb0a454
  1. 10
      samples/SharpDevelopReports/src/SharpReportSamples/MainForm.cs
  2. 17
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Commands/PreviewCommands.cs
  3. 38
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs
  4. 6
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportViewerSecondaryView.cs
  5. 1
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj
  6. 7
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs
  7. 6
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs
  8. 21
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs
  9. 56
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/ExtendedPrintController.cs
  10. 1
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs
  11. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs

10
samples/SharpDevelopReports/src/SharpReportSamples/MainForm.cs

@ -98,9 +98,7 @@ namespace SharpReportSamples
this.RunContributors(reportName); this.RunContributors(reportName);
} }
else if (s == "ContributorsListWithParameters"){ else if (s == "ContributorsListWithParameters"){
//this.V1_RunContributorsWithParameters(reportName); this.RunContributorsWithParameters(reportName);
// this.V2_RunContributorsWithParameters(string fileName)
this.V3_RunContributorsWithParameters(reportName);
} }
else if (s == "NoConnectionReport") { else if (s == "NoConnectionReport") {
@ -221,7 +219,7 @@ namespace SharpReportSamples
} }
private void V3_RunContributorsWithParameters(string fileName) private void RunContributorsWithParameters(string fileName)
{ {
var model = ReportEngine.LoadReportModel(fileName); var model = ReportEngine.LoadReportModel(fileName);
ReportParameters parameters = ReportEngine.LoadParameters(fileName); ReportParameters parameters = ReportEngine.LoadParameters(fileName);
@ -231,10 +229,6 @@ namespace SharpReportSamples
List<Contributor> list = ContributorsReportData.CreateContributorsList(); List<Contributor> list = ContributorsReportData.CreateContributorsList();
// IDataManager dataManager = DataManager.CreateInstance(list,model.ReportSettings);
//IReportCreator creator = ReportEngine.CreatePageBuilder(model,eventLogger.EventLog,null);
IReportCreator creator = ReportEngine.CreatePageBuilder(model,list,parameters); IReportCreator creator = ReportEngine.CreatePageBuilder(model,list,parameters);

17
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Commands/PreviewCommands.cs

@ -2,13 +2,8 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) // This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System; using System;
using System.Globalization;
using System.Windows.Forms;
using ICSharpCode.Core; using ICSharpCode.Core;
using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Core;
using ICSharpCode.SharpDevelop;
using ICSharpCode.Reports.Core.ReportViewer;
using ICSharpCode.SharpDevelop.Gui; using ICSharpCode.SharpDevelop.Gui;
namespace ICSharpCode.Reports.Addin.Commands namespace ICSharpCode.Reports.Addin.Commands
@ -50,9 +45,9 @@ namespace ICSharpCode.Reports.Addin.Commands
} }
public class AsyncFormsSheetPreviewCommand:AbstractPreviewCommand public class FormsSheetPreviewCommand:AbstractPreviewCommand
{ {
public AsyncFormsSheetPreviewCommand(ReportModel model, public FormsSheetPreviewCommand(ReportModel model,
ICSharpCode.Reports.Core.ReportViewer.PreviewControl reportViewer):base (model,reportViewer) ICSharpCode.Reports.Core.ReportViewer.PreviewControl reportViewer):base (model,reportViewer)
{ {
} }
@ -65,10 +60,10 @@ namespace ICSharpCode.Reports.Addin.Commands
} }
public class AsyncPullModelPreviewCommand:AbstractPreviewCommand public class PullModelPreviewCommand:AbstractPreviewCommand
{ {
public AsyncPullModelPreviewCommand(ReportModel model, ICSharpCode.Reports.Core.ReportViewer.PreviewControl reportViewer):base (model,reportViewer) public PullModelPreviewCommand(ReportModel model, ICSharpCode.Reports.Core.ReportViewer.PreviewControl reportViewer):base (model,reportViewer)
{ {
} }
@ -81,9 +76,9 @@ namespace ICSharpCode.Reports.Addin.Commands
} }
public class AsyncPushModelPreviewCommand:AbstractPreviewCommand public class PushModelPreviewCommand:AbstractPreviewCommand
{ {
public AsyncPushModelPreviewCommand(ReportModel model, ICSharpCode.Reports.Core.ReportViewer.PreviewControl reportViewer):base (model,reportViewer) public PushModelPreviewCommand(ReportModel model, ICSharpCode.Reports.Core.ReportViewer.PreviewControl reportViewer):base (model,reportViewer)
{ {
} }

38
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs

@ -12,6 +12,7 @@ using System.Windows.Forms;
using ICSharpCode.Core; using ICSharpCode.Core;
using ICSharpCode.Reports.Addin.Designer; using ICSharpCode.Reports.Addin.Designer;
using ICSharpCode.Reports.Core;
using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui; using ICSharpCode.SharpDevelop.Gui;
@ -556,13 +557,48 @@ namespace ICSharpCode.Reports.Addin
#region IPrintable #region IPrintable
private void ccc()
{
/*
ReportModel model = loader.CreateRenderableModel();
IReportCreator creator = ReportEngine.CreatePageBuilder(model,eventLogger.EventLog,null);
//creator.SectionRendering += PushPrinting;
creator.BuildExportList();
using (PdfRenderer pdfRenderer = PdfRenderer.CreateInstance(creator,SelectFilename(),true))
{
pdfRenderer.Start();
pdfRenderer.RenderOutput();
pdfRenderer.End();
}
*/
var model = loader.CreateRenderableModel();
switch (model.DataModel) {
case GlobalEnums.PushPullModel.FormSheet : {
//cmd = new FormsSheetPreviewCommand (model,control);
break;
}
case GlobalEnums.PushPullModel.PullData:{
//cmd = new PullModelPreviewCommand(model,control);
break;
}
case GlobalEnums.PushPullModel.PushData:{
//cmd = new PushModelPreviewCommand(model,control);
break;
}
default:
throw new InvalidReportModelException();
}
}
public System.Drawing.Printing.PrintDocument PrintDocument { public System.Drawing.Printing.PrintDocument PrintDocument {
get { get {
ccc();
ICSharpCode.Reports.Core.ReportModel model = this.loader.CreateRenderableModel(); ICSharpCode.Reports.Core.ReportModel model = this.loader.CreateRenderableModel();
StandartPreviewManager reportManager = new StandartPreviewManager(); StandartPreviewManager reportManager = new StandartPreviewManager();
ICSharpCode.Reports.Core.AbstractRenderer r = reportManager.CreateRenderer (model); ICSharpCode.Reports.Core.AbstractRenderer r = reportManager.CreateRenderer (model);
r.ReportDocument.PrintController = new ICSharpCode.Reports.Core.ExtendedPrintController(new System.Drawing.Printing.PreviewPrintController());
return r.ReportDocument; return r.ReportDocument;
} }
} }

6
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportViewerSecondaryView.cs

@ -50,15 +50,15 @@ namespace ICSharpCode.Reports.Addin
AbstractPreviewCommand cmd = null; AbstractPreviewCommand cmd = null;
switch (model.DataModel) { switch (model.DataModel) {
case GlobalEnums.PushPullModel.FormSheet : { case GlobalEnums.PushPullModel.FormSheet : {
cmd = new AsyncFormsSheetPreviewCommand (model,control); cmd = new FormsSheetPreviewCommand (model,control);
break; break;
} }
case GlobalEnums.PushPullModel.PullData:{ case GlobalEnums.PushPullModel.PullData:{
cmd = new AsyncPullModelPreviewCommand(model,control); cmd = new PullModelPreviewCommand(model,control);
break; break;
} }
case GlobalEnums.PushPullModel.PushData:{ case GlobalEnums.PushPullModel.PushData:{
cmd = new AsyncPushModelPreviewCommand(model,control); cmd = new PushModelPreviewCommand(model,control);
break; break;
} }
default: default:

1
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj

@ -260,7 +260,6 @@
<Compile Include="Project\Interfaces\IReportModel.cs" /> <Compile Include="Project\Interfaces\IReportModel.cs" />
<Compile Include="Project\Interfaces\ISinglePage.cs" /> <Compile Include="Project\Interfaces\ISinglePage.cs" />
<Compile Include="Project\IReportCreator.cs" /> <Compile Include="Project\IReportCreator.cs" />
<Compile Include="Project\Printing\ExtendedPrintController.cs" />
<Compile Include="Project\Printing\Graphics\BaseLine.cs" /> <Compile Include="Project\Printing\Graphics\BaseLine.cs" />
<Compile Include="Project\Printing\Graphics\BaseShape.cs" /> <Compile Include="Project\Printing\Graphics\BaseShape.cs" />
<Compile Include="Project\Printing\Graphics\Border.cs" /> <Compile Include="Project\Printing\Graphics\Border.cs" />

7
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs

@ -240,6 +240,8 @@ namespace ICSharpCode.Reports.Core.Exporter
protected void PrepareContainerForConverting(BaseSection section,ISimpleContainer simpleContainer) protected void PrepareContainerForConverting(BaseSection section,ISimpleContainer simpleContainer)
{ {
Console.WriteLine("\tPrepareContainerForConverting");
FireSectionRendering(section); FireSectionRendering(section);
LayoutRow(simpleContainer); LayoutRow(simpleContainer);
} }
@ -248,11 +250,13 @@ namespace ICSharpCode.Reports.Core.Exporter
protected Point ConvertStandardRow(ExporterCollection mylist, ISimpleContainer simpleContainer) protected Point ConvertStandardRow(ExporterCollection mylist, ISimpleContainer simpleContainer)
{ {
var rowSize = simpleContainer.Size; var rowSize = simpleContainer.Size;
Console.WriteLine("ConvertStandardRow");
Point curPos = ConvertContainer(mylist,simpleContainer,DefaultLeftPosition,CurrentPosition); Point curPos = ConvertContainer(mylist,simpleContainer,DefaultLeftPosition,CurrentPosition);
AfterConverting (mylist); AfterConverting (mylist);
simpleContainer.Size = rowSize; simpleContainer.Size = rowSize;
Console.WriteLine("");
return curPos; return curPos;
} }
@ -272,6 +276,7 @@ namespace ICSharpCode.Reports.Core.Exporter
protected static void FillRow (ISimpleContainer row,IDataNavigator currentNavigator) protected static void FillRow (ISimpleContainer row,IDataNavigator currentNavigator)
{ {
Console.WriteLine("\tFillrow");
currentNavigator.Fill(row.Items); currentNavigator.Fill(row.Items);
} }

6
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs

@ -101,9 +101,10 @@ namespace ICSharpCode.Reports.Core.Exporter
section.Items[1].Size = childSize; section.Items[1].Size = childSize;
FillRow(simpleContainer,childNavigator); FillRow(simpleContainer,childNavigator);
FireRowRendering(simpleContainer,childNavigator);
PrepareContainerForConverting(section,simpleContainer); PrepareContainerForConverting(section,simpleContainer);
FireRowRendering(simpleContainer,childNavigator); // FireRowRendering(simpleContainer,childNavigator);
base.CurrentPosition = ConvertStandardRow(exporterCollection,simpleContainer); base.CurrentPosition = ConvertStandardRow(exporterCollection,simpleContainer);
CheckForPageBreak(section,exporterCollection); CheckForPageBreak(section,exporterCollection);
} }
@ -123,8 +124,9 @@ namespace ICSharpCode.Reports.Core.Exporter
Size containerSize = section.Items[0].Size; Size containerSize = section.Items[0].Size;
FillRow(simpleContainer,base.DataNavigator); FillRow(simpleContainer,base.DataNavigator);
base.PrepareContainerForConverting(section,simpleContainer);
FireRowRendering(simpleContainer,base.DataNavigator); FireRowRendering(simpleContainer,base.DataNavigator);
base.PrepareContainerForConverting(section,simpleContainer);
// FireRowRendering(simpleContainer,base.DataNavigator);
base.CurrentPosition = ConvertStandardRow (exporterCollection,simpleContainer); base.CurrentPosition = ConvertStandardRow (exporterCollection,simpleContainer);
section.Size = base.RestoreSectionSize; section.Size = base.RestoreSectionSize;
section.Items[0].Size = containerSize; section.Items[0].Size = containerSize;

21
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs

@ -97,14 +97,12 @@ namespace ICSharpCode.Reports.Core.Exporter
childNavigator.MoveNext(); childNavigator.MoveNext();
/* /*
FillRow ---- GroupTableConverter.cs Zeile 151:
PrepareContainerForConverting FillRow(simpleContainer,base.DataNavigator);
Layouter for Container FireRowRendering(simpleContainer,base.DataNavigator);
FireRowRendering base.PrepareContainerForConverting(section,simpleContainer);
eportViewer - RowRendering : ----
ConvertStandardRow */
*/
//Convert children //Convert children
if (childNavigator != null) { if (childNavigator != null) {
do do
@ -114,9 +112,9 @@ eportViewer - RowRendering :
containerSize = simpleContainer.Size; containerSize = simpleContainer.Size;
FillRow(simpleContainer,childNavigator); FillRow(simpleContainer,childNavigator);
PrepareContainerForConverting(section,simpleContainer); // PrepareContainerForConverting(section,simpleContainer);
FireRowRendering(simpleContainer,childNavigator); FireRowRendering(simpleContainer,childNavigator);
PrepareContainerForConverting(section,simpleContainer);
base.CurrentPosition = ConvertStandardRow(exporterCollection,simpleContainer); base.CurrentPosition = ConvertStandardRow(exporterCollection,simpleContainer);
simpleContainer.Size = containerSize; simpleContainer.Size = containerSize;
@ -149,9 +147,10 @@ eportViewer - RowRendering :
CheckForPageBreak(section,simpleContainer,headerRow,exporterCollection); CheckForPageBreak(section,simpleContainer,headerRow,exporterCollection);
FillRow(simpleContainer,base.DataNavigator); FillRow(simpleContainer,base.DataNavigator);
// base.PrepareContainerForConverting(section,simpleContainer);
FireRowRendering(simpleContainer,base.DataNavigator);
base.PrepareContainerForConverting(section,simpleContainer); base.PrepareContainerForConverting(section,simpleContainer);
FireRowRendering(simpleContainer,base.DataNavigator);
base.CurrentPosition = ConvertStandardRow (exporterCollection,simpleContainer); base.CurrentPosition = ConvertStandardRow (exporterCollection,simpleContainer);
simpleContainer.Size = containerSize; simpleContainer.Size = containerSize;
section.Size = base.RestoreSectionSize; section.Size = base.RestoreSectionSize;

56
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/ExtendedPrintController.cs

@ -1,56 +0,0 @@
// 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.Printing;
namespace ICSharpCode.Reports.Core
{
/// <summary>
/// Description of ExtendedPrintController.
/// </summary>
public class ExtendedPrintController:PrintController
{
PrintController controller;
public ExtendedPrintController(PrintController controller):base()
{
if (controller == null) {
throw new ArgumentNullException("controller");
}
this.controller = controller;
}
public override System.Drawing.Graphics OnStartPage(PrintDocument document, PrintPageEventArgs e)
{
System.Diagnostics.Trace.WriteLine("ExtPrintcontroller OnStartPage");
return this.controller.OnStartPage (document, e);
}
public override void OnStartPrint(PrintDocument document, PrintEventArgs e)
{
System.Diagnostics.Trace.WriteLine("ExtPrintcontroller OnStartPrint");
this.controller.OnStartPrint(document, e);
}
public override void OnEndPage(PrintDocument document, PrintPageEventArgs e)
{
System.Diagnostics.Trace.WriteLine("ExtPrintcontroller OnEndPage");
this.controller.OnEndPage (document, e);
}
public override void OnEndPrint(PrintDocument document, PrintEventArgs e)
{
System.Diagnostics.Trace.WriteLine("ExtPrintcontroller OnEndprint");
PreviewPrintController c = this.controller as PreviewPrintController;
if (c != null) {
PreviewPageInfo[] ppia = c.GetPreviewPageInfo();
}
this.controller.OnEndPrint(document,e);
}
}
}

1
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs

@ -21,7 +21,6 @@ namespace ICSharpCode.Reports.Core {
public class ReportEngine : IDisposable public class ReportEngine : IDisposable
{ {
private PreviewControl previewControl; private PreviewControl previewControl;
// private IDataManager dataMan;
/// <summary> /// <summary>
/// This event is fired before a Section is Rendered, you can use /// This event is fired before a Section is Rendered, you can use

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs

@ -23,7 +23,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer
public partial class PreviewControl public partial class PreviewControl
{ {
public event EventHandler <EventArgs> PreviewLayoutChanged; public event EventHandler <EventArgs> PreviewLayoutChanged;
// public event EventHandler<SectionRenderEventArgs> SectionRendering;
private float zoom; private float zoom;

Loading…
Cancel
Save