This commit is contained in:
Kathy Ruffing 2013-03-26 13:32:19 +00:00
parent 2efe10bd9a
commit 4b26543dca
9 changed files with 56 additions and 15 deletions

View File

@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Text.RegularExpressions;
using Csla;
using Csla.Data;
@ -856,6 +857,8 @@ namespace VEPROMS.CSLA.Library
{
string tmpStr = tb.ToString();
if (tmpStr.ToUpper().EndsWith(", STEP ")) tb.Remove(tb.Length - 7, 7); // 7 is length of ", Step "
else if (tb.Prefix != null && tb.Prefix.StartsWith(")"))
tb.Append(")");
return true;
}
string retstr = TranGetSectionNumber(tb._ToItem);
@ -872,10 +875,20 @@ namespace VEPROMS.CSLA.Library
tb.ReplaceToken(retstr);
return (retstr != null && retstr != "");
}
private static string FixTitleCase(Match m)
{
if (Regex.IsMatch(m.Value, @"^[A-Za-z]+\.?$"))
{
string part1 = m.Value.Substring(0, 1);
string part2 = m.Value.Substring(1);
return part1.ToUpper() + part2.ToLower();
}
return m.Value;
}
private static string CapFirstLetterOnly(string retstr, int p)
{
string lretstr = retstr;
// LATER: write code to capitalize first letter (active plants)
string lretstr = Regex.Replace(retstr, @"([^ ,]+)", new MatchEvaluator(FixTitleCase));
return lretstr;
}
// TODO: Section methods are not complete....
@ -897,7 +910,11 @@ namespace VEPROMS.CSLA.Library
if (tb._FormatData.TransData.UseSecTitles)
{
ItemInfo tmpitm = TranGetSectionItem(itminfo);
return (tmpitm.MyContent.Text);
string sectionTitle = tmpitm.MyContent.Text;
sectionTitle = (tb._FormatData.TransData.CapsTransitionsSection ? sectionTitle.ToUpper().Replace(@"\U", @"\u") :
tb._FormatData.TransData.Cap1stCharTransSection ? CapFirstLetterOnly(sectionTitle, 0) :
sectionTitle);
return (sectionTitle);
}
return null;
}

View File

@ -4926,6 +4926,14 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _CapsTransitions, "@CapsTransitions");
}
}
private LazyLoad<bool> _CapsTransitionsSection;
public bool CapsTransitionsSection
{
get
{
return LazyLoad(ref _CapsTransitionsSection, "@CapsTransitionsSection");
}
}
private LazyLoad<bool> _CapTranStep;
public bool CapTranStep
{
@ -4974,6 +4982,14 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _Cap1stCharTrans, "@Cap1stCharTrans");
}
}
private LazyLoad<bool> _Cap1stCharTransSection;
public bool Cap1stCharTransSection
{
get
{
return LazyLoad(ref _Cap1stCharTransSection, "@Cap1stCharTransSection");
}
}
private LazyLoad<bool> _UseTransitionModifier;
public bool UseTransitionModifier
{

View File

@ -400,7 +400,7 @@ namespace Volian.Controls.Library
private string DoTransitionAdjustments(string text, bool boldTran)
{
string strippedText = StaticStripRtfCommands(text);
string lookFor = string.Format(@"<START\](\\[^v \\]+)*\\v0(\\[^v \\]+)* (.*?)(\\[^v \\]+)*\\v(\\[^v \\]+)* #Link:(ReferencedObject|Transition[^:]*?):[0-9]* ([0-9]*).*?\[END>");
string lookFor = string.Format(@"<START\](\\[^v \\]+)*\\v0(\\[^v \\]+)* (.*?)(\\[^v \\u]+)*\\v(\\[^v \\]+)* #Link:(ReferencedObject|Transition[^:]*?):[0-9]* ([0-9]*).*?\[END>");
MatchCollection matches = Regex.Matches(text, lookFor);
if (matches.Count == 0) return text;
string retstr = text;
@ -413,7 +413,7 @@ namespace Volian.Controls.Library
//if (!Char.IsDigit(m.Groups[3].Value[0])) continue;
if (m != null && m.Groups.Count > 7 && m.Groups[6].ToString().StartsWith("Transition"))
{
if (m.Groups[7].Value != "" && StepTransition(int.Parse(m.Groups[7].Value)))
if (m.Groups[7].Value != "") // && StepTransition(int.Parse(m.Groups[7].Value)))
{
System.Text.RegularExpressions.Group g = m.Groups[3];
string beforeTran = retstr.Substring(0, g.Index);
@ -423,19 +423,27 @@ namespace Volian.Controls.Library
// i.e. there is a format flag 'BeforeTrans' that bolds text before the transition
// (in wst formats).
beforeTran = DoBeforeTransFlagSupport(beforeTran, _MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.ReplaceStrList);
string newvalue = g.ToString();
int indexLastSpace = newvalue.LastIndexOf(' ');
if (indexLastSpace >= 0)
// Use a "\x1" as a token to replace later. Insert the unicode char, whose length is
// more than 1 character was throwing of the regexp Matches index, so that the resulting
// string may have been incorrect.
retstr = beforeTran + (boldTran ? @"\b " : null) + newvalue.Substring(0, indexLastSpace) + "\x1" + newvalue.Substring(indexLastSpace + 1) + (boldTran ? @"\b0" : null) + afterTran;
else
if (beforeTran.EndsWith(" ") )
retstr = ReplaceLastSpaceWithHardSpace(beforeTran) + (boldTran ? @"\b " : null) + newvalue + (boldTran ? @"\b0" : null) + afterTran;
// if this is a 'step transition' type, i.e. includes a step number, in addition to other replacements,
// we want to change a space to a hardspace.
if (StepTransition(int.Parse(m.Groups[7].Value)))
{
int indexLastSpace = newvalue.LastIndexOf(' ');
if (indexLastSpace >= 0)
// Use a "\x1" as a token to replace later. Insert the unicode char, whose length is
// more than 1 character was throwing of the regexp Matches index, so that the resulting
// string may have been incorrect.
retstr = beforeTran + (boldTran ? @"\b " : null) + newvalue.Substring(0, indexLastSpace) + "\x1" + newvalue.Substring(indexLastSpace + 1) + (boldTran ? @"\b0" : null) + afterTran;
else
Console.Write("");// Don't know where to put the Hard Space
if (beforeTran.EndsWith(" "))
retstr = ReplaceLastSpaceWithHardSpace(beforeTran) + (boldTran ? @"\b " : null) + newvalue + (boldTran ? @"\b0" : null) + afterTran;
else
Console.Write("");// Don't know where to put the Hard Space
}
else if (boldTran)
{
retstr = beforeTran + @"\b " + newvalue + @"\b0" + afterTran;
}
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.