Browse Source

Wpf - Circle

reports
Peter Forstmeier 12 years ago
parent
commit
51e498de07
  1. 2
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/ICSharpCode.Reporting.csproj
  2. 6
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/Visitors/AbstractVisitor.cs
  3. 1
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/Visitors/IVisitor.cs
  4. 31
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/Graphics/BaseCircleItem.cs
  5. 38
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/ExportColumns/ExportCircle.cs
  6. 2
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Pdf/PdfVisitor.cs
  7. 36
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Wpf/Visitor/WpfVisitor.cs

2
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/ICSharpCode.Reporting.csproj

@ -144,6 +144,7 @@ @@ -144,6 +144,7 @@
<Compile Include="Src\Globals\GlobalValues.cs" />
<Compile Include="Src\Interfaces\IReportModel.cs" />
<Compile Include="Src\Items\BaseTextItem.cs" />
<Compile Include="Src\Items\Graphics\BaseCircleItem.cs" />
<Compile Include="Src\Items\Graphics\BaseGraphics.cs" />
<Compile Include="Src\Items\Graphics\BaseLineItem.cs" />
<Compile Include="Src\Items\Graphics\BaseRectangleItem.cs" />
@ -157,6 +158,7 @@ @@ -157,6 +158,7 @@
<Compile Include="Src\PageBuilder\Converter\ContainerConverter.cs" />
<Compile Include="Src\PageBuilder\Converter\IContainerConverter.cs" />
<Compile Include="Src\PageBuilder\DataPageBuilder.cs" />
<Compile Include="Src\PageBuilder\ExportColumns\ExportCircle.cs" />
<Compile Include="Src\PageBuilder\ExportColumns\ExportColumn.cs" />
<Compile Include="Src\PageBuilder\ExportColumns\ExportContainer.cs" />
<Compile Include="Src\PageBuilder\ExportColumns\ExportLine.cs" />

6
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/Visitors/AbstractVisitor.cs

@ -61,6 +61,12 @@ namespace ICSharpCode.Reporting.Exporter.Visitors @@ -61,6 +61,12 @@ namespace ICSharpCode.Reporting.Exporter.Visitors
}
public virtual void Visit (ExportCircle exportCircle) {
}
protected bool ShouldSetBackcolor (ExportColumn exportColumn) {
return exportColumn.BackColor != Color.White;
}

1
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/Visitors/IVisitor.cs

@ -18,5 +18,6 @@ namespace ICSharpCode.Reporting.Exporter.Visitors @@ -18,5 +18,6 @@ namespace ICSharpCode.Reporting.Exporter.Visitors
void Visit(ExportText exportColumn);
void Visit(ExportLine exportGraphics);
void Visit (ExportRectangle exportRectangle);
void Visit (ExportCircle exportCircle);
}
}

31
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/Graphics/BaseCircleItem.cs

@ -0,0 +1,31 @@ @@ -0,0 +1,31 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using ICSharpCode.Reporting.Interfaces.Export;
using ICSharpCode.Reporting.PageBuilder.ExportColumns;
namespace ICSharpCode.Reporting.Items
{
/// <summary>
/// Description of BaseCircleItem.
/// </summary>
public class BaseCircleItem:BaseGraphics
{
public BaseCircleItem()
{
}
public override IExportColumn CreateExportColumn()
{
var ex = new ExportCircle();
ex.Location = Location;
ex.ForeColor = ForeColor;
ex.BackColor = BackColor;
ex.Size = Size;
ex.DesiredSize = Size;
ex.Thickness = Thickness;
ex.DashStyle = DashStyle;
return ex;
}
}
}

38
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/ExportColumns/ExportCircle.cs

@ -0,0 +1,38 @@ @@ -0,0 +1,38 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.Drawing.Drawing2D;
using ICSharpCode.Reporting.Exporter.Visitors;
namespace ICSharpCode.Reporting.PageBuilder.ExportColumns
{
/// <summary>
/// Description of ExportCircle.
/// </summary>
public class ExportCircle:ExportColumn,IExportGraphics,IAcceptor
{
public ExportCircle()
{
}
public void Accept(IVisitor visitor)
{
visitor.Visit(this);
}
public override ICSharpCode.Reporting.Arrange.IMeasurementStrategy MeasurementStrategy()
{
throw new NotImplementedException();
}
public int Thickness {get;set;}
public DashStyle DashStyle {get;set;}
public LineCap StartLineCap {get;set;}
public LineCap EndLineCap {get;set;}
}
}

2
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Pdf/PdfVisitor.cs

@ -85,6 +85,8 @@ namespace ICSharpCode.Reporting.Pdf @@ -85,6 +85,8 @@ namespace ICSharpCode.Reporting.Pdf
gfx.DrawRectangle(pen,new XRect(columnLocation.ToXPoints(),
exportRectangle.Size.ToXSize()));
}
public PdfPage PdfPage {get; private set;}
}
}

36
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Wpf/Visitor/WpfVisitor.cs

@ -82,8 +82,7 @@ namespace ICSharpCode.Reporting.WpfReportViewer.Visitor @@ -82,8 +82,7 @@ namespace ICSharpCode.Reporting.WpfReportViewer.Visitor
{
var pen = FixedDocumentCreator.CreateWpfPen(exportGraphics);
var visual = new DrawingVisual();
using (var dc = visual.RenderOpen())
{
using (var dc = visual.RenderOpen()){
dc.DrawLine(pen,
new Point(exportGraphics.Location.X, exportGraphics.Location.Y),
new Point(exportGraphics.Location.X + exportGraphics.Size.Width,exportGraphics.Location.Y));
@ -98,17 +97,40 @@ namespace ICSharpCode.Reporting.WpfReportViewer.Visitor @@ -98,17 +97,40 @@ namespace ICSharpCode.Reporting.WpfReportViewer.Visitor
var pen = FixedDocumentCreator.CreateWpfPen(exportRectangle);
var visual = new DrawingVisual();
using (var dc = visual.RenderOpen())
{dc.DrawRectangle(FixedDocumentCreator.ConvertBrush(exportRectangle.BackColor),
pen,
new Rect(exportRectangle.Location.X,exportRectangle.Location.Y,
exportRectangle.Size.Width,exportRectangle.Size.Height));
using (var dc = visual.RenderOpen()){
dc.DrawRectangle(FixedDocumentCreator.ConvertBrush(exportRectangle.BackColor),
pen,
new Rect(exportRectangle.Location.X,exportRectangle.Location.Y,
exportRectangle.Size.Width,exportRectangle.Size.Height));
}
DrawingElement m = new DrawingElement(visual);
UIElement = m;
}
public override void Visit(ExportCircle exportCircle)
{
var pen = FixedDocumentCreator.CreateWpfPen(exportCircle);
var rad = CalcRad(exportCircle.Size);
var visual = new DrawingVisual();
using (var dc = visual.RenderOpen()){
dc.DrawEllipse(FixedDocumentCreator.ConvertBrush(exportCircle.BackColor),
pen,
new Point(exportCircle.Location.X + rad.X,
exportCircle.Location.Y + rad.Y),
rad.X,
rad.Y);
}
DrawingElement m = new DrawingElement(visual);
UIElement = m;
}
Point CalcRad(System.Drawing.Size size) {
return new Point(size.Width /2,size.Height /2);
}
protected UIElement UIElement {get;private set;}

Loading…
Cancel
Save