Merge pull request 'Development' (#287) from Development into master

Merging F2024-047, F2024-048, B2024-017 and B2024-019 from development into master after successful testing.
This commit is contained in:
Devin Jankowski 2024-04-04 11:36:56 -04:00
commit d7ace4eaf9
17 changed files with 57 additions and 27 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -285,18 +285,16 @@ namespace VEPROMS.CSLA.Library
#region ROTextConvertMethods
// B2023-037: Handle <=, >=, +-, -> and <- symbols. Convert to unicode for output, i.e. print and edit/view (when editing
// step, will show as 2 characters, not unicode, unless ro inserted when code replaced link text with unicode.
public static string ROConvertSymbols(string retval, ItemInfo MyItemInfo = null)
public static string ROConvertSymbols(string retval, bool arr1, bool arr2)
{
// _MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.UseDashGreaterLessThenForArrowsInROValue ||
// _MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertGTELTEPMinROValue
if (MyItemInfo == null || MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.UseDashGreaterLessThenForArrowsInROValue)
if (arr1)
{
retval = retval.Replace("\\u8209?>", @"\u8594?"); // Right Arrow
retval = retval.Replace("<\\u8209?", @"\u8592?"); // Left Arrow
retval = retval.Replace("->", @"\u8594?"); // Right Arrow
retval = retval.Replace("<-", @"\u8592?"); // Left Arrow
}
if (MyItemInfo == null || MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertGTELTEPMinROValue)
if (arr2)
{
retval = retval.Replace("<=", @"\u8804?"); // Less than or Equal
retval = retval.Replace(">=", @"\u8805?"); // Greater than or Equal
@ -492,7 +490,7 @@ namespace VEPROMS.CSLA.Library
return rc;
}
public string GetTranslatedRoValue(string roid, bool DoCaret, bool DoDOSSuperSubScript, bool convertRoSymbols)
public string GetTranslatedRoValue(string roid, bool DoCaret, bool DoDOSSuperSubScript, bool convertRoSymbols, ItemInfo myiteminfo)
{
roid = FormatRoidKey(roid, true);
@ -504,7 +502,13 @@ namespace VEPROMS.CSLA.Library
retval = ReplaceUnicode(retval, DoCaret);
// B2023-037: Handle <=, >=, +-, -> and <- symbols. Convert to unicode for output, i.e. print and edit/view (when editing
// step, will show as 2 characters, not unicode, unless ro inserted when code replaced link text with unicode.
if (convertRoSymbols) retval = ROFSTLookup.ROConvertSymbols(retval);
//(_MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.UseDashGreaterLessThenForArrowsInROValue ||
// _MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertGTELTEPMinROValue))
bool arrows1 = myiteminfo.ActiveFormat.PlantFormat.FormatData.SectData.UseDashGreaterLessThenForArrowsInROValue;
bool arrows2 = myiteminfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertGTELTEPMinROValue;
if (convertRoSymbols) retval = ROFSTLookup.ROConvertSymbols(retval, arrows1, arrows2);
retval = ConvertFortranFormatToScienctificNotation(retval);

View File

@ -1616,7 +1616,7 @@ namespace VEPROMS.CSLA.Library
foreach (ContentRoUsage ro in cont.ContentRoUsages)
{
RoUsageInfo rou = RoUsageInfo.Get(ro.ROUsageID);
string myvalue = mylookup.GetTranslatedRoValue(rou.ROID, tmp.ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta, tmp.ActiveFormat.PlantFormat.FormatData.SectData.UseTildaPoundCharsForSuperSubScriptInROValues, false);
string myvalue = mylookup.GetTranslatedRoValue(rou.ROID, tmp.ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta, tmp.ActiveFormat.PlantFormat.FormatData.SectData.UseTildaPoundCharsForSuperSubScriptInROValues, false, tmp);
ROFSTLookup.rochild rocc = mylookup.GetRoChild(rou.ROID);
@ -1844,7 +1844,7 @@ namespace VEPROMS.CSLA.Library
ROFSTLookup mylookup = myRoFst.GetROFSTLookup(tmp.ContentItems[0].MyProcedure.MyDocVersion);
foreach (RoUsageInfo rou in tmp.ContentRoUsages)
{
string myvalue = mylookup.GetTranslatedRoValue(rou.ROID, tmp.ContentItems[0].ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta, tmp.ContentItems[0].ActiveFormat.PlantFormat.FormatData.SectData.UseTildaPoundCharsForSuperSubScriptInROValues, false);
string myvalue = mylookup.GetTranslatedRoValue(rou.ROID, tmp.ContentItems[0].ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta, tmp.ContentItems[0].ActiveFormat.PlantFormat.FormatData.SectData.UseTildaPoundCharsForSuperSubScriptInROValues, false, tmp.ContentItems[0]);
ROFSTLookup.rochild rocc = mylookup.GetRoChild(rou.ROID);
int mytype = rocc.type;
ctmp.FixContentText(rou, myvalue, mytype, myRoFst);

View File

@ -694,10 +694,12 @@ namespace VEPROMS.CSLA.Library
// B2017-147: backquotes should be translated to degrees for edit/print:
newvalue = newvalue.Replace("`", @"\'b0");
// B2023-037: Handle <=, >=, +-, -> and <- symbols. If the format has flags to convert these RO symbols, it
bool arrows1 = _MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.UseDashGreaterLessThenForArrowsInROValue;
bool arrows2 = _MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertGTELTEPMinROValue;
// is done here so that output (print & edit/view) has symbol, not 2 characters.
if (!_MyItemInfo.IsTable && (_MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.UseDashGreaterLessThenForArrowsInROValue ||
_MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertGTELTEPMinROValue))
newvalue = ROFSTLookup.ROConvertSymbols(newvalue, _MyItemInfo);
newvalue = ROFSTLookup.ROConvertSymbols(newvalue, arrows1, arrows2);
if (gg != newvalue)
text = text.Substring(0, myIndex) + newvalue + text.Substring(myIndex + myLength);

View File

@ -908,7 +908,7 @@ namespace VEPROMS.CSLA.Library
{
string oldText = this.MyContent.Text;
string roval = lookup.GetTranslatedRoValue(rousage.ROID, this.ActiveSection.ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta, this.ActiveSection.ActiveFormat.PlantFormat.FormatData.SectData.UseTildaPoundCharsForSuperSubScriptInROValues, false);
string roval = lookup.GetTranslatedRoValue(rousage.ROID, this.ActiveSection.ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta, this.ActiveSection.ActiveFormat.PlantFormat.FormatData.SectData.UseTildaPoundCharsForSuperSubScriptInROValues, false, this);
ROFSTLookup.rochild roch = lookup.GetRoChild(rousage.ROID);
this.MyContent.FixContentText(rousage, roval, roch.type, rofstinfo, this);
@ -964,7 +964,7 @@ namespace VEPROMS.CSLA.Library
ROCheckCount++;
string oldText = itemInfo.MyContent.Text;
string roval = lookup.GetTranslatedRoValue(rousage.ROID, sectionInfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta, sectionInfo.ActiveFormat.PlantFormat.FormatData.SectData.UseTildaPoundCharsForSuperSubScriptInROValues, false);
string roval = lookup.GetTranslatedRoValue(rousage.ROID, sectionInfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta, sectionInfo.ActiveFormat.PlantFormat.FormatData.SectData.UseTildaPoundCharsForSuperSubScriptInROValues, false, sectionInfo);
ROFSTLookup.rochild roch = lookup.GetRoChild(rousage.ROID);
itemInfo.MyContent.FixContentText(rousage, roval, roch.type, origROFst, itemInfo);
@ -1184,9 +1184,10 @@ namespace VEPROMS.CSLA.Library
if (sectionInfo != null)
{
// B2023-037: loading print text, resolve the RO symbols
bool GTLT = sectionInfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertGTELTEPMinROValue;
bool GLTArrows = sectionInfo.ActiveFormat.PlantFormat.FormatData.SectData.UseDashGreaterLessThenForArrowsInROValue;
string roval = lookup.GetTranslatedRoValue(rousage.ROID, sectionInfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta, sectionInfo.ActiveFormat.PlantFormat.FormatData.SectData.UseTildaPoundCharsForSuperSubScriptInROValues, itemInfo.IsTable && GTLT || GLTArrows);
bool GTLT = !itemInfo.IsTable && sectionInfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertGTELTEPMinROValue;
bool GLTArrows = !itemInfo.IsTable && sectionInfo.ActiveFormat.PlantFormat.FormatData.SectData.UseDashGreaterLessThenForArrowsInROValue;
string roval = lookup.GetTranslatedRoValue(rousage.ROID, sectionInfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta, sectionInfo.ActiveFormat.PlantFormat.FormatData.SectData.UseTildaPoundCharsForSuperSubScriptInROValues, GTLT || GLTArrows, itemInfo);
ROFSTLookup.rochild roch = lookup.GetRoChild(rousage.ROID);
itemInfo.MyContent.FixContentText(rousage, roval, roch.type, rofstinfo, itemInfo);
}

View File

@ -722,7 +722,7 @@ namespace VEPROMS.CSLA.Library
{
foreach (ItemInfo ii in roUsg.MyContent.ContentItems)
{
string val = newLookup.GetTranslatedRoValue(padroid, ii.ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta, ii.ActiveFormat.PlantFormat.FormatData.SectData.UseTildaPoundCharsForSuperSubScriptInROValues, false);
string val = newLookup.GetTranslatedRoValue(padroid, ii.ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta, ii.ActiveFormat.PlantFormat.FormatData.SectData.UseTildaPoundCharsForSuperSubScriptInROValues, false, ii);
content.FixContentText(roUsg, val, roch.type, origROFstInfo, true);
if (content.IsDirty)

View File

@ -1227,7 +1227,9 @@ namespace VEPROMS.CSLA.Library
case 0:
break;
default:
tb.Append(string.Format(" (Page {0})", tb._ToItem.PageNumber + 1));
//F2024-048 use a hard space (\\u160;) instead of a space in the page number text
// to keep that text together on the page
tb.Append(string.Format(" (Page{0}{1})", "\\u160;", tb._ToItem.PageNumber + 1));
break;
}
}

View File

@ -58,7 +58,8 @@ namespace VEPROMS.CSLA.Library
SectMenuStep = 0x0020,
StepAllowNone = 0x0040,
StepFirst = 0x0080,
StepLast = 0x0100
StepLast = 0x0100,
StepAllChildren = 0x0200
}
public enum E_EMode : uint
{

View File

@ -199,9 +199,12 @@ namespace VEPROMS.CSLA.Library
LoadChildren(true);
}
private bool _allParts = true;
public virtual void LoadChildren(bool allParts)
private bool _excludeTablesFigsEqu = false; // used for inserting Step Text transitions (BNPP)
public virtual void LoadChildren(bool allParts, bool excldTablesFigEq = false)
{
_allParts = allParts;
// B2024-019 don't show Tables, Figures, or Equations in step tree when inserting Text Transitions
_excludeTablesFigsEqu = excldTablesFigEq;
if (!_ChildrenLoaded)
{
this.Nodes.Clear();
@ -262,6 +265,10 @@ namespace VEPROMS.CSLA.Library
if (!skipIt)
{
VETreeNode tmp = new VETreeNode(o, _allParts);
// B2024-019 don't show Tables, Figures, or Equations in step tree when inserting Text Transitions
bool isTableFigEqu = tmp.Text.Equals("Table") ||
tmp.Text.Equals("Figure") ||
tmp.Text.Equals("Equation");
if (o.HasChildren)
{
if (o is PartInfo)
@ -279,7 +286,8 @@ namespace VEPROMS.CSLA.Library
tmp._ChildrenLoaded = true;// Reset the children loaded flag
if (lastWasSection)
this.Nodes.Insert(0, tmp);
else
// B2024-019 don't show Tables, Figures, or Equations in step tree when inserting Text Transitions
else if (!_excludeTablesFigsEqu || !isTableFigEqu)
this.Nodes.Add(tmp);
// if last thing was section & this is step, do insert - i.e. so that steps go before sections.
lastWasSection = (o is PartInfo && (o as PartInfo).PartType == E_FromType.Section);

View File

@ -903,9 +903,9 @@ namespace Volian.Controls.Library
// Pad to 16 to store in the RoUsage table.
string padroid = ROFSTLookup.FormatRoidKey(roc.roid, true);
string linktxt = string.Format(@"#Link:ReferencedObject:<NewID> {0} {1}", padroid, MyROFST.RODbID);
// Resolve symbols and scientific notation in the RO return value
string valtxt = MyROFSTLookup.GetTranslatedRoValue(padroid, MyRTB.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta, MyRTB.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.UseTildaPoundCharsForSuperSubScriptInROValues, false);
string valtxt = MyROFSTLookup.GetTranslatedRoValue(padroid, MyRTB.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta, MyRTB.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.UseTildaPoundCharsForSuperSubScriptInROValues, false, MyRTB.MyItemInfo);
MyRTB.OnRoInsert(this, new StepRTBRoEventArgs(valtxt, selectedChld.value, linktxt, padroid, MyROFST.RODbID));
}

View File

@ -898,7 +898,11 @@ namespace Volian.Controls.Library
// allow this (12/2/09). Note that this was changed to not allow transitions
// to RNOs (10/2010), this 'feature' will be added at some later date.
tn.ChildrenLoaded = false;
tn.LoadChildren(false);
// F2024-047 BNPP standard Text transition - pass True to LoadChildren to load all children.
E_TransUI etm = (E_TransUI) _CurItemFrom.ActiveFormat.PlantFormat.FormatData.TransData.TransTypeList[_TranFmtIndx].TransUI;
bool loadAllChildren = ((etm & E_TransUI.StepAllChildren) == E_TransUI.StepAllChildren);
bool excludeTableFigEqu = loadAllChildren; // don't show Tables, Figures, or Equations in step list
tn.LoadChildren(loadAllChildren, excludeTableFigEqu);
}
private void cbTranSects_SelectedIndexChanged(object sender, EventArgs e)
{
@ -940,7 +944,9 @@ namespace Volian.Controls.Library
private void HideStepTreeIfNeeded()
{
string trnFmt = _CurItemFrom.ActiveFormat.PlantFormat.FormatData.TransData.TransTypeList[_TranFmtIndx].TransFormat;
bool showStepList = trnFmt.Contains("{First Step}");
// F2024-047 Added check for {Step Text} so that the step tree is displayed
// Needed for BNPP transition to step text only for standard text
bool showStepList = trnFmt.Contains("{First Step}") || trnFmt.Contains("{Step Text}");
if (!showStepList)
tvTran.Nodes.Clear(); // clear the tree view of steps if not needed for selected transition
tvTran.Enabled = showStepList; // show the tree view of steps?
@ -1336,7 +1342,13 @@ namespace Volian.Controls.Library
return;
}
// B2015-170 - don't allow a transition to step that is not sequential
if ((toItem != null &&!toItem.IsNumbered) || (rangeItem != null && !rangeItem.IsNumbered))
// B2024-019 - but allow if TranFmt only contains {Step Text}
// - Calvert uses {Step Text} but also includes step number
// - Barakah (BNPP) uses just {Step Text} to link to standard text
bool onlyStepText = false;
if (listBoxTranFmt.Text.Contains("{Step Text}") && !listBoxTranFmt.Text.Contains("{First Step}"))
onlyStepText = true;
if (!onlyStepText && (toItem != null &&!toItem.IsNumbered) || (rangeItem != null && !rangeItem.IsNumbered))
{
FlexibleMessageBox.Show("For transitions containing step references, the transition must be to a numbered or lettered step.",
"Cannot add transition to a non-sequential step", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

View File

@ -563,7 +563,7 @@ namespace Volian.Controls.Library
string linktxt = string.Format(@"#Link:ReferencedObject:<NewID> {0} {1}", padroid, MyLookup.MyDocVersionInfo.DocVersionAssociations[0].MyROFst.MyRODb.RODbID);
// Resolve symbols and scientific notation in the RO return value
string valtxt = MyLookup.GetTranslatedRoValue(padroid, MyStepRTB.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta, MyStepRTB.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.UseTildaPoundCharsForSuperSubScriptInROValues,
false); //ConvertSymbolsAndStuff(selectedChld.value);
false, MyStepRTB.MyItemInfo); //ConvertSymbolsAndStuff(selectedChld.value);
MyStepRTB.OnRoInsert(this, new StepRTBRoEventArgs(valtxt, myvalue, linktxt, padroid, MyLookup.MyDocVersionInfo.DocVersionAssociations[0].MyROFst.MyRODb.RODbID));
}
private void SaveROWithAnnotation_Click(object sender, EventArgs e)
@ -580,7 +580,7 @@ namespace Volian.Controls.Library
string padroid = (myroid.Length <= 12) ? myroid + "0000" : myroid;
string linktxt = string.Format(@"#Link:ReferencedObject:<NewID> {0} {1}", padroid, MyLookup.MyDocVersionInfo.DocVersionAssociations[0].MyROFst.MyRODb.RODbID);
// Resolve symbols and scientific notation in the RO return value
string valtxt = MyLookup.GetTranslatedRoValue(padroid, MyStepRTB.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta, MyStepRTB.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.UseTildaPoundCharsForSuperSubScriptInROValues, false); //ConvertSymbolsAndStuff(selectedChld.value);
string valtxt = MyLookup.GetTranslatedRoValue(padroid, MyStepRTB.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta, MyStepRTB.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.UseTildaPoundCharsForSuperSubScriptInROValues, false, MyStepRTB.MyItemInfo); //ConvertSymbolsAndStuff(selectedChld.value);
MyStepRTB.OnRoInsert(this, new StepRTBRoEventArgs(valtxt, myvalue, linktxt, padroid, MyLookup.MyDocVersionInfo.DocVersionAssociations[0].MyROFst.MyRODb.RODbID));
}
private void NoROFound_Click(object sender, EventArgs e)