diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/ICSharpCode.Reporting.Addin.csproj b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/ICSharpCode.Reporting.Addin.csproj
index ba8c669d69..286fea4f51 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/ICSharpCode.Reporting.Addin.csproj
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/ICSharpCode.Reporting.Addin.csproj
@@ -143,6 +143,7 @@
+
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Globals/DesignerHelper.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Globals/DesignerHelper.cs
new file mode 100644
index 0000000000..c8f128eb97
--- /dev/null
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Globals/DesignerHelper.cs
@@ -0,0 +1,37 @@
+/*
+ * Created by SharpDevelop.
+ * User: Peter Forstmeier
+ * Date: 19.09.2014
+ * Time: 20:12
+ *
+ * To change this template use Tools | Options | Coding | Edit Standard Headers.
+ */
+using System;
+
+namespace ICSharpCode.Reporting.Addin.Globals
+{
+ ///
+ /// Description of DesignerHelper.
+ ///
+ public static class DesignerHelper
+ {
+
+ public static int AlignCenter (int avaiableWidth, int itemWidth) {
+ if (avaiableWidth == 0) {
+ throw new ArgumentException("avaiableWidth");
+ }
+ if (itemWidth == 0) {
+ throw new ArgumentException("itemWidth");
+ }
+ return (avaiableWidth - itemWidth)/2;
+ }
+
+ public static int AlignRight(int avaiableWidth, int itemWidth) {
+ if (avaiableWidth == 0) {
+ throw new ArgumentException("avaiableWidth");
+ }
+ return avaiableWidth - itemWidth;
+ }
+
+ }
+}
diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/ReportWizard/ReportGenerator.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/ReportWizard/ReportGenerator.cs
index a44abbce69..0a83a44cd7 100644
--- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/ReportWizard/ReportGenerator.cs
+++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/ReportWizard/ReportGenerator.cs
@@ -9,12 +9,13 @@
using System;
using System.Collections.Generic;
using System.Drawing;
+using ICSharpCode.Reporting.BaseClasses;
using ICSharpCode.Reporting.Factories;
using ICSharpCode.Reporting.Globals;
using ICSharpCode.Reporting.Interfaces;
-using ICSharpCode.Reporting.BaseClasses;
using ICSharpCode.Reporting.Items;
+using ICSharpCode.Reporting.Addin.Globals;
using ICSharpCode.Reporting.Addin.ReportWizard.ViewModels;
namespace ICSharpCode.Reporting.Addin.ReportWizard
@@ -44,12 +45,14 @@ namespace ICSharpCode.Reporting.Addin.ReportWizard
}
}
+
void CreateFormSheetReport(ReportWizardContext context)
{
ReportModel.ReportSettings = GenerateBaseSettings(context);
CreateReportHeader(context);
}
+
void CreateDataReport(ReportWizardContext context)
{
ReportModel.ReportSettings = GenerateBaseSettings(context);
@@ -59,6 +62,7 @@ namespace ICSharpCode.Reporting.Addin.ReportWizard
CreatePageFooter ();
}
+
ReportSettings GenerateBaseSettings (ReportWizardContext context) {
var pageOneContext = (PageOneContext)context.PageOneContext;
var reportSettings = ReportModel.ReportSettings;
@@ -71,7 +75,6 @@ namespace ICSharpCode.Reporting.Addin.ReportWizard
}
-
void CreateDetailsSection(ReportWizardContext context){
var pushModelContext = (PushModelContext)context.PushModelContext;
foreach (var element in pushModelContext.Items) {
@@ -90,16 +93,15 @@ namespace ICSharpCode.Reporting.Addin.ReportWizard
void CreateReportHeader(ReportWizardContext context){
var pageOneContext = (PageOneContext)context.PageOneContext;
- var headerText = new BaseTextItem();
-
- headerText.Text = String.IsNullOrEmpty(pageOneContext.ReportName) ? GlobalValues.DefaultReportName : pageOneContext.ReportName;
+ var centerLocation = DesignerHelper.AlignCenter(ReportModel.ReportSettings.PrintableWidth(),GlobalValues.PreferedSize.Width);
+ var headerText = new BaseTextItem(){
+ Text = String.IsNullOrEmpty(pageOneContext.ReportName) ? GlobalValues.DefaultReportName : pageOneContext.ReportName,
+ Location = new Point(centerLocation,10)
+ };
- var xLoc = (ReportModel.ReportSettings.PrintableWidth() - headerText.Size.Width) / 2;
- headerText.Location = new Point(xLoc,4);
ReportModel.ReportHeader.Items.Add(headerText);
- xLoc = ReportModel.ReportSettings.PrintableWidth() - GlobalValues.PreferedSize.Width - 20;
-
+ var xLoc = DesignerHelper.AlignRight( ReportModel.ReportSettings.PrintableWidth(),GlobalValues.PreferedSize.Width) - 5;
var dateText = new BaseTextItem(){
Text ="= Today.Today",
Location = new Point(xLoc ,10)
@@ -133,14 +135,17 @@ namespace ICSharpCode.Reporting.Addin.ReportWizard
}
+
void CreatePageFooter()
{
+
var lineNrField = new BaseTextItem() {
Text = "='Page : ' + Globals!PageNumber + ' of ' + Globals!Pages + ' Page(s)'",
Name = "LineNumber",
- Location = new Point(300,10),
Size = new Size (GlobalValues.PreferedSize.Width * 2,GlobalValues.PreferedSize.Height)
};
+ var xLoc = DesignerHelper.AlignRight( ReportModel.ReportSettings.PrintableWidth(),lineNrField.Size.Width) - 5;
+ lineNrField.Location = new Point(xLoc,10);
ReportModel.PageFooter.Items.Add(lineNrField);
}
@@ -160,6 +165,7 @@ namespace ICSharpCode.Reporting.Addin.ReportWizard
return poc.ReportType.Equals(ReportType.DataReport);
}
+
public IReportModel ReportModel {get;private set;}
}
}