diff --git a/SharpDevelop.Tests.sln b/SharpDevelop.Tests.sln index e94e7c9aa1..b0f3d303b9 100644 --- a/SharpDevelop.Tests.sln +++ b/SharpDevelop.Tests.sln @@ -147,6 +147,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin", EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin.Test", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\Test\ICSharpCode.Reports.Addin.Test.csproj", "{2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reporting", "src\AddIns\Misc\Reporting\ICSharpCode.Reporting.csproj", "{40CA84D4-ACFC-4646-9CDD-B87262D34093}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reporting.Tests", "src\AddIns\Misc\ICSharpCode.Reporting.Tests\ICSharpCode.Reporting.Tests.csproj", "{D38DE254-A132-4E43-9BF0-21BA45564E9D}" +EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Display Bindings", "Display Bindings", "{11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}" ProjectSection(SolutionItems) = postProject EndProjectSection @@ -887,6 +891,22 @@ Global {2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7}.Release|Any CPU.ActiveCfg = Release|Any CPU {2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7}.Release|x86.Build.0 = Release|Any CPU {2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7}.Release|x86.ActiveCfg = Release|Any CPU + {40CA84D4-ACFC-4646-9CDD-B87262D34093}.Debug|Any CPU.Build.0 = Debug|Any CPU + {40CA84D4-ACFC-4646-9CDD-B87262D34093}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {40CA84D4-ACFC-4646-9CDD-B87262D34093}.Debug|x86.Build.0 = Debug|Any CPU + {40CA84D4-ACFC-4646-9CDD-B87262D34093}.Debug|x86.ActiveCfg = Debug|Any CPU + {40CA84D4-ACFC-4646-9CDD-B87262D34093}.Release|Any CPU.Build.0 = Release|Any CPU + {40CA84D4-ACFC-4646-9CDD-B87262D34093}.Release|Any CPU.ActiveCfg = Release|Any CPU + {40CA84D4-ACFC-4646-9CDD-B87262D34093}.Release|x86.Build.0 = Release|Any CPU + {40CA84D4-ACFC-4646-9CDD-B87262D34093}.Release|x86.ActiveCfg = Release|Any CPU + {D38DE254-A132-4E43-9BF0-21BA45564E9D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D38DE254-A132-4E43-9BF0-21BA45564E9D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D38DE254-A132-4E43-9BF0-21BA45564E9D}.Debug|x86.Build.0 = Debug|Any CPU + {D38DE254-A132-4E43-9BF0-21BA45564E9D}.Debug|x86.ActiveCfg = Debug|Any CPU + {D38DE254-A132-4E43-9BF0-21BA45564E9D}.Release|Any CPU.Build.0 = Release|Any CPU + {D38DE254-A132-4E43-9BF0-21BA45564E9D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D38DE254-A132-4E43-9BF0-21BA45564E9D}.Release|x86.Build.0 = Release|Any CPU + {D38DE254-A132-4E43-9BF0-21BA45564E9D}.Release|x86.ActiveCfg = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -950,6 +970,8 @@ Global {E16B73CA-3603-47EE-915E-6F8B2A07304B} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} {35D002D7-C78B-44FB-92AA-104BEB431678} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} {2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {40CA84D4-ACFC-4646-9CDD-B87262D34093} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {D38DE254-A132-4E43-9BF0-21BA45564E9D} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} {6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} {0008FCE9-9EB4-4E2E-979B-553278E5BBA6} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} {AE4AB0FA-6087-4480-AF37-0FA1452B3DA1} = {485A4CCF-55CF-49F4-BD6D-A22B788C67DA} diff --git a/src/AddIns/Misc/ICSharpCode.Reporting.Tests/Factory/ReportingFactoryFixture.cs b/src/AddIns/Misc/ICSharpCode.Reporting.Tests/Factory/ReportingFactoryFixture.cs new file mode 100644 index 0000000000..6792c2589e --- /dev/null +++ b/src/AddIns/Misc/ICSharpCode.Reporting.Tests/Factory/ReportingFactoryFixture.cs @@ -0,0 +1,23 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 19.03.2013 + * Time: 19:14 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using NUnit.Framework; + +namespace ICSharpCode.Reporting.Tests.Factory +{ + [TestFixture] + public class ReportingFactoryFixture + { + [Test] + public void TestMethod() + { + // TODO: Add your test. + } + } +} diff --git a/src/AddIns/Misc/ICSharpCode.Reporting.Tests/Model/LoadPlainModelFixture.cs b/src/AddIns/Misc/ICSharpCode.Reporting.Tests/Model/LoadPlainModelFixture.cs new file mode 100644 index 0000000000..240522094c --- /dev/null +++ b/src/AddIns/Misc/ICSharpCode.Reporting.Tests/Model/LoadPlainModelFixture.cs @@ -0,0 +1,75 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 19.03.2013 + * Time: 19:58 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using System.IO; +using System.Reflection; + +using NUnit.Framework; + +namespace ICSharpCode.Reporting.Tests.Model +{ + [TestFixture] + public class LoadPlainModelFixture + { + private const string nS = "ICSharpCode.Reporting.Tests.TestReports."; + private const string reportName = "PlainModel.srd"; + private Stream stream; + + [Test] + public void CanLoadFromResource() + { + Assert.IsNotNull(stream); + } + + + [Test] + public void LoadPlainModel() + { + var rf = new ReportingFactory(); + var model = rf.LoadReport(stream); + Assert.IsNotNull(model); + } + + [Test] + public void ReportSettingsFromPlainModel() + { + var rf = new ReportingFactory(); + var model = rf.LoadReport(stream); + Assert.That(model.ReportSettings,Is.Not.Null); + } + + + [Test] + public void ReportSettingsReportName() + { + var rf = new ReportingFactory(); + var model = rf.LoadReport(stream); + Assert.That(model.ReportSettings.ReportName,Is.EqualTo(Globals.GlobalValues.DefaultReportName)); + } + + + [Test] + public void ReportSettingsPageSize() + { + var rf = new ReportingFactory(); + var model = rf.LoadReport(stream); + Assert.That(model.ReportSettings.PageSize,Is.EqualTo(Globals.GlobalValues.DefaultPageSize)); + } + + + [SetUp] + public void LoadFromStream() + { + System.Reflection.Assembly asm = Assembly.GetExecutingAssembly(); + stream = asm.GetManifestResourceStream(nS + reportName); + } + + + } +} diff --git a/src/AddIns/Misc/ICSharpCode.Reporting.Tests/Model/ReportModelFixture.cs b/src/AddIns/Misc/ICSharpCode.Reporting.Tests/Model/ReportModelFixture.cs new file mode 100644 index 0000000000..dddd3c81e0 --- /dev/null +++ b/src/AddIns/Misc/ICSharpCode.Reporting.Tests/Model/ReportModelFixture.cs @@ -0,0 +1,48 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 19.03.2013 + * Time: 19:02 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using ICSharpCode.Reporting.Items; +using NUnit.Framework; + +namespace ICSharpCode.Reporting.Tests.Model +{ + [TestFixture] + public class ReportModelFixture + { + private ReportModel model; + + [Test] + public void CanCreateReportModel() + { + Assert.That(model,Is.Not.Null); + } + + + [Test] + public void ModelInitializeReportSettings() + { + Assert.That(model.ReportSettings,Is.Not.Null); + } + + + [Test] + public void ModelReturnsPlainReportName() + { + Assert.That(model.ReportSettings.ReportName,Is.EqualTo(Globals.GlobalValues.DefaultReportName)); + } + + + [SetUp] + public void CreateModel() + { + model = ReportModel.Create(); + } + + } +} diff --git a/src/AddIns/Misc/ICSharpCode.Reporting.Tests/Model/ReportSettingsFixture.cs b/src/AddIns/Misc/ICSharpCode.Reporting.Tests/Model/ReportSettingsFixture.cs new file mode 100644 index 0000000000..33294d0770 --- /dev/null +++ b/src/AddIns/Misc/ICSharpCode.Reporting.Tests/Model/ReportSettingsFixture.cs @@ -0,0 +1,35 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 19.03.2013 + * Time: 19:10 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using ICSharpCode.Reporting.Globals; +using ICSharpCode.Reporting.Items; +using NUnit.Framework; + +namespace ICSharpCode.Reporting.Tests +{ + [TestFixture] + public class ReportSettingsFixture + { + [Test] + public void DefaultConstructureShouldReturnStandardValues() + { + ReportSettings rs = new ReportSettings(); + Assert.IsNotNull(rs,"Should not be 'null'"); + Assert.AreEqual(GlobalValues.DefaultReportName,rs.ReportName); + } + + + [Test] + public void DefaultPageSize () + { + ReportSettings rs = new ReportSettings(); + Assert.AreEqual(GlobalValues.DefaultPageSize,rs.PageSize); + } + } +} diff --git a/src/AddIns/Misc/ICSharpCode.Reporting.Tests/TestReports/PlainModel.srd b/src/AddIns/Misc/ICSharpCode.Reporting.Tests/TestReports/PlainModel.srd new file mode 100644 index 0000000000..d6306dd40f --- /dev/null +++ b/src/AddIns/Misc/ICSharpCode.Reporting.Tests/TestReports/PlainModel.srd @@ -0,0 +1,86 @@ + + + + + Microsoft Sans Serif, 10pt + FormSheet + D:\SharpDevelop3.0_CHECKOUT\SharpDevelop\bin\Raaaaaeport1.srd + 50 + True + + + No Data for this Report + 50 + 827, 1169 + 5, 5, 5, 5 + 50 + Text + + False + Report1 + 50 + + Millimeter + + FormSheet + + + + + + 727, 60 + ReportHeader + False + 0 + 0 + White + + 50, 50 + False + + + 727, 60 + ReportPageHeader + False + 0 + 0 + White + + 50, 125 + False + + + 727, 60 + ReportDetail + False + 0 + 0 + White + + 50, 200 + False + + + 727, 60 + ReportPageFooter + False + 0 + 0 + White + + 50, 275 + False + + + 727, 60 + ReportFooter + False + 0 + 0 + White + + 50, 350 + False + + + \ No newline at end of file diff --git a/src/AddIns/Misc/Reporting/Configuration/AssemblyInfo.cs b/src/AddIns/Misc/Reporting/Configuration/AssemblyInfo.cs new file mode 100644 index 0000000000..92c27daa12 --- /dev/null +++ b/src/AddIns/Misc/Reporting/Configuration/AssemblyInfo.cs @@ -0,0 +1,13 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 16.03.2013 + * Time: 20:24 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System.Security; + +[assembly: SecurityRules(SecurityRuleSet.Level1)] + +[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("ICSharpCode.Reporting.Tests")] \ No newline at end of file diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.csproj b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.csproj new file mode 100644 index 0000000000..367c6921f8 --- /dev/null +++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.csproj @@ -0,0 +1,69 @@ + + + + {40CA84D4-ACFC-4646-9CDD-B87262D34093} + Debug + AnyCPU + Library + ICSharpCode.Reporting + ICSharpCode.Reporting + v4.0 + Client + Properties + + + AnyCPU + + + bin\Debug\ + True + Full + False + True + DEBUG;TRACE + + + bin\Release\ + False + None + True + False + TRACE + + + + $(SharpDevelopBinPath)\Tools\NUnit\NUnit.Framework.dll + + + + 3.5 + + + + + 3.5 + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/AddIns/Misc/Reporting/Src/Globals/GlobalEnums.cs b/src/AddIns/Misc/Reporting/Src/Globals/GlobalEnums.cs new file mode 100644 index 0000000000..44154949e9 --- /dev/null +++ b/src/AddIns/Misc/Reporting/Src/Globals/GlobalEnums.cs @@ -0,0 +1,26 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 17.03.2013 + * Time: 17:30 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; + +namespace ICSharpCode.Reporting.Globals +{ + /// + /// Description of GlobalEnums. + /// + internal sealed class GlobalEnums + { + internal enum ReportSection { + ReportHeader, + ReportPageHeader, + ReportDetail, + ReportPageFooter, + ReportFooter + } + } +} diff --git a/src/AddIns/Misc/Reporting/Src/Globals/GlobalValues.cs b/src/AddIns/Misc/Reporting/Src/Globals/GlobalValues.cs new file mode 100644 index 0000000000..3c045783c7 --- /dev/null +++ b/src/AddIns/Misc/Reporting/Src/Globals/GlobalValues.cs @@ -0,0 +1,25 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 17.03.2013 + * Time: 17:57 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using System.Drawing; +namespace ICSharpCode.Reporting.Globals +{ + /// + /// Description of GlobalValues. + /// + public static class GlobalValues + { + public static string ReportExtension {get {return ".srd";}} + + public static string DefaultReportName {get { return "Report1";}} + + public static Size DefaultPageSize {get {return new Size(827,1169);}} + + } +} diff --git a/src/AddIns/Misc/Reporting/Src/Interfaces/IReportModel.cs b/src/AddIns/Misc/Reporting/Src/Interfaces/IReportModel.cs new file mode 100644 index 0000000000..c0cf143469 --- /dev/null +++ b/src/AddIns/Misc/Reporting/Src/Interfaces/IReportModel.cs @@ -0,0 +1,29 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 17.03.2013 + * Time: 17:20 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; + +namespace ICSharpCode.Reporting.Interfaces +{ + /// + /// Description of IReportModel. + /// + public interface IReportModel + { + /* + BaseSection ReportHeader {get;} + BaseSection PageHeader {get;} + BaseSection DetailSection {get;} + BaseSection PageFooter {get;} + BaseSection ReportFooter {get;} + ReportSettings ReportSettings {get;set;} + GlobalEnums.PushPullModel DataModel {get;} + ReportSectionCollection SectionCollection {get;} + */ + } +} diff --git a/src/AddIns/Misc/Reporting/Src/Items/BaseSection.cs b/src/AddIns/Misc/Reporting/Src/Items/BaseSection.cs new file mode 100644 index 0000000000..6e33f5fee0 --- /dev/null +++ b/src/AddIns/Misc/Reporting/Src/Items/BaseSection.cs @@ -0,0 +1,22 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 19.03.2013 + * Time: 20:19 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; + +namespace ICSharpCode.Reporting.Items +{ + /// + /// Description of BaseSection. + /// + public class BaseSection + { + public BaseSection() + { + } + } +} diff --git a/src/AddIns/Misc/Reporting/Src/Items/ReportModel.cs b/src/AddIns/Misc/Reporting/Src/Items/ReportModel.cs new file mode 100644 index 0000000000..a04122b842 --- /dev/null +++ b/src/AddIns/Misc/Reporting/Src/Items/ReportModel.cs @@ -0,0 +1,100 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 17.03.2013 + * Time: 17:18 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using ICSharpCode.Reporting.Globals; +using ICSharpCode.Reporting.Interfaces; + +namespace ICSharpCode.Reporting.Items +{ + /// + /// Description of ReportModel. + /// + public class ReportModel :IReportModel + { + +// ReportSectionCollection sectionCollection; + + + public static ReportModel Create() + { + var model = new ReportModel(); +// foreach (GlobalEnums.ReportSection sec in Enum.GetValues(typeof(GlobalEnums.ReportSection))) { +// m.SectionCollection.Add (SectionFactory.Create(sec.ToString())); +// } + return model; + } + + /* + public static ReportModel Create(GraphicsUnit graphicsUnit) + { + ReportModel m = Create(); + m.ReportSettings.GraphicsUnit = graphicsUnit; + return m; + } + + + #region Sections + + public BaseSection ReportHeader + { + get { + return (BaseSection)sectionCollection[0]; + } + } + + + public BaseSection PageHeader + { + get { + return (BaseSection)sectionCollection[1]; + } + } + + + public BaseSection DetailSection + { + get { + return (BaseSection)sectionCollection[2]; + } + } + + + public BaseSection PageFooter + { + get { + return (BaseSection)sectionCollection[3]; + } + } + + public BaseSection ReportFooter + { + get { + return (BaseSection)sectionCollection[4]; + } + } + + #endregion + */ + + ReportSettings reportSettings ; + + public ReportSettings ReportSettings + { + get { + if (this.reportSettings == null) { + this.reportSettings = new ReportSettings(); + } + return reportSettings; + } + set { + reportSettings = value; + } + } + } +} diff --git a/src/AddIns/Misc/Reporting/Src/Items/ReportSettings.cs b/src/AddIns/Misc/Reporting/Src/Items/ReportSettings.cs new file mode 100644 index 0000000000..d24b35f9ca --- /dev/null +++ b/src/AddIns/Misc/Reporting/Src/Items/ReportSettings.cs @@ -0,0 +1,80 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 17.03.2013 + * Time: 17:41 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using System.Drawing; + +namespace ICSharpCode.Reporting.Items +{ + /// + /// Description of ReportSettings. + /// + public class ReportSettings + { + + + public ReportSettings() + { + this.PageSize = Globals.GlobalValues.DefaultPageSize; + BaseValues(); + } + + + void BaseValues() + { + +// this.UseStandardPrinter = true; +// this.GraphicsUnit = GraphicsUnit.Pixel; +// this.Padding = new Padding(5); +// this.DefaultFont = GlobalValues.DefaultFont; +// this.ReportType = GlobalEnums.ReportType.FormSheet; +// +// this.DataModel = GlobalEnums.PushPullModel.FormSheet; +// +// this.CommandType = System.Data.CommandType.Text; +// this.ConnectionString = String.Empty; +// this.CommandText = String.Empty; +// +// this.TopMargin = GlobalValues.DefaultPageMargin.Left; +// this.BottomMargin = GlobalValues.DefaultPageMargin.Bottom; +// this.LeftMargin = GlobalValues.DefaultPageMargin.Left; +// this.RightMargin = GlobalValues.DefaultPageMargin.Right; +// +// this.availableFields = new AvailableFieldsCollection(); +// this.groupingsCollection = new GroupColumnCollection(); +// this.sortingCollection = new SortColumnCollection(); +// this.sqlParameters = new SqlParameterCollection(); +// this.parameterCollection = new ParameterCollection(); +// this.NoDataMessage = "No Data for this Report"; + } + + + private string reportName; + +// [Category("Base Settings")] +// [DefaultValueAttribute ("")] + public string ReportName + { + get { + if (string.IsNullOrEmpty(reportName)) { + reportName = Globals.GlobalValues.DefaultReportName; + } + return reportName; + } + set { + if (reportName != value) { + reportName = value; + } + } + } + + +// [Category("Page Settings")] + public Size PageSize {get;set;} + } +} diff --git a/src/AddIns/Misc/Reporting/Src/ReportingFactory.cs b/src/AddIns/Misc/Reporting/Src/ReportingFactory.cs new file mode 100644 index 0000000000..b33ba3f96f --- /dev/null +++ b/src/AddIns/Misc/Reporting/Src/ReportingFactory.cs @@ -0,0 +1,50 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 17.03.2013 + * Time: 17:09 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using System.IO; +using System.Xml; + +using ICSharpCode.Reporting.Items; +using ICSharpCode.Reporting.Xml; + +namespace ICSharpCode.Reporting +{ + /// + /// Description of Reporting. + /// + public class ReportingFactory + { + public ReportingFactory() + { + } + + + public ReportModel LoadReport (Stream stream) + { + Console.WriteLine("ReportEngine:LoadReportModel_2"); + var doc = new XmlDocument(); + doc.Load(stream); + var rm = LoadModel(doc); + return rm; + } + + static ReportModel LoadModel(XmlDocument doc) + { + Console.WriteLine("ReportEngine:LoadModel"); + var loader = new ModelLoader(); + object root = loader.Load(doc.DocumentElement); + + var model = root as ReportModel; + if (model == null) { +// throw new IllegalFileFormatException("ReportModel"); + } + return model; + } + } +} diff --git a/src/AddIns/Misc/Reporting/Src/Xml/ModelLoader.cs b/src/AddIns/Misc/Reporting/Src/Xml/ModelLoader.cs new file mode 100644 index 0000000000..be14882f74 --- /dev/null +++ b/src/AddIns/Misc/Reporting/Src/Xml/ModelLoader.cs @@ -0,0 +1,30 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 19.03.2013 + * Time: 20:13 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using ICSharpCode.Reporting.Items; + +namespace ICSharpCode.Reporting.Xml +{ + /// + /// Description of ModelLoader. + /// + public class ModelLoader: MycroParser + { + + protected override Type GetTypeByName(string ns, string name) + { +// var b = typeof(BaseSection).Assembly.GetType("ICSharpCode.Reporting.Items" + "." + name); + var s = typeof(BaseSection).Assembly.GetType(typeof(BaseSection).Namespace + "." + name); + Console.WriteLine("getTypeByname <{0}>",s.Name); + return typeof(BaseSection).Assembly.GetType(typeof(BaseSection).Namespace + "." + name); + + } + + } +} diff --git a/src/AddIns/Misc/Reporting/Src/Xml/MycroParser.cs b/src/AddIns/Misc/Reporting/Src/Xml/MycroParser.cs new file mode 100644 index 0000000000..078f64a880 --- /dev/null +++ b/src/AddIns/Misc/Reporting/Src/Xml/MycroParser.cs @@ -0,0 +1,235 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 19.03.2013 + * Time: 20:14 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using System.ComponentModel; +using System.Diagnostics; +using System.Collections; +using System.Collections.Generic; +using System.Xml; +using System.Reflection; + +namespace ICSharpCode.Reporting.Xml +{ + /// + /// Description of MycroParser. + /// + public interface IMycroXaml + { + void Initialize(object parent); + object ReturnedObject + { + get; + } + } + + /// + /// See http://www.codeproject.com/dotnet/MycroXaml.asp + /// + public abstract class MycroParser + { + public object Load(XmlElement element) + { + return ProcessNode(element, null); + } + + protected abstract Type GetTypeByName(string ns, string name); + + protected object ProcessNode(XmlNode node, object parent) + { + object ret=null; + if (node is XmlElement) + { + // instantiate the class + string ns=node.Prefix; + string cname=node.LocalName; + Console.WriteLine ("ProcessNode(XmlNode node, object parent) {0}",cname); + Type t=GetTypeByName(ns, cname); + if (t == null) { + Console.WriteLine("\t Not found {0}",t.FullName); +// t = GetTypeByName (ns,"ErrorItem"); + } + + 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); + try + { + ret=Activator.CreateInstance(t); + } + catch(Exception e) + { + Trace.Fail("Type "+cname+" could not be instantiated:\r\n"+e.Message); + } + + // support the ISupportInitialize interface + if (ret is ISupportInitialize) { + ((ISupportInitialize)ret).BeginInit(); + } + + // If the instance implements the IMicroXaml interface, then it may need + // access to the parser. + if (ret is IMycroXaml) { + ((IMycroXaml)ret).Initialize(parent); + } + + // implements the class-property-class model + ProcessAttributes(node, ret, t); + ProcessChildProperties(node, ret); + + // support the ISupportInitialize interface + if (ret is ISupportInitialize) { + ((ISupportInitialize)ret).EndInit(); + } + + // If the instance implements the IMicroXaml interface, then it has the option + // to return an object that replaces the instance created by the parser. + if (ret is IMycroXaml) { + ret=((IMycroXaml)ret).ReturnedObject; + } + + } + return ret; + } + + protected void ProcessChildProperties(XmlNode node, object parent) + { + Type t=parent.GetType(); + + // children of a class must always be properties + foreach(XmlNode child in node.ChildNodes) + { + if (child is XmlElement) + { + string pname=child.LocalName; + PropertyInfo pi=t.GetProperty(pname); + + if (pi==null) + { + // Special case--we're going to assume that the child is a class instance + // not associated with the parent object +// Trace.Fail("Unsupported property: "+pname); + System.Console.WriteLine("Unsupported property: "+pname); + continue; + } + + // a property can only have one child node unless it's a collection + foreach(XmlNode grandChild in child.ChildNodes) + { + if (grandChild is XmlText) { + SetPropertyToString(parent, pi, child.InnerText); + break; + } + else if (grandChild is XmlElement) + { + object propObject=pi.GetValue(parent, null); + object obj=ProcessNode(grandChild, propObject); + + // A null return is valid in cases where a class implementing the IMicroXaml interface + // might want to take care of managing the instance it creates itself. See DataBinding + if (obj != null) + { + + // support for ICollection objects + if (propObject is ICollection) + { + MethodInfo mi=t.GetMethod("Add", new Type[] {obj.GetType()}); + if (mi != null) + { + try + { + mi.Invoke(obj, new object[] {obj}); + } + catch(Exception e) + { + Trace.Fail("Adding to collection failed:\r\n"+e.Message); + } + } + else if (propObject is IList) + { + try + { + ((IList)propObject).Add(obj); + } + catch(Exception e) + { + Trace.Fail("List/Collection add failed:\r\n"+e.Message); + } + } + } + else if (!pi.CanWrite) { + Trace.Fail("Unsupported read-only property: "+pname); + } + else + { + // direct assignment if not a collection + try + { + pi.SetValue(parent, obj, null); + } + catch(Exception e) + { + Trace.Fail("Property setter for "+pname+" failed:\r\n"+e.Message); + } + } + } + } + } + } + } + } + + protected void ProcessAttributes(XmlNode node, object ret, Type type) + { + // process attributes + foreach(XmlAttribute attr in node.Attributes) + { + string pname=attr.Name; + string pvalue=attr.Value; + + // it's either a property or an event + PropertyInfo pi=type.GetProperty(pname); + + if (pi != null) + { + // it's a property! + SetPropertyToString(ret, pi, pvalue); + } + else + { + // who knows what it is??? + Trace.Fail("Failed acquiring property information for "+pname); + } + } + } + + void SetPropertyToString(object obj, PropertyInfo pi, string value) + { + Console.WriteLine("MP - SetPropertyToString {0} - {1}",pi.Name,value.ToString()); + // it's string, so use a type converter. + TypeConverter tc=TypeDescriptor.GetConverter(pi.PropertyType); + try + { + if (tc.CanConvertFrom(typeof(string))) + { + object val=tc.ConvertFromInvariantString(value); + pi.SetValue(obj, val, null); + } else if (pi.PropertyType == typeof(Type)) { + pi.SetValue(obj, Type.GetType(value), null); + } + } + catch(Exception e) + { + String s = String.Format("Property setter for {0} failed {1}\r\n",pi.Name, + e.Message); + System.Console.WriteLine("MycroParser : {0}",s); + } + } + + } +} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/AbstractReportGenerator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/AbstractReportGenerator.cs index 996361f46a..c3908baaad 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/AbstractReportGenerator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/AbstractReportGenerator.cs @@ -43,7 +43,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard private ColumnCollection groupColumnCollection; - protected AbstractReportGenerator(ReportModel reportModel,Properties properties) + protected AbstractReportGenerator(ReportModel reportModel,ReportStructure properties) { if (reportModel == null) { throw new ArgumentNullException("reportModel"); @@ -52,11 +52,12 @@ namespace ICSharpCode.Reports.Addin.ReportWizard if (properties == null) { throw new ArgumentNullException("customizer"); } - throw new NotImplementedException("Fix me AbstractReportGenerator"); + this.ReportModel = reportModel; - this.Properties = properties; +// this.Properties = properties; // ReportStructure = (ReportStructure)properties.Get("Generator"); - +// ReportStructure = (ReportStructure)base.CustomizationObject; + ReportStructure = properties; this.AvailableFieldsCollection.Clear(); this.ReportItemCollection.Clear(); this.GroupColumnCollection.Clear(); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GenerateFormSheetReport.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GenerateFormSheetReport.cs index a77a3f4787..309ae125cd 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GenerateFormSheetReport.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GenerateFormSheetReport.cs @@ -16,7 +16,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard public class GenerateFormSheetReport:GeneratePlainReport { public GenerateFormSheetReport(ReportModel reportModel, - Properties customizer):base(reportModel,customizer) + ReportStructure customizer):base(reportModel,customizer) { if (reportModel == null) { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratePlainReport.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratePlainReport.cs index 5a3d0ddca4..6d17462a9b 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratePlainReport.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratePlainReport.cs @@ -15,7 +15,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard public class GeneratePlainReport:AbstractReportGenerator { - public GeneratePlainReport(ReportModel reportModel,Properties customizer):base(reportModel,customizer) + public GeneratePlainReport(ReportModel reportModel,ReportStructure customizer):base(reportModel,customizer) { if (reportModel == null) { throw new ArgumentNullException("reportModel"); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratePullDataReport.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratePullDataReport.cs index ebcc2a6f40..0d79dcb033 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratePullDataReport.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratePullDataReport.cs @@ -17,7 +17,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard public GeneratePullDataReport(ReportModel reportModel, - Properties properties):base(reportModel,properties) + ReportStructure properties):base(reportModel,properties) { if (reportModel == null) { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratePushDataReport.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratePushDataReport.cs index 7ddb547aa2..a41d1fa653 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratePushDataReport.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratePushDataReport.cs @@ -25,7 +25,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard /// Default constructor - initializes all fields to default values /// public GeneratePushDataReport(ReportModel reportModel, - Properties properties):base(reportModel,properties) + ReportStructure properties):base(reportModel,properties) { base.UpdateGenerator(); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratorFactory.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratorFactory.cs index 245c2558eb..9fed8d54ae 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratorFactory.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratorFactory.cs @@ -35,18 +35,18 @@ namespace ICSharpCode.Reports.Addin.ReportWizard public static class GeneratorFactory { - public static IReportGenerator Create (ReportModel model, - Properties customizer) + public static IReportGenerator Create (ReportModel model,ReportStructure customizer) + { IReportGenerator reportGenerator = null; switch (model.DataModel) { - case GlobalEnums.PushPullModel.PullData: - reportGenerator = new GeneratePullDataReport(model,customizer); - - break; - case GlobalEnums.PushPullModel.PushData: - reportGenerator = new GeneratePushDataReport(model,customizer); - break; +// case GlobalEnums.PushPullModel.PullData: +// reportGenerator = new GeneratePullDataReport(model,customizer); +// +// break; +// case GlobalEnums.PushPullModel.PushData: +// reportGenerator = new GeneratePushDataReport(model,customizer); +// break; case GlobalEnums.PushPullModel.FormSheet: reportGenerator = new GenerateFormSheetReport (model,customizer); break; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportWizardCommand.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportWizardCommand.cs index 012ea49517..39dc552598 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportWizardCommand.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportWizardCommand.cs @@ -23,7 +23,6 @@ namespace ICSharpCode.Reports.Addin.ReportWizard private OpenedFile file; private ReportModel reportModel; private IReportGenerator reportGenerator; - private Properties customizer = new Properties(); private ReportStructure reportStructure; private bool canceled; @@ -37,15 +36,12 @@ namespace ICSharpCode.Reports.Addin.ReportWizard public override void Run() { reportStructure = new ReportStructure(); - customizer.Set("Generator", reportStructure); - customizer.Set("ReportLayout",GlobalEnums.ReportLayout.ListLayout); - if (GlobalValues.IsValidPrinter() == true) { - using (WizardDialog wizard = new WizardDialog("Report Wizard", customizer, WizardPath)) { + using (WizardDialog wizard = new WizardDialog("Report Wizard", reportStructure, WizardPath)) { if (wizard.ShowDialog() == DialogResult.OK) { reportModel = reportStructure.CreateAndFillReportModel (); - CreateReportFromModel(reportModel); + CreateReportFromModel(reportModel,reportStructure); } else{ this.canceled = true; @@ -57,7 +53,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard } - private void CreateReportFromModel (ReportModel model) + private void CreateReportFromModel (ReportModel model,ReportStructure customizer) { reportGenerator = GeneratorFactory.Create (model,customizer); file.MakeDirty(); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/BaseSettingsPanel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/BaseSettingsPanel.cs index 4ef916ba7c..1c313c7c5a 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/BaseSettingsPanel.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/BaseSettingsPanel.cs @@ -42,9 +42,8 @@ namespace ICSharpCode.Reports.Addin.ReportWizard{ private RadioButton radioStandardLayout; private RadioButton radioLandscape; - ReportStructure generator; - Properties customizer; - + ReportStructure reportStructure; + bool initDone; public BaseSettingsPanel(){ @@ -157,36 +156,35 @@ namespace ICSharpCode.Reports.Addin.ReportWizard{ private void UpdateGenerator () { - if (customizer == null) { - customizer = (Properties)base.CustomizationObject; -// generator = (ReportStructure)customizer.Get("Generator"); + if (reportStructure == null) { + reportStructure = (ReportStructure)base.CustomizationObject; } - generator.ReportName = txtReportName.Text; + reportStructure.ReportName = txtReportName.Text; if (!this.txtFileName.Text.EndsWith(GlobalValues.ReportExtension,StringComparison.OrdinalIgnoreCase)){ - generator.FileName = txtFileName.Text + GlobalValues.ReportExtension; + reportStructure.FileName = txtFileName.Text + GlobalValues.ReportExtension; } else { - generator.FileName = txtFileName.Text; + reportStructure.FileName = txtFileName.Text; } - generator.Path = this.txtPath.Text; - generator.GraphicsUnit = (GraphicsUnit)Enum.Parse(typeof(GraphicsUnit), + reportStructure.Path = this.txtPath.Text; + reportStructure.GraphicsUnit = (GraphicsUnit)Enum.Parse(typeof(GraphicsUnit), this.cboGraphicsUnit.Text); if (this.radioPullModell.Checked == true) { base.NextWizardPanelID = "PullModel"; - generator.DataModel = GlobalEnums.PushPullModel.PullData; + reportStructure.DataModel = GlobalEnums.PushPullModel.PullData; GoOn(); } else if (this.radioPushModell.Checked == true){ base.NextWizardPanelID = "PushModel"; - generator.DataModel = GlobalEnums.PushPullModel.PushData; + reportStructure.DataModel = GlobalEnums.PushPullModel.PushData; GoOn(); } else if (this.radioFormSheet.Checked == true){ - generator.DataModel = GlobalEnums.PushPullModel.FormSheet; + reportStructure.DataModel = GlobalEnums.PushPullModel.FormSheet; base.EnableNext = false; base.IsLastPanel = true; } - generator.Landscape = this.radioLandscape.Checked; + reportStructure.Landscape = this.radioLandscape.Checked; } @@ -196,22 +194,19 @@ namespace ICSharpCode.Reports.Addin.ReportWizard{ if (this.radioPullModell.Checked == true) { base.NextWizardPanelID = "PullModel"; - generator.DataModel = GlobalEnums.PushPullModel.PullData; + reportStructure.DataModel = GlobalEnums.PushPullModel.PullData; GoOn(); } else if (this.radioPushModell.Checked == true){ base.NextWizardPanelID = "PushModel"; - generator.DataModel = GlobalEnums.PushPullModel.PushData; + reportStructure.DataModel = GlobalEnums.PushPullModel.PushData; GoOn(); } else if (this.radioFormSheet.Checked == true){ -// generator.DataModel = GlobalEnums.PushPullModel.FormSheet; base.EnableNext = false; base.IsLastPanel = true; } else if(this.radioStandardLayout.Checked == true) { - - generator.Landscape = false; - + reportStructure.Landscape = false; } else if(this.radioLandscape.Checked == true) { - generator.Landscape = true; + reportStructure.Landscape = true; } base.EnableFinish = true; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/LayoutPanel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/LayoutPanel.cs index 181cd92ced..04b5a65583 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/LayoutPanel.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/LayoutPanel.cs @@ -15,7 +15,6 @@ namespace ICSharpCode.Reports.Addin.ReportWizard public class LayoutPanel: AbstractWizardPanel { private LayoutPanelControl layoutControl; - private Properties customizer; private ReportStructure reportStructure; public LayoutPanel() @@ -37,21 +36,15 @@ namespace ICSharpCode.Reports.Addin.ReportWizard base.IsLastPanel = true; base.EnablePrevious = true; - if (customizer == null) { - customizer = (Properties)base.CustomizationObject; + if (reportStructure == null) { + reportStructure = (ReportStructure)base.CustomizationObject; } - if (message == DialogMessage.Activated) { - -// this.layoutControl.ReportLayout = (GlobalEnums.ReportLayout)customizer.Get("ReportLayout"); -// reportStructure = (ReportStructure)customizer.Get("Generator"); layoutControl.AvailableFieldsCollection = reportStructure.AvailableFieldsCollection; } else if (message == DialogMessage.Finish) { -// customizer.Set ("ReportLayout",this.layoutControl.ReportLayout); -// var reportStructure = (ReportStructure)customizer.Get("Generator"); reportStructure.Grouping = layoutControl.GroupName; } return true; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PullModelPanel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PullModelPanel.cs index f6fbb04fa3..c2d8724f6e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PullModelPanel.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PullModelPanel.cs @@ -28,8 +28,9 @@ namespace ICSharpCode.Reports.Addin.ReportWizard private System.Windows.Forms.Label label3; private bool firstDrag; private string connectionString; + private ReportStructure reportStructure; - private Properties customizer; + private IDatabaseObjectBase currentNode; private ElementHost databasesTreeHost; private DatabasesTreeView databasesTree; @@ -76,15 +77,13 @@ namespace ICSharpCode.Reports.Addin.ReportWizard public override bool ReceiveDialogMessage(DialogMessage message) { - if (customizer == null) { - customizer = (Properties)base.CustomizationObject; -// reportStructure = (ReportStructure)customizer.Get("Generator"); + if (reportStructure == null) { + reportStructure = (ReportStructure)base.CustomizationObject; } if (message == DialogMessage.Next) { - customizer.Set("SqlString", this.txtSqlString.Text.Trim()); - reportStructure.SqlString = this.txtSqlString.Text.Trim(); reportStructure.ConnectionString = connectionString; + reportStructure.SqlString = this.txtSqlString.Text.Trim(); base.EnableFinish = true; } return true; @@ -165,6 +164,8 @@ namespace ICSharpCode.Reports.Addin.ReportWizard this.txtSqlString.Clear(); ITable table = draggedObject as ITable; this.txtSqlString.Text = "SELECT * FROM " + table.Name; +// reportStructure.CommandType = CommandType.Text; +// reportStructure.IDatabaseObjectBase = table; reportStructure.CommandType = CommandType.Text; reportStructure.IDatabaseObjectBase = table; break; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PushModelPanel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PushModelPanel.cs index 54ef336f3b..86e5ac468d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PushModelPanel.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PushModelPanel.cs @@ -23,10 +23,8 @@ namespace ICSharpCode.Reports.Addin.ReportWizard private System.Windows.Forms.Button btnPath; private System.Windows.Forms.CheckedListBox checkedListBox; private System.Windows.Forms.TextBox txtPath; - - private ReportStructure reportStructure; - private Properties customizer; private DataSet resultDataSet; + private ReportStructure reportStructure; public PushModelPanel() { @@ -84,13 +82,11 @@ namespace ICSharpCode.Reports.Addin.ReportWizard public override bool ReceiveDialogMessage(DialogMessage message) { - if (customizer == null) { - customizer = (Properties)base.CustomizationObject; -// reportStructure = (ReportStructure)customizer.Get("Generator"); - base.NextWizardPanelID = "Layout"; - } - - else if (message == DialogMessage.Activated) { +// if (customizer == null) { +// base.NextWizardPanelID = "Layout"; +// } + base.NextWizardPanelID = "Layout"; + if (message == DialogMessage.Activated) { WriteResult(); base.EnableNext = true; } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs index 9e67ffad28..27055a1ca4 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs @@ -36,7 +36,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard private System.Windows.Forms.TextBox txtSqlString; private ReportStructure reportStructure; - private Properties customizer; +// private Properties customizer; private ReportModel model; private ConnectionObject connectionObject; private DataSet resultDataSet; @@ -232,10 +232,12 @@ namespace ICSharpCode.Reports.Addin.ReportWizard public override bool ReceiveDialogMessage(DialogMessage message) { - if (customizer == null) { - customizer = (Properties)base.CustomizationObject; -// reportStructure = (ReportStructure)customizer.Get("Generator"); - } +// if (customizer == null) { +// customizer = (Properties)base.CustomizationObject; +//// reportStructure = (ReportStructure)customizer.Get("Generator"); +// } + reportStructure = (ReportStructure)base.CustomizationObject; + if (message == DialogMessage.Activated) { ShowData(); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/Wizard/WizardDialog.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/Wizard/WizardDialog.cs index f1a7c38fc1..aa1c9d948d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/Wizard/WizardDialog.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/Wizard/WizardDialog.cs @@ -31,6 +31,8 @@ namespace ICSharpCode.Reports.Addin.ReportWizard ArrayList wizardPanels = new ArrayList(); int activePanelNumber = 0; + ReportStructure reportStructure; + EventHandler enableNextChangedHandler; EventHandler enableCancelChangedHandler; EventHandler nextWizardPanelIDChangedHandler; @@ -184,14 +186,14 @@ namespace ICSharpCode.Reports.Addin.ReportWizard } - public WizardDialog(string title, object customizer, string treePath) + public WizardDialog(string title, ReportStructure reportStructure, string treePath) { - + this.reportStructure = reportStructure; AddInTreeNode node = AddInTree.GetTreeNode(treePath); this.Text = title; if (node != null) { - AddNodes(customizer, node.BuildChildItems(this)); + AddNodes(this.reportStructure, node.BuildChildItems(this)); } InitializeComponents(); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Designer/ReportDesignerDisplayBindingTestFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Designer/ReportDesignerDisplayBindingTestFixture.cs index b8d603c5f0..f20bb8853f 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Designer/ReportDesignerDisplayBindingTestFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Designer/ReportDesignerDisplayBindingTestFixture.cs @@ -49,7 +49,7 @@ namespace ICSharpCode.Reports.Addin.Test.Designer Assert.IsTrue(displayBinding.IsPreferredBindingForFile(filename)); } - + /* [Test] [Ignore] public void CanCreateContentFromFile () @@ -66,7 +66,7 @@ namespace ICSharpCode.Reports.Addin.Test.Designer //ICSharpCode.SharpDevelop.Gui.IViewContent v = displayBinding.CreateContentForFile(new MockOpenedFile("test.srd")); //Assert.IsNotNull(v,"View should not be 'null'"); } - + */ } } \ No newline at end of file diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/GeneratePlainReportFixture_1.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/GeneratePlainReportFixture_1.cs index 392a7ca3f7..1c140b02e0 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/GeneratePlainReportFixture_1.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/GeneratePlainReportFixture_1.cs @@ -18,6 +18,7 @@ namespace ICSharpCode.Reports.Addin.Test.Wizard [Ignore] public class GeneratePlainReportFixture { + /* [Test] public void GeneratePlainReport_1() @@ -50,6 +51,7 @@ namespace ICSharpCode.Reports.Addin.Test.Wizard } + [Test] public void CheckReportSettings () { @@ -83,7 +85,8 @@ namespace ICSharpCode.Reports.Addin.Test.Wizard } Assert.AreEqual (5,sq1.Count(),"Should be 5 times a 'BaseSection'"); } - + */ + /* private XmlDocument CreateXmlFromModel () { ReportModel model = ReportModel.Create(); @@ -94,5 +97,6 @@ namespace ICSharpCode.Reports.Addin.Test.Wizard generator.GenerateReport(); return generator.XmlReport; } + */ } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenarateListReportFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenarateListReportFixture.cs index d947fb4555..ca6cbce072 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenarateListReportFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenarateListReportFixture.cs @@ -9,6 +9,7 @@ using NUnit.Framework; namespace ICSharpCode.Reports.Addin.Test.Wizard.Generators { + /* [TestFixture] [Ignore] public class GenerateListReportFixture @@ -186,4 +187,5 @@ namespace ICSharpCode.Reports.Addin.Test.Wizard.Generators #endregion } + */ } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateFormsSheetReport.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateFormsSheetReport.cs index 0bcd36d5ec..8f3f855278 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateFormsSheetReport.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateFormsSheetReport.cs @@ -10,7 +10,7 @@ using NUnit.Framework; namespace ICSharpCode.Reports.Addin.Test.Wizard { - + /* [TestFixture] [Ignore] public class GenerateFormsSheetReportFixture @@ -93,4 +93,5 @@ namespace ICSharpCode.Reports.Addin.Test.Wizard this.model = this.CreateModel(); } } + */ } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateListWithGroupFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateListWithGroupFixture.cs index bafeb3470d..d257c0e2cc 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateListWithGroupFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateListWithGroupFixture.cs @@ -11,6 +11,7 @@ using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Core.Globals; using NUnit.Framework; +/* namespace ICSharpCode.Reports.Addin.Test.Wizard.Generators { /// @@ -95,3 +96,4 @@ namespace ICSharpCode.Reports.Addin.Test.Wizard.Generators #endregion } } +*/ \ No newline at end of file diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GeneratePlainReportFixture_2.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GeneratePlainReportFixture_2.cs index 4062292579..20da1fc3a6 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GeneratePlainReportFixture_2.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GeneratePlainReportFixture_2.cs @@ -71,7 +71,7 @@ namespace ICSharpCode.Reports.Addin.Test.Wizard Assert.AreEqual(0,s.Items.Count); } - + /* private ReportModel CreateModel() { ReportModel m = ReportModel.Create(); @@ -93,11 +93,11 @@ namespace ICSharpCode.Reports.Addin.Test.Wizard } return model; } - + [TestFixtureSetUp] public void CreateModels () { this.mockReportModel = CreateModel(); - } + } */ } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateTableReportFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateTableReportFixture.cs index 136dfe8ce6..9bf629c787 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateTableReportFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateTableReportFixture.cs @@ -11,6 +11,7 @@ using NUnit.Framework; namespace ICSharpCode.Reports.Addin.Test.Wizard.Generators { + /* [TestFixture] [Ignore] public class GenerateTableReportFixture @@ -136,4 +137,5 @@ namespace ICSharpCode.Reports.Addin.Test.Wizard.Generators #endregion } + */ } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateTableWithGrouping.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateTableWithGrouping.cs index 66f3cd3ef9..7adf8b2906 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateTableWithGrouping.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateTableWithGrouping.cs @@ -18,6 +18,7 @@ using NUnit.Framework; namespace ICSharpCode.Reports.Addin.Test.Wizard.Generators { + /* [TestFixture] [Ignore] public class GenertaeTableWithGroupFixture @@ -137,4 +138,5 @@ namespace ICSharpCode.Reports.Addin.Test.Wizard.Generators #endregion } + */ } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/ReportGenerationHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/ReportGenerationHelper.cs index 0b0d863d7b..c3ce8a50af 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/ReportGenerationHelper.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/ReportGenerationHelper.cs @@ -14,6 +14,8 @@ namespace ICSharpCode.Reports.Addin.Test.Wizard /// /// Description of ReportGenerationHelper. /// + /// + /* public class ReportGenerationHelper { public static ReportModel FormSheetModel() @@ -87,4 +89,5 @@ namespace ICSharpCode.Reports.Addin.Test.Wizard return structure; } } + */ } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/ReportStructureFixture.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/ReportStructureFixture.cs index 399070c618..34cd5dae99 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/ReportStructureFixture.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/ReportStructureFixture.cs @@ -9,6 +9,7 @@ using NUnit.Framework; namespace ICSharpCode.Reports.Addin.Test.Wizard { + /* [TestFixture] public class ReportStructureFixture { @@ -57,4 +58,5 @@ namespace ICSharpCode.Reports.Addin.Test.Wizard return m; } } + */ } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportModel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportModel.cs index 6f86f2bd49..62cf83796c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportModel.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportModel.cs @@ -9,7 +9,6 @@ using ICSharpCode.Reports.Core.Interfaces; namespace ICSharpCode.Reports.Core { - public class ReportModel :IReportModel, IDisposable { ReportSettings reportSettings ;