Browse Source

Merge remote branch 'origin/reports' into 4.0

pull/14/head
Daniel Grunwald 15 years ago
parent
commit
05e1e03657
  1. 15
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/ICSharpCode.Reports.Addin.csproj
  2. 47
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/AbstractItem.cs
  3. 12
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseCircleItem.cs
  4. 76
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseDataItem.cs
  5. 115
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseImageItem.cs
  6. 75
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseLine.cs
  7. 66
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseRectangleItem.cs
  8. 69
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseRowItem.cs
  9. 64
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseSection.cs
  10. 64
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTableItem.cs
  11. 71
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTextItem.cs
  12. 70
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/CircleItemTypeProvider.cs
  13. 72
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/GroupHeader.cs
  14. 64
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/AbstractItemTypeProvider.cs
  15. 87
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/DataItemTypeProvider.cs
  16. 83
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/GroupedRowTypeProvider.cs
  17. 86
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/ImageItemTypeProvider.cs
  18. 83
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/LineItemTypeDescriptor.cs
  19. 15
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/RectangleItemTypeProvider.cs
  20. 80
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/RowItemTypeProvider.cs
  21. 76
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/SectionItemTypeProvider.cs
  22. 78
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/TableItemTypeProvider.cs
  23. 79
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/TextItemTypeProvider.cs
  24. 52
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseGraphicItem.cs
  25. 20
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseLineItem.cs
  26. 32
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseRectangleItem.cs
  27. 7
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs
  28. 14
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphic.cs
  29. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportText.cs
  30. 1
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/BaseLine.cs
  31. 3
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/BaseShape.cs
  32. 1
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/Border.cs
  33. 58
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/RectangleShape.cs
  34. 4
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/AggregateFunctionsFixture.cs

15
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/ICSharpCode.Reports.Addin.csproj

@ -145,6 +145,7 @@ @@ -145,6 +145,7 @@
<Compile Include="Project\ReportItems\BaseDataItem.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Project\ReportItems\CircleItemTypeProvider.cs" />
<Compile Include="Project\ReportItems\GroupFooter.cs" />
<Compile Include="Project\ReportItems\BaseImageItem.cs">
<SubType>Component</SubType>
@ -171,7 +172,16 @@ @@ -171,7 +172,16 @@
<SubType>Component</SubType>
</Compile>
<Compile Include="Project\ReportItems\GroupHeader.cs" />
<Compile Include="Project\ReportItems\RectangleItemTypeProvider.cs" />
<Compile Include="Project\ReportItems\TypeProviders\AbstractItemTypeProvider.cs" />
<Compile Include="Project\ReportItems\TypeProviders\DataItemTypeProvider.cs" />
<Compile Include="Project\ReportItems\TypeProviders\GroupedRowTypeProvider.cs" />
<Compile Include="Project\ReportItems\TypeProviders\ImageItemTypeProvider.cs" />
<Compile Include="Project\ReportItems\TypeProviders\LineItemTypeDescriptor.cs" />
<Compile Include="Project\ReportItems\TypeProviders\RectangleItemTypeProvider.cs" />
<Compile Include="Project\ReportItems\TypeProviders\RowItemTypeProvider.cs" />
<Compile Include="Project\ReportItems\TypeProviders\SectionItemTypeProvider.cs" />
<Compile Include="Project\ReportItems\TypeProviders\TableItemTypeProvider.cs" />
<Compile Include="Project\ReportItems\TypeProviders\TextItemTypeProvider.cs" />
<Compile Include="Project\ReportManagers\BaseManager.cs" />
<Compile Include="Project\ReportManagers\StandartPreviewManager.cs" />
<Compile Include="Project\ReportWizard\Generators\AbstractReportGenerator.cs" />
@ -338,5 +348,8 @@ @@ -338,5 +348,8 @@
<Install>true</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<Folder Include="Project\ReportItems\TypeProviders" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
</Project>

47
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/AbstractItem.cs

@ -6,6 +6,7 @@ using System.Collections.Generic; @@ -6,6 +6,7 @@ using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using ICSharpCode.Reports.Addin.TypeProviders;
using ICSharpCode.Reports.Core;
namespace ICSharpCode.Reports.Addin
@ -85,52 +86,6 @@ namespace ICSharpCode.Reports.Addin @@ -85,52 +86,6 @@ namespace ICSharpCode.Reports.Addin
}
}
internal class AbstractItemTypeProvider : TypeDescriptionProvider {
public AbstractItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
public AbstractItemTypeProvider(TypeDescriptionProvider parent): base(parent)
{
}
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType, instance);
return new AbstractItemTypeDescriptor(td, instance);
}
}
internal class AbstractItemTypeDescriptor : CustomTypeDescriptor
{
// private AbstractItem _instance;
public AbstractItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
// _instance = instance as AbstractItem;
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
foreach (PropertyDescriptor p in props)
{
allProperties.Add(p);
}
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
}

12
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseCircleItem.cs

