From 042d2fecc4637be89cef0bad5e66d6758217351c Mon Sep 17 00:00:00 2001 From: peterforstmeier Date: Fri, 18 Feb 2011 20:37:06 +0100 Subject: [PATCH] Cleanup --- .../Project/Designer/DesignerHelper.cs | 18 ++++- .../TypeProviders/CircleItemTypeProvider.cs | 12 +--- .../RectangleItemTypeProvider.cs | 11 +-- .../ICSharpCode.Reports.Core.csproj | 1 + .../BaseItems/Graphics/BaseCircleItem.cs | 3 +- .../BaseItems/Graphics/BaseRectangleItem.cs | 54 --------------- .../ExportColumns/BaseExportColumn.cs | 69 +++++++------------ .../ExportColumns/ExportGraphicContainer.cs | 67 ++++++++++++++++++ 8 files changed, 114 insertions(+), 121 deletions(-) create mode 100644 src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphicContainer.cs diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/DesignerHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/DesignerHelper.cs index 1c16284e1e..484337c23f 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/DesignerHelper.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/DesignerHelper.cs @@ -11,7 +11,7 @@ namespace ICSharpCode.Reports.Addin.Designer /// /// Description of DesignerHelper. /// - public sealed class DesignerHelper + internal sealed class DesignerHelper { private DesignerHelper() @@ -84,7 +84,7 @@ namespace ICSharpCode.Reports.Addin.Designer public static void AddTextbasedProperties (List allProperties, PropertyDescriptorCollection props) { - PropertyDescriptor prop = prop = props.Find("Font",true); + PropertyDescriptor prop = props.Find("Font",true); allProperties.Add(prop); prop = props.Find("FormatString",true); @@ -105,5 +105,19 @@ namespace ICSharpCode.Reports.Addin.Designer prop = props.Find("DataType",true); allProperties.Add(prop); } + + public static void AddGraphicProperties (List allProperties, + PropertyDescriptorCollection 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); + } } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/CircleItemTypeProvider.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/CircleItemTypeProvider.cs index ccb80a3a32..e1a4463517 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/CircleItemTypeProvider.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/CircleItemTypeProvider.cs @@ -51,17 +51,9 @@ namespace ICSharpCode.Reports.Addin.TypeProviders System.Collections.Generic.List allProperties = new System.Collections.Generic.List(); DesignerHelper.AddDefaultProperties(allProperties,props); - + DesignerHelper.AddGraphicProperties(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); - + prop = props.Find("Controls",true); allProperties.Add(prop); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/RectangleItemTypeProvider.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/RectangleItemTypeProvider.cs index 8d3075c508..af9710ec55 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/RectangleItemTypeProvider.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/RectangleItemTypeProvider.cs @@ -46,17 +46,10 @@ namespace ICSharpCode.Reports.Addin.TypeProviders System.Collections.Generic.List allProperties = new System.Collections.Generic.List(); DesignerHelper.AddDefaultProperties(allProperties,props); + DesignerHelper.AddGraphicProperties(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); - + prop = props.Find("CornerRadius",true); allProperties.Add(prop); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj index 0557ce393c..dde8419236 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj @@ -145,6 +145,7 @@ + diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseCircleItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseCircleItem.cs index e19d50f808..2afe584806 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseCircleItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseCircleItem.cs @@ -31,9 +31,8 @@ namespace ICSharpCode.Reports.Core { #region IExportColumnBuilder public BaseExportColumn CreateExportColumn(){ -// shape.CornerRadius = CornerRadius; IGraphicStyleDecorator style = base.CreateItemStyle(this.shape); - return new ExportGraphicContainer(style,true); + return new ExportGraphicContainer(style,true); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseRectangleItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseRectangleItem.cs index 9315c808c0..ae571268c1 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseRectangleItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseRectangleItem.cs @@ -7,7 +7,6 @@ using System.Drawing.Drawing2D; using ICSharpCode.Reports.Core.BaseClasses.Printing; using ICSharpCode.Reports.Core.Exporter; -using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Interfaces; /// @@ -86,57 +85,4 @@ namespace ICSharpCode.Reports.Core } } } - - public class ExportGraphicContainer :ExportContainer ,IExportContainer - { - ExporterCollection items; - - - public ExportGraphicContainer (IBaseStyleDecorator itemStyle,bool isContainer):base(itemStyle as BaseStyleDecorator) - { - - } - - public override void DrawItem(Graphics graphics) - { - base.DrawItem(graphics); - ILineDecorator lineDecorator = base.StyleDecorator as LineDecorator; - if (lineDecorator != null) { - GraphicsLineDrawer (graphics); - } - else { - IGraphicStyleDecorator style = base.StyleDecorator as GraphicStyleDecorator; - if (style != null) { - base.FillShape(graphics,style.Shape); - BaseLine baseLine = null; - if (style.BackColor == GlobalValues.DefaultBackColor){ - baseLine = new BaseLine (style.ForeColor,style.DashStyle,style.Thickness); - } else { - baseLine = new BaseLine (style.BackColor,style.DashStyle,style.Thickness); - } - style.Shape.DrawShape(graphics, - baseLine, - style.DisplayRectangle); - } - } - } - - - private void GraphicsLineDrawer (Graphics graphics) - { - LineDecorator lineStyle = base.StyleDecorator as LineDecorator; - - BaseLine baseLine = null; - baseLine = new BaseLine (lineStyle.ForeColor,lineStyle.DashStyle,lineStyle.Thickness); - - Point from = new Point(lineStyle.DisplayRectangle.Left + lineStyle.From.X, - lineStyle.DisplayRectangle.Top + lineStyle.From.Y); - Point to = new Point(lineStyle.DisplayRectangle.Left + lineStyle.To.X, - lineStyle.DisplayRectangle.Top + lineStyle.To.Y); - lineStyle.Shape.DrawShape(graphics, - baseLine, - from, - to); - } - } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs index 26d8ddde25..d639042b42 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs @@ -15,24 +15,24 @@ namespace ICSharpCode.Reports.Core.Exporter public class BaseExportColumn { - private IBaseStyleDecorator styleDecorator; - private bool isContainer; - private ICSharpCode.Reports.Core.Exporter.ExportRenderer.PdfUnitConverter converter; - private PdfWriter pdfWriter; +// private IBaseStyleDecorator styleDecorator; + // private bool isContainer; + // private ICSharpCode.Reports.Core.Exporter.ExportRenderer.PdfUnitConverter converter; +// private PdfWriter pdfWriter; #region Constructors public BaseExportColumn() { - this.styleDecorator = new BaseStyleDecorator(System.Drawing.Color.White, + this.StyleDecorator = new BaseStyleDecorator(System.Drawing.Color.White, System.Drawing.Color.Black); } - public BaseExportColumn(IBaseStyleDecorator itemStyle, bool isContainer) + public BaseExportColumn(IBaseStyleDecorator styleDecorator, bool isContainer) { - this.styleDecorator = itemStyle; - this.isContainer = isContainer; + this.StyleDecorator = styleDecorator; + this.IsContainer = isContainer; } #endregion @@ -54,8 +54,8 @@ namespace ICSharpCode.Reports.Core.Exporter if (converter == null) { throw new ArgumentNullException("converter"); } - this.pdfWriter = pdfWriter; - this.converter = converter; + this.PdfWriter = pdfWriter; + this.PdfUnitConverter = converter; } #endregion @@ -82,9 +82,9 @@ namespace ICSharpCode.Reports.Core.Exporter { RectangleShape shape = new RectangleShape(); - shape.DrawShape(this.pdfWriter.DirectContent, + shape.DrawShape(this.PdfWriter.DirectContent, null, - this.styleDecorator, + this.StyleDecorator, ConvertToPdfRectangle()); this.DrawFrame(); @@ -111,8 +111,8 @@ namespace ICSharpCode.Reports.Core.Exporter } shape.FillShape(graphics, - new SolidFillPattern(this.styleDecorator.BackColor), - this.styleDecorator.DisplayRectangle); + new SolidFillPattern(this.StyleDecorator.BackColor), + this.StyleDecorator.DisplayRectangle); } @@ -121,10 +121,10 @@ namespace ICSharpCode.Reports.Core.Exporter protected iTextSharp.text.Rectangle ConvertToPdfRectangle () { - ScreenRectToPdfRectConverter rectangleConverter = new ScreenRectToPdfRectConverter(this.converter); + ScreenRectToPdfRectConverter rectangleConverter = new ScreenRectToPdfRectConverter(this.PdfUnitConverter); iTextSharp.text.Rectangle r = (iTextSharp.text.Rectangle)rectangleConverter.ConvertTo(null,System.Globalization.CultureInfo.InvariantCulture, - this.styleDecorator.DisplayRectangle, + this.StyleDecorator.DisplayRectangle, typeof(iTextSharp.text.Rectangle)); @@ -140,51 +140,32 @@ namespace ICSharpCode.Reports.Core.Exporter private Border CreateDefaultBorder() { - return new Border(new BaseLine (this.styleDecorator.FrameColor, + return new Border(new BaseLine (this.StyleDecorator.FrameColor, System.Drawing.Drawing2D.DashStyle.Solid,1)); } private void DrawFrame () { - if (this.styleDecorator.DrawBorder) { + if (this.StyleDecorator.DrawBorder) { Border b = this.CreateDefaultBorder(); - b.DrawBorder(this.pdfWriter.DirectContent, + b.DrawBorder(this.PdfWriter.DirectContent, ConvertToPdfRectangle(), - this.styleDecorator); + this.StyleDecorator); } } - #endregion - public virtual IBaseStyleDecorator StyleDecorator { - get { - return styleDecorator; - } - set { - this.styleDecorator = value; - } - } + public virtual IBaseStyleDecorator StyleDecorator {get;set;} - public bool IsContainer { - get { - return isContainer; - } - set { - isContainer = value; - } - } - - public ICSharpCode.Reports.Core.Exporter.ExportRenderer.PdfUnitConverter PdfUnitConverter { - get { return converter; } - } + public bool IsContainer {get; protected set;} + + public ICSharpCode.Reports.Core.Exporter.ExportRenderer.PdfUnitConverter PdfUnitConverter {get;private set;} - public PdfWriter PdfWriter { - get { return pdfWriter; } - } + public PdfWriter PdfWriter {get;private set;} } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphicContainer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphicContainer.cs new file mode 100644 index 0000000000..bc120931e8 --- /dev/null +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphicContainer.cs @@ -0,0 +1,67 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 18.02.2011 + * Time: 20:20 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using System.Drawing; +using ICSharpCode.Reports.Core.Globals; +using iTextSharp.text.pdf; + +namespace ICSharpCode.Reports.Core.Exporter +{ + public class ExportGraphicContainer :ExportContainer + { + //ExporterCollection items; + + public ExportGraphicContainer (IBaseStyleDecorator itemStyle,bool isContainer):base(itemStyle as BaseStyleDecorator) + { + + } + + public override void DrawItem(Graphics graphics) + { + base.DrawItem(graphics); + ILineDecorator lineDecorator = base.StyleDecorator as LineDecorator; + if (lineDecorator != null) { + GraphicsLineDrawer (graphics); + } + else { + IGraphicStyleDecorator style = base.StyleDecorator as GraphicStyleDecorator; + if (style != null) { + base.FillShape(graphics,style.Shape); + BaseLine baseLine = null; + if (style.BackColor == GlobalValues.DefaultBackColor){ + baseLine = new BaseLine (style.ForeColor,style.DashStyle,style.Thickness); + } else { + baseLine = new BaseLine (style.BackColor,style.DashStyle,style.Thickness); + } + style.Shape.DrawShape(graphics, + baseLine, + style.DisplayRectangle); + } + } + } + + + private void GraphicsLineDrawer (Graphics graphics) + { + LineDecorator lineStyle = base.StyleDecorator as LineDecorator; + + BaseLine baseLine = null; + baseLine = new BaseLine (lineStyle.ForeColor,lineStyle.DashStyle,lineStyle.Thickness); + + Point from = new Point(lineStyle.DisplayRectangle.Left + lineStyle.From.X, + lineStyle.DisplayRectangle.Top + lineStyle.From.Y); + Point to = new Point(lineStyle.DisplayRectangle.Left + lineStyle.To.X, + lineStyle.DisplayRectangle.Top + lineStyle.To.Y); + lineStyle.Shape.DrawShape(graphics, + baseLine, + from, + to); + } + } +}