Browse Source

Support for FrameColor

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@5508 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
pull/1/head
Peter Forstmeier 16 years ago
parent
commit
ac7cb7a3d8
  1. 26
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/AbstractItem.cs
  2. 2
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseImageItem.cs
  3. 18
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseRowItem.cs
  4. 4
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseSection.cs
  5. 2
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTableItem.cs
  6. 3
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTextItem.cs
  7. 2
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/ErrorItem.cs
  8. 46
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseReportItem.cs
  9. 2
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseRowItem.cs
  10. 8
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs
  11. 21
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/Decorators/BaseStyleDecorator.cs
  12. 4
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/Decorators/IBaseStyleDecorator.cs
  13. 10
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs
  14. 4
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Printing/Graphics/BaseShape.cs
  15. 11
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Printing/Graphics/Border.cs

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

@ -12,6 +12,8 @@ using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Drawing; using System.Drawing;
using ICSharpCode.Reports.Core;
namespace ICSharpCode.Reports.Addin namespace ICSharpCode.Reports.Addin
{ {
/// <summary> /// <summary>
@ -21,7 +23,7 @@ namespace ICSharpCode.Reports.Addin
[TypeDescriptionProvider(typeof(AbstractItemTypeProvider))] [TypeDescriptionProvider(typeof(AbstractItemTypeProvider))]
public abstract class AbstractItem:System.Windows.Forms.Control public abstract class AbstractItem:System.Windows.Forms.Control
{ {
private Color frameColor = SystemColors.WindowFrame; private Color frameColor = GlobalValues.DefaultBackColor;
private bool drawBorder; private bool drawBorder;
private Size defaultSize; private Size defaultSize;
@ -31,11 +33,16 @@ namespace ICSharpCode.Reports.Addin
TypeDescriptor.AddProvider(new AbstractItemTypeProvider(), typeof(AbstractItem)); TypeDescriptor.AddProvider(new AbstractItemTypeProvider(), typeof(AbstractItem));
} }
protected void DrawControl (Graphics graphics)
protected void DrawControl (Graphics graphics,Rectangle borderRectangle)
{ {
Rectangle borderRectangle = this.ClientRectangle; if (this.drawBorder == true) {
System.Windows.Forms.ControlPaint.DrawBorder3D(graphics, borderRectangle, graphics.DrawRectangle(new Pen(this.frameColor),borderRectangle);
} else {
System.Windows.Forms.ControlPaint.DrawBorder3D(graphics, this.ClientRectangle,
System.Windows.Forms.Border3DStyle.Etched); System.Windows.Forms.Border3DStyle.Etched);
}
} }
@ -44,15 +51,16 @@ namespace ICSharpCode.Reports.Addin
protected Rectangle DrawingRectangle { protected Rectangle DrawingRectangle {
get { get {
Rectangle r = new Rectangle(this.ClientRectangle.Left ,
return new Rectangle(this.ClientRectangle.Left ,
this.ClientRectangle.Top , this.ClientRectangle.Top ,
this.ClientRectangle.Width -1, this.ClientRectangle.Width -1,
this.ClientRectangle.Height -1); this.ClientRectangle.Height -1);
return r;
} }
} }
[Category("Border")]
public Color FrameColor { public Color FrameColor {
get { return frameColor; } get { return frameColor; }
set { set {
@ -61,9 +69,9 @@ namespace ICSharpCode.Reports.Addin
} }
} }
[Browsable(true),
Category("Appearance"), [Category("Border"),
Description("Draw a Border around the Item")] Description("Draw a Border around the Item")]
public bool DrawBorder { public bool DrawBorder {
get { return drawBorder; } get { return drawBorder; }
set { set {

2
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.Right -1,
this.ClientRectangle.Bottom -1); this.ClientRectangle.Bottom -1);
base.DrawControl(graphics); base.DrawControl(graphics,rect);
if (this.Image != null) { if (this.Image != null) {
if (this.scaleImageToSize) { if (this.scaleImageToSize) {

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

@ -23,7 +23,6 @@ namespace ICSharpCode.Reports.Addin
public class BaseRowItem:AbstractItem public class BaseRowItem:AbstractItem
{ {
// private Padding padding;
private Color alternateBackColor; private Color alternateBackColor;
private int changeBackColorEveryNRow; private int changeBackColorEveryNRow;
private RectangleShape backgroundShape = new RectangleShape(); private RectangleShape backgroundShape = new RectangleShape();
@ -53,7 +52,8 @@ namespace ICSharpCode.Reports.Addin
using (Brush b = new SolidBrush(this.BackColor)){ using (Brush b = new SolidBrush(this.BackColor)){
graphics.FillRectangle(b, base.DrawingRectangle); graphics.FillRectangle(b, base.DrawingRectangle);
} }
base.DrawControl(graphics);
base.DrawControl(graphics,base.DrawingRectangle);
} }
@ -64,6 +64,7 @@ namespace ICSharpCode.Reports.Addin
set { alternateBackColor = value; } set { alternateBackColor = value; }
} }
public int ChangeBackColorEveryNRow { public int ChangeBackColorEveryNRow {
get { return changeBackColorEveryNRow; } get { return changeBackColorEveryNRow; }
set { changeBackColorEveryNRow = value; } set { changeBackColorEveryNRow = value; }
@ -74,12 +75,7 @@ namespace ICSharpCode.Reports.Addin
set { backgroundShape = value; } set { backgroundShape = value; }
} }
/*
public Padding Padding {
get { return padding; }
set { padding = value; }
}
*/
#endregion #endregion
} }
@ -141,18 +137,16 @@ namespace ICSharpCode.Reports.Addin
prop = props.Find("Controls",true); prop = props.Find("Controls",true);
allProperties.Add(prop); allProperties.Add(prop);
/*
prop = props.Find("Padding",true); prop = props.Find("Padding",true);
allProperties.Add(prop); allProperties.Add(prop);
*/
prop = props.Find("AlternateBackColor",true); prop = props.Find("AlternateBackColor",true);
allProperties.Add(prop); allProperties.Add(prop);
prop = props.Find("ChangeBackColorEveryNRow",true); prop = props.Find("ChangeBackColorEveryNRow",true);
allProperties.Add(prop); allProperties.Add(prop);
// prop = props.Find("Padding",true);
// allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray()); return new PropertyDescriptorCollection(allProperties.ToArray());
} }
} }

