Browse Source

Merge remote-tracking branch 'upstream/master'

pull/520/head
JohnnyBravo75 11 years ago
parent
commit
816ea523f1
  1. 4
      src/AddIns/Debugger/Debugger.AddIn/Pads/CallStackPad.cs
  2. 4
      src/AddIns/Debugger/Debugger.Core/TypeSystemExtensions.cs
  3. 2
      src/AddIns/DisplayBindings/ILSpyAddIn/ILSpySymbolSource.cs
  4. 24
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/ICSharpCode.Reporting.Addin.csproj
  5. 51
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignableItems/ReportSettings.cs
  6. 4
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Designer/ReportRootDesigner.cs
  7. 28
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignerBinding/DesignerBinding.cs
  8. 7
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignerBinding/DesignerGenerator.cs
  9. 2
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Globals/StringWriterWithEncoding.cs
  10. 73
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/ReportWizard/Dialog/BaseSettingsPage.xaml
  11. 56
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/ReportWizard/Dialog/BaseSettingsPage.xaml.cs
  12. 22
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/ReportWizard/Dialog/IHasContext.cs
  13. 34
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/ReportWizard/Dialog/ReportWizard.xaml
  14. 51
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/ReportWizard/Dialog/ReportWizard.xaml.cs
  15. 76
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/ReportWizard/ReportGenerator.cs
  16. 52
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/ReportWizard/ReportWizardCommand.cs
  17. 27
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/ReportWizard/ViewModels/PageOneContext.cs
  18. 39
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/ReportWizard/ViewModels/ReportWizardContext.cs
  19. 16
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/TypeProvider/AbstractItemTypeProvider.cs
  20. 6
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/TypeProvider/CircleItemTypeProvider.cs
  21. 8
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/TypeProvider/DataItemTypeProvider.cs
  22. 15
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/TypeProvider/GroupedRowTypeProvider.cs
  23. 11
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/TypeProvider/LineItemTypeProvider.cs
  24. 8
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/TypeProvider/RectangleItemTypeProvider.cs
  25. 14
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/TypeProvider/RowItemTypeProvider.cs
  26. 4
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/TypeProvider/SectionItemTypeProvider.cs
  27. 6
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/TypeProvider/TextItemTypeProvider.cs
  28. 2
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Views/DesignerView.cs
  29. 3
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/XML/MycroWriter.cs
  30. 12
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/XML/ReportDefinitionParser.cs
  31. 9
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/XML/ReportDesignerWriter.cs
  32. 2
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/DataSource/ExtendedTypeDescriptor.cs
  33. 6
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Factories/ReportCreatorFactory.cs
  34. 2
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Factories/ReportModelFactory.cs
  35. 25
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Globals/GlobalEnums.cs
  36. 2
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/BaseSection.cs
  37. 1
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/BaseTextItem.cs
  38. 1
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/PrintableItem.cs
  39. 8
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/ReportSettings.cs
  40. 7
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Xml/MycroParser.cs
  41. 2
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/Reportingfactory/GeneralReportLoading.cs

4
src/AddIns/Debugger/Debugger.AddIn/Pads/CallStackPad.cs

