Browse Source

Modify Projectstructure, add basic classes and there test's

reports
Peter Forstmeier 12 years ago
parent
commit
55760d9058
  1. 22
      SharpDevelop.Tests.sln
  2. 23
      src/AddIns/Misc/ICSharpCode.Reporting.Tests/Factory/ReportingFactoryFixture.cs
  3. 75
      src/AddIns/Misc/ICSharpCode.Reporting.Tests/Model/LoadPlainModelFixture.cs
  4. 48
      src/AddIns/Misc/ICSharpCode.Reporting.Tests/Model/ReportModelFixture.cs
  5. 35
      src/AddIns/Misc/ICSharpCode.Reporting.Tests/Model/ReportSettingsFixture.cs
  6. 86
      src/AddIns/Misc/ICSharpCode.Reporting.Tests/TestReports/PlainModel.srd
  7. 13
      src/AddIns/Misc/Reporting/Configuration/AssemblyInfo.cs
  8. 69
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.csproj
  9. 26
      src/AddIns/Misc/Reporting/Src/Globals/GlobalEnums.cs
  10. 25
      src/AddIns/Misc/Reporting/Src/Globals/GlobalValues.cs
  11. 29
      src/AddIns/Misc/Reporting/Src/Interfaces/IReportModel.cs
  12. 22
      src/AddIns/Misc/Reporting/Src/Items/BaseSection.cs
  13. 100
      src/AddIns/Misc/Reporting/Src/Items/ReportModel.cs
  14. 80
      src/AddIns/Misc/Reporting/Src/Items/ReportSettings.cs
  15. 50
      src/AddIns/Misc/Reporting/Src/ReportingFactory.cs
  16. 30
      src/AddIns/Misc/Reporting/Src/Xml/ModelLoader.cs
  17. 235
      src/AddIns/Misc/Reporting/Src/Xml/MycroParser.cs
  18. 9
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/AbstractReportGenerator.cs
  19. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GenerateFormSheetReport.cs
  20. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratePlainReport.cs
  21. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratePullDataReport.cs
  22. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratePushDataReport.cs
  23. 18
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratorFactory.cs
  24. 10
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportWizardCommand.cs
  25. 39
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/BaseSettingsPanel.cs
  26. 11
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/LayoutPanel.cs
  27. 13
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PullModelPanel.cs
  28. 16
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PushModelPanel.cs
  29. 12
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/ResultPanel.cs
  30. 8
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/Wizard/WizardDialog.cs
  31. 4
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Designer/ReportDesignerDisplayBindingTestFixture.cs
  32. 6
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/GeneratePlainReportFixture_1.cs
  33. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenarateListReportFixture.cs
  34. 3
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateFormsSheetReport.cs
  35. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateListWithGroupFixture.cs
  36. 6
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GeneratePlainReportFixture_2.cs
  37. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateTableReportFixture.cs
  38. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/GenerateTableWithGrouping.cs
  39. 3
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/ReportGenerationHelper.cs
  40. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/ReportStructureFixture.cs
  41. 1
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportModel.cs

22
SharpDevelop.Tests.sln

@ -147,6 +147,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin",
EndProject 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}" 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 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}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Display Bindings", "Display Bindings", "{11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}"
ProjectSection(SolutionItems) = postProject ProjectSection(SolutionItems) = postProject
EndProjectSection EndProjectSection
@ -887,6 +891,22 @@ Global
{2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7}.Release|Any CPU.ActiveCfg = Release|Any CPU {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.Build.0 = Release|Any CPU
{2B232C7E-CFB6-4B73-A1B8-134A8A2ED4F7}.Release|x86.ActiveCfg = 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 EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
@ -950,6 +970,8 @@ Global
{E16B73CA-3603-47EE-915E-6F8B2A07304B} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} {E16B73CA-3603-47EE-915E-6F8B2A07304B} = {F3662720-9EA2-4591-BBC6-97361DCE50A9}
{35D002D7-C78B-44FB-92AA-104BEB431678} = {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} {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} {6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B}
{0008FCE9-9EB4-4E2E-979B-553278E5BBA6} = {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} {AE4AB0FA-6087-4480-AF37-0FA1452B3DA1} = {485A4CCF-55CF-49F4-BD6D-A22B788C67DA}

