~halega/+junk/sharpdevelop

« back to all changes in this revision

Viewing changes to src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportViewerSecondaryView.cs

  • Committer: sk
  • Date: 2011-09-10 05:17:57 UTC
  • Revision ID: halega@halega.com-20110910051757-qfouz1llya9m6boy
4.1.0.7915 Release Candidate 1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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)
 
3
 
 
4
using System;
 
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;
 
10
 
 
11
namespace ICSharpCode.Reports.Addin.SecondaryViews
 
12
{
 
13
        /// <summary>
 
14
        /// Description of ReportViewerSecondaryView.
 
15
        /// </summary>
 
16
        public class ReportViewerSecondaryView: AbstractSecondaryViewContent
 
17
        {
 
18
                ReportDesignerLoader designerLoader;
 
19
                ICSharpCode.Reports.Core.ReportViewer.PreviewControl control;
 
20
 
 
21
                public ReportViewerSecondaryView(ReportDesignerLoader designerLoader,IViewContent content):base(content)
 
22
                {
 
23
                        if (designerLoader == null) {
 
24
                                throw new ArgumentNullException("designerLoader");
 
25
                        }
 
26
                        if (content == null) {
 
27
                                throw new ArgumentNullException("content");
 
28
                        }
 
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");
 
34
                }
 
35
                
 
36
                
 
37
                private void OnPreviewLayoutChanged (object sender, EventArgs e)
 
38
                {
 
39
                        LoadFromPrimary();
 
40
                }
 
41
                
 
42
                #region overrides
 
43
                
 
44
                protected override void LoadFromPrimary()
 
45
                {
 
46
                        ReportModel model = designerLoader.CreateRenderableModel();
 
47
                        AbstractPreviewCommand cmd = null;
 
48
                
 
49
                        switch (model.DataModel) {
 
50
                                        case GlobalEnums.PushPullModel.FormSheet : {
 
51
                                                cmd = new FormSheetToReportViewerCommand (model,control);
 
52
                                                break;
 
53
                                        }
 
54
                                        case GlobalEnums.PushPullModel.PullData:{
 
55
                                                cmd = new PullModelToReportViewerCommand(model,control);                                        
 
56
                                                break;
 
57
                                        }
 
58
                                        case GlobalEnums.PushPullModel.PushData:{
 
59
                                                cmd = new PushModelToReportViewerCommand(model,control);                                                
 
60
                                                break;
 
61
                                        }
 
62
                                default:
 
63
                                        throw new InvalidReportModelException();
 
64
                        }
 
65
                        cmd.Run();
 
66
                }
 
67
                
 
68
                
 
69
                protected override void SaveToPrimary()
 
70
                {
 
71
//                      throw new NotImplementedException();
 
72
                }
 
73
                
 
74
                #endregion
 
75
                
 
76
                
 
77
                
 
78
                public override object Control {
 
79
                        get {
 
80
                                return this.control;
 
81
                        }
 
82
                }
 
83
                
 
84
        }
 
85
}