4
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 #region Propertys

2
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)){ using (Brush b = new SolidBrush(this.BackColor)){
graphics.FillRectangle(b, base.DrawingRectangle); graphics.FillRectangle(b, base.DrawingRectangle);
} }
base.DrawControl(graphics); base.DrawControl(graphics,base.DrawingRectangle);
} }
} }

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

@ -59,11 +59,12 @@ namespace ICSharpCode.Reports.Addin
graphics.FillRectangle(b, base.DrawingRectangle); graphics.FillRectangle(b, base.DrawingRectangle);
} }
base.DrawControl(graphics);
TextDrawer.DrawString(graphics,this.Text,this.Font, TextDrawer.DrawString(graphics,this.Text,this.Font,
new SolidBrush(this.ForeColor), new SolidBrush(this.ForeColor),
this.ClientRectangle, this.ClientRectangle,
this.stringTrimming,this.contentAlignment); this.stringTrimming,this.contentAlignment);
base.DrawControl(graphics,base.DrawingRectangle);
} }

2
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/ErrorItem.cs

@ -40,13 +40,13 @@ namespace ICSharpCode.Reports.Addin
graphics.FillRectangle(b, base.DrawingRectangle); graphics.FillRectangle(b, base.DrawingRectangle);
} }
base.DrawControl(graphics);
string s = String.Format(System.Globalization.CultureInfo.CurrentCulture, string s = String.Format(System.Globalization.CultureInfo.CurrentCulture,
"Error : <{0}> is missing or obsolete",base.Text); "Error : <{0}> is missing or obsolete",base.Text);
ICSharpCode.Reports.Core.TextDrawer.DrawString(graphics,s,this.Font, ICSharpCode.Reports.Core.TextDrawer.DrawString(graphics,s,this.Font,
new SolidBrush(Color.Red), new SolidBrush(Color.Red),
this.ClientRectangle, this.ClientRectangle,
base.StringTrimming,base.ContentAlignment); base.StringTrimming,base.ContentAlignment);
base.DrawControl(graphics,base.DrawingRectangle);
} }
} }
} }