23
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.
}
}
}

75
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);
}
}
}

48
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();
}
}
}

35
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);
}
}
}

86
src/AddIns/Misc/ICSharpCode.Reporting.Tests/TestReports/PlainModel.srd

@ -0,0 +1,86 @@
<?xml version="1.0" encoding="utf-8"?>
<ReportModel>
<ReportSettings>
<ReportSettings>
<DefaultFont>Microsoft Sans Serif, 10pt</DefaultFont>
<DataModel>FormSheet</DataModel>
<FileName>D:\SharpDevelop3.0_CHECKOUT\SharpDevelop\bin\Raaaaaeport1.srd</FileName>
<RightMargin>50</RightMargin>
<UseStandardPrinter>True</UseStandardPrinter>
<SortColumnCollection />
<AvailableFieldsCollection />
<NoDataMessage>No Data for this Report</NoDataMessage>
<LeftMargin>50</LeftMargin>
<PageSize>827, 1169</PageSize>
<Padding>5, 5, 5, 5</Padding>
<BottomMargin>50</BottomMargin>
<CommandType>Text</CommandType>
<ParameterCollection />
<Landscape>False</Landscape>
<ReportName>Report1</ReportName>
<TopMargin>50</TopMargin>
<GroupColumnsCollection />
<GraphicsUnit>Millimeter</GraphicsUnit>
<CommandText />
<ReportType>FormSheet</ReportType>
<ConnectionString />
</ReportSettings>
</ReportSettings>
<SectionCollection>
<BaseSection>
<Size>727, 60</Size>
<Name>ReportHeader</Name>
<PageBreakAfter>False</PageBreakAfter>
<SectionMargin>0</SectionMargin>
<SectionOffset>0</SectionOffset>
<BackColor>White</BackColor>
<Items />
<Location>50, 50</Location>
<DrawBorder>False</DrawBorder>
</BaseSection>
<BaseSection>
<Size>727, 60</Size>
<Name>ReportPageHeader</Name>
<PageBreakAfter>False</PageBreakAfter>
<SectionMargin>0</SectionMargin>
<SectionOffset>0</SectionOffset>
<BackColor>White</BackColor>
<Items />
<Location>50, 125</Location>
<DrawBorder>False</DrawBorder>
</BaseSection>
<BaseSection>
<Size>727, 60</Size>
<Name>ReportDetail</Name>
<PageBreakAfter>False</PageBreakAfter>
<SectionMargin>0</SectionMargin>
<SectionOffset>0</SectionOffset>
<BackColor>White</BackColor>
<Items />
<Location>50, 200</Location>
<DrawBorder>False</DrawBorder>
</BaseSection>
<BaseSection>
<Size>727, 60</Size>
<Name>ReportPageFooter</Name>
<PageBreakAfter>False</PageBreakAfter>
<SectionMargin>0</SectionMargin>
<SectionOffset>0</SectionOffset>
<BackColor>White</BackColor>
<Items />
<Location>50, 275</Location>
<DrawBorder>False</DrawBorder>
</BaseSection>
<BaseSection>
<Size>727, 60</Size>
<Name>ReportFooter</Name>
<PageBreakAfter>False</PageBreakAfter>
<SectionMargin>0</SectionMargin>
<SectionOffset>0</SectionOffset>
<BackColor>White</BackColor>
<Items />
<Location>50, 350</Location>
<DrawBorder>False</DrawBorder>
</BaseSection>
</SectionCollection>
</ReportModel>

13
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")]