@ -150,7 +150,9 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads
{ {
bool showExternalMethods = DebuggingOptions.Instance.ShowExternalMethods; bool showExternalMethods = DebuggingOptions.Instance.ShowExternalMethods;
var symSource = WindowsDebugger.PdbSymbolSource; var symSource = WindowsDebugger.PdbSymbolSource;
bool hasSymbols = symSource.Handles(frame.MethodInfo) && !symSource.IsCompilerGenerated(frame.MethodInfo); bool hasSymbols = symSource.Handles(frame.MethodInfo)
&& !symSource.IsCompilerGenerated(frame.MethodInfo)
&& frame.NextStatement != null && !string.IsNullOrWhiteSpace(frame.NextStatement.Filename);
if (showExternalMethods || hasSymbols) { if (showExternalMethods || hasSymbols) {
// Show the method in the list // Show the method in the list
previousItemIsExternalMethod = false; previousItemIsExternalMethod = false;

4
src/AddIns/Debugger/Debugger.Core/TypeSystemExtensions.cs

@ -232,7 +232,9 @@ namespace Debugger
{ {
var info = GetInfo(method.ParentAssembly); var info = GetInfo(method.ParentAssembly);
var variableTypes = info.GetLocalVariableTypes(method.UnresolvedMember); var variableTypes = info.GetLocalVariableTypes(method.UnresolvedMember);
return variableTypes[index].Resolve(new SimpleTypeResolveContext(method)); return variableTypes[index]
.Resolve(new SimpleTypeResolveContext(method))
.AcceptVisitor(method.Substitution);
} }
#endregion #endregion

2
src/AddIns/DisplayBindings/ILSpyAddIn/ILSpySymbolSource.cs

@ -106,7 +106,7 @@ namespace ICSharpCode.ILSpyAddIn
return symbols.LocalVariables.Where(v => v.OriginalVariable != null).Select( return symbols.LocalVariables.Where(v => v.OriginalVariable != null).Select(
v => new Debugger.ILLocalVariable() { v => new Debugger.ILLocalVariable() {
Index = v.OriginalVariable.Index, Index = v.OriginalVariable.Index,
Type = loader.ReadTypeReference(v.Type).Resolve(context), Type = loader.ReadTypeReference(v.Type).Resolve(context).AcceptVisitor(method.Substitution),
Name = v.Name, Name = v.Name,
IsCompilerGenerated = false, IsCompilerGenerated = false,
ILRanges = new [] { new ILRange(0, int.MaxValue) } ILRanges = new [] { new ILRange(0, int.MaxValue) }

24
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/ICSharpCode.Reporting.Addin.csproj

@ -73,6 +73,9 @@
<Reference Include="WindowsBase"> <Reference Include="WindowsBase">
<RequiredTargetFramework>3.0</RequiredTargetFramework> <RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference> </Reference>
<Reference Include="Xceed.Wpf.Toolkit">
<HintPath>..\..\..\..\Libraries\WPFExtendedToolkit\Xceed.Wpf.Toolkit.dll</HintPath>
</Reference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Folder Include="Configuration" /> <Folder Include="Configuration" />
@ -84,8 +87,10 @@
<Folder Include="src\DesignableItems" /> <Folder Include="src\DesignableItems" />
<Folder Include="src\Factory" /> <Folder Include="src\Factory" />
<Folder Include="src\Dialogs" /> <Folder Include="src\Dialogs" />
<Folder Include="src\ReportWizard\Dialog" />
<Folder Include="src\ReportWizard\ViewModels" />
<Folder Include="src\UndoRedo" /> <Folder Include="src\UndoRedo" />
<Folder Include="src\Wizard" /> <Folder Include="src\ReportWizard" />
<Folder Include="src\Toolbox" /> <Folder Include="src\Toolbox" />
<Folder Include="src\TypeProvider" /> <Folder Include="src\TypeProvider" />
<Folder Include="src\XML" /> <Folder Include="src\XML" />
@ -140,6 +145,19 @@
<Compile Include="src\Globals\DesignerGlobals.cs" /> <Compile Include="src\Globals\DesignerGlobals.cs" />
<Compile Include="src\Globals\GlobalLists.cs" /> <Compile Include="src\Globals\GlobalLists.cs" />
<Compile Include="src\Globals\StringWriterWithEncoding.cs" /> <Compile Include="src\Globals\StringWriterWithEncoding.cs" />
<Compile Include="src\ReportWizard\Dialog\IHasContext.cs" />
<Compile Include="src\ReportWizard\Dialog\BaseSettingsPage.xaml.cs">
<DependentUpon>BaseSettingsPage.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Compile Include="src\ReportWizard\Dialog\ReportWizard.xaml.cs">
<DependentUpon>ReportWizard.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Compile Include="src\ReportWizard\ReportGenerator.cs" />
<Compile Include="src\ReportWizard\ReportWizardCommand.cs" />
<Compile Include="src\ReportWizard\ViewModels\PageOneContext.cs" />
<Compile Include="src\ReportWizard\ViewModels\ReportWizardContext.cs" />
<Compile Include="src\Services\DefaultMemberRelationshipService.cs" /> <Compile Include="src\Services\DefaultMemberRelationshipService.cs" />
<Compile Include="src\Services\DesignerSerializationService.cs" /> <Compile Include="src\Services\DesignerSerializationService.cs" />
<Compile Include="src\Services\MenuCommandService.cs" /> <Compile Include="src\Services\MenuCommandService.cs" />
@ -210,5 +228,9 @@
<DependentUpon>EditorDialog.cs</DependentUpon> <DependentUpon>EditorDialog.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
</ItemGroup> </ItemGroup>
<ItemGroup>
<Page Include="src\ReportWizard\Dialog\BaseSettingsPage.xaml" />
<Page Include="src\ReportWizard\Dialog\ReportWizard.xaml" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project> </Project>

51
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignableItems/ReportSettings.cs

@ -34,18 +34,18 @@ namespace ICSharpCode.Reporting.Addin.DesignableItems
// this.GraphicsUnit = GraphicsUnit.Pixel; // this.GraphicsUnit = GraphicsUnit.Pixel;
// this.Padding = new Padding(5); // this.Padding = new Padding(5);
// this.DefaultFont = GlobalValues.DefaultFont; // this.DefaultFont = GlobalValues.DefaultFont;
this.ReportType = GlobalEnums.ReportType.FormSheet; this.ReportType = ReportType.FormSheet;
// //
this.DataModel = GlobalEnums.PushPullModel.FormSheet; this.DataModel = PushPullModel.FormSheet;
// //
// this.CommandType = System.Data.CommandType.Text; // this.CommandType = System.Data.CommandType.Text;
// this.ConnectionString = String.Empty; // this.ConnectionString = String.Empty;
// this.CommandText = String.Empty; // this.CommandText = String.Empty;
// //
// this.TopMargin = GlobalValues.DefaultPageMargin.Left; this.TopMargin = GlobalValues.DefaultPageMargin.Left;
// this.BottomMargin = GlobalValues.DefaultPageMargin.Bottom; this.BottomMargin = GlobalValues.DefaultPageMargin.Bottom;
// this.LeftMargin = GlobalValues.DefaultPageMargin.Left; this.LeftMargin = GlobalValues.DefaultPageMargin.Left;
// this.RightMargin = GlobalValues.DefaultPageMargin.Right; this.RightMargin = GlobalValues.DefaultPageMargin.Right;
// //
// this.availableFields = new AvailableFieldsCollection(); // this.availableFields = new AvailableFieldsCollection();
// this.groupingsCollection = new GroupColumnCollection(); // this.groupingsCollection = new GroupColumnCollection();
@ -57,10 +57,9 @@ namespace ICSharpCode.Reporting.Addin.DesignableItems
} }
private string reportName; string reportName;
// [Category("Base Settings")] [Category("Base Settings")]
// [DefaultValueAttribute ("")]
public string ReportName public string ReportName
{ {
get { get {
@ -76,8 +75,9 @@ namespace ICSharpCode.Reporting.Addin.DesignableItems
} }
} }
private string fileName;
// [Category("Base Settings")] string fileName;
[Category("Base Settings")]
// [XmlIgnoreAttribute] // [XmlIgnoreAttribute]
public string FileName public string FileName
{ {
@ -93,25 +93,28 @@ namespace ICSharpCode.Reporting.Addin.DesignableItems
} }
// [Category("Page Settings")] [Browsable(true), Category("Base Settings")]
public ReportType ReportType {get;set;}
[Category("Page Settings")]
public int BottomMargin {get;set;} public int BottomMargin {get;set;}
// [Category("Page Settings")] [Category("Page Settings")]
public int TopMargin {get;set;} public int TopMargin {get;set;}
[Category("Page Settings")]
// [Category("Page Settings")]
public int LeftMargin {get;set;} public int LeftMargin {get;set;}
[Category("Page Settings")]
// [Category("Page Settings")]
public int RightMargin {get;set;} public int RightMargin {get;set;}
private Size pageSize; Size pageSize;
[Category("Page Settings")]
public Size PageSize { public Size PageSize {
get { get {
if (!Landscape) { if (!Landscape) {
@ -123,18 +126,14 @@ namespace ICSharpCode.Reporting.Addin.DesignableItems
set { pageSize = value; } set { pageSize = value; }
} }
// [Category("Page Settings")]
// public Size PageSize {get;set;}
// [Category("Page Settings")]
public bool Landscape {get;set;}
// [Category("Data")] [Category("Page Settings")]
public GlobalEnums.PushPullModel DataModel {get;set;} public bool Landscape {get;set;}
[Category("Data")]
public PushPullModel DataModel {get;set;}
// [Browsable(true), Category("Base Settings")]
public GlobalEnums.ReportType ReportType {get;set;}
// [Category("Parameters")] // [Category("Parameters")]

4
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Designer/ReportRootDesigner.cs

@ -24,6 +24,7 @@ using System.ComponentModel.Design;
using System.Drawing; using System.Drawing;
using System.Drawing.Design; using System.Drawing.Design;
using System.Drawing.Printing; using System.Drawing.Printing;
using System.Globalization;
using System.Windows.Forms; using System.Windows.Forms;
using System.Windows.Forms.Design; using System.Windows.Forms.Design;
using ICSharpCode.Core; using ICSharpCode.Core;
@ -217,7 +218,6 @@ namespace ICSharpCode.Reporting.Addin.Designer
if (section != null) { if (section != null) {
sections.Add(section); sections.Add(section);
section.SizeChanged += new EventHandler( OnSectionSizeChanged); section.SizeChanged += new EventHandler( OnSectionSizeChanged);
Console.Write("reportRootDesigner:OnComponentAdded");
foreach (Control ctrl in section.Controls) { foreach (Control ctrl in section.Controls) {
AddToHost(ctrl); AddToHost(ctrl);
host.Container.Add(ctrl); host.Container.Add(ctrl);
@ -240,7 +240,7 @@ namespace ICSharpCode.Reporting.Addin.Designer
private void OnComponentChanged(object sender, ComponentChangedEventArgs ce) private void OnComponentChanged(object sender, ComponentChangedEventArgs ce)
{ {
LoggingService.InfoFormatted("RootDesigner:OnComponentChanged"); LoggingService.InfoFormatted("RootDesigner:OnComponentChanged");
String str = String.Format("RootDesigner:OnComponentChanged <{0}> from <{1}> to <{2}>",ce.Component.ToString(),ce.OldValue,ce.NewValue); var str = String.Format(CultureInfo.CurrentCulture,"RootDesigner:OnComponentChanged <{0}> from <{1}> to <{2}>",ce.Component.ToString(),ce.OldValue,ce.NewValue);
LoggingService.InfoFormatted(str); LoggingService.InfoFormatted(str);
var section = ce.Component as BaseSection; var section = ce.Component as BaseSection;

28
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignerBinding/DesignerBinding.cs

@ -13,10 +13,10 @@ using System.Xml;
using ICSharpCode.Core; using ICSharpCode.Core;
using ICSharpCode.Reporting.Factories; using ICSharpCode.Reporting.Factories;
using ICSharpCode.Reporting.Items; using ICSharpCode.Reporting.Items;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Workbench; using ICSharpCode.SharpDevelop.Workbench;
using ICSharpCode.Reporting.Addin.Commands; using ICSharpCode.Reporting.Addin.Commands;
using ICSharpCode.Reporting.Addin.Factory; using ICSharpCode.Reporting.Addin.Factory;
using ICSharpCode.Reporting.Addin.ReportWizard;
namespace ICSharpCode.Reporting.Addin.DesignerBinding { namespace ICSharpCode.Reporting.Addin.DesignerBinding {
@ -45,20 +45,42 @@ namespace ICSharpCode.Reporting.Addin.DesignerBinding {
public IViewContent CreateContentForFile(OpenedFile file) public IViewContent CreateContentForFile(OpenedFile file)
{ {
if (file.IsDirty) { if (file.IsDirty) {
var cmd = new ReportWizardCommand(file);
cmd.Run();
if (!cmd.Canceled) {
LoggingService.Info("reportWizard canceled");
//return null;
var reportModel = cmd.ReportModel;
var reportModel = ReportModelFactory.Create();
var xml = CreateFormSheetFromModel.ToXml(reportModel); var xml = CreateFormSheetFromModel.ToXml(reportModel);
var doc = new XmlDocument(); var doc = new XmlDocument();
doc.LoadXml(xml.ToString()); doc.LoadXml(xml.ToString());
var ar = XmlToArray(doc); var ar = XmlToArray(doc);
file.SetData(ar); file.SetData(ar);
} else {
return null;
}
} }
var viewCmd = new CreateDesignerCommand(file); var viewCmd = new CreateDesignerCommand(file);
viewCmd.Run(); viewCmd.Run();
LoggingService.Info("return DesignerView"); LoggingService.Info("return DesignerView");
return viewCmd.DesignerView; return viewCmd.DesignerView;
/*
if (file.IsDirty) {
var reportModel = ReportModelFactory.Create();
var xml = CreateFormSheetFromModel.ToXml(reportModel);
var doc = new XmlDocument();
doc.LoadXml(xml.ToString());
var ar = XmlToArray(doc);
file.SetData(ar);
}
*/
} }
static byte[] XmlToArray(XmlDocument doc) static byte[] XmlToArray(XmlDocument doc)

7
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignerBinding/DesignerGenerator.cs

@ -78,9 +78,10 @@ namespace ICSharpCode.Reporting.Addin.DesignerBinding
// we look only for Sections // we look only for Sections
foreach (var component in viewContent.Host.Container.Components) { foreach (var component in viewContent.Host.Container.Components) {
var b = component as BaseSection; var section = component as BaseSection;
if (b != null) { if (section != null) {
reportDesignerWriter.Save(component,xml); // reportDesignerWriter.Save(component,xml);
reportDesignerWriter.Save(section,xml);
} }
} }
//SectionCollection //SectionCollection

2
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Globals/StringWriterWithEncoding.cs

@ -16,7 +16,7 @@ namespace ICSharpCode.Reporting.Addin.Globals
/// </summary> /// </summary>
class StringWriterWithEncoding:System.IO.StringWriter class StringWriterWithEncoding:System.IO.StringWriter
{ {
private readonly Encoding encoding; readonly Encoding encoding;
public StringWriterWithEncoding(Encoding encoding) public StringWriterWithEncoding(Encoding encoding)
{ {

73
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/ReportWizard/Dialog/BaseSettingsPage.xaml

@ -0,0 +1,73 @@
<xctk:WizardPage x:Class="ICSharpCode.Reporting.Addin.ReportWizard.Dialog.BaseSettingsPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
xmlns:System="clr-namespace:System;assembly=mscorlib"
xmlns:sdr="clr-namespace:ICSharpCode.Reporting.Globals;assembly=ICSharpCode.Reporting"
Title="Base Settings"
Description="Basic Settings and Layout"
Background="LightGray"
CanFinish="true">
<xctk:WizardPage.Resources>
<ObjectDataProvider x:Key="pushpullEnum" MethodName="GetValues"
ObjectType="{x:Type System:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="sdr:PushPullModel"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
<ObjectDataProvider x:Key="reportTypeEnum" MethodName="GetValues"
ObjectType="{x:Type System:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="sdr:ReportType"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</xctk:WizardPage.Resources>
<Grid >
<Grid.RowDefinitions>
<RowDefinition Height="Auto"> </RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<Label Content="DataModel :"></Label>
<ComboBox Name="_DataModel" Margin="10,5,0,5"
Grid.Column="1"
ItemsSource="{Binding Source={StaticResource pushpullEnum}}">
</ComboBox>
<Label Content="ReportType :" Margin="0,5,0,5" Grid.Row="2"></Label>
<ComboBox Name="_ReportType" Margin="10,5,0,5"
Grid.Row="2" Grid.Column="1"
ItemsSource="{Binding Source={StaticResource reportTypeEnum}}">
</ComboBox>
<Label Content="Report Name :" Margin="0,5,0,5" Grid.Row="4"></Label>
<TextBox Name="_ReportName" Margin="10,5,0,5" Grid.Row="4" Grid.Column="1" Grid.ColumnSpan="3"></TextBox>
<Label Content="Filename :" Margin="0,5,0,5" Grid.Row="5"></Label>
<TextBox Name="_Filename" Margin="10,5,0,5" Grid.Row="5" Grid.Column="1" Grid.ColumnSpan="3"></TextBox>
<Label Content="Page Layout :" Grid.Row="6" Margin="0,5,0,5"></Label>
<RadioButton Name="_Legal" GroupName="PageLayout" Content="Legal" IsChecked="true" Grid.Row="7" Margin="0,5,0,5" ></RadioButton>
<RadioButton Name="_Landscape" GroupName="PageLayout" Content="Landscape" Grid.Row="7" Grid.Column="1" Margin="0,5,0,5"></RadioButton>
</Grid>
</xctk:WizardPage>

56
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/ReportWizard/Dialog/BaseSettingsPage.xaml.cs

@ -0,0 +1,56 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 08.07.2014
* Time: 20:26
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Windows;
using ICSharpCode.Reporting.Globals;
using Xceed.Wpf.Toolkit;
using ICSharpCode.Reporting.Addin.ReportWizard.ViewModels;
namespace ICSharpCode.Reporting.Addin.ReportWizard.Dialog{
/// <summary>
/// Interaction logic for PageOne.xamlWizardPage,IHasContext
/// </summary>
public partial class BaseSettingsPage : WizardPage,IHasContext
{
PageOneContext context;
public BaseSettingsPage()
{
InitializeComponent();
_DataModel.SelectedItem = PushPullModel.FormSheet;
_ReportType.SelectedItem = ReportType.FormSheet;
this.context = new PageOneContext();
}
public IWizardContext Context {
get{
UpdateContext();
return context;}
}
public int PageNumber {
get {return 1;}
}
void UpdateContext()
{
context.DataModel = (PushPullModel) _DataModel.SelectedItem;
context.ReportType = (ReportType) _ReportType.SelectedItem;
context.ReportName = this._ReportName.Text;
context.FileName = this._Filename.Text;
context.Legal = _Legal.IsChecked == true;
;
context.Landscape = _Landscape.IsChecked == true;
}
}
}

22
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/ReportWizard/Dialog/IHasContext.cs

@ -0,0 +1,22 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 16.07.2014
* Time: 20:41
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using ICSharpCode.Reporting.Addin.ReportWizard.ViewModels;
namespace ICSharpCode.Reporting.Addin.ReportWizard.Dialog
{
/// <summary>
/// Description of IHasContext.
/// </summary>
public interface IHasContext
{
IWizardContext Context {get;}
int PageNumber {get;}
}
}

34
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/ReportWizard/Dialog/ReportWizard.xaml

@ -0,0 +1,34 @@
<Window x:Class="ICSharpCode.Reporting.Addin.ReportWizard.Dialog.ReportWizard"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
xmlns:local="clr-namespace:ICSharpCode.Reporting.Addin.ReportWizard.Dialog"
Title="{Binding Title}"
Height="600" Width="600">
<xctk:Wizard x:Name="_wizard" FinishButtonClosesWindow="True"
Next="_wizard_Next"
PageChanged="_wizard_PageChanged"
Finish="_wizard_Finish"
CanHelp="False">
<xctk:WizardPage PageType="Exterior" Title="Welcome to Reporting Wizard"
Description="This Wizard will walk you though how to do something." />
<!-- ! <local:BaseSettingsPage ></local:BaseSettingsPage> -->
<xctk:WizardPage PageType="Interior"
Title="Page 1"
Description="This is the first page in the process."
CanFinish="True" />
<!-- <xctk:WizardPage PageType="Interior"
Title="Page 2"
Description="This is the second page in the process" />
<xctk:WizardPage PageType="Interior"
Title="Last Page"
Description="This is the last page in the process"
CanFinish="True" />-->
</xctk:Wizard>
</Window>

51
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/ReportWizard/Dialog/ReportWizard.xaml.cs

@ -0,0 +1,51 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 07.07.2014
* Time: 20:18
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Windows;
using Xceed.Wpf.Toolkit;
using ICSharpCode.Reporting.Addin.ReportWizard.ViewModels;
using System.Linq;
namespace ICSharpCode.Reporting.Addin.ReportWizard.Dialog
{
/// <summary>
/// Interaction logic for Window1.xaml
/// </summary>
public partial class ReportWizard : Window
{
readonly ReportWizardContext context;
readonly BaseSettingsPage baseSettingsPage;
public ReportWizard(ReportWizardContext context)
{
InitializeComponent();
this.context = context;
baseSettingsPage = new BaseSettingsPage();
_wizard.Items.Insert(1,baseSettingsPage);
}
void _wizard_Next(object sender, Xceed.Wpf.Toolkit.Core.CancelRoutedEventArgs e)
{
}
void _wizard_PageChanged(object sender, RoutedEventArgs e)
{
}
void _wizard_Finish(object sender, RoutedEventArgs e)
{
context.PageOneContext = baseSettingsPage.Context;
}
}
}

76
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/ReportWizard/ReportGenerator.cs

@ -0,0 +1,76 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 22.07.2014
* Time: 19:37
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Drawing;
using ICSharpCode.Reporting.Factories;
using ICSharpCode.Reporting.Globals;
using ICSharpCode.Reporting.Interfaces;
using ICSharpCode.Reporting.Items;
using ICSharpCode.Reporting.Addin.ReportWizard.ViewModels;
namespace ICSharpCode.Reporting.Addin.ReportWizard
{
/// <summary>
/// Description of ReportGenerator.
/// </summary>
public class ReportGenerator
{
ReportWizardContext context;
public ReportGenerator(ReportWizardContext context)
{
if (context == null)
throw new ArgumentNullException("context");
this.context = context;
ReportModel = ReportModelFactory.Create();
}
public void Generate() {
PageOneGenerate();
CreateReportHeader();
}
void PageOneGenerate()
{
var pageOne = (PageOneContext)context.PageOneContext;
var reportSettings = ReportModel.ReportSettings;
reportSettings.DataModel = pageOne.DataModel;
reportSettings.FileName = pageOne.FileName;
if (pageOne.Legal) {
reportSettings.Landscape = false;
} else {
reportSettings.Landscape = true;
}
reportSettings.ReportName = pageOne.ReportName;
reportSettings.ReportType = pageOne.ReportType;
}
void CreateReportHeader()
{
var headerText = new BaseTextItem();
headerText.Text = "Header";
headerText.Size = GlobalValues.PreferedSize;
var printableWith = ReportModel.ReportSettings.PageSize.Width - ReportModel.ReportSettings.LeftMargin - ReportModel.ReportSettings.RightMargin;
var x = (int)(printableWith - headerText.Size.Width) / 2;
headerText.Location = new Point(x,4);
ReportModel.ReportHeader.Items.Add(headerText);
Console.WriteLine("");
Console.WriteLine("Createreportheader Size {0}",ReportModel.ReportHeader.Size);
}
public IReportModel ReportModel {get;private set;}
}
}

52
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/ReportWizard/ReportWizardCommand.cs

@ -0,0 +1,52 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 08.07.2014
* Time: 19:47
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using ICSharpCode.Core;
using ICSharpCode.Reporting.Interfaces;
using ICSharpCode.SharpDevelop.Workbench;
using ICSharpCode.Reporting.Addin.ReportWizard.Dialog;
using ICSharpCode.Reporting.Addin.ReportWizard.ViewModels;
namespace ICSharpCode.Reporting.Addin.ReportWizard
{
/// <summary>
/// Description of ReportWizardCommand.
/// </summary>
class ReportWizardCommand: AbstractMenuCommand
{
readonly OpenedFile file;
public ReportWizardCommand (OpenedFile file) {
if (file == null)
throw new ArgumentNullException("file");
this.file = file;
}
public override void Run()
{
var wizardViewModel = new ReportWizardContext();
var reportWizard = new ICSharpCode.Reporting.Addin.ReportWizard.Dialog.ReportWizard(wizardViewModel);
reportWizard.ShowDialog();
if (reportWizard.DialogResult.HasValue && reportWizard.DialogResult.Value){
LoggingService.Info("ReportWizard - CreateReport");
var rg = new ReportGenerator(wizardViewModel);
rg.Generate();
ReportModel = rg.ReportModel;
} else {
Canceled = true;
}
}
public bool Canceled {get; private set;}
public IReportModel ReportModel {get;private set;}
}
}

27
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/ReportWizard/ViewModels/PageOneContext.cs

@ -0,0 +1,27 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 07/12/2014
* Time: 18:20
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using ICSharpCode.Reporting.Globals;
using Xceed.Wpf.Toolkit;
namespace ICSharpCode.Reporting.Addin.ReportWizard.ViewModels
{
/// <summary>
/// Description of PageOneViewModel.
/// </summary>
public class PageOneContext:IWizardContext
{
public PushPullModel DataModel {get;set;}
public ReportType ReportType {get;set;}
public string ReportName {get;set;}
public string FileName {get;set;}
public bool Legal {get;set;}
public bool Landscape {get;set;}
}
}

39
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/ReportWizard/ViewModels/ReportWizardContext.cs

@ -0,0 +1,39 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 07/12/2014
* Time: 18:10
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
namespace ICSharpCode.Reporting.Addin.ReportWizard.ViewModels
{
public interface IWizardContext {
}
/// <summary>
/// Description of ReportWizardViewModel.
/// </summary>
public class ReportWizardContext:IWizardContext
{
public string Title {
get{ return "das ist der Title";}
}
IWizardContext pageOneContext;
public IWizardContext PageOneContext {
get {
return pageOneContext;
}
set {
pageOneContext = value;
}
}
}
}

16
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/TypeProvider/AbstractItemTypeProvider.cs

@ -22,26 +22,20 @@ namespace ICSharpCode.Reporting.Addin.TypeProvider
{ {
} }
// public AbstractItemTypeProvider(TypeDescriptionProvider parent): base(parent)
// {
// }
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance) public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{ {
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType, instance); ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType, instance);
return new AbstractItemTypeDescriptor(td, instance); return new AbstractItemTypeDescriptor(td);
} }
} }
internal class AbstractItemTypeDescriptor : CustomTypeDescriptor class AbstractItemTypeDescriptor : CustomTypeDescriptor
{ {
// private AbstractItem _instance;
public AbstractItemTypeDescriptor(ICustomTypeDescriptor parent, object instance) public AbstractItemTypeDescriptor(ICustomTypeDescriptor parent)
: base(parent) : base(parent)
{ {
// _instance = instance as AbstractItem;
} }
@ -54,8 +48,8 @@ namespace ICSharpCode.Reporting.Addin.TypeProvider
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes) public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{ {
PropertyDescriptorCollection props = base.GetProperties(attributes); var props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>(); var allProperties = new List<PropertyDescriptor>();
foreach (PropertyDescriptor p in props) foreach (PropertyDescriptor p in props)
{ {

6
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/TypeProvider/CircleItemTypeProvider.cs

@ -26,7 +26,7 @@ namespace ICSharpCode.Reporting.Addin.TypeProvider
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance) public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{ {
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance); ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new CircleItemTypeDescriptor(td, instance); return new CircleItemTypeDescriptor(td);
} }
} }
@ -34,7 +34,7 @@ namespace ICSharpCode.Reporting.Addin.TypeProvider
class CircleItemTypeDescriptor : CustomTypeDescriptor class CircleItemTypeDescriptor : CustomTypeDescriptor
{ {
public CircleItemTypeDescriptor(ICustomTypeDescriptor parent, object instance): base(parent) public CircleItemTypeDescriptor(ICustomTypeDescriptor parent): base(parent)
{ {
} }
@ -48,7 +48,7 @@ namespace ICSharpCode.Reporting.Addin.TypeProvider
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes) public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{ {
PropertyDescriptorCollection props = base.GetProperties(attributes); PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>(); var allProperties = new List<PropertyDescriptor>();
TypeProviderHelper.AddDefaultProperties(allProperties,props); TypeProviderHelper.AddDefaultProperties(allProperties,props);
TypeProviderHelper.AddGraphicProperties(allProperties,props); TypeProviderHelper.AddGraphicProperties(allProperties,props);

8
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/TypeProvider/DataItemTypeProvider.cs

@ -27,7 +27,7 @@ namespace ICSharpCode.Reporting.Addin.TypeProvider
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance) public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{ {
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance); ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new DataItemTypeDescriptor(td, instance); return new DataItemTypeDescriptor(td);
} }
} }
@ -36,7 +36,7 @@ namespace ICSharpCode.Reporting.Addin.TypeProvider
class DataItemTypeDescriptor : CustomTypeDescriptor class DataItemTypeDescriptor : CustomTypeDescriptor
{ {
public DataItemTypeDescriptor(ICustomTypeDescriptor parent, object instance) public DataItemTypeDescriptor(ICustomTypeDescriptor parent)
: base(parent) : base(parent)
{ {
} }
@ -50,8 +50,8 @@ namespace ICSharpCode.Reporting.Addin.TypeProvider
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes) public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{ {
PropertyDescriptorCollection props = base.GetProperties(attributes); var props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>(); var allProperties = new List<PropertyDescriptor>();
TypeProviderHelper.AddDefaultProperties(allProperties,props); TypeProviderHelper.AddDefaultProperties(allProperties,props);
TypeProviderHelper.AddTextBasedProperties(allProperties,props); TypeProviderHelper.AddTextBasedProperties(allProperties,props);

15
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/TypeProvider/GroupedRowTypeProvider.cs

@ -26,14 +26,14 @@ namespace ICSharpCode.Reporting.Addin.TypeProvider
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance) public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{ {
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance); ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new GroupedRowItemTypeDescriptor(td, instance); return new GroupedRowItemTypeDescriptor(td);
} }
} }
class GroupedRowItemTypeDescriptor : CustomTypeDescriptor class GroupedRowItemTypeDescriptor : CustomTypeDescriptor
{ {
public GroupedRowItemTypeDescriptor(ICustomTypeDescriptor parent, object instance) public GroupedRowItemTypeDescriptor(ICustomTypeDescriptor parent)
: base(parent) : base(parent)
{ {
} }
@ -47,8 +47,8 @@ namespace ICSharpCode.Reporting.Addin.TypeProvider
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes) public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{ {
PropertyDescriptorCollection props = base.GetProperties(attributes); var props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>(); var allProperties = new List<PropertyDescriptor>();
TypeProviderHelper.AddDefaultProperties(allProperties,props); TypeProviderHelper.AddDefaultProperties(allProperties,props);
@ -69,16 +69,9 @@ namespace ICSharpCode.Reporting.Addin.TypeProvider
prop = props.Find("Controls",true); prop = props.Find("Controls",true);
allProperties.Add(prop); allProperties.Add(prop);
// prop = props.Find("AlternateBackColor",true);
// allProperties.Add(prop);
//
// prop = props.Find("ChangeBackColorEveryNRow",true);
// allProperties.Add(prop);
prop = props.Find("PageBreakOnGroupChange",true); prop = props.Find("PageBreakOnGroupChange",true);
allProperties.Add(prop); allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray()); return new PropertyDescriptorCollection(allProperties.ToArray());
} }
} }

11
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/TypeProvider/LineItemTypeProvider.cs

@ -25,7 +25,7 @@ namespace ICSharpCode.Reporting.Addin.TypeProvider
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance) public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{ {
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance); ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new LineItemTypeDescriptor(td, instance); return new LineItemTypeDescriptor(td);
} }
} }
@ -35,7 +35,7 @@ namespace ICSharpCode.Reporting.Addin.TypeProvider
{ {
public LineItemTypeDescriptor(ICustomTypeDescriptor parent, object instance) public LineItemTypeDescriptor(ICustomTypeDescriptor parent)
: base(parent) : base(parent)
{ {
@ -50,8 +50,8 @@ namespace ICSharpCode.Reporting.Addin.TypeProvider
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes) public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{ {
PropertyDescriptorCollection props = base.GetProperties(attributes); var props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>(); var allProperties = new List<PropertyDescriptor>();
TypeProviderHelper.AddDefaultProperties(allProperties,props); TypeProviderHelper.AddDefaultProperties(allProperties,props);
@ -71,9 +71,6 @@ namespace ICSharpCode.Reporting.Addin.TypeProvider
prop = props.Find("EndLineCap",true); prop = props.Find("EndLineCap",true);
allProperties.Add(prop); allProperties.Add(prop);
// prop = props.Find("DashLineCap",true);
// allProperties.Add(prop);
prop = props.Find("DashStyle",true); prop = props.Find("DashStyle",true);
allProperties.Add(prop); allProperties.Add(prop);

8
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/TypeProvider/RectangleItemTypeProvider.cs

@ -25,7 +25,7 @@ namespace ICSharpCode.Reporting.Addin.TypeProvider
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance) public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{ {
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance); ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new RectangleItemTypeDescriptor(td, instance); return new RectangleItemTypeDescriptor(td);
} }
} }
@ -33,7 +33,7 @@ namespace ICSharpCode.Reporting.Addin.TypeProvider
class RectangleItemTypeDescriptor : CustomTypeDescriptor class RectangleItemTypeDescriptor : CustomTypeDescriptor
{ {
public RectangleItemTypeDescriptor(ICustomTypeDescriptor parent, object instance) public RectangleItemTypeDescriptor(ICustomTypeDescriptor parent)
: base(parent) : base(parent)
{ {
} }
@ -47,8 +47,8 @@ namespace ICSharpCode.Reporting.Addin.TypeProvider
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes) public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{ {
PropertyDescriptorCollection props = base.GetProperties(attributes); var props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>(); var allProperties = new List<PropertyDescriptor>();
TypeProviderHelper.AddDefaultProperties(allProperties,props); TypeProviderHelper.AddDefaultProperties(allProperties,props);
TypeProviderHelper.AddGraphicProperties(allProperties,props); TypeProviderHelper.AddGraphicProperties(allProperties,props);

14
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/TypeProvider/RowItemTypeProvider.cs

@ -26,14 +26,14 @@ namespace ICSharpCode.Reporting.Addin.TypeProvider
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance) public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{ {
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance); ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new RowItemTypeDescriptor(td, instance); return new RowItemTypeDescriptor(td);
} }
} }
internal class RowItemTypeDescriptor : CustomTypeDescriptor internal class RowItemTypeDescriptor : CustomTypeDescriptor
{ {
public RowItemTypeDescriptor(ICustomTypeDescriptor parent, object instance) public RowItemTypeDescriptor(ICustomTypeDescriptor parent)
: base(parent) : base(parent)
{ {
} }
@ -47,8 +47,8 @@ namespace ICSharpCode.Reporting.Addin.TypeProvider
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes) public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{ {
PropertyDescriptorCollection props = base.GetProperties(attributes); var props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>(); var allProperties = new List<PropertyDescriptor>();
TypeProviderHelper.AddDefaultProperties(allProperties,props); TypeProviderHelper.AddDefaultProperties(allProperties,props);
@ -69,12 +69,6 @@ namespace ICSharpCode.Reporting.Addin.TypeProvider
prop = props.Find("Controls",true); prop = props.Find("Controls",true);
allProperties.Add(prop); allProperties.Add(prop);
// prop = props.Find("AlternateBackColor",true);
// allProperties.Add(prop);
//
// prop = props.Find("ChangeBackColorEveryNRow",true);
// allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray()); return new PropertyDescriptorCollection(allProperties.ToArray());
} }
} }

4
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/TypeProvider/SectionItemTypeProvider.cs

@ -26,7 +26,7 @@ namespace ICSharpCode.Reporting.Addin.TypeProvider
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance) public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{ {
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance); ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new SectionItemDescriptor(td, instance); return new SectionItemDescriptor(td);
} }
} }
@ -35,7 +35,7 @@ namespace ICSharpCode.Reporting.Addin.TypeProvider
{ {
public SectionItemDescriptor(ICustomTypeDescriptor parent, object instance) public SectionItemDescriptor(ICustomTypeDescriptor parent)
: base(parent) : base(parent)
{ {
} }

6
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/TypeProvider/TextItemTypeProvider.cs

@ -26,19 +26,17 @@ namespace ICSharpCode.Reporting.Addin.TypeProvider
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance) public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{ {
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance); ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new TextItemTypeDescriptor(td, instance); return new TextItemTypeDescriptor(td);
} }
} }
class TextItemTypeDescriptor : CustomTypeDescriptor class TextItemTypeDescriptor : CustomTypeDescriptor
{ {
// BaseTextItem instance;
public TextItemTypeDescriptor(ICustomTypeDescriptor parent, object instance) public TextItemTypeDescriptor(ICustomTypeDescriptor parent)
: base(parent) : base(parent)
{ {
// instance = instance as BaseTextItem;
} }

2
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Views/DesignerView.cs

@ -212,7 +212,7 @@ namespace ICSharpCode.Reporting.Addin.Views
abstractItem.Site.Name = abstractItem.Name; abstractItem.Site.Name = abstractItem.Name;
} }
} }
UpdatePropertyPadSelection((ISelectionService)sender); UpdatePropertyPadSelection(selectionService);
} }
#endregion #endregion

