Added a FormattedDisplayText for use on Calvert’s Placekeepers
Will now handle Bold, Underline, and Super/Sub Script
This commit is contained in:
@@ -4,6 +4,7 @@ using System.Text;
|
||||
using System.Drawing;
|
||||
using LBWordLibrary;
|
||||
using VEPROMS.CSLA.Library;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace Volian.Print.Library
|
||||
{
|
||||
@@ -59,7 +60,7 @@ namespace Volian.Print.Library
|
||||
foreach (pkParagraph myPlacekeeper in myPlacekeepers)
|
||||
{
|
||||
if(myPlacekeepers.Count > 1)
|
||||
AddSectionHeader(myPlacekeeper.MyParagraph.MyItemInfo.DisplayNumber, myPlacekeeper.MyParagraph.MyItemInfo.DisplayText);
|
||||
AddSectionHeader(myPlacekeeper.MyParagraph.MyItemInfo.DisplayNumber, myPlacekeeper.MyParagraph.MyItemInfo.FormattedDisplayText);
|
||||
foreach (pkParagraph pgh in myPlacekeeper.MyChildren)
|
||||
{
|
||||
foreach (pkParagraph pghC in pgh.MyCautionsAndNotes)
|
||||
@@ -68,9 +69,9 @@ namespace Volian.Print.Library
|
||||
string doneStr = (sc.Step_Placekeeper.ToUpper() == "C")? "C":"";
|
||||
string NoteCautionTab = "NOTE: ";
|
||||
if (pghC.MyParagraph.MyItemInfo.IsCaution) NoteCautionTab = "CAUTION: ";
|
||||
AddCautionOrNote(NoteCautionTab, pghC.MyParagraph.MyItemInfo.DisplayText, doneStr, (pghC.MyParagraph.MyItemInfo.PageNumber+1).ToString());
|
||||
AddCautionOrNote(NoteCautionTab, pghC.MyParagraph.MyItemInfo.FormattedDisplayText, doneStr, (pghC.MyParagraph.MyItemInfo.PageNumber+1).ToString());
|
||||
}
|
||||
AddHighLevelStep(pgh.MyParagraph.MyItemInfo.MyTab.CleanText, pgh.MyParagraph.MyItemInfo.DisplayText, pgh.MyParagraph.MyItemInfo.FormatStepType == 9 ? "C" : "", (pgh.MyParagraph.MyItemInfo.PageNumber + 1).ToString());
|
||||
AddHighLevelStep(pgh.MyParagraph.MyItemInfo.MyTab.CleanText, pgh.MyParagraph.MyItemInfo.FormattedDisplayText, pgh.MyParagraph.MyItemInfo.FormatStepType == 9 ? "C" : "", (pgh.MyParagraph.MyItemInfo.PageNumber + 1).ToString());
|
||||
if (pgh.MyChildren.Count > 0)
|
||||
{
|
||||
bool conAct = false;
|
||||
@@ -92,7 +93,7 @@ namespace Volian.Print.Library
|
||||
AddNotesOrCautions(cpgh,level, ref conAct);
|
||||
if (!conAct)
|
||||
conAct = IsContinuousActionPlacekeeper(conAct, cpgh);
|
||||
ContinueSubStep(cpgh.MyParagraph.MyItemInfo.DisplayText, level);
|
||||
ContinueSubStep(cpgh.MyParagraph.MyItemInfo.FormattedDisplayText, level);
|
||||
AddChildren(cpgh, level+1, ref conAct);
|
||||
}
|
||||
}
|
||||
@@ -121,7 +122,7 @@ namespace Volian.Print.Library
|
||||
if (!_FirstLine) _WordSel.TypeParagraph();
|
||||
_FirstLine = false;
|
||||
SetIndent(.33F + (.31F * level), -.31F);
|
||||
WriteCell(NoteCautionTab + ii.DisplayText, false, false);
|
||||
WriteCell(NoteCautionTab + ii.FormattedDisplayText, false, false);
|
||||
}
|
||||
public void BuildSample()
|
||||
{
|
||||
@@ -306,11 +307,55 @@ namespace Volian.Print.Library
|
||||
SetAlignment(LBWdParagraphAlignment.wdAlignParagraphCenter, LBWdCellVerticalAlignment.wdCellAlignVerticalBottom);
|
||||
WriteCell(page, false, false);
|
||||
}
|
||||
static Regex rgx = new Regex(@"\\(b|ul|up[1-9]|dn0|up0|dn[1-9]|b0|ulnone)( |$|(?=\\))");
|
||||
private void WriteRTF(string text)
|
||||
{
|
||||
if (text.Contains("\\"))
|
||||
Console.WriteLine("here");
|
||||
Match m = rgx.Match(text);
|
||||
while (m.Success)
|
||||
{
|
||||
if (m.Index > 0)
|
||||
_WordSel.TypeText(text.Substring(0,m.Index));
|
||||
switch (m.Groups[1].Value)
|
||||
{
|
||||
case "b": // bold on
|
||||
_WordSel.Font.Bold = 1;
|
||||
break;
|
||||
case "b0": // bold off
|
||||
_WordSel.Font.Bold = 0;
|
||||
break;
|
||||
case "ul": // underline on
|
||||
_WordSel.Font.Underline = LBWdUnderline.wdUnderlineSingle;
|
||||
break;
|
||||
case "ulnone": // underline off
|
||||
_WordSel.Font.Underline = LBWdUnderline.wdUnderlineNone;
|
||||
break;
|
||||
case "dn0": // superscript off
|
||||
_WordSel.Font.Superscript = 0;
|
||||
break;
|
||||
case "up0": // subscript off
|
||||
_WordSel.Font.Subscript = 0;
|
||||
break;
|
||||
default:
|
||||
if (m.Groups[1].Value.StartsWith("dn"))// subscript on
|
||||
_WordSel.Font.Subscript = 1;
|
||||
else // superscript on
|
||||
_WordSel.Font.Superscript = 1;
|
||||
break;
|
||||
|
||||
}
|
||||
text = text.Substring(m.Index+m.Length);
|
||||
m = rgx.Match(text);
|
||||
}
|
||||
_WordSel.TypeText(text);
|
||||
}
|
||||
private void WriteCell(string text, bool bold, bool advance)
|
||||
{
|
||||
_WordSel.Font.Name = _pkFont.Family;//"Arial";
|
||||
_WordSel.Font.Bold = bold ? 1 : 0;
|
||||
_WordSel.TypeText(text);
|
||||
//_WordSel.TypeText(text);
|
||||
WriteRTF(text);
|
||||
if (advance) Advance();
|
||||
}
|
||||
private void SetIndent(float left, float first)
|
||||
|
Reference in New Issue
Block a user