69
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.csproj

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
<PropertyGroup>
<ProjectGuid>{40CA84D4-ACFC-4646-9CDD-B87262D34093}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<OutputType>Library</OutputType>
<RootNamespace>ICSharpCode.Reporting</RootNamespace>
<AssemblyName>ICSharpCode.Reporting</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Client</TargetFrameworkProfile>
<AppDesignerFolder>Properties</AppDesignerFolder>
</PropertyGroup>
<PropertyGroup Condition=" '$(Platform)' == 'AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<OutputPath>bin\Debug\</OutputPath>
<DebugSymbols>True</DebugSymbols>
<DebugType>Full</DebugType>
<Optimize>False</Optimize>
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
<DefineConstants>DEBUG;TRACE</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<OutputPath>bin\Release\</OutputPath>
<DebugSymbols>False</DebugSymbols>
<DebugType>None</DebugType>
<Optimize>True</Optimize>
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
<DefineConstants>TRACE</DefineConstants>
</PropertyGroup>
<ItemGroup>
<Reference Include="NUnit.Framework">
<HintPath>$(SharpDevelopBinPath)\Tools\NUnit\NUnit.Framework.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Drawing" />
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Configuration\AssemblyInfo.cs" />
<Compile Include="Src\Items\BaseSection.cs" />
<Compile Include="Src\Globals\GlobalEnums.cs" />
<Compile Include="Src\Globals\GlobalValues.cs" />
<Compile Include="Src\Interfaces\IReportModel.cs" />
<Compile Include="Src\Items\ReportModel.cs" />
<Compile Include="Src\Items\ReportSettings.cs" />
<Compile Include="Src\ReportingFactory.cs" />
<Compile Include="Src\Xml\ModelLoader.cs" />
<Compile Include="Src\Xml\MycroParser.cs" />
</ItemGroup>
<ItemGroup>
<Folder Include="Src\Model" />
<Folder Include="Src\Interfaces" />
<Folder Include="Src\Globals" />
<Folder Include="Src" />
<Folder Include="Src" />
<Folder Include="Src\Items" />
<Folder Include="Src\Xml" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

26
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
{
/// <summary>
/// Description of GlobalEnums.
/// </summary>
internal sealed class GlobalEnums
{
internal enum ReportSection {
ReportHeader,
ReportPageHeader,
ReportDetail,
ReportPageFooter,
ReportFooter
}
}
}

25
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
{
/// <summary>
/// Description of GlobalValues.
/// </summary>
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);}}
}
}

29
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
{
/// <summary>
/// Description of IReportModel.
/// </summary>
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;}
*/
}
}

22
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
{
/// <summary>
/// Description of BaseSection.
/// </summary>
public class BaseSection
{
public BaseSection()
{
}
}
}

100
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
{
/// <summary>
/// Description of ReportModel.
/// </summary>
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;
}
}
}
}

80
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
{
/// <summary>
/// Description of ReportSettings.
/// </summary>
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;}
}
}

50
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
{
/// <summary>
/// Description of Reporting.
/// </summary>
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;
}
}
}

30
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
{
/// <summary>
/// Description of ModelLoader.
/// </summary>
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);
}
}
}

235
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
{
/// <summary>
/// Description of MycroParser.
/// </summary>
public interface IMycroXaml
{
void Initialize(object parent);
object ReturnedObject
{
get;
}
}
/// <summary>
/// See http://www.codeproject.com/dotnet/MycroXaml.asp
/// </summary>
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);
}
}
}
}

9
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/AbstractReportGenerator.cs

