14 changed files with 347 additions and 93 deletions
@ -0,0 +1,59 @@
@@ -0,0 +1,59 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: Peter Forstmeier |
||||
* Date: 05/04/2013 |
||||
* Time: 19:57 |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
using System; |
||||
using System.Collections.ObjectModel; |
||||
using System.Windows.Documents; |
||||
|
||||
using ICSharpCode.Reporting.BaseClasses; |
||||
using ICSharpCode.Reporting.Interfaces.Export; |
||||
using ICSharpCode.Reporting.Items; |
||||
|
||||
namespace ICSharpCode.Reporting.ExportRenderer |
||||
{ |
||||
/// <summary>
|
||||
/// Description of FixedDocumentRenderer.
|
||||
/// </summary>
|
||||
public class FixedDocumentRenderer |
||||
{ |
||||
ReportSettings reportSettings; |
||||
private FixedDocument document ; |
||||
// private FixedDocumentCreator docCreator;
|
||||
|
||||
public FixedDocumentRenderer(ReportSettings reportSettings,Collection<IPage> pages) |
||||
{ |
||||
if (pages == null) |
||||
throw new ArgumentNullException("pages"); |
||||
if (reportSettings == null) |
||||
throw new ArgumentNullException("reportSettings"); |
||||
this.reportSettings = reportSettings; |
||||
Pages = pages; |
||||
Console.WriteLine("FixedDocumentRenderer with {0} pages ",Pages.Count); |
||||
} |
||||
|
||||
|
||||
public void Start() |
||||
{ |
||||
Console.WriteLine("FixedDocumentrenderer - Start"); |
||||
document = new FixedDocument(); |
||||
// docCreator.PageSize = new System.Windows.Size(reportSettings.PageSize.Width,reportSettings.PageSize.Height);
|
||||
// document.DocumentPaginator.PageSize = docCreator.PageSize;
|
||||
} |
||||
|
||||
public void RenderOutput(){ |
||||
Console.WriteLine("FixedDocumentrenderer - RenderOutput"); |
||||
} |
||||
|
||||
public void End() |
||||
{ |
||||
Console.WriteLine("FixedDocumentrenderer - End"); |
||||
} |
||||
|
||||
public Collection<IPage> Pages {get;private set;} |
||||
} |
||||
} |
||||
@ -0,0 +1,61 @@
@@ -0,0 +1,61 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: Peter Forstmeier |
||||
* Date: 05/04/2013 |
||||
* Time: 17:06 |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
using System; |
||||
using System.Collections.ObjectModel; |
||||
using System.ComponentModel; |
||||
using System.Diagnostics; |
||||
using System.Windows.Documents; |
||||
|
||||
using ICSharpCode.Reporting.ExportRenderer; |
||||
using ICSharpCode.Reporting.Interfaces.Export; |
||||
using ICSharpCode.Reporting.Items; |
||||
|
||||
namespace ICSharpCode.Reporting.WpfReportViewer |
||||
{ |
||||
/// <summary>
|
||||
/// Description of PreviewViewModel.
|
||||
/// </summary>
|
||||
public class PreviewViewModel:INotifyPropertyChanged |
||||
{ |
||||
|
||||
private IDocumentPaginatorSource document; |
||||
|
||||
public PreviewViewModel(ReportSettings reportSettings, Collection<IPage> pages) |
||||
{ |
||||
this.Pages = pages; |
||||
FixedDocumentRenderer renderer = new FixedDocumentRenderer(reportSettings,Pages); |
||||
renderer.Start(); |
||||
renderer.RenderOutput(); |
||||
renderer.End(); |
||||
// this.Document = renderer.Document;
|
||||
} |
||||
|
||||
|
||||
public Collection<IPage> Pages {get;private set;} |
||||
|
||||
public IDocumentPaginatorSource Document |
||||
{ |
||||
get {return document;} |
||||
set { |
||||
this.document = value; |
||||
OnNotifyPropertyChanged ("Document"); |
||||
} |
||||
} |
||||
|
||||
|
||||
public event PropertyChangedEventHandler PropertyChanged; |
||||
|
||||
void OnNotifyPropertyChanged(string num0) |
||||
{ |
||||
if (PropertyChanged != null) { |
||||
PropertyChanged(this,new PropertyChangedEventArgs(num0)); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
@ -0,0 +1,45 @@
@@ -0,0 +1,45 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: Peter Forstmeier |
||||
* Date: 12.05.2011 |
||||
* Time: 21:01 |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
using System; |
||||
using System.Windows.Controls; |
||||
using System.Windows.Documents; |
||||
|
||||
|
||||
namespace ICSharpCode.Reporting.WpfReportViewer |
||||
{ |
||||
|
||||
public interface IWpfReportViewer |
||||
{ |
||||
IDocumentPaginatorSource Document {set;} |
||||
void SetBinding (PreviewViewModel model); |
||||
} |
||||
/// <summary>
|
||||
/// Interaction logic for WpfReportViewer.xaml
|
||||
/// </summary>
|
||||
|
||||
public partial class WpfReportViewer : UserControl,IWpfReportViewer |
||||
{ |
||||
public WpfReportViewer() |
||||
{ |
||||
InitializeComponent(); |
||||
} |
||||
|
||||
public void SetBinding (PreviewViewModel model) |
||||
{ |
||||
this.DataContext = model; |
||||
} |
||||
|
||||
|
||||
public IDocumentPaginatorSource Document { |
||||
set { |
||||
this.DocumentViewer.Document = value; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
@ -1,87 +0,0 @@
@@ -1,87 +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 ICSharpCode.Core; |
||||
using ICSharpCode.Reports.Addin.Commands; |
||||
using ICSharpCode.Reports.Core; |
||||
using ICSharpCode.Reports.Core.Globals; |
||||
using ICSharpCode.SharpDevelop; |
||||
using ICSharpCode.SharpDevelop.Gui; |
||||
using ICSharpCode.SharpDevelop.Workbench; |
||||
|
||||
namespace ICSharpCode.Reports.Addin.SecondaryViews.TestView |
||||
{ |
||||
/// <summary>
|
||||
/// Description of ReportViewerSecondaryView.
|
||||
/// </summary>
|
||||
public class TestSecondaryView: AbstractSecondaryViewContent |
||||
{ |
||||
ReportDesignerLoader designerLoader; |
||||
ICSharpCode.Reports.Core.ReportViewer.PreviewControl control; |
||||
|
||||
public TestSecondaryView(ReportDesignerLoader designerLoader,IViewContent content):base(content) |
||||
{ |
||||
if (designerLoader == null) { |
||||
throw new ArgumentNullException("designerLoader"); |
||||
} |
||||
if (content == null) { |
||||
throw new ArgumentNullException("content"); |
||||
} |
||||
this.designerLoader = designerLoader; |
||||
this.control = new ICSharpCode.Reports.Core.ReportViewer.PreviewControl(); |
||||
this.control.Messages = new ReportViewerMessages(); |
||||
this.control.PreviewLayoutChanged += OnPreviewLayoutChanged; |
||||
base.TabPageText = "TestView"; |
||||
} |
||||
|
||||
|
||||
private void OnPreviewLayoutChanged (object sender, EventArgs e) |
||||
{ |
||||
LoadFromPrimary(); |
||||
} |
||||
|
||||
#region overrides
|
||||
|
||||
protected override void LoadFromPrimary() |
||||
{ |
||||
ReportModel model = designerLoader.CreateRenderableModel(); |
||||
AbstractPreviewCommand cmd = null; |
||||
|
||||
switch (model.DataModel) { |
||||
case GlobalEnums.PushPullModel.FormSheet : { |
||||
cmd = new FormSheetToReportViewerCommand (model,control); |
||||
break; |
||||
} |
||||
case GlobalEnums.PushPullModel.PullData:{ |
||||
cmd = new PullModelToReportViewerCommand(model,control); |
||||
break; |
||||
} |
||||
case GlobalEnums.PushPullModel.PushData:{ |
||||
cmd = new PushModelToReportViewerCommand(model,control); |
||||
break; |
||||
} |
||||
default: |
||||
throw new InvalidReportModelException(); |
||||
} |
||||
cmd.Run(); |
||||
} |
||||
|
||||
|
||||
protected override void SaveToPrimary() |
||||
{ |
||||
// throw new NotImplementedException();
|
||||
} |
||||
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
public override object Control { |
||||
get { |
||||
return this.control; |
||||
} |
||||
} |
||||
|
||||
} |
||||
} |
||||
@ -0,0 +1,121 @@
@@ -0,0 +1,121 @@
|
||||
/* |
||||
* Created by SharpDevelop. |
||||
* User: Peter Forstmeier |
||||
* Date: 03.05.2011 |
||||
* Time: 19:34 |
||||
* |
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||
*/ |
||||
using System; |
||||
using System.Collections.ObjectModel; |
||||
using System.Xml; |
||||
|
||||
using ICSharpCode.Reporting; |
||||
using ICSharpCode.Reporting.BaseClasses; |
||||
using ICSharpCode.Reporting.Exporter; |
||||
using ICSharpCode.Reporting.Globals; |
||||
using ICSharpCode.Reporting.Interfaces; |
||||
using ICSharpCode.Reporting.Interfaces.Export; |
||||
using ICSharpCode.Reporting.Items; |
||||
using ICSharpCode.Reporting.WpfReportViewer; |
||||
using ICSharpCode.Reporting.Xml; |
||||
using ICSharpCode.SharpDevelop; |
||||
using ICSharpCode.SharpDevelop.Gui; |
||||
using ICSharpCode.SharpDevelop.Workbench; |
||||
|
||||
//using ICSharpCode.Reports.Addin.Commands;
|
||||
//using ICSharpCode.Reports.Core;
|
||||
//using ICSharpCode.Reports.Core.Exporter.ExportRenderer;
|
||||
//using ICSharpCode.Reports.Core.Globals;
|
||||
//using ICSharpCode.Reports.Core.WpfReportViewer;
|
||||
|
||||
|
||||
|
||||
|
||||
namespace ICSharpCode.Reports.Addin.SecondaryViews |
||||
{ |
||||
/// <summary>
|
||||
/// Description of WPFReportPreview.
|
||||
/// </summary>
|
||||
public class TestWPFReportPreview: AbstractSecondaryViewContent |
||||
{ |
||||
ReportDesignerLoader designerLoader; |
||||
|
||||
ICSharpCode.Reporting.WpfReportViewer.IWpfReportViewer viewer; |
||||
|
||||
// IExportRunner exportRunner = new ExportRunner();
|
||||
|
||||
public TestWPFReportPreview(ReportDesignerLoader loader,IViewContent content):base(content) |
||||
{ |
||||
this.designerLoader = loader; |
||||
viewer = new ICSharpCode.Reporting.WpfReportViewer.WpfReportViewer(); |
||||
base.TabPageText = "TestWpf View"; |
||||
Pages = new Collection<Page>(); |
||||
} |
||||
|
||||
|
||||
public Collection<Page> Pages{get;private set;} |
||||
|
||||
|
||||
protected override void LoadFromPrimary() |
||||
{ |
||||
Pages.Clear(); |
||||
var xmDoc = designerLoader.CreateXmlModel(); |
||||
var modulLoader = new ModelLoader(); |
||||
ReportModel model = (ReportModel)modulLoader.Load(xmDoc.DocumentElement); |
||||
|
||||
// var collectCmd = new CollectParametersCommand(model.ReportSettings);
|
||||
// collectCmd.Run();
|
||||
IReportCreator reportCreator = null; |
||||
switch (model.ReportSettings.DataModel) |
||||
{ |
||||
case GlobalEnums.PushPullModel.FormSheet : |
||||
{ |
||||
// exportRunner.RunReport(model,(ReportParameters)null);
|
||||
var reportingFactory = new ReportingFactory(); |
||||
reportCreator = reportingFactory.ReportCreator(model); |
||||
reportCreator.BuildExportList(); |
||||
var pe = new PrintExporter(reportCreator.Pages); |
||||
pe.Run(); |
||||
break; |
||||
} |
||||
|
||||
case GlobalEnums.PushPullModel.PullData: |
||||
{ |
||||
// exportRunner.RunReport(model,(ReportParameters)null);
|
||||
break; |
||||
} |
||||
case GlobalEnums.PushPullModel.PushData: |
||||
{ |
||||
// var cmd = new DataSetFromXsdCommand();
|
||||
// cmd.Run();
|
||||
// System.Data.DataSet ds = cmd.DataSet;
|
||||
// exportRunner.RunReport(model,ds.Tables[0],(ReportParameters)null);
|
||||
break; |
||||
} |
||||
|
||||
// default:
|
||||
// throw new InvalidReportModelException();
|
||||
} |
||||
|
||||
PreviewViewModel previewViewModel = new PreviewViewModel (model.ReportSettings,reportCreator.Pages); |
||||
|
||||
|
||||
viewer.SetBinding(previewViewModel); |
||||
|
||||
} |
||||
|
||||
|
||||
protected override void SaveToPrimary() |
||||
{ |
||||
// throw new NotImplementedException();
|
||||
} |
||||
|
||||
|
||||
public override object Control { |
||||
get { |
||||
return viewer; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
Loading…
Reference in new issue