diff --git a/samples/SharpDevelopReports/src/SharpReportSamples/MainForm.cs b/samples/SharpDevelopReports/src/SharpReportSamples/MainForm.cs index db9e6f6f23..4673dcc811 100644 --- a/samples/SharpDevelopReports/src/SharpReportSamples/MainForm.cs +++ b/samples/SharpDevelopReports/src/SharpReportSamples/MainForm.cs @@ -98,9 +98,7 @@ namespace SharpReportSamples this.RunContributors(reportName); } else if (s == "ContributorsListWithParameters"){ - //this.V1_RunContributorsWithParameters(reportName); -// this.V2_RunContributorsWithParameters(string fileName) - this.V3_RunContributorsWithParameters(reportName); + this.RunContributorsWithParameters(reportName); } 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); ReportParameters parameters = ReportEngine.LoadParameters(fileName); @@ -231,10 +229,6 @@ namespace SharpReportSamples List 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); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Commands/PreviewCommands.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Commands/PreviewCommands.cs index 1c7cdb8a3d..ba2a4fbe27 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Commands/PreviewCommands.cs +++ b/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) using System; -using System.Globalization; -using System.Windows.Forms; - using ICSharpCode.Core; using ICSharpCode.Reports.Core; -using ICSharpCode.SharpDevelop; -using ICSharpCode.Reports.Core.ReportViewer; using ICSharpCode.SharpDevelop.Gui; 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) { } @@ -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) { } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs index 35f8199d21..7b6cc3f4f5 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs @@ -12,6 +12,7 @@ using System.Windows.Forms; using ICSharpCode.Core; using ICSharpCode.Reports.Addin.Designer; +using ICSharpCode.Reports.Core; using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Gui; @@ -556,13 +557,48 @@ namespace ICSharpCode.Reports.Addin #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 { get { + ccc(); ICSharpCode.Reports.Core.ReportModel model = this.loader.CreateRenderableModel(); StandartPreviewManager reportManager = new StandartPreviewManager(); ICSharpCode.Reports.Core.AbstractRenderer r = reportManager.CreateRenderer (model); - r.ReportDocument.PrintController = new ICSharpCode.Reports.Core.ExtendedPrintController(new System.Drawing.Printing.PreviewPrintController()); return r.ReportDocument; } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportViewerSecondaryView.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportViewerSecondaryView.cs index 9af6ac3c14..cac5e2eb61 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportViewerSecondaryView.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportViewerSecondaryView.cs @@ -50,15 +50,15 @@ namespace ICSharpCode.Reports.Addin AbstractPreviewCommand cmd = null; switch (model.DataModel) { case GlobalEnums.PushPullModel.FormSheet : { - cmd = new AsyncFormsSheetPreviewCommand (model,control); + cmd = new FormsSheetPreviewCommand (model,control); break; } case GlobalEnums.PushPullModel.PullData:{ - cmd = new AsyncPullModelPreviewCommand(model,control); + cmd = new PullModelPreviewCommand(model,control); break; } case GlobalEnums.PushPullModel.PushData:{ - cmd = new AsyncPushModelPreviewCommand(model,control); + cmd = new PushModelPreviewCommand(model,control); break; } default: diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj index ca2350f731..e3d4cc16d1 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj @@ -260,7 +260,6 @@ - diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs index dade10f1b9..1c0bff7623 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs +++ b/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) { + Console.WriteLine("\tPrepareContainerForConverting"); + FireSectionRendering(section); LayoutRow(simpleContainer); } @@ -248,11 +250,13 @@ namespace ICSharpCode.Reports.Core.Exporter protected Point ConvertStandardRow(ExporterCollection mylist, ISimpleContainer simpleContainer) { var rowSize = simpleContainer.Size; - +Console.WriteLine("ConvertStandardRow"); Point curPos = ConvertContainer(mylist,simpleContainer,DefaultLeftPosition,CurrentPosition); AfterConverting (mylist); simpleContainer.Size = rowSize; + Console.WriteLine(""); return curPos; + } @@ -272,6 +276,7 @@ namespace ICSharpCode.Reports.Core.Exporter protected static void FillRow (ISimpleContainer row,IDataNavigator currentNavigator) { + Console.WriteLine("\tFillrow"); currentNavigator.Fill(row.Items); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs index f65176c1c6..5ff2050a82 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs +++ b/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; FillRow(simpleContainer,childNavigator); + FireRowRendering(simpleContainer,childNavigator); PrepareContainerForConverting(section,simpleContainer); - FireRowRendering(simpleContainer,childNavigator); +// FireRowRendering(simpleContainer,childNavigator); base.CurrentPosition = ConvertStandardRow(exporterCollection,simpleContainer); CheckForPageBreak(section,exporterCollection); } @@ -123,8 +124,9 @@ namespace ICSharpCode.Reports.Core.Exporter Size containerSize = section.Items[0].Size; FillRow(simpleContainer,base.DataNavigator); - base.PrepareContainerForConverting(section,simpleContainer); FireRowRendering(simpleContainer,base.DataNavigator); + base.PrepareContainerForConverting(section,simpleContainer); +// FireRowRendering(simpleContainer,base.DataNavigator); base.CurrentPosition = ConvertStandardRow (exporterCollection,simpleContainer); section.Size = base.RestoreSectionSize; section.Items[0].Size = containerSize; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs index 85780a00dd..6ebcc10687 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs @@ -97,14 +97,12 @@ namespace ICSharpCode.Reports.Core.Exporter childNavigator.MoveNext(); /* - FillRow - PrepareContainerForConverting - Layouter for Container - FireRowRendering -eportViewer - RowRendering : - ConvertStandardRow - - */ +---- GroupTableConverter.cs Zeile 151: +FillRow(simpleContainer,base.DataNavigator); +FireRowRendering(simpleContainer,base.DataNavigator); +base.PrepareContainerForConverting(section,simpleContainer); +---- +*/ //Convert children if (childNavigator != null) { do @@ -114,9 +112,9 @@ eportViewer - RowRendering : containerSize = simpleContainer.Size; FillRow(simpleContainer,childNavigator); - PrepareContainerForConverting(section,simpleContainer); +// PrepareContainerForConverting(section,simpleContainer); FireRowRendering(simpleContainer,childNavigator); - + PrepareContainerForConverting(section,simpleContainer); base.CurrentPosition = ConvertStandardRow(exporterCollection,simpleContainer); simpleContainer.Size = containerSize; @@ -149,9 +147,10 @@ eportViewer - RowRendering : CheckForPageBreak(section,simpleContainer,headerRow,exporterCollection); FillRow(simpleContainer,base.DataNavigator); +// base.PrepareContainerForConverting(section,simpleContainer); + FireRowRendering(simpleContainer,base.DataNavigator); base.PrepareContainerForConverting(section,simpleContainer); - FireRowRendering(simpleContainer,base.DataNavigator); base.CurrentPosition = ConvertStandardRow (exporterCollection,simpleContainer); simpleContainer.Size = containerSize; section.Size = base.RestoreSectionSize; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/ExtendedPrintController.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/ExtendedPrintController.cs deleted file mode 100644 index 1e5f2fb385..0000000000 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/ExtendedPrintController.cs +++ /dev/null @@ -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 -{ - /// - /// Description of ExtendedPrintController. - /// - - - 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); - } - } -} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs index 2cf0999347..19ef6c3279 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportEngine.cs @@ -21,7 +21,6 @@ namespace ICSharpCode.Reports.Core { public class ReportEngine : IDisposable { private PreviewControl previewControl; -// private IDataManager dataMan; /// /// This event is fired before a Section is Rendered, you can use diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs index b426d6dd8e..c506297df9 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs +++ b/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 event EventHandler PreviewLayoutChanged; -// public event EventHandler SectionRendering; + private float zoom;