Implement code for DontResetIndentOnNewline for BGE

This commit is contained in:
Kathy Ruffing 2015-01-16 14:59:47 +00:00
parent 98dc16f69b
commit f3b7e9138f
2 changed files with 34 additions and 14 deletions

View File

@ -481,19 +481,31 @@ namespace Volian.Controls.Library
// this line of code was moved before the find for the indent so that
// the window gets resized if the indent changes the height, i.e. more line(s) in window.
AddEventHandlers();
while ((indchar = Find(indentToken, indchar, RichTextBoxFinds.None)) >= 0)
AddEventHandlers();
if (MyItemInfo.InList(186722)) Console.WriteLine("here");
if ((indchar = Find(indentToken, indchar, RichTextBoxFinds.None)) >= 0)
{
Point indent = GetPositionFromCharIndex(indchar);
SelectionHangingIndent = indent.X;
// RHM 02/20/2013
// The following line attempts to remove the indent character for display purposes.
// However, if the indent is followed immediately by an RO or Transition the
// RichTextBox will not allow the character to be removed this way and the RichTextBox
// will beep. So, to keep from going in an infintie loop, the value of indchar is incremented.
SelectedRtf = SelectedRtf.Replace(@"\'05","");
indchar ++;// Don't so the same one twice.
int nindents = 0;
while ((indchar = Find(indentToken, indchar, RichTextBoxFinds.None)) >= 0)
{
nindents++;
Point indent = GetPositionFromCharIndex(indchar);
SelectionHangingIndent = indent.X;
// RHM 02/20/2013
// The following line attempts to remove the indent character for display purposes.
// However, if the indent is followed immediately by an RO or Transition the
// RichTextBox will not allow the character to be removed this way and the RichTextBox
// will beep. So, to keep from going in an infintie loop, the value of indchar is incremented.
SelectedRtf = SelectedRtf.Replace(@"\'05", "");
indchar++;// Don't so the same one twice.
}
if (MyItemInfo != null && MyItemInfo.ActiveFormat != null
&& MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.DontResetIndentOnNewline)
{
if (nindents == 1) Rtf = Rtf.Replace("\\par\r\n", @"\line ");
Rtf = Rtf.Replace(@"\line\pard", @"\line");
}
}
}
OrigRTF = Rtf;

View File

@ -89,6 +89,12 @@ namespace Volian.Print.Library
}
public class Rtf2iTextSharp : RtfVisualVisitorBase
{
private bool _HasIndent = false;
public bool HasIndent
{
get { return _HasIndent; }
set { _HasIndent = value; }
}
private static bool _DoingComparison = false;
public static bool DoingComparison
{
@ -122,12 +128,14 @@ namespace Volian.Print.Library
switch (visualBreak.BreakKind)
{
case RtfVisualBreakKind.Line:
_MyParagraph.Add(Chunk.NEWLINE);
Chunk ck = HasIndent ? new Chunk("".PadLeft(200)) : Chunk.NEWLINE;
_MyParagraph.Add(ck);
break;
case RtfVisualBreakKind.Page:
break;
case RtfVisualBreakKind.Paragraph:
_MyParagraph.Add(Chunk.NEWLINE);
Chunk ck1 = HasIndent ? new Chunk("".PadLeft(200)) : Chunk.NEWLINE;
_MyParagraph.Add(ck1);
break;
case RtfVisualBreakKind.Section:
break;