diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignableItems/BaseImageItem.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignableItems/BaseImageItem.cs
index 141668d1bd..324f9d3784 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignableItems/BaseImageItem.cs
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignableItems/BaseImageItem.cs
@@ -12,7 +12,6 @@ using System.ComponentModel;
using System.Drawing;
using System.Xml.Serialization;
-using ICSharpCode.Reporting.Addin.Globals;
using ICSharpCode.Reports.Addin.TypeProviders;
namespace ICSharpCode.Reporting.Addin.DesignableItems
{
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Designer/ImageDesigner.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Designer/ImageDesigner.cs
index e93957d89f..49167158a4 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Designer/ImageDesigner.cs
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Designer/ImageDesigner.cs
@@ -10,7 +10,6 @@ using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Windows.Forms.Design;
-using ICSharpCode.Reporting.Addin.Globals;
using ICSharpCode.Reporting.Addin.TypeProvider;
namespace ICSharpCode.Reporting.Addin.Designer
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/ICSharpCode.Reporting.csproj b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/ICSharpCode.Reporting.csproj
index 1bc4c69e47..6025b6c10a 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/ICSharpCode.Reporting.csproj
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/ICSharpCode.Reporting.csproj
@@ -147,8 +147,10 @@
+
+
@@ -164,6 +166,7 @@
+
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/Visitors/AbstractVisitor.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/Visitors/AbstractVisitor.cs
index 5dc7646d62..d6adb5c0f3 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/Visitors/AbstractVisitor.cs
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/Visitors/AbstractVisitor.cs
@@ -66,6 +66,10 @@ namespace ICSharpCode.Reporting.Exporter.Visitors
}
+ public virtual void Visit (ExportImage exportImage) {
+
+ }
+
public virtual void Visit(ExportLine exportGraphics){
}
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/Visitors/IVisitor.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/Visitors/IVisitor.cs
index 1da0365574..10135f66b2 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/Visitors/IVisitor.cs
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/Visitors/IVisitor.cs
@@ -29,5 +29,6 @@ namespace ICSharpCode.Reporting.Exporter.Visitors
void Visit(ExportLine exportGraphics);
void Visit (ExportRectangle exportRectangle);
void Visit (ExportCircle exportCircle);
+ void Visit (ExportImage exportImage);
}
}
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Factories/ExportColumnFactory.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Factories/ExportColumnFactory.cs
index 30b4f34422..bede3ebe95 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Factories/ExportColumnFactory.cs
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Factories/ExportColumnFactory.cs
@@ -25,9 +25,8 @@ namespace ICSharpCode.Reporting.Factories
///
/// Description of ExportColumnFactory.
///
- class ExportColumnFactory
- {
-
+ static class ExportColumnFactory{
+
public static IExportColumn CreateItem (IPrintableObject item) {
var export = item.CreateExportColumn();
return export;
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/BaseRowItem.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/BaseRowItem.cs
index d589485bed..49240ed51e 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/BaseRowItem.cs
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/BaseRowItem.cs
@@ -31,14 +31,16 @@ namespace ICSharpCode.Reporting.Items
public override IExportColumn CreateExportColumn()
{
- var er = new ExportRow(){
- Name = this.Name,
- Size = this.Size,
- Location = this.Location,
- CanGrow = this.CanGrow,
- BackColor = this.BackColor,
- DesiredSize = this.Size
- };
+ var er = new ExportRow();
+ er.ToExportItem(this);
+// var er = new ExportRow(){
+// Name = this.Name,
+// Size = this.Size,
+// Location = this.Location,
+// CanGrow = this.CanGrow,
+// BackColor = this.BackColor,
+// DesiredSize = this.Size
+// };
return er;
}
}
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/BaseTextItem.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/BaseTextItem.cs
index beeb3f39c3..b1431549c3 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/BaseTextItem.cs
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/BaseTextItem.cs
@@ -80,22 +80,15 @@ namespace ICSharpCode.Reporting.Items
public override IExportColumn CreateExportColumn()
{
- var ex = new ExportText();
- ex.Name = Name;
- ex.Location = Location;
- ex.ForeColor = ForeColor;
- ex.BackColor = BackColor;
- ex.FrameColor = FrameColor;
- ex.Size = Size;
- ex.Font = Font;
- ex.Text = Text;
- ex.FormatString = FormatString;
- ex.ContentAlignment = ContentAlignment;
- ex.TextAlignment = TextAlignment;
- ex.DataType = DataType;
- ex.CanGrow = CanGrow;
- ex.DrawBorder = DrawBorder;
- return ex;
+ var export = new ExportText();
+ export.ToExportItem(this);
+ export.Font = Font;
+ export.Text = Text;
+ export.FormatString = FormatString;
+ export.ContentAlignment = ContentAlignment;
+ export.TextAlignment = TextAlignment;
+ export.DataType = DataType;
+ return export;
}
}
}
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/ExportExtension.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/ExportExtension.cs
new file mode 100644
index 0000000000..0b5725b66d
--- /dev/null
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/ExportExtension.cs
@@ -0,0 +1,30 @@
+/*
+ * Created by SharpDevelop.
+ * User: Peter Forstmeier
+ * Date: 21.06.2015
+ * Time: 17:01
+ *
+ * To change this template use Tools | Options | Coding | Edit Standard Headers.
+ */
+using System;
+using ICSharpCode.Reporting.PageBuilder.ExportColumns;
+
+namespace ICSharpCode.Reporting.Items
+{
+ ///
+ /// Description of ExportExtension.
+ ///
+ public static class ExportExtension
+ {
+ public static void ToExportItem (this ExportColumn export, PrintableItem item) {
+ export.Name = item.Name;
+ export.Location = item.Location;
+ export.Size = item.Size;
+ export.ForeColor = item.ForeColor;
+ export.FrameColor = item.FrameColor;
+ export.BackColor = item.BackColor;
+ export.CanGrow = item.CanGrow;
+ export.DrawBorder = item.DrawBorder;
+ }
+ }
+}
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/Graphics/BaseImageItem.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/Graphics/BaseImageItem.cs
new file mode 100644
index 0000000000..3742296506
--- /dev/null
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/Graphics/BaseImageItem.cs
@@ -0,0 +1,73 @@
+/*
+ * Created by SharpDevelop.
+ * User: Peter Forstmeier
+ * Date: 21.06.2015
+ * Time: 11:54
+ *
+ * To change this template use Tools | Options | Coding | Edit Standard Headers.
+ */
+using System;
+using System.Drawing;
+using ICSharpCode.Reporting.Interfaces.Export;
+using ICSharpCode.Reporting.PageBuilder.ExportColumns;
+
+namespace ICSharpCode.Reporting.Items
+{
+ ///
+ /// Description of BaseImageItem.
+ ///
+ public class BaseImageItem:PrintableItem
+ {
+ Image image;
+
+ public BaseImageItem()
+ {
+ }
+
+ #region IExportColumnBuilder implementation
+
+ public override IExportColumn CreateExportColumn(){
+ var export = new ExportImage();
+ export.ToExportItem(this);
+
+ export.Image = Image;
+ export.ScaleImageToSize = ScaleImageToSize;
+ return export;
+ }
+
+ #endregion
+
+ static Bitmap FakeImage(Size size, string text){
+
+ var b = new Bitmap (size.Width,size.Height);
+ using (Graphics g = Graphics.FromImage (b)){
+ g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
+ g.DrawRectangle (new Pen(Color.Black, 1),
+ 1,1,size.Width -2,size.Height -2);
+
+ g.DrawString(text,new Font("Microsoft Sans Serif",
+ 16,
+ FontStyle.Regular,
+ GraphicsUnit.Point),
+ new SolidBrush(Color.Gray),
+ new RectangleF(2,2,size.Width,size.Height) );
+ }
+ return b;
+ }
+
+
+ public Image Image {
+ get {
+ string text = "";
+ this.image = FakeImage(Size, text);
+ return this.image;
+ }
+
+ set {
+ this.image = value;
+ }
+ }
+
+ public bool ScaleImageToSize {get;set;}
+ }
+}
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/PrintableItem.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/PrintableItem.cs
index 4be5b87cf5..f0875a9898 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/PrintableItem.cs
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/PrintableItem.cs
@@ -18,7 +18,6 @@
using System;
using System.Drawing;
-using ICSharpCode.Reporting.Globals;
using ICSharpCode.Reporting.Interfaces;
using ICSharpCode.Reporting.Interfaces.Export;
@@ -39,11 +38,6 @@ namespace ICSharpCode.Reporting.Items
public Size Size { get; set; }
- public virtual IExportColumn CreateExportColumn()
- {
- return null;
- }
-
public Color ForeColor {get;set;}
public Color BackColor {get;set;}
@@ -54,5 +48,10 @@ namespace ICSharpCode.Reporting.Items
public bool DrawBorder {get;set;}
+
+ public virtual IExportColumn CreateExportColumn(){
+ return null;
+ }
+
}
}
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/ReportContainer.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/ReportContainer.cs
index 127522cee3..e3c4ced02c 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/ReportContainer.cs
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/ReportContainer.cs
@@ -44,14 +44,17 @@ namespace ICSharpCode.Reporting.Items
public override IExportColumn CreateExportColumn()
{
- return new ExportContainer(){
- Name = this.Name,
- Size = this.Size,
- Location = this.Location,
- CanGrow = this.CanGrow,
- BackColor = this.BackColor,
- DesiredSize = this.Size
- };
+ var export = new ExportContainer();
+ export.ToExportItem(this);
+ return export;
+// return new ExportContainer(){
+// Name = this.Name,
+// Size = this.Size,
+// Location = this.Location,
+// CanGrow = this.CanGrow,
+// BackColor = this.BackColor,
+// DesiredSize = this.Size
+// };
}
}
}
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/ReportSettings.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/ReportSettings.cs
index b0b6c927a1..6e7bdca34b 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/ReportSettings.cs
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/ReportSettings.cs
@@ -20,7 +20,6 @@ using System;
using System.ComponentModel;
using System.Drawing;
using System.IO;
-using System.Xml.Serialization;
using ICSharpCode.Reporting.Globals;
using ICSharpCode.Reporting.Interfaces;
@@ -46,9 +45,7 @@ namespace ICSharpCode.Reporting.Items
}
- void BaseValues()
- {
-
+ void BaseValues(){
// this.UseStandardPrinter = true;
// this.GraphicsUnit = GraphicsUnit.Pixel;
// this.Padding = new Padding(5);
@@ -80,10 +77,9 @@ namespace ICSharpCode.Reporting.Items
string reportName;
- [Category("Base Settings")]
- [DefaultValueAttribute ("")]
- public string ReportName
- {
+// [Category("Base Settings")]
+// [DefaultValueAttribute ("")]
+ public string ReportName{
get {
if (string.IsNullOrEmpty(reportName)) {
reportName = GlobalValues.DefaultReportName;
@@ -97,10 +93,9 @@ namespace ICSharpCode.Reporting.Items
string fileName;
- [Category("Base Settings")]
- [XmlIgnoreAttribute]
- public string FileName
- {
+// [Category("Base Settings")]
+// [XmlIgnoreAttribute]
+ public string FileName{
get {
if (String.IsNullOrEmpty(fileName)) {
fileName = GlobalValues.PlainFileName;
@@ -112,40 +107,35 @@ namespace ICSharpCode.Reporting.Items
}
}
-//
-// [Browsable(true), Category("Base Settings")]
-// public ReportType ReportType {get;set;}
-//
-
+
[Browsable(true), Category("Base Settings")]
public PushPullModel DataModel {get;set;}
#endregion
-
#region Pagesettings
- [Category("Page Settings")]
+// [Category("Page Settings")]
public int BottomMargin {get;set;}
- [Category("Page Settings")]
+// [Category("Page Settings")]
public int TopMargin {get;set;}
- [Category("Page Settings")]
+// [Category("Page Settings")]
public int LeftMargin {get;set;}
- [Category("Page Settings")]
+// [Category("Page Settings")]
public int RightMargin {get;set;}
Size pageSize;
- [Category("Page Settings")]
+// [Category("Page Settings")]
public Size PageSize {
get {
return !Landscape ? pageSize : new Size(pageSize.Height, pageSize.Width);
@@ -154,7 +144,7 @@ namespace ICSharpCode.Reporting.Items
}
- [Category("Page Settings")]
+// [Category("Page Settings")]
public bool Landscape {get;set;}
@@ -162,12 +152,6 @@ namespace ICSharpCode.Reporting.Items
#region
-// [Category("Data")]
-
-// [Category("Parameters")]
-// [EditorAttribute ( typeof(ParameterCollectionEditor),
-// typeof(System.Drawing.Design.UITypeEditor) )]
-
public ParameterCollection ParameterCollection {get; private set;}
public SortColumnCollection SortColumnsCollection {get;private set;}
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/Converter/ContainerConverter.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/Converter/ContainerConverter.cs
index 27c203c6b8..382e8c371f 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/Converter/ContainerConverter.cs
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/Converter/ContainerConverter.cs
@@ -48,11 +48,7 @@ namespace ICSharpCode.Reporting.PageBuilder.Converter
public List CreateConvertedList(List items){
var itemsList = new List();
-// var aa = items.OrderBy(x => x.Location.Y);
-// foreach (var el in aa) {
-// Console.WriteLine("{0} - {1}",el.Name,el.Location);
-// }
-// foreach (var element in aa) {
+
foreach (var element in items) {
var exportColumn = ExportColumnFactory.CreateItem(element);
var ec = element as IReportContainer;
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/ExportColumns/ExportColumn.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/ExportColumns/ExportColumn.cs
index e0911e4684..62f0384ba8 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/ExportColumns/ExportColumn.cs
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/ExportColumns/ExportColumn.cs
@@ -34,18 +34,12 @@ namespace ICSharpCode.Reporting.PageBuilder.ExportColumns
BackColor = Color.White;
}
-
public string Name {get;set;}
public Size Size {get;set;}
public Point Location {get;set;}
- public virtual IArrangeStrategy GetArrangeStrategy ()
- {
- return null;
- }
-
public Size DesiredSize {get;set;}
public Color ForeColor {get;set;}
@@ -66,6 +60,11 @@ namespace ICSharpCode.Reporting.PageBuilder.ExportColumns
}
}
+ public virtual IArrangeStrategy GetArrangeStrategy ()
+ {
+ return null;
+ }
+
public virtual IMeasurementStrategy MeasurementStrategy()
{
throw new NotImplementedException();
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/ExportColumns/ExportImage.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/ExportColumns/ExportImage.cs
new file mode 100644
index 0000000000..909a13f508
--- /dev/null
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/ExportColumns/ExportImage.cs
@@ -0,0 +1,34 @@
+/*
+ * Created by SharpDevelop.
+ * User: Peter Forstmeier
+ * Date: 21.06.2015
+ * Time: 11:57
+ *
+ * To change this template use Tools | Options | Coding | Edit Standard Headers.
+ */
+using System;
+using System.Drawing;
+using ICSharpCode.Reporting.Exporter.Visitors;
+
+namespace ICSharpCode.Reporting.PageBuilder.ExportColumns
+{
+ ///
+ /// Description of ExportImage.
+ ///
+ public class ExportImage:ExportColumn,IAcceptor
+ {
+ public ExportImage()
+ {
+ }
+
+ #region IAcceptor implementation
+ public void Accept(IVisitor visitor){
+ visitor.Visit(this);
+ }
+ #endregion
+
+ public Image Image {get;set;}
+
+ public bool ScaleImageToSize {get;set;}
+ }
+}
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/ExportColumns/ExportText.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/ExportColumns/ExportText.cs
index 1b9d89c9f5..459f016175 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/ExportColumns/ExportText.cs
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/ExportColumns/ExportText.cs
@@ -47,6 +47,7 @@ namespace ICSharpCode.Reporting.PageBuilder.ExportColumns
{
}
+
public void Accept(IVisitor visitor)
{
visitor.Visit(this);
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Wpf/Visitor/WpfVisitor.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Wpf/Visitor/WpfVisitor.cs
index 9bff455041..ec02ac9c33 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Wpf/Visitor/WpfVisitor.cs
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Wpf/Visitor/WpfVisitor.cs
@@ -18,11 +18,14 @@
using System;
using System.Collections.Generic;
+using System.Drawing.Imaging;
+using System.IO;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Media;
+using System.Windows.Media.Imaging;
using ICSharpCode.Reporting.BaseClasses;
using ICSharpCode.Reporting.Exporter.Visitors;
using ICSharpCode.Reporting.Interfaces.Export;
@@ -146,6 +149,36 @@ namespace ICSharpCode.Reporting.WpfReportViewer.Visitor
}
+ public override void Visit(ExportImage exportImage)
+ {
+ var visual = new DrawingVisual();
+ using (var dc = visual.RenderOpen()){
+ var iss = ToBitmapSource(exportImage.Image);
+
+ dc.DrawImage(iss,new Rect(exportImage.Location.ToWpf(),
+ new Size(exportImage.DesiredSize.Width,exportImage.DesiredSize.Height)));
+ }
+ var drawingElement = new DrawingElement(visual);
+ UIElement = drawingElement;
+ }
+
+
+ static BitmapSource ToBitmapSource(System.Drawing.Image source){
+ using (MemoryStream stream = new MemoryStream()) {
+ source.Save(stream, ImageFormat.Bmp);
+
+ stream.Position = 0;
+ BitmapImage result = new BitmapImage();
+ result.BeginInit();
+
+ result.CacheOption = BitmapCacheOption.OnLoad;
+ result.StreamSource = stream;
+ result.EndInit();
+ result.Freeze();
+ return result;
+ }
+ }
+
public override void Visit(ExportLine exportLine){
var pen = FixedDocumentCreator.CreateWpfPen(exportLine);