Browse Source

Use Inlines in TextBlock to handle <CR> in Text

pull/15/head^2
peterforstmeier 14 years ago
parent
commit
41e29a31a5
  1. 17
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/ExtensionMethodes.cs
  2. 4
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/PrintHelper.cs
  3. 4
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs
  4. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/AggregateFunctions/AggregateFunction.cs
  5. 14
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs

17
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/ExtensionMethodes.cs

@ -7,19 +7,9 @@
* To change this template use Tools | Options | Coding | Edit Standard Headers. * To change this template use Tools | Options | Coding | Edit Standard Headers.
*/ */
using System; using System;
using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading;
using System.Windows; using System.Windows;
using System.Windows.Controls;
using System.Windows.Media; using System.Windows.Media;
using System.Windows.Documents;
using System.Windows.Forms;
using WinForms = System.Windows.Forms;
namespace ICSharpCode.Reports.Core namespace ICSharpCode.Reports.Core
{ {
@ -30,7 +20,7 @@ namespace ICSharpCode.Reports.Core
/// <see cref="D:\git_Sharpdevelop_Reporting\src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\Project\WPF\ExtensionMethodes.cs" /// <see cref="D:\git_Sharpdevelop_Reporting\src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\Project\WPF\ExtensionMethodes.cs"
internal static class ExtensionMethodes internal static class ExtensionMethodes
{ {
#region Collections
public static void ForEach<T>(this IEnumerable<T> input, Action<T> action) public static void ForEach<T>(this IEnumerable<T> input, Action<T> action)
{ {
@ -41,6 +31,9 @@ namespace ICSharpCode.Reports.Core
} }
} }
#endregion
#region system.drawing -> Wpf
public static Point ToWpf(this System.Drawing.Point p) public static Point ToWpf(this System.Drawing.Point p)
{ {
@ -62,7 +55,7 @@ namespace ICSharpCode.Reports.Core
return System.Windows.Media.Color.FromArgb(c.A, c.R, c.G, c.B); return System.Windows.Media.Color.FromArgb(c.A, c.R, c.G, c.B);
} }
#endregion
#region DPI independence #region DPI independence
public static Rect TransformToDevice(this Rect rect, Visual visual) public static Rect TransformToDevice(this Rect rect, Visual visual)

4
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/PrintHelper.cs

@ -193,7 +193,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing
f.Dispose(); f.Dispose();
} }
/*
public static void Displaychain (ReportItemCollection items) public static void Displaychain (ReportItemCollection items)
{ {
foreach(BaseReportItem i in items) foreach(BaseReportItem i in items)
@ -207,7 +207,7 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing
} }
} }
} }
*/
public static void ShowLocations (ExporterCollection items) public static void ShowLocations (ExporterCollection items)
{ {

4
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs

@ -132,8 +132,8 @@ namespace ICSharpCode.Reports.Core
public virtual bool PageBreakAfter {get;set;} public virtual bool PageBreakAfter {get;set;}
#endregion #endregion
//http://www.switchonthecode.com/tutorials/wpf-tutorial-creating-a-custom-panel-control
// http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/607eba8c-6fa4-414c-82ae-23a527cdc5bf
public Size MeasureOverride (Size availableSize) public Size MeasureOverride (Size availableSize)
{ {
Size resultSize = new Size(0,0); Size resultSize = new Size(0,0);

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/SimpleExpressionEvaluator/Compilation/Functions/AggregateFunctions/AggregateFunction.cs

@ -118,7 +118,7 @@ namespace SimpleExpressionEvaluator.Compilation.Functions.AggregateFunctions
if (currentItem != null) { if (currentItem != null) {
object s1 = Convert.ToString(currentItem.Value.ToString(),CultureInfo.CurrentCulture); object s1 = Convert.ToString(currentItem.Value.ToString(),CultureInfo.CurrentCulture);
Console.WriteLine("\tSetup DataSource value = {0}", s1.ToString()); // Console.WriteLine("\tSetup DataSource value = {0}", s1.ToString());
if (IsNumeric(s1)) { if (IsNumeric(s1)) {
list.Add(Convert.ToDouble(s1,System.Globalization.CultureInfo.CurrentCulture)); list.Add(Convert.ToDouble(s1,System.Globalization.CultureInfo.CurrentCulture));
} else { } else {

14
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WPF/FixedDocumentCreator.cs

@ -254,8 +254,20 @@ namespace ICSharpCode.Reports.Core.WPF
TextBlock CreateTextBlock(ExportText exportText) TextBlock CreateTextBlock(ExportText exportText)
{ {
TextBlock textBlock = new TextBlock(); TextBlock textBlock = new TextBlock();
textBlock.Text = exportText.Text;
SetFont(textBlock, exportText.StyleDecorator); SetFont(textBlock, exportText.StyleDecorator);
textBlock.TextWrapping = TextWrapping.Wrap;
string [] inlines = exportText.Text.Split(System.Environment.NewLine.ToCharArray());
for (int i = 0; i < inlines.Length; i++) {
if (inlines[i].Length > 0) {
textBlock.Inlines.Add(new Run(inlines[i]));
textBlock.Inlines.Add(new LineBreak());
}
}
var li = textBlock.Inlines.LastInline;
textBlock.Inlines.Remove(li);
SetDimension(textBlock,exportText.StyleDecorator); SetDimension(textBlock,exportText.StyleDecorator);
return textBlock; return textBlock;
} }

Loading…
Cancel
Save