@ -43,7 +43,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
private ColumnCollection groupColumnCollection; private ColumnCollection groupColumnCollection;
protected AbstractReportGenerator(ReportModel reportModel,Properties properties) protected AbstractReportGenerator(ReportModel reportModel,ReportStructure properties)
{ {
if (reportModel == null) { if (reportModel == null) {
throw new ArgumentNullException("reportModel"); throw new ArgumentNullException("reportModel");
@ -52,11 +52,12 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
if (properties == null) { if (properties == null) {
throw new ArgumentNullException("customizer"); throw new ArgumentNullException("customizer");
} }
throw new NotImplementedException("Fix me AbstractReportGenerator");
this.ReportModel = reportModel; this.ReportModel = reportModel;
this.Properties = properties; // this.Properties = properties;
// ReportStructure = (ReportStructure)properties.Get("Generator"); // ReportStructure = (ReportStructure)properties.Get("Generator");
// ReportStructure = (ReportStructure)base.CustomizationObject;
ReportStructure = properties;
this.AvailableFieldsCollection.Clear(); this.AvailableFieldsCollection.Clear();
this.ReportItemCollection.Clear(); this.ReportItemCollection.Clear();
this.GroupColumnCollection.Clear(); this.GroupColumnCollection.Clear();

2
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 class GenerateFormSheetReport:GeneratePlainReport
{ {
public GenerateFormSheetReport(ReportModel reportModel, public GenerateFormSheetReport(ReportModel reportModel,
Properties customizer):base(reportModel,customizer) ReportStructure customizer):base(reportModel,customizer)
{ {
if (reportModel == null) { if (reportModel == null) {

2
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 class GeneratePlainReport:AbstractReportGenerator
{ {
public GeneratePlainReport(ReportModel reportModel,Properties customizer):base(reportModel,customizer) public GeneratePlainReport(ReportModel reportModel,ReportStructure customizer):base(reportModel,customizer)
{ {
if (reportModel == null) { if (reportModel == null) {
throw new ArgumentNullException("reportModel"); throw new ArgumentNullException("reportModel");

2
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, public GeneratePullDataReport(ReportModel reportModel,
Properties properties):base(reportModel,properties) ReportStructure properties):base(reportModel,properties)
{ {
if (reportModel == null) { if (reportModel == null) {

2
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 /// Default constructor - initializes all fields to default values
/// </summary> /// </summary>
public GeneratePushDataReport(ReportModel reportModel, public GeneratePushDataReport(ReportModel reportModel,
Properties properties):base(reportModel,properties) ReportStructure properties):base(reportModel,properties)
{ {
base.UpdateGenerator(); base.UpdateGenerator();

18
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 class GeneratorFactory
{ {
public static IReportGenerator Create (ReportModel model, public static IReportGenerator Create (ReportModel model,ReportStructure customizer)
Properties customizer)
{ {
IReportGenerator reportGenerator = null; IReportGenerator reportGenerator = null;
switch (model.DataModel) { switch (model.DataModel) {
case GlobalEnums.PushPullModel.PullData: // case GlobalEnums.PushPullModel.PullData:
reportGenerator = new GeneratePullDataReport(model,customizer); // reportGenerator = new GeneratePullDataReport(model,customizer);
//
break; // break;
case GlobalEnums.PushPullModel.PushData: // case GlobalEnums.PushPullModel.PushData:
reportGenerator = new GeneratePushDataReport(model,customizer); // reportGenerator = new GeneratePushDataReport(model,customizer);
break; // break;
case GlobalEnums.PushPullModel.FormSheet: case GlobalEnums.PushPullModel.FormSheet:
reportGenerator = new GenerateFormSheetReport (model,customizer); reportGenerator = new GenerateFormSheetReport (model,customizer);
break; break;

10
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportWizardCommand.cs

@ -23,7 +23,6 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
private OpenedFile file; private OpenedFile file;
private ReportModel reportModel; private ReportModel reportModel;
private IReportGenerator reportGenerator; private IReportGenerator reportGenerator;
private Properties customizer = new Properties();
private ReportStructure reportStructure; private ReportStructure reportStructure;
private bool canceled; private bool canceled;
@ -37,15 +36,12 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
public override void Run() public override void Run()
{ {
reportStructure = new ReportStructure(); reportStructure = new ReportStructure();
customizer.Set("Generator", reportStructure);
customizer.Set("ReportLayout",GlobalEnums.ReportLayout.ListLayout);
if (GlobalValues.IsValidPrinter() == true) { 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) { if (wizard.ShowDialog() == DialogResult.OK) {
reportModel = reportStructure.CreateAndFillReportModel (); reportModel = reportStructure.CreateAndFillReportModel ();
CreateReportFromModel(reportModel); CreateReportFromModel(reportModel,reportStructure);
} }
else{ else{
this.canceled = true; 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); reportGenerator = GeneratorFactory.Create (model,customizer);
file.MakeDirty(); file.MakeDirty();

39
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 radioStandardLayout;
private RadioButton radioLandscape; private RadioButton radioLandscape;
ReportStructure generator; ReportStructure reportStructure;
Properties customizer;
bool initDone; bool initDone;
public BaseSettingsPanel(){ public BaseSettingsPanel(){
@ -157,36 +156,35 @@ namespace ICSharpCode.Reports.Addin.ReportWizard{
private void UpdateGenerator () private void UpdateGenerator ()
{ {
if (customizer == null) { if (reportStructure == null) {
customizer = (Properties)base.CustomizationObject; reportStructure = (ReportStructure)base.CustomizationObject;
// generator = (ReportStructure)customizer.Get("Generator");
} }
generator.ReportName = txtReportName.Text; reportStructure.ReportName = txtReportName.Text;
if (!this.txtFileName.Text.EndsWith(GlobalValues.ReportExtension,StringComparison.OrdinalIgnoreCase)){ if (!this.txtFileName.Text.EndsWith(GlobalValues.ReportExtension,StringComparison.OrdinalIgnoreCase)){
generator.FileName = txtFileName.Text + GlobalValues.ReportExtension; reportStructure.FileName = txtFileName.Text + GlobalValues.ReportExtension;
} else { } else {
generator.FileName = txtFileName.Text; reportStructure.FileName = txtFileName.Text;
} }
generator.Path = this.txtPath.Text; reportStructure.Path = this.txtPath.Text;
generator.GraphicsUnit = (GraphicsUnit)Enum.Parse(typeof(GraphicsUnit), reportStructure.GraphicsUnit = (GraphicsUnit)Enum.Parse(typeof(GraphicsUnit),
this.cboGraphicsUnit.Text); this.cboGraphicsUnit.Text);
if (this.radioPullModell.Checked == true) { if (this.radioPullModell.Checked == true) {
base.NextWizardPanelID = "PullModel"; base.NextWizardPanelID = "PullModel";
generator.DataModel = GlobalEnums.PushPullModel.PullData; reportStructure.DataModel = GlobalEnums.PushPullModel.PullData;
GoOn(); GoOn();
} else if (this.radioPushModell.Checked == true){ } else if (this.radioPushModell.Checked == true){
base.NextWizardPanelID = "PushModel"; base.NextWizardPanelID = "PushModel";
generator.DataModel = GlobalEnums.PushPullModel.PushData; reportStructure.DataModel = GlobalEnums.PushPullModel.PushData;
GoOn(); GoOn();
} else if (this.radioFormSheet.Checked == true){ } else if (this.radioFormSheet.Checked == true){
generator.DataModel = GlobalEnums.PushPullModel.FormSheet; reportStructure.DataModel = GlobalEnums.PushPullModel.FormSheet;
base.EnableNext = false; base.EnableNext = false;
base.IsLastPanel = true; 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) { if (this.radioPullModell.Checked == true) {
base.NextWizardPanelID = "PullModel"; base.NextWizardPanelID = "PullModel";
generator.DataModel = GlobalEnums.PushPullModel.PullData; reportStructure.DataModel = GlobalEnums.PushPullModel.PullData;
GoOn(); GoOn();
} else if (this.radioPushModell.Checked == true){ } else if (this.radioPushModell.Checked == true){
base.NextWizardPanelID = "PushModel"; base.NextWizardPanelID = "PushModel";
generator.DataModel = GlobalEnums.PushPullModel.PushData; reportStructure.DataModel = GlobalEnums.PushPullModel.PushData;
GoOn(); GoOn();
} else if (this.radioFormSheet.Checked == true){ } else if (this.radioFormSheet.Checked == true){
// generator.DataModel = GlobalEnums.PushPullModel.FormSheet;
base.EnableNext = false; base.EnableNext = false;
base.IsLastPanel = true; base.IsLastPanel = true;
} else if(this.radioStandardLayout.Checked == true) { } else if(this.radioStandardLayout.Checked == true) {
reportStructure.Landscape = false;
generator.Landscape = false;
} else if(this.radioLandscape.Checked == true) { } else if(this.radioLandscape.Checked == true) {
generator.Landscape = true; reportStructure.Landscape = true;
} }
base.EnableFinish = true; base.EnableFinish = true;

11
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 public class LayoutPanel: AbstractWizardPanel
{ {
private LayoutPanelControl layoutControl; private LayoutPanelControl layoutControl;
private Properties customizer;
private ReportStructure reportStructure; private ReportStructure reportStructure;
public LayoutPanel() public LayoutPanel()
@ -37,21 +36,15 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
base.IsLastPanel = true; base.IsLastPanel = true;
base.EnablePrevious = true; base.EnablePrevious = true;
if (customizer == null) { if (reportStructure == null) {
customizer = (Properties)base.CustomizationObject; reportStructure = (ReportStructure)base.CustomizationObject;
} }
if (message == DialogMessage.Activated) { if (message == DialogMessage.Activated) {
// this.layoutControl.ReportLayout = (GlobalEnums.ReportLayout)customizer.Get("ReportLayout");
// reportStructure = (ReportStructure)customizer.Get("Generator");
layoutControl.AvailableFieldsCollection = reportStructure.AvailableFieldsCollection; layoutControl.AvailableFieldsCollection = reportStructure.AvailableFieldsCollection;
} }
else if (message == DialogMessage.Finish) else if (message == DialogMessage.Finish)
{ {
// customizer.Set ("ReportLayout",this.layoutControl.ReportLayout);
// var reportStructure = (ReportStructure)customizer.Get("Generator");
reportStructure.Grouping = layoutControl.GroupName; reportStructure.Grouping = layoutControl.GroupName;
} }
return true; return true;

13
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 System.Windows.Forms.Label label3;
private bool firstDrag; private bool firstDrag;
private string connectionString; private string connectionString;
private ReportStructure reportStructure; private ReportStructure reportStructure;
private Properties customizer;
private IDatabaseObjectBase currentNode; private IDatabaseObjectBase currentNode;
private ElementHost databasesTreeHost; private ElementHost databasesTreeHost;
private DatabasesTreeView databasesTree; private DatabasesTreeView databasesTree;
@ -76,15 +77,13 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
public override bool ReceiveDialogMessage(DialogMessage message) public override bool ReceiveDialogMessage(DialogMessage message)
{ {
if (customizer == null) { if (reportStructure == null) {
customizer = (Properties)base.CustomizationObject; reportStructure = (ReportStructure)base.CustomizationObject;
// reportStructure = (ReportStructure)customizer.Get("Generator");
} }
if (message == DialogMessage.Next) { if (message == DialogMessage.Next) {
customizer.Set("SqlString", this.txtSqlString.Text.Trim());
reportStructure.SqlString = this.txtSqlString.Text.Trim();
reportStructure.ConnectionString = connectionString; reportStructure.ConnectionString = connectionString;
reportStructure.SqlString = this.txtSqlString.Text.Trim();
base.EnableFinish = true; base.EnableFinish = true;
} }
return true; return true;
@ -165,6 +164,8 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
this.txtSqlString.Clear(); this.txtSqlString.Clear();
ITable table = draggedObject as ITable; ITable table = draggedObject as ITable;
this.txtSqlString.Text = "SELECT * FROM " + table.Name; this.txtSqlString.Text = "SELECT * FROM " + table.Name;
// reportStructure.CommandType = CommandType.Text;
// reportStructure.IDatabaseObjectBase = table;
reportStructure.CommandType = CommandType.Text; reportStructure.CommandType = CommandType.Text;
reportStructure.IDatabaseObjectBase = table; reportStructure.IDatabaseObjectBase = table;
break; break;

16
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.Button btnPath;
private System.Windows.Forms.CheckedListBox checkedListBox; private System.Windows.Forms.CheckedListBox checkedListBox;
private System.Windows.Forms.TextBox txtPath; private System.Windows.Forms.TextBox txtPath;
private ReportStructure reportStructure;
private Properties customizer;
private DataSet resultDataSet; private DataSet resultDataSet;
private ReportStructure reportStructure;
public PushModelPanel() public PushModelPanel()
{ {
@ -84,13 +82,11 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
public override bool ReceiveDialogMessage(DialogMessage message) public override bool ReceiveDialogMessage(DialogMessage message)
{ {
if (customizer == null) { // if (customizer == null) {
customizer = (Properties)base.CustomizationObject; // base.NextWizardPanelID = "Layout";
// reportStructure = (ReportStructure)customizer.Get("Generator"); // }
base.NextWizardPanelID = "Layout"; base.NextWizardPanelID = "Layout";
} if (message == DialogMessage.Activated) {
else if (message == DialogMessage.Activated) {
WriteResult(); WriteResult();
base.EnableNext = true; base.EnableNext = true;
} }

12
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 System.Windows.Forms.TextBox txtSqlString;
private ReportStructure reportStructure; private ReportStructure reportStructure;
private Properties customizer; // private Properties customizer;
private ReportModel model; private ReportModel model;
private ConnectionObject connectionObject; private ConnectionObject connectionObject;
private DataSet resultDataSet; private DataSet resultDataSet;
@ -232,10 +232,12 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
public override bool ReceiveDialogMessage(DialogMessage message) public override bool ReceiveDialogMessage(DialogMessage message)
{ {
if (customizer == null) { // if (customizer == null) {
customizer = (Properties)base.CustomizationObject; // customizer = (Properties)base.CustomizationObject;
// reportStructure = (ReportStructure)customizer.Get("Generator"); //// reportStructure = (ReportStructure)customizer.Get("Generator");
} // }
reportStructure = (ReportStructure)base.CustomizationObject;
if (message == DialogMessage.Activated) if (message == DialogMessage.Activated)
{ {
ShowData(); ShowData();

8
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(); ArrayList wizardPanels = new ArrayList();
int activePanelNumber = 0; int activePanelNumber = 0;
ReportStructure reportStructure;
EventHandler enableNextChangedHandler; EventHandler enableNextChangedHandler;
EventHandler enableCancelChangedHandler; EventHandler enableCancelChangedHandler;
EventHandler nextWizardPanelIDChangedHandler; 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); AddInTreeNode node = AddInTree.GetTreeNode(treePath);
this.Text = title; this.Text = title;
if (node != null) { if (node != null) {
AddNodes(customizer, node.BuildChildItems<IDialogPanelDescriptor>(this)); AddNodes(this.reportStructure, node.BuildChildItems<IDialogPanelDescriptor>(this));
} }
InitializeComponents(); InitializeComponents();

4
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)); Assert.IsTrue(displayBinding.IsPreferredBindingForFile(filename));
} }
/*
[Test] [Test]
[Ignore] [Ignore]
public void CanCreateContentFromFile () public void CanCreateContentFromFile ()
@ -66,7 +66,7 @@ namespace ICSharpCode.Reports.Addin.Test.Designer
//ICSharpCode.SharpDevelop.Gui.IViewContent v = displayBinding.CreateContentForFile(new MockOpenedFile("test.srd")); //ICSharpCode.SharpDevelop.Gui.IViewContent v = displayBinding.CreateContentForFile(new MockOpenedFile("test.srd"));
//Assert.IsNotNull(v,"View should not be 'null'"); //Assert.IsNotNull(v,"View should not be 'null'");
} }
*/
} }
} }

6
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/GeneratePlainReportFixture_1.cs

@ -18,6 +18,7 @@ namespace ICSharpCode.Reports.Addin.Test.Wizard
[Ignore] [Ignore]
public class GeneratePlainReportFixture public class GeneratePlainReportFixture
{ {
/*
[Test] [Test]
public void GeneratePlainReport_1() public void GeneratePlainReport_1()
@ -50,6 +51,7 @@ namespace ICSharpCode.Reports.Addin.Test.Wizard
} }
[Test] [Test]
public void CheckReportSettings () public void CheckReportSettings ()
{ {
@ -83,7 +85,8 @@ namespace ICSharpCode.Reports.Addin.Test.Wizard
} }
Assert.AreEqual (5,sq1.Count(),"Should be 5 times a 'BaseSection'"); Assert.AreEqual (5,sq1.Count(),"Should be 5 times a 'BaseSection'");
} }
*/
/*
private XmlDocument CreateXmlFromModel () private XmlDocument CreateXmlFromModel ()
{ {
ReportModel model = ReportModel.Create(); ReportModel model = ReportModel.Create();
@ -94,5 +97,6 @@ namespace ICSharpCode.Reports.Addin.Test.Wizard
generator.GenerateReport(); generator.GenerateReport();
return generator.XmlReport; return generator.XmlReport;
} }
*/
} }
} }

2
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 namespace ICSharpCode.Reports.Addin.Test.Wizard.Generators
{ {
/*
[TestFixture] [TestFixture]
[Ignore] [Ignore]
public class GenerateListReportFixture public class GenerateListReportFixture
@ -186,4 +187,5 @@ namespace ICSharpCode.Reports.Addin.Test.Wizard.Generators
#endregion #endregion
} }
*/
} }

3
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 namespace ICSharpCode.Reports.Addin.Test.Wizard
{ {
/*
[TestFixture] [TestFixture]
[Ignore] [Ignore]
public class GenerateFormsSheetReportFixture public class GenerateFormsSheetReportFixture
@ -93,4 +93,5 @@ namespace ICSharpCode.Reports.Addin.Test.Wizard
this.model = this.CreateModel(); this.model = this.CreateModel();
} }
} }
*/
} }

2
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 ICSharpCode.Reports.Core.Globals;
using NUnit.Framework; using NUnit.Framework;
/*
namespace ICSharpCode.Reports.Addin.Test.Wizard.Generators namespace ICSharpCode.Reports.Addin.Test.Wizard.Generators
{ {
/// <summary> /// <summary>
@ -95,3 +96,4 @@ namespace ICSharpCode.Reports.Addin.Test.Wizard.Generators
#endregion #endregion
} }
} }
*/

6
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); Assert.AreEqual(0,s.Items.Count);
} }
/*
private ReportModel CreateModel() private ReportModel CreateModel()
{ {
ReportModel m = ReportModel.Create(); ReportModel m = ReportModel.Create();
@ -93,11 +93,11 @@ namespace ICSharpCode.Reports.Addin.Test.Wizard
} }
return model; return model;
} }
[TestFixtureSetUp] [TestFixtureSetUp]
public void CreateModels () public void CreateModels ()
{ {
this.mockReportModel = CreateModel(); this.mockReportModel = CreateModel();
} } */
} }
} }

2
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 namespace ICSharpCode.Reports.Addin.Test.Wizard.Generators
{ {
/*
[TestFixture] [TestFixture]
[Ignore] [Ignore]
public class GenerateTableReportFixture public class GenerateTableReportFixture
@ -136,4 +137,5 @@ namespace ICSharpCode.Reports.Addin.Test.Wizard.Generators
#endregion #endregion
} }
*/
} }

2
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 namespace ICSharpCode.Reports.Addin.Test.Wizard.Generators
{ {
/*
[TestFixture] [TestFixture]
[Ignore] [Ignore]
public class GenertaeTableWithGroupFixture public class GenertaeTableWithGroupFixture
@ -137,4 +138,5 @@ namespace ICSharpCode.Reports.Addin.Test.Wizard.Generators
#endregion #endregion
} }
*/
} }

3
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/Generators/ReportGenerationHelper.cs

@ -14,6 +14,8 @@ namespace ICSharpCode.Reports.Addin.Test.Wizard
/// <summary> /// <summary>
/// Description of ReportGenerationHelper. /// Description of ReportGenerationHelper.
/// </summary> /// </summary>
///
/*
public class ReportGenerationHelper public class ReportGenerationHelper
{ {
public static ReportModel FormSheetModel() public static ReportModel FormSheetModel()
@ -87,4 +89,5 @@ namespace ICSharpCode.Reports.Addin.Test.Wizard
return structure; return structure;
} }
} }
*/
} }

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Test/Wizard/ReportStructureFixture.cs

@ -9,6 +9,7 @@ using NUnit.Framework;
namespace ICSharpCode.Reports.Addin.Test.Wizard namespace ICSharpCode.Reports.Addin.Test.Wizard
{ {
/*
[TestFixture] [TestFixture]
public class ReportStructureFixture public class ReportStructureFixture
{ {
@ -57,4 +58,5 @@ namespace ICSharpCode.Reports.Addin.Test.Wizard
return m; return m;
} }
} }
*/
} }

1
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportModel.cs

@ -9,7 +9,6 @@ using ICSharpCode.Reports.Core.Interfaces;
namespace ICSharpCode.Reports.Core namespace ICSharpCode.Reports.Core
{ {
public class ReportModel :IReportModel, IDisposable public class ReportModel :IReportModel, IDisposable
{ {
ReportSettings reportSettings ; ReportSettings reportSettings ;

Loading…
Cancel
Save