1
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
2
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
5
using ICSharpCode.Core;
6
using ICSharpCode.Reports.Addin.Commands;
7
using ICSharpCode.Reports.Core;
8
using ICSharpCode.Reports.Core.Globals;
9
using ICSharpCode.SharpDevelop.Gui;
11
namespace ICSharpCode.Reports.Addin.SecondaryViews
14
/// Description of ReportViewerSecondaryView.
16
public class ReportViewerSecondaryView: AbstractSecondaryViewContent
18
ReportDesignerLoader designerLoader;
19
ICSharpCode.Reports.Core.ReportViewer.PreviewControl control;
21
public ReportViewerSecondaryView(ReportDesignerLoader designerLoader,IViewContent content):base(content)
23
if (designerLoader == null) {
24
throw new ArgumentNullException("designerLoader");
26
if (content == null) {
27
throw new ArgumentNullException("content");
29
this.designerLoader = designerLoader;
30
this.control = new ICSharpCode.Reports.Core.ReportViewer.PreviewControl();
31
this.control.Messages = new ReportViewerMessages();
32
this.control.PreviewLayoutChanged += OnPreviewLayoutChanged;
33
base.TabPageText = ResourceService.GetString("SharpReport.ReportViewer");
37
private void OnPreviewLayoutChanged (object sender, EventArgs e)
44
protected override void LoadFromPrimary()
46
ReportModel model = designerLoader.CreateRenderableModel();
47
AbstractPreviewCommand cmd = null;
49
switch (model.DataModel) {
50
case GlobalEnums.PushPullModel.FormSheet : {
51
cmd = new FormSheetToReportViewerCommand (model,control);
54
case GlobalEnums.PushPullModel.PullData:{
55
cmd = new PullModelToReportViewerCommand(model,control);
58
case GlobalEnums.PushPullModel.PushData:{
59
cmd = new PushModelToReportViewerCommand(model,control);
63
throw new InvalidReportModelException();
69
protected override void SaveToPrimary()
71
// throw new NotImplementedException();
78
public override object Control {