@ -2,7 +2,6 @@ @@ -2,7 +2,6 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Drawing.Drawing2D;
@ -28,7 +27,7 @@ namespace ICSharpCode.Reports.Addin @@ -28,7 +27,7 @@ namespace ICSharpCode.Reports.Addin
this.thickness = 1;
this.dashStyle = DashStyle.Solid;
this.Size = new Size(GlobalValues.PreferedSize.Width,2* GlobalValues.PreferedSize.Height);
TypeDescriptor.AddProvider(new RectangleItemTypeProvider(), typeof(BaseCircleItem));
TypeDescriptor.AddProvider(new CircleItemTypeProvider(), typeof(BaseCircleItem));
}
@ -62,15 +61,6 @@ namespace ICSharpCode.Reports.Addin @@ -62,15 +61,6 @@ namespace ICSharpCode.Reports.Addin
}
private BaseLine Baseline()
{
if (this.BackColor == GlobalValues.DefaultBackColor) {
return new BaseLine (this.ForeColor,this.DashStyle,this.Thickness);
} else {
return new BaseLine (this.BackColor,this.DashStyle,this.Thickness);
}
}
[Browsable(true),
Category("Appearance"),

76
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseDataItem.cs

@ -2,12 +2,10 @@ @@ -2,12 +2,10 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using ICSharpCode.Reports.Addin.Designer;
using ICSharpCode.Reports.Core;
using ICSharpCode.Reports.Addin.TypeProviders;
namespace ICSharpCode.Reports.Addin
@ -72,76 +70,4 @@ namespace ICSharpCode.Reports.Addin @@ -72,76 +70,4 @@ namespace ICSharpCode.Reports.Addin
}
}
internal class DataItemTypeProvider : TypeDescriptionProvider
{
public DataItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new DataItemTypeDescriptor(td, instance);
}
}
internal class DataItemTypeDescriptor : CustomTypeDescriptor
{
public DataItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
DesignerHelper.AddTextbasedProperties(allProperties,props);
PropertyDescriptor prop = props.Find("Text",true);
allProperties.Add(prop);
prop = props.Find("DrawBorder",true);
allProperties.Add(prop);
prop = props.Find("FrameColor",true);
allProperties.Add(prop);
prop = props.Find("ForeColor",true);
allProperties.Add(prop);
prop = props.Find("Visible",true);
allProperties.Add(prop);
prop = props.Find("ColumnName",true);
allProperties.Add(prop);
prop = props.Find("BaseTableName",true);
allProperties.Add(prop);
prop = props.Find("DbValue",true);
allProperties.Add(prop);
prop = props.Find("NullValue",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
}

115
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseImageItem.cs

@ -2,16 +2,14 @@ @@ -2,16 +2,14 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Drawing.Design;
using System.Globalization;
using System.IO;
using System.Windows.Forms.Design;
using System.Xml.Serialization;
using ICSharpCode.Reports.Addin.Designer;
using ICSharpCode.Reports.Addin.TypeProviders;
using ICSharpCode.Reports.Core;
namespace ICSharpCode.Reports.Addin
@ -60,21 +58,21 @@ namespace ICSharpCode.Reports.Addin @@ -60,21 +58,21 @@ namespace ICSharpCode.Reports.Addin
if (this.scaleImageToSize) {
graphics.DrawImageUnscaled(this.Image,this.Location.X,this.Location.Y);
} else {
Image im = this.image;
if (im != null) {
graphics.DrawImage(this.Image,this.ClientRectangle);
}
graphics.DrawImage(this.Image,this.ClientRectangle);
}
}
#region Property's
[Category("Image")]
[EditorAttribute ( typeof(FileNameEditor), typeof(UITypeEditor) ) ]
public string ImageFileName {
get { return imageFileName; }
set { imageFileName = value;
this.relativeFileName = FileUtility.GetRelativePath(Path.GetFullPath(this.reportFileName),Path.GetFullPath(this.ImageFileName));
if (!String.IsNullOrEmpty(reportFileName)) {
this.relativeFileName = FileUtility.GetRelativePath(Path.GetFullPath(this.reportFileName),Path.GetFullPath(this.ImageFileName));
}
}
}
@ -138,17 +136,17 @@ namespace ICSharpCode.Reports.Addin @@ -138,17 +136,17 @@ namespace ICSharpCode.Reports.Addin
if (this.imageSource == GlobalEnums.ImageSource.Database ) {
text = "<Database>";
}
this.image = FakeImage(base.Size,text);
if (this.image != null) {
return image;
} else {
if (!String.IsNullOrEmpty(imageFileName)) {
if (!String.IsNullOrEmpty(imageFileName)) {
this.image = this.LoadImage();
return this.image;
}
} else
{
this.image = FakeImage(base.Size,text);
}
return null;
return this.image;
}
set {
this.image = value;
this.imageSource = GlobalEnums.ImageSource.External;
@ -208,20 +206,20 @@ namespace ICSharpCode.Reports.Addin @@ -208,20 +206,20 @@ namespace ICSharpCode.Reports.Addin
[XmlIgnoreAttribute]
[Category("Image")]
// [Browsable(false)]
[Browsable(false)]
public string AbsoluteFileName
{
get {
//D:\SharpDevelop3.0_WorkingCopy\SharpDevelop\samples\SharpDevelopReports\SampleReports\Logos
if (!string.IsNullOrEmpty(relativeFileName)) {
Console.WriteLine("");
string testFileName = FileUtility.NormalizePath(Path.Combine(Path.GetDirectoryName(this.reportFileName),this.relativeFileName));
string testFileName = String.Empty;
if (! String.IsNullOrEmpty(reportFileName)) {
testFileName = FileUtility.NormalizePath(Path.Combine(Path.GetDirectoryName(this.reportFileName),this.relativeFileName));
}
if (File.Exists(testFileName)){
Console.WriteLine("Image found with Relative Filename");
Console.WriteLine("Report Filename {0}",this.reportFileName);
Console.WriteLine("Relative Filename {0}",this.relativeFileName);
Console.WriteLine("Image Filename {0}",this.ImageFileName);
return testFileName;
} else {
Console.WriteLine("AbsoluteFileName can't load image");
@ -238,78 +236,5 @@ namespace ICSharpCode.Reports.Addin @@ -238,78 +236,5 @@ namespace ICSharpCode.Reports.Addin
}
internal class ImageItemTypeProvider : TypeDescriptionProvider
{
public ImageItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
// public ImageItemTypeProvider(TypeDescriptionProvider parent): base(parent)
// {
//
// }
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new ImageItemTypeDescriptor(td, instance);
}
}
internal class ImageItemTypeDescriptor : CustomTypeDescriptor
{
public ImageItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
// instance = instance as BaseTextItem;
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
PropertyDescriptor prop = prop = props.Find("imageFileName",true);
allProperties.Add(prop);
prop = props.Find("Image",true);
allProperties.Add(prop);
prop = props.Find("ScaleImageToSize",true);
allProperties.Add(prop);
prop = props.Find("ImageSource",true);
allProperties.Add(prop);
prop = props.Find("ReportFileName",true);
allProperties.Add(prop);
prop = props.Find("RelativeFileName",true);
allProperties.Add(prop);
prop = props.Find("AbsoluteFileName",true);
allProperties.Add(prop);
prop = props.Find("ColumnName",true);
allProperties.Add(prop);
prop = props.Find("BaseTableName",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
}

75
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseLine.cs

@ -2,12 +2,11 @@ @@ -2,12 +2,11 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Drawing.Drawing2D;
using ICSharpCode.Reports.Addin.Designer;
using ICSharpCode.Reports.Addin.TypeProviders;
namespace ICSharpCode.Reports.Addin
{
@ -156,75 +155,7 @@ namespace ICSharpCode.Reports.Addin @@ -156,75 +155,7 @@ namespace ICSharpCode.Reports.Addin
}
internal class LineItemTypeProvider : TypeDescriptionProvider
{
public LineItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
// public LineItemTypeProvider(TypeDescriptionProvider parent): base(parent)
// {
//
// }
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new LineItemTypeDescriptor(td, instance);
}
}
internal class LineItemTypeDescriptor : CustomTypeDescriptor
{
// private BaseTextItem instance;
public LineItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
// instance = instance as BaseTextItem;
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
PropertyDescriptor prop = null;
prop = props.Find("ForeColor",true);
allProperties.Add(prop);
prop = props.Find("FromPoint",true);
allProperties.Add(prop);
prop = props.Find("ToPoint",true);
allProperties.Add(prop);
prop = props.Find("StartLineCap",true);
allProperties.Add(prop);
prop = props.Find("EndLineCap",true);
allProperties.Add(prop);
prop = props.Find("dashLineCap",true);
allProperties.Add(prop);
prop = props.Find("DashStyle",true);
allProperties.Add(prop);
prop = props.Find("Thickness",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
}

66
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseRectangleItem.cs

@ -6,6 +6,7 @@ using System.ComponentModel; @@ -6,6 +6,7 @@ using System.ComponentModel;
using System.Drawing;
using System.Drawing.Drawing2D;
using ICSharpCode.Reports.Addin.TypeProviders;
using ICSharpCode.Reports.Core;
namespace ICSharpCode.Reports.Addin
@ -22,13 +23,14 @@ namespace ICSharpCode.Reports.Addin @@ -22,13 +23,14 @@ namespace ICSharpCode.Reports.Addin
private DashStyle dashStyle;
private float thickness;
private int cornerRadius;
public BaseRectangleItem()
{
this.thickness = 1;
this.dashStyle = DashStyle.Solid;
this.Size = new Size(GlobalValues.PreferedSize.Width,2* GlobalValues.PreferedSize.Height);
cornerRadius = 1;
TypeDescriptor.AddProvider(new RectangleItemTypeProvider(), typeof(BaseRectangleItem));
}
@ -49,54 +51,62 @@ namespace ICSharpCode.Reports.Addin @@ -49,54 +51,62 @@ namespace ICSharpCode.Reports.Addin
}
Rectangle rect = new Rectangle(this.ClientRectangle.Left,this.ClientRectangle.Top,
this.ClientRectangle.Right -1,
this.ClientRectangle.Bottom -1);
backgroundShape.FillShape(graphics,
new SolidFillPattern(this.BackColor),
rect);
this.ClientRectangle.Right -1,
this.ClientRectangle.Bottom -1);
// backgroundShape.FillShape(graphics,
// new SolidFillPattern(this.BackColor),
// rect);
Border b = new Border(new BaseLine (this.ForeColor,System.Drawing.Drawing2D.DashStyle.Solid,1));
DrawFrame(graphics,b);
// DrawFrame(graphics,b);
BaseLine line = new BaseLine(base.ForeColor,DashStyle,Thickness,LineCap.Round,LineCap.Round,DashCap.Round);
using (Pen pen = line.CreatePen(line.Thickness)){
shape.CornerRadius = this.CornerRadius;
GraphicsPath path1 = shape.CreatePath(rect);
graphics.DrawPath(pen, path1);
}
shape.DrawShape (graphics,
this.Baseline(),
rect);
// shape.DrawShape (graphics,
// this.Baseline(),
// rect);
}
protected void DrawFrame (Graphics graphics,Border border) {
if (this.DrawBorder == true) {
border.DrawBorder(graphics,this.ClientRectangle);
}
}
private BaseLine Baseline()
{
if (this.BackColor == GlobalValues.DefaultBackColor) {
return new BaseLine (this.ForeColor,this.DashStyle,this.Thickness);
} else {
return new BaseLine (this.BackColor,this.DashStyle,this.Thickness);
}
}
[Browsable(true),
Category("Appearance"),
Description("Linestyle")]
public DashStyle DashStyle {
get { return dashStyle; }
set { dashStyle = value; }
set { dashStyle = value;
this.Invalidate();
}
}
[Browsable(true),
Category("Appearance"),
Description("Thickness of Line")]
public float Thickness {
get { return thickness; }
set { thickness = value; }
set { thickness = value;
this.Invalidate();
}
}
[Browsable(true),
Category("Appearance"),
Description("Radius of Corners")]
public int CornerRadius
{
get{return this.cornerRadius;}
set{this.cornerRadius = value;
this.Invalidate();
}
}
}
}

