diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/ICSharpCode.Reporting.Addin.csproj b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/ICSharpCode.Reporting.Addin.csproj
index dd02ba201b..5eb28d82c7 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/ICSharpCode.Reporting.Addin.csproj
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/ICSharpCode.Reporting.Addin.csproj
@@ -46,6 +46,12 @@
4.0
+
+ 3.0
+
+
+ 3.0
+
3.5
@@ -57,10 +63,16 @@
+
+ 4.0
+
3.5
+
+ 3.0
+
@@ -117,6 +129,7 @@
+
@@ -154,10 +167,6 @@
{40CA84D4-ACFC-4646-9CDD-B87262D34093}
ICSharpCode.Reporting
-
- {40CA84D4-ACFC-4646-9CDD-B87262D34093}
- ICSharpCode.Reporting
-
\ No newline at end of file
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Designer/SectionDesigner.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Designer/SectionDesigner.cs
index 9760b251d2..1cad23dfa5 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Designer/SectionDesigner.cs
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Designer/SectionDesigner.cs
@@ -63,7 +63,6 @@ namespace ICSharpCode.Reporting.Addin.Designer
void OnSelectionChanged(object sender, EventArgs e)
{
- Console.WriteLine("Section : OnSelectionChanged");
Control.Invalidate( );
}
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignerBinding/DesignerGenerator.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignerBinding/DesignerGenerator.cs
index 97fc779f6d..23c65dff98 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignerBinding/DesignerGenerator.cs
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignerBinding/DesignerGenerator.cs
@@ -12,6 +12,7 @@ using System.IO;
using System.Windows.Forms;
using System.Xml;
using ICSharpCode.Core;
+using ICSharpCode.SharpDevelop.Workbench;
using ICSharpCode.Reporting.Addin.DesignableItems;
using ICSharpCode.Reporting.Addin.Globals;
using ICSharpCode.Reporting.Addin.Views;
@@ -41,12 +42,13 @@ namespace ICSharpCode.Reporting.Addin.DesignerBinding
this.viewContent = viewContent;
}
+
public void Detach()
{
throw new NotImplementedException();
}
- public System.Collections.Generic.IEnumerable GetSourceFiles(out ICSharpCode.SharpDevelop.Workbench.OpenedFile designerCodeFile)
+ public System.Collections.Generic.IEnumerable GetSourceFiles(out OpenedFile designerCodeFile)
{
throw new NotImplementedException();
}
@@ -61,15 +63,16 @@ namespace ICSharpCode.Reporting.Addin.DesignerBinding
StringWriter InternalMergeFormChanges()
{
+ Console.WriteLine("InternalMergeFormChanges create ReportdesignerWriter");
var writer = new StringWriterWithEncoding(System.Text.Encoding.UTF8);
var xml = XmlHelper.CreatePropperWriter(writer);
-
- var rpd = new ReportDesignerWriter();
+
+ var reportDesignerWriter = new ReportDesignerWriter();
XmlHelper.CreatePropperDocument(xml);
foreach (IComponent component in viewContent.Host.Container.Components) {
if (!(component is Control)) {
- rpd.Save(component,xml);
+ reportDesignerWriter.Save(component,xml);
}
}
xml.WriteEndElement();
@@ -79,7 +82,7 @@ namespace ICSharpCode.Reporting.Addin.DesignerBinding
foreach (var component in viewContent.Host.Container.Components) {
var b = component as BaseSection;
if (b != null) {
- rpd.Save(component,xml);
+ reportDesignerWriter.Save(component,xml);
}
}
//SectionCollection
@@ -91,14 +94,13 @@ namespace ICSharpCode.Reporting.Addin.DesignerBinding
return writer;
}
-
+
public DesignerView ViewContent {
get {return viewContent;}
}
-
- public bool InsertComponentEvent(System.ComponentModel.IComponent component, System.ComponentModel.EventDescriptor edesc, string eventMethodName, string body, out string file, out int position)
+ public bool InsertComponentEvent(IComponent component, EventDescriptor edesc, string eventMethodName, string body, out string file, out int position)
{
throw new NotImplementedException();
}
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignerBinding/ReportDefinitionDeserializer.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignerBinding/ReportDefinitionDeserializer.cs
index 8a706e0cd8..25d46216a4 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignerBinding/ReportDefinitionDeserializer.cs
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignerBinding/ReportDefinitionDeserializer.cs
@@ -44,7 +44,7 @@ namespace ICSharpCode.Reporting.Addin.DesignerBinding
this.host = host;
}
- public XmlDocument LoadXmlFromStream(Stream stream)
+ public XmlDocument LoadXmlFromStream(Stream stream)
{
Console.Write("LoadXml");
if (stream == null)
@@ -90,6 +90,7 @@ namespace ICSharpCode.Reporting.Addin.DesignerBinding
{
XmlNodeList nodes = elem.FirstChild.ChildNodes;
var reportSettingsNode = (XmlElement)nodes[0];
+ Console.Write("ReportDefinitionDeserializer create ModelLoader");
var modelLoader = new ModelLoader();
return modelLoader.Load(reportSettingsNode) as ReportSettings;
}
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignerBinding/ReportDesignerLoader.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignerBinding/ReportDesignerLoader.cs
index 751c3d2e3e..faf846d0c3 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignerBinding/ReportDesignerLoader.cs
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignerBinding/ReportDesignerLoader.cs
@@ -7,13 +7,12 @@
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
-using System.Collections.Generic;
using System.ComponentModel.Design.Serialization;
using System.IO;
using System.Xml;
using ICSharpCode.Core;
+using ICSharpCode.Reporting.Factories;
using ICSharpCode.Reporting.Items;
-using ICSharpCode.Reporting.Xml;
using ICSharpCode.Reporting.Addin.Services;
namespace ICSharpCode.Reporting.Addin.DesignerBinding
@@ -21,10 +20,10 @@ namespace ICSharpCode.Reporting.Addin.DesignerBinding
///
/// Description of ReportDesignerLoader.
///
- class ReportDesignerLoader: BasicDesignerLoader
+ public class ReportDesignerLoader: BasicDesignerLoader
{
IDesignerLoaderHost host;
- IDesignerGenerator generator;
+ readonly IDesignerGenerator generator;
ReportModel reportModel;
Stream stream;
@@ -61,9 +60,9 @@ namespace ICSharpCode.Reporting.Addin.DesignerBinding
protected override void PerformLoad(IDesignerSerializationManager serializationManager){
var internalLoader = new InternalReportLoader(host,generator, stream);
reportModel = internalLoader.LoadOrCreateReport();
-// reportModel = internalLoader.ReportModel;
}
+
protected override void PerformFlush(IDesignerSerializationManager designerSerializationManager){
LoggingService.Info("ReportDesignerLoader:PerformFlush");
generator.MergeFormChanges((System.CodeDom.CodeCompileUnit)null);
@@ -72,80 +71,18 @@ namespace ICSharpCode.Reporting.Addin.DesignerBinding
#endregion
- #region Reportmodel
-
- public ReportModel ReportModel {
- get { return reportModel; }
- }
+ #region Serialize to Xml
- public static ReportModel CreateRenderableModel()
+ public XmlDocument SerializeModel()
{
- Console.WriteLine("ReportDesignerLoader:CreateRenderableModel");
- /*
- ReportModel m = new ReportModel();
- generator.MergeFormChanges((System.CodeDom.CodeCompileUnit)null);
- XmlDocument doc = new XmlDocument();
- doc.LoadXml(generator.ViewContent.ReportFileContent);
- ReportLoader rl = new ReportLoader();
- object root = rl.Load(doc.DocumentElement);
- m = root as ReportModel;
-
- m.ReportSettings.FileName = generator.ViewContent.PrimaryFileName;
- FilePathConverter.AdjustReportName(m);
- return m;
- */
- return null;
- }
+ Console.WriteLine("ReportDesignerLoader:SerializeModel:");
- public XmlDocument CreateXmlModel()
- {
- Console.WriteLine("ReportDesignerLoader:CreateXmlModel");
- /*
- ReportModel m = new ReportModel();
generator.MergeFormChanges((System.CodeDom.CodeCompileUnit)null);
- XmlDocument xmlDocument = new XmlDocument();
- xmlDocument.LoadXml(generator.ViewContent.ReportFileContent);
- return xmlDocument;
- */
- return null;
+ var doc = new XmlDocument();
+ doc.LoadXml(generator.ViewContent.ReportFileContent);
+ return doc;
}
#endregion
}
-
- ///
- /// Load Report from File
- ///
- ///
- ///
-
- public class aaReportLoader : ModelLoader
- {
- static Dictionary baseToReport;
-
- public static Type GetReportType(Type baseType)
- {
- Console.WriteLine("ReportLoader:GetReportType");
- if (baseType == null) return null;
- if (baseToReport == null) {
- baseToReport = new Dictionary();
- foreach (Type t in typeof(BaseSection).Assembly.GetTypes()) {
-
- if (t.BaseType != null && t.BaseType.Name.StartsWith("Base",
- StringComparison.InvariantCulture)) {
- baseToReport[t.BaseType] = t;
- }
- }
- }
- Type r;
- baseToReport.TryGetValue(baseType, out r);
- return r ?? baseType;
- }
-
-
- protected override Type GetTypeByName(string ns, string name)
- {
- return GetReportType(base.GetTypeByName(ns, name));
- }
- }
}
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Views/DesignerView.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Views/DesignerView.cs
index 782dbb67a5..8079700a75 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Views/DesignerView.cs
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Views/DesignerView.cs
@@ -42,11 +42,6 @@ namespace ICSharpCode.Reporting.Addin.Views
DefaultServiceContainer defaultServiceContainer;
DesignSurface designSurface;
- public DesignerView()
- {
- }
-
-
public DesignerView (OpenedFile openedFile,IDesignerGenerator generator) : base(openedFile){
if (openedFile == null) {
throw new ArgumentNullException("openedFile");
@@ -89,8 +84,8 @@ namespace ICSharpCode.Reporting.Addin.Views
LoggingService.Info("Create ReportDesignerLoader");
- this.loader = new ReportDesignerLoader(generator,stream);
- this.designSurface.BeginLoad(this.loader);
+ loader = new ReportDesignerLoader(generator, stream);
+ designSurface.BeginLoad(this.loader);
if (!designSurface.IsLoaded) {
// throw new FormsDesignerLoadException(FormatLoadErrors(designSurface));
LoggingService.Error("designer not loaded");
@@ -119,8 +114,6 @@ namespace ICSharpCode.Reporting.Addin.Views
hasUnmergedChanges = false;
- LoggingService.Info("Form Designer: END INITIALIZE");
- //----------------
LoggingService.Info("ReportDesigner LoadDesigner_End");
}
@@ -159,6 +152,7 @@ namespace ICSharpCode.Reporting.Addin.Views
static WindowsFormsDesignerOptionService CreateDesignerOptions()
{
LoggingService.Debug("ReportDesigner: CreateDesignerOptions...");
+
var designerOptionService = new WindowsFormsDesignerOptionService();
designerOptionService.Options.Properties.Find("UseSmartTags", true).SetValue(designerOptionService, true);
designerOptionService.Options.Properties.Find("ShowGrid", true).SetValue(designerOptionService, false);
@@ -195,7 +189,7 @@ namespace ICSharpCode.Reporting.Addin.Views
}
}
- private void MakeDirty()
+ void MakeDirty()
{
hasUnmergedChanges = true;
PrimaryFile.MakeDirty();
@@ -208,9 +202,7 @@ namespace ICSharpCode.Reporting.Addin.Views
void SelectionChangedHandler(object sender, EventArgs args)
{
var selectionService = (ISelectionService)sender;
- Console.WriteLine("Sel service {0}",selectionService != null);
var abstractItem = selectionService.PrimarySelection as AbstractItem;
- Console.Write("SelectionChangedHandler:AbstractItem {0}",abstractItem != null);
if (abstractItem != null) {
if (String.IsNullOrEmpty(abstractItem.Site.Name)) {
abstractItem.Site.Name = abstractItem.Name;
@@ -272,9 +264,8 @@ namespace ICSharpCode.Reporting.Addin.Views
void UpdatePropertyPadSelection(ISelectionService selectionService)
{
- Console.Write("UpdatePropertyPadSelection");
ICollection selection = selectionService.GetSelectedComponents();
- object[] selArray = new object[selection.Count];
+ var selArray = new object[selection.Count];
selection.CopyTo(selArray, 0);
propertyContainer.SelectedObjects = selArray;
}
@@ -367,15 +358,17 @@ namespace ICSharpCode.Reporting.Addin.Views
{
var xmlView = new XmlView(generator,this);
SecondaryViewContents.Add(xmlView);
+ var preview = new WpfPreview(loader,this);
+ SecondaryViewContents.Add(preview);
}
public string ReportFileContent {
get {
if (IsDirty) {
- this.MergeFormChanges();
+ MergeFormChanges();
}
- return this.reportFileContent; }
- set { this.reportFileContent = value; }
+ return reportFileContent; }
+ set { reportFileContent = value; }
}
#endregion
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Views/WpfPreview.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Views/WpfPreview.cs
new file mode 100644
index 0000000000..f14843ad21
--- /dev/null
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Views/WpfPreview.cs
@@ -0,0 +1,64 @@
+/*
+ * Created by SharpDevelop.
+ * User: Peter Forstmeier
+ * Date: 24.03.2014
+ * Time: 20:02
+ *
+ * To change this template use Tools | Options | Coding | Edit Standard Headers.
+ */
+using System;
+using ICSharpCode.Core;
+using ICSharpCode.Reporting.Items;
+using ICSharpCode.Reporting.WpfReportViewer;
+using ICSharpCode.Reporting.Xml;
+using ICSharpCode.SharpDevelop;
+using ICSharpCode.SharpDevelop.Workbench;
+using ICSharpCode.Reporting.Addin.DesignerBinding;
+
+namespace ICSharpCode.Reporting.Addin.Views
+{
+ ///
+ /// Description of the view content
+ ///
+ public class WpfPreview : AbstractSecondaryViewContent
+ {
+ ReportDesignerLoader designerLoader;
+
+ ICSharpCode.Reporting.WpfReportViewer.WpfReportViewer viewer = new ICSharpCode.Reporting.WpfReportViewer.WpfReportViewer();
+
+ public WpfPreview(ReportDesignerLoader loader,IViewContent content):base(content)
+ {
+ LoggingService.Info("Create WpfPreview");
+ this.designerLoader = loader;
+ TabPageText = "WpfPreview";
+ }
+
+ protected override void LoadFromPrimary()
+ {
+ LoggingService.Info("LoadFrompromary");
+
+ var xml = designerLoader.SerializeModel();
+ var modelLoader = new ModelLoader();
+ var reportmodel = modelLoader.Load(xml.DocumentElement) as ReportModel;
+ var reportingFactory = new ReportingFactory();
+ var reportCreator = reportingFactory.ReportCreator(reportmodel);
+ reportCreator.BuildExportList();
+ var previewViewModel = new PreviewViewModel (reportingFactory.ReportModel.ReportSettings,reportCreator.Pages);
+ viewer.SetBinding(previewViewModel);
+ }
+ ///
+ /// The representing the view
+ ///
+ public override object Control {
+ get {
+ return viewer;
+ }
+ }
+
+ protected override void SaveToPrimary()
+ {
+ LoggingService.Info("WpfPreview:SaveToPrimary is not implemented");
+ }
+ }
+
+}
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/XML/ReportDesignerWriter.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/XML/ReportDesignerWriter.cs
index 933c5c5f4c..ff91334c1e 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/XML/ReportDesignerWriter.cs
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/XML/ReportDesignerWriter.cs
@@ -13,8 +13,12 @@ namespace ICSharpCode.Reporting.Addin.XML
///
/// Description of ReportDesignerWriter.
///
- public class ReportDesignerWriter:MycroWriter
+ class ReportDesignerWriter:MycroWriter
{
+ public ReportDesignerWriter() {
+ Console.WriteLine("ReportDesignerWriter");
+ Console.WriteLine();
+ }
protected override string GetTypeName(Type t)
{
if (t.BaseType != null && t.BaseType.Name.StartsWith("Base",StringComparison.InvariantCultureIgnoreCase)) {
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Factories/ReportModelFactory.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Factories/ReportModelFactory.cs
index 67df46d54d..9c553c0ae9 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Factories/ReportModelFactory.cs
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Factories/ReportModelFactory.cs
@@ -15,7 +15,7 @@ namespace ICSharpCode.Reporting.Factories
///
/// Description of ReportModelFactory.
///
- public class ReportModelFactory
+ public static class ReportModelFactory
{
public static ReportModel Create()
{
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Xml/ModelLoader.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Xml/ModelLoader.cs
index d2bf83aac2..43dbac7575 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Xml/ModelLoader.cs
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Xml/ModelLoader.cs
@@ -26,6 +26,10 @@ namespace ICSharpCode.Reporting.Xml
///
public class ModelLoader: MycroParser
{
+ public ModelLoader() {
+ Console.WriteLine("ICSharpCode.Reporting.Xml.ModelLoader");
+ Console.WriteLine();
+ }
protected override Type GetTypeByName(string ns, string name)
{
return typeof(BaseSection).Assembly.GetType(typeof(BaseSection).Namespace + "." + name);
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Xml/MycroParser.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Xml/MycroParser.cs
index a55b978966..8b49f6d80c 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Xml/MycroParser.cs
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Xml/MycroParser.cs
@@ -43,6 +43,10 @@ namespace ICSharpCode.Reporting.Xml
///
public abstract class MycroParser
{
+ public MycroParser() {
+ Console.WriteLine("Mycroparser");
+ Console.WriteLine();
+ }
public object Load(XmlElement element)
{
return ProcessNode(element, null);
@@ -60,9 +64,11 @@ namespace ICSharpCode.Reporting.Xml
string cname=node.LocalName;
Console.WriteLine ("ProcessNode(XmlNode node, object parent) {0}",cname);
-
+ if (cname.StartsWith("BaseText")) {
+ Console.WriteLine("Found");
+}
Type t=GetTypeByName(ns, cname);
-
+
// Trace.Assert(t != null, "Type "+cname+" could not be determined.");
// Debug.WriteLine("Looking for " + cname + " and got " + t.FullName);
// Console.WriteLine("Looking for " + cname + " and got " + t.FullName);
diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/DesignerBinding/ReportDesignerLoader.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/DesignerBinding/ReportDesignerLoader.cs
index e6132aedfe..51e1196abe 100644
--- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/DesignerBinding/ReportDesignerLoader.cs
+++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/DesignerBinding/ReportDesignerLoader.cs
@@ -150,16 +150,16 @@ namespace ICSharpCode.Reports.Addin
{
Console.WriteLine("ReportLoader:GetReportType");
if (baseType == null) return null;
- if (baseToReport == null) {
- baseToReport = new Dictionary();
- foreach (Type t in typeof(BaseSection).Assembly.GetTypes()) {
+
+ baseToReport = new Dictionary();
+ foreach (Type t in typeof(BaseSection).Assembly.GetTypes()) {
- if (t.BaseType != null && t.BaseType.Name.StartsWith("Base",
- StringComparison.InvariantCulture)) {
- baseToReport[t.BaseType] = t;
- }
+ if (t.BaseType != null && t.BaseType.Name.StartsWith("Base",
+ StringComparison.InvariantCulture)) {
+ baseToReport[t.BaseType] = t;
}
}
+
Type r;
baseToReport.TryGetValue(baseType, out r);
return r ?? baseType;