diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/AbstractItem.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/AbstractItem.cs index 3232e140c2..65d2aa2da3 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/AbstractItem.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/AbstractItem.cs @@ -12,6 +12,8 @@ using System.Collections.Generic; using System.ComponentModel; using System.Drawing; +using ICSharpCode.Reports.Core; + namespace ICSharpCode.Reports.Addin { /// @@ -21,7 +23,7 @@ namespace ICSharpCode.Reports.Addin [TypeDescriptionProvider(typeof(AbstractItemTypeProvider))] public abstract class AbstractItem:System.Windows.Forms.Control { - private Color frameColor = SystemColors.WindowFrame; + private Color frameColor = GlobalValues.DefaultBackColor; private bool drawBorder; private Size defaultSize; @@ -31,11 +33,16 @@ namespace ICSharpCode.Reports.Addin TypeDescriptor.AddProvider(new AbstractItemTypeProvider(), typeof(AbstractItem)); } - protected void DrawControl (Graphics graphics) + + protected void DrawControl (Graphics graphics,Rectangle borderRectangle) { - Rectangle borderRectangle = this.ClientRectangle; - System.Windows.Forms.ControlPaint.DrawBorder3D(graphics, borderRectangle, + if (this.drawBorder == true) { + graphics.DrawRectangle(new Pen(this.frameColor),borderRectangle); + + } else { + System.Windows.Forms.ControlPaint.DrawBorder3D(graphics, this.ClientRectangle, System.Windows.Forms.Border3DStyle.Etched); + } } @@ -44,15 +51,16 @@ namespace ICSharpCode.Reports.Addin protected Rectangle DrawingRectangle { get { - Rectangle r = new Rectangle(this.ClientRectangle.Left , + + return new Rectangle(this.ClientRectangle.Left , this.ClientRectangle.Top , this.ClientRectangle.Width -1, this.ClientRectangle.Height -1); - return r; } } + [Category("Border")] public Color FrameColor { get { return frameColor; } set { @@ -61,9 +69,9 @@ namespace ICSharpCode.Reports.Addin } } - [Browsable(true), - Category("Appearance"), - Description("Draw a Border around the Item")] + + [Category("Border"), + Description("Draw a Border around the Item")] public bool DrawBorder { get { return drawBorder; } set { diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseImageItem.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseImageItem.cs index b838ac93b6..7d6f999583 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseImageItem.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseImageItem.cs @@ -61,7 +61,7 @@ namespace ICSharpCode.Reports.Addin this.ClientRectangle.Right -1, this.ClientRectangle.Bottom -1); - base.DrawControl(graphics); + base.DrawControl(graphics,rect); if (this.Image != null) { if (this.scaleImageToSize) { diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseRowItem.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseRowItem.cs index f461d800f4..d0e3797e23 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseRowItem.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseRowItem.cs @@ -23,7 +23,6 @@ namespace ICSharpCode.Reports.Addin public class BaseRowItem:AbstractItem { -// private Padding padding; private Color alternateBackColor; private int changeBackColorEveryNRow; private RectangleShape backgroundShape = new RectangleShape(); @@ -53,7 +52,8 @@ namespace ICSharpCode.Reports.Addin using (Brush b = new SolidBrush(this.BackColor)){ graphics.FillRectangle(b, base.DrawingRectangle); } - base.DrawControl(graphics); + + base.DrawControl(graphics,base.DrawingRectangle); } @@ -63,6 +63,7 @@ namespace ICSharpCode.Reports.Addin get { return alternateBackColor; } set { alternateBackColor = value; } } + public int ChangeBackColorEveryNRow { get { return changeBackColorEveryNRow; } @@ -74,12 +75,7 @@ namespace ICSharpCode.Reports.Addin set { backgroundShape = value; } } - /* - public Padding Padding { - get { return padding; } - set { padding = value; } - } - */ + #endregion } @@ -141,18 +137,16 @@ namespace ICSharpCode.Reports.Addin 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); -// prop = props.Find("Padding",true); -// allProperties.Add(prop); return new PropertyDescriptorCollection(allProperties.ToArray()); } } diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseSection.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseSection.cs index 26165cac93..005b649065 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseSection.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseSection.cs @@ -45,9 +45,9 @@ namespace ICSharpCode.Reports.Addin } - public override void Draw(Graphics g) + public override void Draw(Graphics graphics) { - base.DrawControl(g); + base.DrawControl(graphics,new Rectangle(this.Location,this.Size)); } #region Propertys diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTableItem.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTableItem.cs index b9c3a04185..1a428e7bae 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTableItem.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTableItem.cs @@ -51,7 +51,7 @@ namespace ICSharpCode.Reports.Addin using (Brush b = new SolidBrush(this.BackColor)){ graphics.FillRectangle(b, base.DrawingRectangle); } - base.DrawControl(graphics); + base.DrawControl(graphics,base.DrawingRectangle); } } diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTextItem.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTextItem.cs index af94e8f6ee..6b075a648f 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTextItem.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTextItem.cs @@ -59,11 +59,12 @@ namespace ICSharpCode.Reports.Addin graphics.FillRectangle(b, base.DrawingRectangle); } - base.DrawControl(graphics); TextDrawer.DrawString(graphics,this.Text,this.Font, new SolidBrush(this.ForeColor), this.ClientRectangle, this.stringTrimming,this.contentAlignment); + + base.DrawControl(graphics,base.DrawingRectangle); } diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/ErrorItem.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/ErrorItem.cs index dc44497af3..e80ac146b1 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/ErrorItem.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/ErrorItem.cs @@ -40,13 +40,13 @@ namespace ICSharpCode.Reports.Addin graphics.FillRectangle(b, base.DrawingRectangle); } - base.DrawControl(graphics); string s = String.Format(System.Globalization.CultureInfo.CurrentCulture, "Error : <{0}> is missing or obsolete",base.Text); ICSharpCode.Reports.Core.TextDrawer.DrawString(graphics,s,this.Font, new SolidBrush(Color.Red), this.ClientRectangle, base.StringTrimming,base.ContentAlignment); + base.DrawControl(graphics,base.DrawingRectangle); } } } diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseReportItem.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseReportItem.cs index a0b34b16a5..0f6325f81a 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseReportItem.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseReportItem.cs @@ -23,12 +23,15 @@ namespace ICSharpCode.Reports.Core { private bool canShrink; private Color foreColor; + private Color backColor; + private Color frameColor; + private string name; private BaseReportItem parent; private Size size; private Point location; - private Color backColor; + private int sectionOffset; private Font font; @@ -43,6 +46,7 @@ namespace ICSharpCode.Reports.Core { { this.size = GlobalValues.PreferedSize; this.backColor = GlobalValues.DefaultBackColor; + this.frameColor = GlobalValues.DefaultBackColor; this.foreColor = Color.Black; this.font = GlobalValues.DefaultFont; } @@ -168,17 +172,6 @@ namespace ICSharpCode.Reports.Core { } - public virtual Color BackColor - { - get { - return backColor; - } - set { - backColor = value; - } - } - - public virtual int SectionOffset { get { @@ -203,23 +196,28 @@ namespace ICSharpCode.Reports.Core { public virtual Color ForeColor { - get { - return foreColor; - } - set { - foreColor = value; - } + get {return foreColor;} + set {foreColor = value;} } - public virtual Font Font + public virtual Color BackColor { - get { - return this.font; - } - set { - this.font = value; - } + get {return backColor;} + set {backColor = value;} + } + + + public Color FrameColor { + get { return frameColor; } + set { frameColor = value; } + } + + + public virtual Font Font + { + get {return this.font;} + set {this.font = value;} } #endregion diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseRowItem.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseRowItem.cs index bd45969ad8..a63717b27d 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseRowItem.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseRowItem.cs @@ -44,6 +44,8 @@ namespace ICSharpCode.Reports.Core{ BaseStyleDecorator style = new BaseStyleDecorator(); style.BackColor = this.BackColor; style.ForeColor = this.ForeColor; + style.FrameColor = this.FrameColor; + if (this.Parent != null) { Rectangle rect = base.DrawingRectangle; style.Location = new Point(rect.Left,this.Location.Y); diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs index 29d115496c..817b86c62b 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs @@ -52,8 +52,11 @@ namespace ICSharpCode.Reports.Core TextStyleDecorator style = new TextStyleDecorator(); style.BackColor = this.BackColor; - style.Font = new Font(this.Font,Font.Style); style.ForeColor = this.ForeColor; + style.FrameColor = this.FrameColor; + + style.Font = new Font(this.Font,Font.Style); + style.Location = this.Location; style.Size = this.Size; style.DrawBorder = this.DrawBorder; @@ -78,7 +81,8 @@ namespace ICSharpCode.Reports.Core base.Render(rpea); base.FillBackground(rpea.PrintPageEventArgs.Graphics); - Border b = new Border(new BaseLine (this.ForeColor,System.Drawing.Drawing2D.DashStyle.Solid,1)); + //Border b = new Border(new BaseLine (this.ForeColor,System.Drawing.Drawing2D.DashStyle.Solid,1)); + Border b = new Border(new BaseLine (this.FrameColor,System.Drawing.Drawing2D.DashStyle.Solid,1)); base.DrawFrame(rpea.PrintPageEventArgs.Graphics,b); string formated = StandardFormatter.FormatOutput(this.text,this.FormatString,this.DataType,String.Empty); diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/Decorators/BaseStyleDecorator.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/Decorators/BaseStyleDecorator.cs index 72d7799fca..184b8301db 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/Decorators/BaseStyleDecorator.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/Decorators/BaseStyleDecorator.cs @@ -19,6 +19,7 @@ namespace ICSharpCode.Reports.Core.Exporter private bool drawBorder; private Color backColor; private Color foreColor; + private Color frameColor; private Point location; private Size size; @@ -46,7 +47,7 @@ namespace ICSharpCode.Reports.Core.Exporter public iTextSharp.text.BaseColor PdfBackColor { - get { return new iTextSharp.text.BaseColor(this.backColor.R, this.backColor.G, this.backColor.B, this.backColor.A); } + get {return this.ConvertToPdfBaseColor(this.backColor);} } @@ -57,10 +58,20 @@ namespace ICSharpCode.Reports.Core.Exporter public iTextSharp.text.BaseColor PdfForeColor { - get { return new iTextSharp.text.BaseColor(this.foreColor.R, this.foreColor.G, this.foreColor.B, this.foreColor.A); } + get {return this.ConvertToPdfBaseColor(this.foreColor);} } + + public Color FrameColor { + get { return frameColor; } + set { frameColor = value; } + } + + public iTextSharp.text.BaseColor PdfFrameColor { + get {return this.ConvertToPdfBaseColor(frameColor);} + } + public Point Location { get { return location; } set { location = value; } @@ -75,5 +86,11 @@ namespace ICSharpCode.Reports.Core.Exporter public Rectangle DisplayRectangle { get { return new Rectangle(this.location.X, this.location.Y, this.size.Width, this.size.Height); } } + + private iTextSharp.text.BaseColor ConvertToPdfBaseColor (Color color) + { + return new iTextSharp.text.BaseColor(color.R, color.G, color.B, color.A); + } + } } diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/Decorators/IBaseStyleDecorator.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/Decorators/IBaseStyleDecorator.cs index 9e86aacd3e..e9e6005f6e 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/Decorators/IBaseStyleDecorator.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/Decorators/IBaseStyleDecorator.cs @@ -15,6 +15,10 @@ namespace ICSharpCode.Reports.Core.Exporter bool DrawBorder { get; set; } Color BackColor { get; set; } iTextSharp.text.BaseColor PdfBackColor { get; } + + Color FrameColor {get;set;} + iTextSharp.text.BaseColor PdfFrameColor { get; } + Color ForeColor { get; set; } iTextSharp.text.BaseColor PdfForeColor { get; } Point Location { get; set; } diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs index d65c086f54..031a335616 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs @@ -17,10 +17,10 @@ namespace ICSharpCode.Reports.Core.Exporter public class BaseExportColumn { - IBaseStyleDecorator styleDecorator; - bool isContainer; - ICSharpCode.Reports.Core.Exporter.ExportRenderer.PdfUnitConverter converter; - PdfWriter pdfWriter; + private IBaseStyleDecorator styleDecorator; + private bool isContainer; + private ICSharpCode.Reports.Core.Exporter.ExportRenderer.PdfUnitConverter converter; + private PdfWriter pdfWriter; #region Constructors @@ -130,7 +130,7 @@ namespace ICSharpCode.Reports.Core.Exporter private Border CreateDefaultBorder() { - return new Border(new BaseLine (this.styleDecorator.ForeColor, + return new Border(new BaseLine (this.styleDecorator.FrameColor, System.Drawing.Drawing2D.DashStyle.Solid,1)); } diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Printing/Graphics/BaseShape.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Printing/Graphics/BaseShape.cs index 594158a6db..de48777eba 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Printing/Graphics/BaseShape.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Printing/Graphics/BaseShape.cs @@ -71,8 +71,6 @@ namespace ICSharpCode.Reports.Core { #endregion - - #region Standard graphics // Draw a Line @@ -117,7 +115,7 @@ namespace ICSharpCode.Reports.Core { protected static void SetupShape (PdfContentByte cb,IBaseStyleDecorator style) { - cb.SetColorStroke(style.PdfForeColor); + cb.SetColorStroke(style.PdfFrameColor); cb.SetColorFill(style.PdfBackColor); } diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Printing/Graphics/Border.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Printing/Graphics/Border.cs index 62b9b43321..2ae53e20f8 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Printing/Graphics/Border.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Printing/Graphics/Border.cs @@ -36,14 +36,6 @@ namespace ICSharpCode.Reports.Core { this.bottom = baseLine; } -// public Border(BaseLine left, BaseLine top, BaseLine right, BaseLine bottom) -// { -// this.left = left; -// this.top = top; -// this.right = right; -// this.bottom = bottom; -// } - public void DrawBorder (Graphics graphics, Rectangle rectangle ) { if (graphics == null) { @@ -63,7 +55,8 @@ namespace ICSharpCode.Reports.Core { if ( contentByte == null) { throw new ArgumentNullException("contentByte"); } - contentByte.SetColorStroke(style.PdfForeColor); + + contentByte.SetColorStroke(style.PdfFrameColor); contentByte.SetLineWidth(UnitConverter.FromPixel(baseline.Thickness).Point); contentByte.MoveTo(rectangle.Left ,rectangle.Top );