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. 48
      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; @@ -12,6 +12,8 @@ using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using ICSharpCode.Reports.Core;
namespace ICSharpCode.Reports.Addin
{
/// <summary>
@ -21,7 +23,7 @@ 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 @@ -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 @@ -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 @@ -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 {

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

@ -61,7 +61,7 @@ namespace ICSharpCode.Reports.Addin @@ -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) {

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

@ -23,7 +23,6 @@ namespace ICSharpCode.Reports.Addin @@ -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 @@ -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 @@ -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 @@ -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 @@ -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());
}
}

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

@ -45,9 +45,9 @@ namespace ICSharpCode.Reports.Addin @@ -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

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

@ -51,7 +51,7 @@ namespace ICSharpCode.Reports.Addin @@ -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);
}
}

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

@ -59,11 +59,12 @@ namespace ICSharpCode.Reports.Addin @@ -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);
}

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

@ -40,13 +40,13 @@ namespace ICSharpCode.Reports.Addin @@ -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);
}
}
}

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

@ -23,12 +23,15 @@ namespace ICSharpCode.Reports.Core { @@ -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 { @@ -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 { @@ -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 { @@ -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

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

@ -44,6 +44,8 @@ namespace ICSharpCode.Reports.Core{ @@ -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);

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

@ -52,8 +52,11 @@ namespace ICSharpCode.Reports.Core @@ -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 @@ -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);

21
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/Decorators/BaseStyleDecorator.cs

@ -19,6 +19,7 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -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 @@ -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 @@ -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 @@ -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);
}
}
}

4
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/Decorators/IBaseStyleDecorator.cs

@ -15,6 +15,10 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -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; }

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

@ -17,10 +17,10 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -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 @@ -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));
}

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

@ -71,8 +71,6 @@ namespace ICSharpCode.Reports.Core { @@ -71,8 +71,6 @@ namespace ICSharpCode.Reports.Core {
#endregion
#region Standard graphics
// Draw a Line
@ -117,7 +115,7 @@ namespace ICSharpCode.Reports.Core { @@ -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);
}

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

@ -36,14 +36,6 @@ namespace ICSharpCode.Reports.Core { @@ -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 { @@ -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 );

Loading…
Cancel
Save