46
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseReportItem.cs

@ -23,12 +23,15 @@ namespace ICSharpCode.Reports.Core {
private bool canShrink; private bool canShrink;
private Color foreColor; private Color foreColor;
private Color backColor;
private Color frameColor;
private string name; private string name;
private BaseReportItem parent; private BaseReportItem parent;
private Size size; private Size size;
private Point location; private Point location;
private Color backColor;
private int sectionOffset; private int sectionOffset;
private Font font; private Font font;
@ -43,6 +46,7 @@ namespace ICSharpCode.Reports.Core {
{ {
this.size = GlobalValues.PreferedSize; this.size = GlobalValues.PreferedSize;
this.backColor = GlobalValues.DefaultBackColor; this.backColor = GlobalValues.DefaultBackColor;
this.frameColor = GlobalValues.DefaultBackColor;
this.foreColor = Color.Black; this.foreColor = Color.Black;
this.font = GlobalValues.DefaultFont; 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 public virtual int SectionOffset
{ {
get { get {
@ -203,23 +196,28 @@ namespace ICSharpCode.Reports.Core {
public virtual Color ForeColor public virtual Color ForeColor
{ {
get { get {return foreColor;}
return foreColor; set {foreColor = value;}
} }
set {
foreColor = value;
} public virtual Color BackColor
{
get {return backColor;}
set {backColor = value;}
}
public Color FrameColor {
get { return frameColor; }
set { frameColor = value; }
} }
public virtual Font Font public virtual Font Font
{ {
get { get {return this.font;}
return this.font; set {this.font = value;}
}
set {
this.font = value;
}
} }
#endregion #endregion

2
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseRowItem.cs

@ -44,6 +44,8 @@ namespace ICSharpCode.Reports.Core{
BaseStyleDecorator style = new BaseStyleDecorator(); BaseStyleDecorator style = new BaseStyleDecorator();
style.BackColor = this.BackColor; style.BackColor = this.BackColor;
style.ForeColor = this.ForeColor; style.ForeColor = this.ForeColor;
style.FrameColor = this.FrameColor;
if (this.Parent != null) { if (this.Parent != null) {
Rectangle rect = base.DrawingRectangle; Rectangle rect = base.DrawingRectangle;
style.Location = new Point(rect.Left,this.Location.Y); style.Location = new Point(rect.Left,this.Location.Y);

8
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs

@ -52,8 +52,11 @@ namespace ICSharpCode.Reports.Core
TextStyleDecorator style = new TextStyleDecorator(); TextStyleDecorator style = new TextStyleDecorator();
style.BackColor = this.BackColor; style.BackColor = this.BackColor;
style.Font = new Font(this.Font,Font.Style);
style.ForeColor = this.ForeColor; style.ForeColor = this.ForeColor;
style.FrameColor = this.FrameColor;
style.Font = new Font(this.Font,Font.Style);
style.Location = this.Location; style.Location = this.Location;
style.Size = this.Size; style.Size = this.Size;
style.DrawBorder = this.DrawBorder; style.DrawBorder = this.DrawBorder;
@ -78,7 +81,8 @@ namespace ICSharpCode.Reports.Core
base.Render(rpea); base.Render(rpea);
base.FillBackground(rpea.PrintPageEventArgs.Graphics); 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); base.DrawFrame(rpea.PrintPageEventArgs.Graphics,b);
string formated = StandardFormatter.FormatOutput(this.text,this.FormatString,this.DataType,String.Empty); string formated = StandardFormatter.FormatOutput(this.text,this.FormatString,this.DataType,String.Empty);

21
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 bool drawBorder;
private Color backColor; private Color backColor;
private Color foreColor; private Color foreColor;
private Color frameColor;
private Point location; private Point location;
private Size size; private Size size;
@ -46,7 +47,7 @@ namespace ICSharpCode.Reports.Core.Exporter
public iTextSharp.text.BaseColor PdfBackColor { 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 { 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 { public Point Location {
get { return location; } get { return location; }
set { location = value; } set { location = value; }
@ -75,5 +86,11 @@ namespace ICSharpCode.Reports.Core.Exporter
public Rectangle DisplayRectangle { public Rectangle DisplayRectangle {
get { return new Rectangle(this.location.X, this.location.Y, this.size.Width, this.size.Height); } 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);
}
} }
} }

4
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; } bool DrawBorder { get; set; }
Color BackColor { get; set; } Color BackColor { get; set; }
iTextSharp.text.BaseColor PdfBackColor { get; } iTextSharp.text.BaseColor PdfBackColor { get; }
Color FrameColor {get;set;}
iTextSharp.text.BaseColor PdfFrameColor { get; }
Color ForeColor { get; set; } Color ForeColor { get; set; }
iTextSharp.text.BaseColor PdfForeColor { get; } iTextSharp.text.BaseColor PdfForeColor { get; }
Point Location { get; set; } Point Location { get; set; }

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

@ -17,10 +17,10 @@ namespace ICSharpCode.Reports.Core.Exporter
public class BaseExportColumn public class BaseExportColumn
{ {
IBaseStyleDecorator styleDecorator; private IBaseStyleDecorator styleDecorator;
bool isContainer; private bool isContainer;
ICSharpCode.Reports.Core.Exporter.ExportRenderer.PdfUnitConverter converter; private ICSharpCode.Reports.Core.Exporter.ExportRenderer.PdfUnitConverter converter;
PdfWriter pdfWriter; private PdfWriter pdfWriter;
#region Constructors #region Constructors
@ -130,7 +130,7 @@ namespace ICSharpCode.Reports.Core.Exporter
private Border CreateDefaultBorder() 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)); System.Drawing.Drawing2D.DashStyle.Solid,1));
} }

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

@ -71,8 +71,6 @@ namespace ICSharpCode.Reports.Core {
#endregion #endregion
#region Standard graphics #region Standard graphics
// Draw a Line // Draw a Line
@ -117,7 +115,7 @@ namespace ICSharpCode.Reports.Core {
protected static void SetupShape (PdfContentByte cb,IBaseStyleDecorator style) protected static void SetupShape (PdfContentByte cb,IBaseStyleDecorator style)
{ {
cb.SetColorStroke(style.PdfForeColor); cb.SetColorStroke(style.PdfFrameColor);
cb.SetColorFill(style.PdfBackColor); cb.SetColorFill(style.PdfBackColor);
} }

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

@ -36,14 +36,6 @@ namespace ICSharpCode.Reports.Core {
this.bottom = baseLine; 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 ) { public void DrawBorder (Graphics graphics, Rectangle rectangle ) {
if (graphics == null) { if (graphics == null) {
@ -63,7 +55,8 @@ namespace ICSharpCode.Reports.Core {
if ( contentByte == null) { if ( contentByte == null) {
throw new ArgumentNullException("contentByte"); throw new ArgumentNullException("contentByte");
} }
contentByte.SetColorStroke(style.PdfForeColor);
contentByte.SetColorStroke(style.PdfFrameColor);
contentByte.SetLineWidth(UnitConverter.FromPixel(baseline.Thickness).Point); contentByte.SetLineWidth(UnitConverter.FromPixel(baseline.Thickness).Point);
contentByte.MoveTo(rectangle.Left ,rectangle.Top ); contentByte.MoveTo(rectangle.Left ,rectangle.Top );

Loading…
Cancel
Save