3
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/XML/MycroWriter.cs

@ -9,6 +9,7 @@
using System; using System;
using System.Collections; using System.Collections;
using System.ComponentModel; using System.ComponentModel;
using System.Globalization;
using System.Reflection; using System.Reflection;
using System.Xml; using System.Xml;
using System.Xml.Serialization; using System.Xml.Serialization;
@ -53,7 +54,7 @@ namespace ICSharpCode.Reporting.Addin.XML
if (val is ICollection) { if (val is ICollection) {
// PropertyInfo pinfo = t.GetProperty(info.Name); // PropertyInfo pinfo = t.GetProperty(info.Name);
// Console.WriteLine("pinfo {0}",pinfo.Name); // Console.WriteLine("pinfo {0}",pinfo.Name);
if (info.Name.StartsWith("Contr")) { if (info.Name.StartsWith("Contr",true,CultureInfo.CurrentCulture)) {
writer.WriteStartElement("Items"); writer.WriteStartElement("Items");
} else { } else {
writer.WriteStartElement(info.Name); writer.WriteStartElement(info.Name);

12
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/XML/ReportDefinitionParser.cs

@ -20,6 +20,7 @@ using System;
using System.Collections; using System.Collections;
using System.ComponentModel; using System.ComponentModel;
using System.Diagnostics; using System.Diagnostics;
using System.Globalization;
using System.Reflection; using System.Reflection;
using System.Xml; using System.Xml;
using System.Xml.XPath; using System.Xml.XPath;
@ -118,7 +119,7 @@ namespace ICSharpCode.Reporting.Addin.XML
// Special case--we're going to assume that the child is a class instance // Special case--we're going to assume that the child is a class instance
// not associated with the parent object // not associated with the parent object
// Trace.Fail("Unsupported property: "+pname); // Trace.Fail("Unsupported property: "+pname);
System.Console.WriteLine("Unsupported property: "+pname); Console.WriteLine("Unsupported property: "+pname);
continue; continue;
} }
@ -134,8 +135,8 @@ namespace ICSharpCode.Reporting.Addin.XML
{ {
object propObject=pi.GetValue(parent, null); object propObject=pi.GetValue(parent, null);
object obj=ProcessNode(grandChild, propObject); object obj=ProcessNode(grandChild, propObject);
System.Windows.Forms.Control parentControl = parent as System.Windows.Forms.Control; var parentControl = parent as System.Windows.Forms.Control;
System.Windows.Forms.Control childControl = obj as System.Windows.Forms.Control; var childControl = obj as System.Windows.Forms.Control;
// we have the Items Section // we have the Items Section
if ((parentControl != null) && (childControl != null)){ if ((parentControl != null) && (childControl != null)){
parentControl.Controls.Add(childControl); parentControl.Controls.Add(childControl);
@ -229,7 +230,6 @@ namespace ICSharpCode.Reporting.Addin.XML
if (tc.CanConvertFrom(typeof(string))) if (tc.CanConvertFrom(typeof(string)))
{ {
object val=tc.ConvertFromInvariantString(value); object val=tc.ConvertFromInvariantString(value);
// Console.WriteLine("\tRDP -> SetPropertyToString {0} - {1}",pi.Name,value.ToString());
pi.SetValue(obj, val, null); pi.SetValue(obj, val, null);
} else if (pi.PropertyType == typeof(Type)) { } else if (pi.PropertyType == typeof(Type)) {
pi.SetValue(obj, Type.GetType(value), null); pi.SetValue(obj, Type.GetType(value), null);
@ -237,9 +237,9 @@ namespace ICSharpCode.Reporting.Addin.XML
} }
catch(Exception e) catch(Exception e)
{ {
String s = String.Format("Property setter for {0} failed {1}\r\n",pi.Name, var s = String.Format(CultureInfo.CurrentCulture,"Property setter for {0} failed {1}\r\n",pi.Name,
e.Message); e.Message);
System.Console.WriteLine("MycroParser : {0}",s); Console.WriteLine("MycroParser : {0}",s);
} }
} }
} }

9
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/XML/ReportDesignerWriter.cs

@ -7,6 +7,7 @@
* To change this template use Tools | Options | Coding | Edit Standard Headers. * To change this template use Tools | Options | Coding | Edit Standard Headers.
*/ */
using System; using System;
using System.Globalization;
namespace ICSharpCode.Reporting.Addin.XML namespace ICSharpCode.Reporting.Addin.XML
{ {
@ -15,13 +16,11 @@ namespace ICSharpCode.Reporting.Addin.XML
/// </summary> /// </summary>
class ReportDesignerWriter:MycroWriter class ReportDesignerWriter:MycroWriter
{ {
public ReportDesignerWriter() {
Console.WriteLine("ReportDesignerWriter");
Console.WriteLine();
}
protected override string GetTypeName(Type t) protected override string GetTypeName(Type t)
{ {
if (t.BaseType != null && t.BaseType.Name.StartsWith("Base",StringComparison.InvariantCultureIgnoreCase)) { if (t.BaseType != null && t.BaseType.Name.StartsWith("Base", StringComparison.OrdinalIgnoreCase)) {
// return t.BaseType.Name; // return t.BaseType.Name;
} }
return t.Name; return t.Name;

2
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/DataSource/ExtendedTypeDescriptor.cs

@ -28,7 +28,7 @@ namespace ICSharpCode.Reporting.DataSource
/// </summary> /// </summary>
class ExtendedTypeDescriptor class ExtendedTypeDescriptor
{ {
static Hashtable collections = new Hashtable(); static readonly Hashtable collections = new Hashtable();
static bool IsAllowedProperty(string name) static bool IsAllowedProperty(string name)
{ {

6
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Factories/ReportCreatorFactory.cs

@ -32,18 +32,18 @@ namespace ICSharpCode.Reporting.Factories
{ {
IReportCreator reportCreator = null; IReportCreator reportCreator = null;
switch (reportModel.ReportSettings.DataModel) { switch (reportModel.ReportSettings.DataModel) {
case GlobalEnums.PushPullModel.FormSheet: case PushPullModel.FormSheet:
{ {
reportCreator = new FormPageBuilder(reportModel); reportCreator = new FormPageBuilder(reportModel);
break; break;
} }
case GlobalEnums.PushPullModel.PullData: case PushPullModel.PullData:
{ {
break; break;
} }
case GlobalEnums.PushPullModel.PushData: case PushPullModel.PushData:
{ {
break; break;

2
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Factories/ReportModelFactory.cs

@ -22,7 +22,7 @@ namespace ICSharpCode.Reporting.Factories
{ {
var reportModel = new ReportModel(); var reportModel = new ReportModel();
foreach (var section in Enum.GetValues(typeof(GlobalEnums.ReportSection))) { foreach (var section in Enum.GetValues(typeof(ReportSection))) {
reportModel.SectionCollection.Add (SectionFactory.Create(section.ToString())); reportModel.SectionCollection.Add (SectionFactory.Create(section.ToString()));
} }

25
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Globals/GlobalEnums.cs

@ -20,35 +20,19 @@ using System;
namespace ICSharpCode.Reporting.Globals namespace ICSharpCode.Reporting.Globals
{ {
/// <summary>
/// Description of GlobalEnums.
/// </summary>
public sealed class GlobalEnums
{
private GlobalEnums() {
}
public enum ReportSection {
ReportHeader,
ReportPageHeader,
ReportDetail,
ReportPageFooter,
ReportFooter
}
///<summary>Technics to get the data ///<summary>Technics to get the data
/// Push : report get's a ready filld dataset or something tah implements IList /// Push : report get's a ready filld dataset or something tah implements IList
/// Pull : report has to fill data by themself /// Pull : report has to fill data by themself
/// FormSheet : FormSheet report, just labels and images are allowed /// FormSheet : FormSheet report, just labels and images are allowed
/// </summary> /// </summary>
///
public enum PushPullModel { public enum PushPullModel {
PushData, PushData,
PullData, PullData,
FormSheet FormSheet
} }
/// <summary> /// <summary>
/// FormSheet means a blank form with Labels, Lines and Checkboxes /// FormSheet means a blank form with Labels, Lines and Checkboxes
/// DataReport handles all Reports with Data /// DataReport handles all Reports with Data
@ -59,5 +43,12 @@ namespace ICSharpCode.Reporting.Globals
} }
public enum ReportSection {
ReportHeader,
ReportPageHeader,
ReportDetail,
ReportPageFooter,
ReportFooter
} }
} }

2
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/BaseSection.cs

@ -26,7 +26,7 @@ namespace ICSharpCode.Reporting.Items
/// Description of BaseSection. /// Description of BaseSection.
/// </summary> /// </summary>
public class BaseSection:ReportContainer,IReportContainer public class BaseSection:ReportContainer
{ {

1
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/BaseTextItem.cs

@ -45,6 +45,7 @@ namespace ICSharpCode.Reporting.Items
public BaseTextItem(){ public BaseTextItem(){
Name = "BaseTextItem"; Name = "BaseTextItem";
Font = GlobalValues.DefaultFont; Font = GlobalValues.DefaultFont;
} }

1
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/PrintableItem.cs

@ -18,6 +18,7 @@
using System; using System;
using System.Drawing; using System.Drawing;
using ICSharpCode.Reporting.Globals;
using ICSharpCode.Reporting.Interfaces; using ICSharpCode.Reporting.Interfaces;
using ICSharpCode.Reporting.Interfaces.Export; using ICSharpCode.Reporting.Interfaces.Export;

8
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/ReportSettings.cs

@ -65,9 +65,9 @@ namespace ICSharpCode.Reporting.Items
// this.GraphicsUnit = GraphicsUnit.Pixel; // this.GraphicsUnit = GraphicsUnit.Pixel;
// this.Padding = new Padding(5); // this.Padding = new Padding(5);
// this.DefaultFont = GlobalValues.DefaultFont; // this.DefaultFont = GlobalValues.DefaultFont;
ReportType = GlobalEnums.ReportType.FormSheet; ReportType = ReportType.FormSheet;
// //
this.DataModel = GlobalEnums.PushPullModel.FormSheet; this.DataModel = PushPullModel.FormSheet;
// //
// this.CommandType = System.Data.CommandType.Text; // this.CommandType = System.Data.CommandType.Text;
// this.ConnectionString = String.Empty; // this.ConnectionString = String.Empty;
@ -125,11 +125,11 @@ namespace ICSharpCode.Reporting.Items
[Browsable(true), Category("Base Settings")] [Browsable(true), Category("Base Settings")]
public GlobalEnums.ReportType ReportType {get;set;} public ReportType ReportType {get;set;}
[Browsable(true), Category("Base Settings")] [Browsable(true), Category("Base Settings")]
public GlobalEnums.PushPullModel DataModel {get;set;} public PushPullModel DataModel {get;set;}
#endregion #endregion

7
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Xml/MycroParser.cs

@ -21,6 +21,7 @@ using System.ComponentModel;
using System.Diagnostics; using System.Diagnostics;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Globalization;
using System.Xml; using System.Xml;
using System.Reflection; using System.Reflection;
@ -223,7 +224,7 @@ namespace ICSharpCode.Reporting.Xml
static void SetPropertyToString(object obj, PropertyInfo pi, string value) static void SetPropertyToString(object obj, PropertyInfo pi, string value)
{ {
// it's string, so use a type converter. // it's string, so use a type converter.
TypeConverter tc=TypeDescriptor.GetConverter(pi.PropertyType); var tc=TypeDescriptor.GetConverter(pi.PropertyType);
try try
{ {
if (tc.CanConvertFrom(typeof(string))) if (tc.CanConvertFrom(typeof(string)))
@ -236,9 +237,9 @@ namespace ICSharpCode.Reporting.Xml
} }
catch(Exception e) catch(Exception e)
{ {
String s = String.Format("Property setter for {0} failed {1}\r\n",pi.Name, var s = String.Format(CultureInfo.CurrentCulture,"Property setter for {0} failed {1}\r\n",pi.Name,
e.Message); e.Message);
System.Console.WriteLine("MycroParser : {0}",s); Console.WriteLine("MycroParser : {0}",s);
} }
} }

2
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/Reportingfactory/GeneralReportLoading.cs

@ -68,7 +68,7 @@ namespace ICSharpCode.Reporting.Test.Reportingfactory
{ {
var rf = new ReportingFactory(); var rf = new ReportingFactory();
var model = rf.LoadReportModel(stream); var model = rf.LoadReportModel(stream);
Assert.That(model.ReportSettings.DataModel,Is.EqualTo(GlobalEnums.PushPullModel.FormSheet)); Assert.That(model.ReportSettings.DataModel,Is.EqualTo(PushPullModel.FormSheet));
} }

Loading…
Cancel
Save