69
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseRowItem.cs

@ -2,11 +2,10 @@ @@ -2,11 +2,10 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using ICSharpCode.Reports.Addin.Designer;
using ICSharpCode.Reports.Addin.TypeProviders;
using ICSharpCode.Reports.Core;
namespace ICSharpCode.Reports.Addin
@ -74,70 +73,4 @@ namespace ICSharpCode.Reports.Addin @@ -74,70 +73,4 @@ namespace ICSharpCode.Reports.Addin
#endregion
}
internal class RowItemTypeProvider : TypeDescriptionProvider
{
public RowItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new RowItemTypeDescriptor(td, instance);
}
}
internal class RowItemTypeDescriptor : CustomTypeDescriptor
{
public RowItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
PropertyDescriptor prop = null;
prop = props.Find("DrawBorder",true);
allProperties.Add(prop);
prop = props.Find("ForeColor",true);
allProperties.Add(prop);
prop = props.Find("Visible",true);
allProperties.Add(prop);
prop = props.Find("FrameColor",true);
allProperties.Add(prop);
prop = props.Find("Controls",true);
allProperties.Add(prop);
/*
prop = props.Find("Padding",true);
allProperties.Add(prop);
*/
prop = props.Find("AlternateBackColor",true);
allProperties.Add(prop);
prop = props.Find("ChangeBackColorEveryNRow",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
}

64
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseSection.cs

@ -7,6 +7,7 @@ using System.ComponentModel; @@ -7,6 +7,7 @@ using System.ComponentModel;
using System.Drawing;
using ICSharpCode.Reports.Addin.Designer;
using ICSharpCode.Reports.Addin.TypeProviders;
using ICSharpCode.Reports.Core;
namespace ICSharpCode.Reports.Addin
@ -76,68 +77,5 @@ namespace ICSharpCode.Reports.Addin @@ -76,68 +77,5 @@ namespace ICSharpCode.Reports.Addin
#endregion
}
internal class SectionItemTypeProvider : TypeDescriptionProvider
{
public SectionItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
// public SectionItemTypeProvider(TypeDescriptionProvider parent): base(parent)
// {
// }
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new SectionItemDescriptor(td, instance);
}
}
internal class SectionItemDescriptor : CustomTypeDescriptor
{
// private BaseTextItem instance;
public SectionItemDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
// instance = instance as BaseTextItem;
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
PropertyDescriptor prop = null;
prop = props.Find("SectionOffset",true);
allProperties.Add(prop);
prop = props.Find("SectionMargin",true);
allProperties.Add(prop);
prop = props.Find("DrawBorder",true);
allProperties.Add(prop);
prop = props.Find("PageBreakAfter",true);
allProperties.Add(prop);
prop = props.Find("Controls",true);
allProperties.Add(prop);
prop = props.Find("FrameColor",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
}

64
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTableItem.cs

@ -2,12 +2,10 @@ @@ -2,12 +2,10 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using ICSharpCode.Reports.Addin.Designer;
using ICSharpCode.Reports.Addin.TypeProviders;
using ICSharpCode.Reports.Core;
namespace ICSharpCode.Reports.Addin
@ -53,65 +51,5 @@ namespace ICSharpCode.Reports.Addin @@ -53,65 +51,5 @@ namespace ICSharpCode.Reports.Addin
}
internal class TableItemTypeProvider : TypeDescriptionProvider
{
public TableItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
// public TableItemTypeProvider(TypeDescriptionProvider parent): base(parent)
// {
//
// }
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new TableItemTypeDescriptor(td, instance);
}
}
internal class TableItemTypeDescriptor : CustomTypeDescriptor
{
public TableItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
PropertyDescriptor prop = null;
prop = props.Find("DrawBorder",true);
allProperties.Add(prop);
prop = props.Find("ForeColor",true);
allProperties.Add(prop);
prop = props.Find("Visible",true);
allProperties.Add(prop);
prop = props.Find("FrameColor",true);
allProperties.Add(prop);
prop = props.Find("Controls",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
}

71
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTextItem.cs

@ -2,14 +2,13 @@ @@ -2,14 +2,13 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using ICSharpCode.Reports.Addin.Designer;
using ICSharpCode.Reports.Addin.Dialogs;
using ICSharpCode.Reports.Addin.TypeProviders;
using ICSharpCode.Reports.Core;
using ICSharpCode.Reports.Core.BaseClasses.Printing;
using ICSharpCode.Reports.Addin.Dialogs;
namespace ICSharpCode.Reports.Addin
{
@ -161,70 +160,4 @@ namespace ICSharpCode.Reports.Addin @@ -161,70 +160,4 @@ namespace ICSharpCode.Reports.Addin
#endregion
}
#region TypeProvider
internal class TextItemTypeProvider : TypeDescriptionProvider
{
public TextItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new TextItemTypeDescriptor(td, instance);
}
}
internal class TextItemTypeDescriptor : CustomTypeDescriptor
{
// private BaseTextItem instance;
public TextItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
// instance = instance as BaseTextItem;
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
DesignerHelper.AddTextbasedProperties(allProperties,props);
PropertyDescriptor prop = prop = props.Find("Text",true);
allProperties.Add(prop);
prop = props.Find("DrawBorder",true);
allProperties.Add(prop);
prop = props.Find("FrameColor",true);
allProperties.Add(prop);
prop = props.Find("ForeColor",true);
allProperties.Add(prop);
prop = props.Find("Visible",true);
allProperties.Add(prop);
prop = props.Find("Expression",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
#endregion
}

70
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/CircleItemTypeProvider.cs

@ -0,0 +1,70 @@ @@ -0,0 +1,70 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 02.01.2011
* Time: 19:24
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.ComponentModel;
using ICSharpCode.Reports.Addin.Designer;
namespace ICSharpCode.Reports.Addin
{
internal class CircleItemTypeProvider : TypeDescriptionProvider
{
public CircleItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new CircleItemTypeDescriptor(td, instance);
}
}
internal class CircleItemTypeDescriptor : CustomTypeDescriptor
{
public CircleItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
System.Collections.Generic.List<PropertyDescriptor> allProperties = new System.Collections.Generic.List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
PropertyDescriptor prop = null;
prop = props.Find("ForeColor",true);
allProperties.Add(prop);
prop = props.Find("DashStyle",true);
allProperties.Add(prop);
prop = props.Find("Thickness",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
}

72
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/GroupHeader.cs

@ -2,12 +2,8 @@ @@ -2,12 +2,8 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using ICSharpCode.Reports.Addin.Designer;
using ICSharpCode.Reports.Core;
using ICSharpCode.Reports.Addin.TypeProviders;
namespace ICSharpCode.Reports.Addin
{
@ -27,71 +23,5 @@ namespace ICSharpCode.Reports.Addin @@ -27,71 +23,5 @@ namespace ICSharpCode.Reports.Addin
public bool PageBreakOnGroupChange {get;set;}
}
internal class GroupedRowTypeProvider : TypeDescriptionProvider
{
public GroupedRowTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new GroupedRowItemTypeDescriptor(td, instance);
}
}
internal class GroupedRowItemTypeDescriptor : CustomTypeDescriptor
{
public GroupedRowItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
PropertyDescriptor prop = null;
prop = props.Find("DrawBorder",true);
allProperties.Add(prop);
prop = props.Find("ForeColor",true);
allProperties.Add(prop);
prop = props.Find("Visible",true);
allProperties.Add(prop);
prop = props.Find("FrameColor",true);
allProperties.Add(prop);
prop = props.Find("Controls",true);
allProperties.Add(prop);
prop = props.Find("AlternateBackColor",true);
allProperties.Add(prop);
prop = props.Find("ChangeBackColorEveryNRow",true);
allProperties.Add(prop);
prop = props.Find("PageBreakOnGroupChange",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
}

64
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/AbstractItemTypeProvider.cs

@ -0,0 +1,64 @@ @@ -0,0 +1,64 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 02.01.2011
* Time: 19:47
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using ICSharpCode.Reports.Addin.Designer;
namespace ICSharpCode.Reports.Addin.TypeProviders
{
internal class AbstractItemTypeProvider : TypeDescriptionProvider {
public AbstractItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
public AbstractItemTypeProvider(TypeDescriptionProvider parent): base(parent)
{
}
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType, instance);
return new AbstractItemTypeDescriptor(td, instance);
}
}
internal class AbstractItemTypeDescriptor : CustomTypeDescriptor
{
// private AbstractItem _instance;
public AbstractItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
// _instance = instance as AbstractItem;
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
foreach (PropertyDescriptor p in props)
{
allProperties.Add(p);
}
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
}

87
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/DataItemTypeProvider.cs

@ -0,0 +1,87 @@ @@ -0,0 +1,87 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 02.01.2011
* Time: 19:36
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using ICSharpCode.Reports.Addin.Designer;
namespace ICSharpCode.Reports.Addin.TypeProviders
{
internal class DataItemTypeProvider : TypeDescriptionProvider
{
public DataItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new DataItemTypeDescriptor(td, instance);
}
}
internal class DataItemTypeDescriptor : CustomTypeDescriptor
{
public DataItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
DesignerHelper.AddTextbasedProperties(allProperties,props);
PropertyDescriptor prop = props.Find("Text",true);
allProperties.Add(prop);
prop = props.Find("DrawBorder",true);
allProperties.Add(prop);
prop = props.Find("FrameColor",true);
allProperties.Add(prop);
prop = props.Find("ForeColor",true);
allProperties.Add(prop);
prop = props.Find("Visible",true);
allProperties.Add(prop);
prop = props.Find("ColumnName",true);
allProperties.Add(prop);
prop = props.Find("BaseTableName",true);
allProperties.Add(prop);
prop = props.Find("DbValue",true);
allProperties.Add(prop);
prop = props.Find("NullValue",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
}

83
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/GroupedRowTypeProvider.cs

@ -0,0 +1,83 @@ @@ -0,0 +1,83 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 02.01.2011
* Time: 19:58
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using ICSharpCode.Reports.Addin.Designer;
namespace ICSharpCode.Reports.Addin.TypeProviders
{
internal class GroupedRowTypeProvider : TypeDescriptionProvider
{
public GroupedRowTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new GroupedRowItemTypeDescriptor(td, instance);
}
}
internal class GroupedRowItemTypeDescriptor : CustomTypeDescriptor
{
public GroupedRowItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
PropertyDescriptor prop = null;
prop = props.Find("DrawBorder",true);
allProperties.Add(prop);
prop = props.Find("ForeColor",true);
allProperties.Add(prop);
prop = props.Find("Visible",true);
allProperties.Add(prop);
prop = props.Find("FrameColor",true);
allProperties.Add(prop);
prop = props.Find("Controls",true);
allProperties.Add(prop);
prop = props.Find("AlternateBackColor",true);
allProperties.Add(prop);
prop = props.Find("ChangeBackColorEveryNRow",true);
allProperties.Add(prop);
prop = props.Find("PageBreakOnGroupChange",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
}

86
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/ImageItemTypeProvider.cs

@ -0,0 +1,86 @@ @@ -0,0 +1,86 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 02.01.2011
* Time: 19:41
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using ICSharpCode.Reports.Addin.Designer;
namespace ICSharpCode.Reports.Addin.TypeProviders
{
internal class ImageItemTypeProvider : TypeDescriptionProvider
{
public ImageItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new ImageItemTypeDescriptor(td, instance);
}
}
internal class ImageItemTypeDescriptor : CustomTypeDescriptor
{
public ImageItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
// instance = instance as BaseTextItem;
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
PropertyDescriptor prop = prop = props.Find("imageFileName",true);
allProperties.Add(prop);
prop = props.Find("Image",true);
allProperties.Add(prop);
prop = props.Find("ScaleImageToSize",true);
allProperties.Add(prop);
prop = props.Find("ImageSource",true);
allProperties.Add(prop);
prop = props.Find("ReportFileName",true);
allProperties.Add(prop);
prop = props.Find("RelativeFileName",true);
allProperties.Add(prop);
prop = props.Find("AbsoluteFileName",true);
allProperties.Add(prop);
prop = props.Find("ColumnName",true);
allProperties.Add(prop);
prop = props.Find("BaseTableName",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
}

83
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/LineItemTypeDescriptor.cs

@ -0,0 +1,83 @@ @@ -0,0 +1,83 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 02.01.2011
* Time: 19:44
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using ICSharpCode.Reports.Addin.Designer;
namespace ICSharpCode.Reports.Addin.TypeProviders
{
internal class LineItemTypeProvider : TypeDescriptionProvider
{
public LineItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new LineItemTypeDescriptor(td, instance);
}
}
internal class LineItemTypeDescriptor : CustomTypeDescriptor
{
public LineItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
PropertyDescriptor prop = null;
prop = props.Find("ForeColor",true);
allProperties.Add(prop);
prop = props.Find("FromPoint",true);
allProperties.Add(prop);
prop = props.Find("ToPoint",true);
allProperties.Add(prop);
prop = props.Find("StartLineCap",true);
allProperties.Add(prop);
prop = props.Find("EndLineCap",true);
allProperties.Add(prop);
prop = props.Find("dashLineCap",true);
allProperties.Add(prop);
prop = props.Find("DashStyle",true);
allProperties.Add(prop);
prop = props.Find("Thickness",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
}

15
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/RectangleItemTypeProvider.cs → src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/RectangleItemTypeProvider.cs

@ -5,7 +5,7 @@ using System; @@ -5,7 +5,7 @@ using System;
using System.ComponentModel;
using ICSharpCode.Reports.Addin.Designer;
namespace ICSharpCode.Reports.Addin
namespace ICSharpCode.Reports.Addin.TypeProviders
{
/// <summary>
/// Description of RectangleItemTypeProvider.
@ -15,13 +15,7 @@ namespace ICSharpCode.Reports.Addin @@ -15,13 +15,7 @@ namespace ICSharpCode.Reports.Addin
public RectangleItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
// public RectangleItemTypeProvider(TypeDescriptionProvider parent): base(parent)
// {
//
// }
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
@ -57,15 +51,14 @@ namespace ICSharpCode.Reports.Addin @@ -57,15 +51,14 @@ namespace ICSharpCode.Reports.Addin
prop = props.Find("ForeColor",true);
allProperties.Add(prop);
prop = props.Find("DrawBorder",true);
allProperties.Add(prop);
prop = props.Find("DashStyle",true);
allProperties.Add(prop);
prop = props.Find("Thickness",true);
allProperties.Add(prop);
prop = props.Find("CornerRadius",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}

80
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/RowItemTypeProvider.cs

@ -0,0 +1,80 @@ @@ -0,0 +1,80 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 02.01.2011
* Time: 19:51
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using ICSharpCode.Reports.Addin.Designer;
namespace ICSharpCode.Reports.Addin.TypeProviders
{
internal class RowItemTypeProvider : TypeDescriptionProvider
{
public RowItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new RowItemTypeDescriptor(td, instance);
}
}
internal class RowItemTypeDescriptor : CustomTypeDescriptor
{
public RowItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
PropertyDescriptor prop = null;
prop = props.Find("DrawBorder",true);
allProperties.Add(prop);
prop = props.Find("ForeColor",true);
allProperties.Add(prop);
prop = props.Find("Visible",true);
allProperties.Add(prop);
prop = props.Find("FrameColor",true);
allProperties.Add(prop);
prop = props.Find("Controls",true);
allProperties.Add(prop);
prop = props.Find("AlternateBackColor",true);
allProperties.Add(prop);
prop = props.Find("ChangeBackColorEveryNRow",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
}

76
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/SectionItemTypeProvider.cs

@ -0,0 +1,76 @@ @@ -0,0 +1,76 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 02.01.2011
* Time: 19:53
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using ICSharpCode.Reports.Addin.Designer;
namespace ICSharpCode.Reports.Addin.TypeProviders
{
internal class SectionItemTypeProvider : TypeDescriptionProvider
{
public SectionItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new SectionItemDescriptor(td, instance);
}
}
internal class SectionItemDescriptor : CustomTypeDescriptor
{
public SectionItemDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
PropertyDescriptor prop = null;
prop = props.Find("SectionOffset",true);
allProperties.Add(prop);
prop = props.Find("SectionMargin",true);
allProperties.Add(prop);
prop = props.Find("DrawBorder",true);
allProperties.Add(prop);
prop = props.Find("PageBreakAfter",true);
allProperties.Add(prop);
prop = props.Find("Controls",true);
allProperties.Add(prop);
prop = props.Find("FrameColor",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
}

78
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/TableItemTypeProvider.cs

@ -0,0 +1,78 @@ @@ -0,0 +1,78 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 02.01.2011
* Time: 19:55
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using ICSharpCode.Reports.Addin.Designer;
namespace ICSharpCode.Reports.Addin.TypeProviders
{
internal class TableItemTypeProvider : TypeDescriptionProvider
{
public TableItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
// public TableItemTypeProvider(TypeDescriptionProvider parent): base(parent)
// {
//
// }
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new TableItemTypeDescriptor(td, instance);
}
}
internal class TableItemTypeDescriptor : CustomTypeDescriptor
{
public TableItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
PropertyDescriptor prop = null;
prop = props.Find("DrawBorder",true);
allProperties.Add(prop);
prop = props.Find("ForeColor",true);
allProperties.Add(prop);
prop = props.Find("Visible",true);
allProperties.Add(prop);
prop = props.Find("FrameColor",true);
allProperties.Add(prop);
prop = props.Find("Controls",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
}

79
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/TextItemTypeProvider.cs

@ -0,0 +1,79 @@ @@ -0,0 +1,79 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 02.01.2011
* Time: 19:56
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using ICSharpCode.Reports.Addin.Designer;
namespace ICSharpCode.Reports.Addin.TypeProviders
{
internal class TextItemTypeProvider : TypeDescriptionProvider
{
public TextItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new TextItemTypeDescriptor(td, instance);
}
}
internal class TextItemTypeDescriptor : CustomTypeDescriptor
{
// private BaseTextItem instance;
public TextItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
// instance = instance as BaseTextItem;
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
DesignerHelper.AddTextbasedProperties(allProperties,props);
PropertyDescriptor prop = prop = props.Find("Text",true);
allProperties.Add(prop);
prop = props.Find("DrawBorder",true);
allProperties.Add(prop);
prop = props.Find("FrameColor",true);
allProperties.Add(prop);
prop = props.Find("ForeColor",true);
allProperties.Add(prop);
prop = props.Find("Visible",true);
allProperties.Add(prop);
prop = props.Find("Expression",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
}

52
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseGraphicItem.cs

@ -19,12 +19,13 @@ namespace ICSharpCode.Reports.Core { @@ -19,12 +19,13 @@ namespace ICSharpCode.Reports.Core {
/// </remarks>
public class BaseGraphicItem : BaseReportItem {
private int thickness = 1;
private DashStyle dashStyle = DashStyle.Solid;
public BaseGraphicItem():base() {
public BaseGraphicItem():base()
{
this.Thickness = 1;
DashStyle = DashStyle.Solid;
}
protected IGraphicStyleDecorator CreateItemStyle (BaseShape shape) {
GraphicStyleDecorator style = new GraphicStyleDecorator(shape);
@ -34,8 +35,8 @@ namespace ICSharpCode.Reports.Core { @@ -34,8 +35,8 @@ namespace ICSharpCode.Reports.Core {
style.ForeColor = this.ForeColor;
style.FrameColor = this.FrameColor;
style.Thickness = this.thickness;
style.DashStyle = this.dashStyle;
style.Thickness = this.Thickness;
style.DashStyle = this.DashStyle;
return style;
}
@ -54,7 +55,8 @@ namespace ICSharpCode.Reports.Core { @@ -54,7 +55,8 @@ namespace ICSharpCode.Reports.Core {
return new BaseLine (this.BackColor,this.DashStyle,this.Thickness);
}
}
#region Overrides
public override string ToString()
@ -70,41 +72,9 @@ namespace ICSharpCode.Reports.Core { @@ -70,41 +72,9 @@ namespace ICSharpCode.Reports.Core {
/// Line Thickness of graphical Element
/// </summary>
public virtual int Thickness {
get {
return thickness;
}
set {
thickness = value;
}
}
public virtual DashStyle DashStyle {
get {
return dashStyle;
}
set {
dashStyle = value;
}
}
[XmlIgnoreAttribute]
[Browsable(false)]
public override bool DrawBorder {
get { return base.DrawBorder; }
set { base.DrawBorder = value; }
}
[XmlIgnoreAttribute]
[Browsable(false)]
public override Font Font {
get { return base.Font; }
set { base.Font = value; }
}
public virtual int Thickness {get;set;}
public virtual DashStyle DashStyle {get;set;}
#endregion
}

20
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseLineItem.cs

@ -46,17 +46,17 @@ namespace ICSharpCode.Reports.Core { @@ -46,17 +46,17 @@ namespace ICSharpCode.Reports.Core {
private LineDecorator CreateLineShape ()
{
LineDecorator ld = new LineDecorator(this.shape);
ld.Size = this.Size;
ld.Location = this.Location;
ld.BackColor = this.BackColor;
ld.ForeColor = this.ForeColor;
LineDecorator decorator = new LineDecorator(this.shape);
decorator.Size = this.Size;
decorator.Location = this.Location;
decorator.BackColor = this.BackColor;
decorator.ForeColor = this.ForeColor;
ld.Thickness = base.Thickness;
ld.DashStyle = base.DashStyle;
ld.From = this.fromPoint;
ld.To = this.toPoint;
return ld;
decorator.Thickness = base.Thickness;
decorator.DashStyle = base.DashStyle;
decorator.From = this.fromPoint;
decorator.To = this.toPoint;
return decorator;
}

32
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseRectangleItem.cs

@ -3,9 +3,12 @@ @@ -3,9 +3,12 @@
using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using ICSharpCode.Reports.Core.BaseClasses.Printing;
using ICSharpCode.Reports.Core.Exporter;
/// <summary>
/// This class draws a Rectangle
/// </summary>
@ -14,7 +17,9 @@ using ICSharpCode.Reports.Core.Exporter; @@ -14,7 +17,9 @@ using ICSharpCode.Reports.Core.Exporter;
/// created on - 29.09.2005 11:57:30
/// </remarks>
namespace ICSharpCode.Reports.Core {
public class BaseRectangleItem : BaseGraphicItem,IExportColumnBuilder {
public class BaseRectangleItem : BaseGraphicItem,IExportColumnBuilder
{
RectangleShape shape = new RectangleShape();
@ -29,11 +34,13 @@ namespace ICSharpCode.Reports.Core { @@ -29,11 +34,13 @@ namespace ICSharpCode.Reports.Core {
#region IExportColumnBuilder
public BaseExportColumn CreateExportColumn(){
shape.CornerRadius = CornerRadius;
IGraphicStyleDecorator style = base.CreateItemStyle(this.shape);
ExportGraphic item = new ExportGraphic(style,false);
return item as ExportGraphic;
}
#endregion
public override void Render(ReportPageEventArgs rpea) {
@ -41,15 +48,28 @@ namespace ICSharpCode.Reports.Core { @@ -41,15 +48,28 @@ namespace ICSharpCode.Reports.Core {
throw new ArgumentNullException("rpea");
}
base.Render(rpea);
Rectangle rect = base.DisplayRectangle;
Rectangle rectangle = base.DisplayRectangle;
StandardPrinter.FillBackground(rpea.PrintPageEventArgs.Graphics,this.BaseStyleDecorator);
shape.DrawShape (rpea.PrintPageEventArgs.Graphics,
base.Baseline(),
rect);
BaseLine line = new BaseLine(base.ForeColor,base.DashStyle,base.Thickness,LineCap.Round,LineCap.Round,DashCap.Round);
using (Pen pen = line.CreatePen(line.Thickness)){
if (pen != null)
{
shape.CornerRadius = this.CornerRadius;
GraphicsPath gfxPath = shape.CreatePath(rectangle);
rpea.PrintPageEventArgs.Graphics.FillPath(new SolidBrush(BackColor), gfxPath);;
rpea.PrintPageEventArgs.Graphics.DrawPath(pen, gfxPath);
}
}
}
public int CornerRadius {get;set;}
public override string ToString() {
return "BaseRectangleItem";
}

7
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs

@ -80,11 +80,13 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -80,11 +80,13 @@ namespace ICSharpCode.Reports.Core.Exporter
protected virtual void Decorate ()
{
RectangleShape shape = new RectangleShape();
shape.DrawShape(this.pdfWriter.DirectContent,
null,
this.styleDecorator,
ConvertToPdfRectangle());
ConvertToPdfRectangle());
this.DrawFrame();
}
#endregion
@ -123,6 +125,7 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -123,6 +125,7 @@ namespace ICSharpCode.Reports.Core.Exporter
iTextSharp.text.Rectangle r = (iTextSharp.text.Rectangle)rectangleConverter.ConvertTo(null,System.Globalization.CultureInfo.InvariantCulture,
this.styleDecorator.DisplayRectangle,
typeof(iTextSharp.text.Rectangle));
iTextSharp.text.Rectangle rr = new iTextSharp.text.Rectangle(r.Left,r.Bottom -2,
r.Left + r.Width,r.Bottom + r.Height);
@ -141,8 +144,6 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -141,8 +144,6 @@ namespace ICSharpCode.Reports.Core.Exporter
}
private void DrawFrame ()
{
if (this.styleDecorator.DrawBorder) {

14
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphic.cs

@ -105,14 +105,14 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -105,14 +105,14 @@ namespace ICSharpCode.Reports.Core.Exporter
if (lineDecorator != null) {
PdfLineDrawer ();
}
else {
else
{
// http://www.mikesdotnetting.com/Article/88/iTextSharp-Drawing-shapes-and-Graphics
IGraphicStyleDecorator style = base.StyleDecorator as GraphicStyleDecorator;
if (style != null) {
style.Shape.DrawShape(base.PdfWriter.DirectContent,
new BaseLine (style.ForeColor,style.DashStyle,style.Thickness),
style,
base.ConvertToPdfRectangle());
}
style.Shape.DrawShape(base.PdfWriter.DirectContent,
new BaseLine (style.ForeColor,style.DashStyle,style.Thickness),
style,
base.ConvertToPdfRectangle());
}
}

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportText.cs

@ -59,6 +59,7 @@ namespace ICSharpCode.Reports.Core.Exporter { @@ -59,6 +59,7 @@ namespace ICSharpCode.Reports.Core.Exporter {
}
base.Decorate();
PdfContentByte contentByte = base.PdfWriter.DirectContent;
CalculatePdfFormat pdfFormat = new CalculatePdfFormat(this.StyleDecorator,font);
@ -75,6 +76,7 @@ namespace ICSharpCode.Reports.Core.Exporter { @@ -75,6 +76,7 @@ namespace ICSharpCode.Reports.Core.Exporter {
}
Chunk chunk = new Chunk(formatedText,font);
columnText.AddText(chunk);
columnText.Go();

1
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/BaseLine.cs

@ -33,6 +33,7 @@ namespace ICSharpCode.Reports.Core @@ -33,6 +33,7 @@ namespace ICSharpCode.Reports.Core
{
}
public BaseLine(Color color, DashStyle dashStyle,float thickness, LineCap startLineCap, LineCap endLineCap, DashCap dashLineCap)
{
if (color == Color.White) {

3
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/BaseShape.cs

@ -86,7 +86,7 @@ namespace ICSharpCode.Reports.Core { @@ -86,7 +86,7 @@ namespace ICSharpCode.Reports.Core {
}
public void DrawShape(Graphics graphics, BaseLine line, Rectangle rectangle)
public virtual void DrawShape(Graphics graphics, BaseLine line, Rectangle rectangle)
{
if (graphics == null) {
throw new ArgumentNullException("graphics");
@ -114,6 +114,7 @@ namespace ICSharpCode.Reports.Core { @@ -114,6 +114,7 @@ namespace ICSharpCode.Reports.Core {
cb.SetColorFill(style.PdfBackColor);
}
protected static void FillBackGround (iTextSharp.text.pdf.PdfContentByte contentByte,
IBaseStyleDecorator style,
iTextSharp.text.Rectangle rectangle)

1
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/Border.cs

@ -53,6 +53,7 @@ namespace ICSharpCode.Reports.Core { @@ -53,6 +53,7 @@ namespace ICSharpCode.Reports.Core {
}
contentByte.SetColorStroke(style.PdfFrameColor);
contentByte.SetColorFill(style.PdfBackColor);
contentByte.SetLineWidth(UnitConverter.FromPixel(baseline.Thickness).Point);
contentByte.MoveTo(rectangle.Left ,rectangle.Top );

58
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/Graphics/RectangleShape.cs

@ -15,9 +15,11 @@ using ICSharpCode.Reports.Core.Exporter; @@ -15,9 +15,11 @@ using ICSharpCode.Reports.Core.Exporter;
/// created on - 09.10.2005 18:20:51
/// </remarks>
namespace ICSharpCode.Reports.Core {
public class RectangleShape : BaseShape {
public RectangleShape() {
public RectangleShape()
{
}
@ -27,53 +29,73 @@ namespace ICSharpCode.Reports.Core { @@ -27,53 +29,73 @@ namespace ICSharpCode.Reports.Core {
}
public override GraphicsPath CreatePath(Rectangle rectangle){
GraphicsPath path1 = new GraphicsPath();
path1.AddRectangle(rectangle);
return path1;
public override GraphicsPath CreatePath(Rectangle rectangle )
{
//http://stackoverflow.com/questions/628261/how-to-draw-rounded-rectangle-with-variable-width-border-inside-of-specific-bound
GraphicsPath gfxPath = new GraphicsPath();
if (CornerRadius == 0)
{
gfxPath.AddRectangle(rectangle);
}
else
{
gfxPath.AddArc(rectangle.X, rectangle.Y,CornerRadius , CornerRadius, 180, 90);
gfxPath.AddArc(rectangle.X + rectangle.Width - CornerRadius, rectangle.Y, CornerRadius, CornerRadius, 270, 90);
gfxPath.AddArc(rectangle.X + rectangle.Width - CornerRadius, rectangle.Y + rectangle.Height - CornerRadius, CornerRadius, CornerRadius, 0, 90);
gfxPath.AddArc(rectangle.X, rectangle.Y + rectangle.Height - CornerRadius, CornerRadius, CornerRadius, 90, 90);
}
gfxPath.CloseAllFigures();
return gfxPath;
}
public override void DrawShape(Graphics graphics, BaseLine line, Rectangle rectangle)
{
base.DrawShape(graphics, line, rectangle);
}
public override void CreatePath(iTextSharp.text.pdf.PdfContentByte contentByte,
BaseLine line,
IBaseStyleDecorator style,
IBaseStyleDecorator style,
Point from,Point to)
{
throw new NotImplementedException();
}
// http://www.mikesdotnetting.com/Article/88/iTextSharp-Drawing-shapes-and-Graphics
public override void CreatePath(iTextSharp.text.pdf.PdfContentByte contentByte,
BaseLine line,
IBaseStyleDecorator style,
iTextSharp.text.Rectangle rectangle)
{
if (contentByte == null) {
throw new ArgumentNullException("contentByte");
}
if (style == null) {
throw new ArgumentNullException("style");
}
if (rectangle == null) {
throw new ArgumentNullException("rectangle");
}
if ((line == null)||(line.Thickness < 1)) {
if (line == null) {
BaseShape.FillBackGround(contentByte,style,rectangle);
}
else if ((style.BackColor == GlobalValues.DefaultBackColor)) {
}
else
{
BaseShape.SetupShape(contentByte,style);
contentByte.SetLineWidth(UnitConverter.FromPixel(line.Thickness).Point);
contentByte.MoveTo(rectangle.Left ,rectangle.Top );
contentByte.LineTo(rectangle.Left, rectangle.Top - rectangle.Height);
contentByte.LineTo(rectangle.Left + rectangle.Width, rectangle.Top - rectangle.Height);
contentByte.LineTo(rectangle.Left + rectangle.Width, rectangle.Top);
contentByte.LineTo(rectangle.Left, rectangle.Top);
contentByte.RoundRectangle(rectangle.Left, rectangle.Bottom, rectangle.Width, rectangle.Height, CornerRadius);
BaseShape.FinishShape(contentByte);
} else {
BaseShape.FillBackGround(contentByte,style,rectangle);
}
}
public int CornerRadius {get;set;}
}
}

4
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Test/ICSharpCode.Reports.Core.Test/ReportingLanguage/IntegrationTests/AggregateFunctionsFixture.cs

@ -15,7 +15,7 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests @@ -15,7 +15,7 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests
{
[TestFixture]
[SetCulture("de-DE")]
// [SetCulture("de-DE")]
public class AggregateFunctionsFromTableFixture
{
@ -100,6 +100,7 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests @@ -100,6 +100,7 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests
public void Can_Sum_Double ()
{
const string expression = "=sum(amount)";
//var s = this.evaluator.Evaluate(expression);
Assert.That(this.evaluator.Evaluate(expression),
Is.EqualTo(this.doubleResult.ToString()));
}
@ -112,6 +113,7 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests @@ -112,6 +113,7 @@ namespace ICSharpCode.Reports.Core.Test.ReportingLanguage.IntegrationTests
public void Can_Look_For_MaxValue()
{
const string expression = "=max(amount)";
//var s = this.evaluator.Evaluate(expression);
Assert.That(this.evaluator.Evaluate(expression),
Is.EqualTo("400,5"));
}

Loading…
Cancel
Save