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 @@
<Compile Include="src\Dialogs\IStringBasedEditorDialog.cs" /> <Compile Include="src\Dialogs\IStringBasedEditorDialog.cs" />
<Compile Include="src\Factory\CreateFormSheetFromModel.cs" /> <Compile Include="src\Factory\CreateFormSheetFromModel.cs" />
<Compile Include="src\Globals\DesignerGlobals.cs" /> <Compile Include="src\Globals\DesignerGlobals.cs" />
<Compile Include="src\Globals\DesignerHelper.cs" />
<Compile Include="src\Globals\GlobalLists.cs" /> <Compile Include="src\Globals\GlobalLists.cs" />
<Compile Include="src\Globals\StringWriterWithEncoding.cs" /> <Compile Include="src\Globals\StringWriterWithEncoding.cs" />
<Compile Include="src\ReportWizard\Dialog\IHasContext.cs" /> <Compile Include="src\ReportWizard\Dialog\IHasContext.cs" />

37
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
{
/// <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 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Drawing; using System.Drawing;
using ICSharpCode.Reporting.BaseClasses;
using ICSharpCode.Reporting.Factories; using ICSharpCode.Reporting.Factories;
using ICSharpCode.Reporting.Globals; using ICSharpCode.Reporting.Globals;
using ICSharpCode.Reporting.Interfaces; using ICSharpCode.Reporting.Interfaces;
using ICSharpCode.Reporting.BaseClasses;
using ICSharpCode.Reporting.Items; using ICSharpCode.Reporting.Items;
using ICSharpCode.Reporting.Addin.Globals;
using ICSharpCode.Reporting.Addin.ReportWizard.ViewModels; using ICSharpCode.Reporting.Addin.ReportWizard.ViewModels;
namespace ICSharpCode.Reporting.Addin.ReportWizard namespace ICSharpCode.Reporting.Addin.ReportWizard
@ -44,12 +45,14 @@ namespace ICSharpCode.Reporting.Addin.ReportWizard
} }
} }
void CreateFormSheetReport(ReportWizardContext context) void CreateFormSheetReport(ReportWizardContext context)
{ {
ReportModel.ReportSettings = GenerateBaseSettings(context); ReportModel.ReportSettings = GenerateBaseSettings(context);
CreateReportHeader(context); CreateReportHeader(context);
} }
void CreateDataReport(ReportWizardContext context) void CreateDataReport(ReportWizardContext context)
{ {
ReportModel.ReportSettings = GenerateBaseSettings(context); ReportModel.ReportSettings = GenerateBaseSettings(context);
@ -59,6 +62,7 @@ namespace ICSharpCode.Reporting.Addin.ReportWizard
CreatePageFooter (); CreatePageFooter ();
} }
ReportSettings GenerateBaseSettings (ReportWizardContext context) { ReportSettings GenerateBaseSettings (ReportWizardContext context) {
var pageOneContext = (PageOneContext)context.PageOneContext; var pageOneContext = (PageOneContext)context.PageOneContext;
var reportSettings = ReportModel.ReportSettings; var reportSettings = ReportModel.ReportSettings;
@ -71,7 +75,6 @@ namespace ICSharpCode.Reporting.Addin.ReportWizard
} }
void CreateDetailsSection(ReportWizardContext context){ void CreateDetailsSection(ReportWizardContext context){
var pushModelContext = (PushModelContext)context.PushModelContext; var pushModelContext = (PushModelContext)context.PushModelContext;
foreach (var element in pushModelContext.Items) { foreach (var element in pushModelContext.Items) {
@ -90,16 +93,15 @@ namespace ICSharpCode.Reporting.Addin.ReportWizard
void CreateReportHeader(ReportWizardContext context){ void CreateReportHeader(ReportWizardContext context){
var pageOneContext = (PageOneContext)context.PageOneContext; var pageOneContext = (PageOneContext)context.PageOneContext;
var headerText = new BaseTextItem(); var centerLocation = DesignerHelper.AlignCenter(ReportModel.ReportSettings.PrintableWidth(),GlobalValues.PreferedSize.Width);
var headerText = new BaseTextItem(){
headerText.Text = String.IsNullOrEmpty(pageOneContext.ReportName) ? GlobalValues.DefaultReportName : pageOneContext.ReportName; 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); 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(){ var dateText = new BaseTextItem(){
Text ="= Today.Today", Text ="= Today.Today",
Location = new Point(xLoc ,10) Location = new Point(xLoc ,10)
@ -133,14 +135,17 @@ namespace ICSharpCode.Reporting.Addin.ReportWizard
} }
void CreatePageFooter() void CreatePageFooter()
{ {
var lineNrField = new BaseTextItem() { var lineNrField = new BaseTextItem() {
Text = "='Page : ' + Globals!PageNumber + ' of ' + Globals!Pages + ' Page(s)'", Text = "='Page : ' + Globals!PageNumber + ' of ' + Globals!Pages + ' Page(s)'",
Name = "LineNumber", Name = "LineNumber",
Location = new Point(300,10),
Size = new Size (GlobalValues.PreferedSize.Width * 2,GlobalValues.PreferedSize.Height) 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); ReportModel.PageFooter.Items.Add(lineNrField);
} }
@ -160,6 +165,7 @@ namespace ICSharpCode.Reporting.Addin.ReportWizard
return poc.ReportType.Equals(ReportType.DataReport); return poc.ReportType.Equals(ReportType.DataReport);
} }
public IReportModel ReportModel {get;private set;} public IReportModel ReportModel {get;private set;}
} }
} }

Loading…
Cancel
Save