Browse Source

AlignRight,AlignCenter in DesignerHelper

pull/567/head
Peter Forstmeier 11 years ago
parent
commit
2c15af26a8
  1. 1
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/ICSharpCode.Reporting.Addin.csproj
  2. 37
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Globals/DesignerHelper.cs
  3. 26
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/ReportWizard/ReportGenerator.cs

1
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/ICSharpCode.Reporting.Addin.csproj

@ -143,6 +143,7 @@ @@ -143,6 +143,7 @@
<Compile Include="src\Dialogs\IStringBasedEditorDialog.cs" />
<Compile Include="src\Factory\CreateFormSheetFromModel.cs" />
<Compile Include="src\Globals\DesignerGlobals.cs" />
<Compile Include="src\Globals\DesignerHelper.cs" />
<Compile Include="src\Globals\GlobalLists.cs" />
<Compile Include="src\Globals\StringWriterWithEncoding.cs" />
<Compile Include="src\ReportWizard\Dialog\IHasContext.cs" />

37
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Globals/DesignerHelper.cs

@ -0,0 +1,37 @@ @@ -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
{
/// <summary>
/// Description of DesignerHelper.
/// </summary>
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;
}
}
}

26
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/ReportWizard/ReportGenerator.cs

@ -9,12 +9,13 @@ @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -160,6 +165,7 @@ namespace ICSharpCode.Reporting.Addin.ReportWizard
return poc.ReportType.Equals(ReportType.DataReport);
}
public IReportModel ReportModel {get;private set;}
}
}

Loading…
Cancel
Save