This commit is contained in:
parent
3ae2116de3
commit
e730a3193e
@ -344,6 +344,15 @@ namespace VEPROMS.CSLA.Library
|
|||||||
return (MyPrevious == null);
|
return (MyPrevious == null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public bool IsAutoTOCSection
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (!IsSection) return false;
|
||||||
|
return ((ActiveFormat.PlantFormat.FormatData.PurchaseOptions & E_PurchaseOptions.AutoTableOfContents) == E_PurchaseOptions.AutoTableOfContents &&
|
||||||
|
(MyDocStyle.StructureStyle.Style & E_DocStructStyle.TableOfContents) == E_DocStructStyle.TableOfContents);
|
||||||
|
}
|
||||||
|
}
|
||||||
#region StepLevel
|
#region StepLevel
|
||||||
private int _StepLevel = -2;// Not yet calculated
|
private int _StepLevel = -2;// Not yet calculated
|
||||||
public int StepLevel
|
public int StepLevel
|
||||||
@ -1679,7 +1688,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public System.Collections.IList GetChildren()
|
public System.Collections.IList GetChildren()
|
||||||
{
|
{
|
||||||
_PartInfoList = this.MyContent.ContentParts;
|
_PartInfoList = this.MyContent.ContentParts;
|
||||||
if (_PartInfoList.Count == 1 && ( _PartInfoList[0].ToString() == "Sections" || _PartInfoList[0].ToString() == "Steps"))
|
if (_PartInfoList.Count == 1 && ((IsProcedure && _PartInfoList[0].ToString() == "Sections") || _PartInfoList[0].ToString() == "Steps"))
|
||||||
return _PartInfoList[0].GetChildren();
|
return _PartInfoList[0].GetChildren();
|
||||||
return _PartInfoList;
|
return _PartInfoList;
|
||||||
}
|
}
|
||||||
@ -1688,7 +1697,8 @@ namespace VEPROMS.CSLA.Library
|
|||||||
_PartInfoList = this.MyContent.ContentParts;
|
_PartInfoList = this.MyContent.ContentParts;
|
||||||
if (allParts)
|
if (allParts)
|
||||||
{
|
{
|
||||||
if (_PartInfoList.Count == 1 && (_PartInfoList[0].ToString() == "Sections" || _PartInfoList[0].ToString() == "Steps"))
|
if (_PartInfoList.Count == 1 && ((IsProcedure && _PartInfoList[0].ToString() == "Sections") || _PartInfoList[0].ToString() == "Steps"))
|
||||||
|
|
||||||
return _PartInfoList[0].GetChildren();
|
return _PartInfoList[0].GetChildren();
|
||||||
return _PartInfoList;
|
return _PartInfoList;
|
||||||
}
|
}
|
||||||
@ -2148,7 +2158,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
_MyHeader.CleanText = StripRtfFormatting(_MyHeader.Text);
|
_MyHeader.CleanText = StripRtfFormatting(_MyHeader.Text);
|
||||||
_MyHeader.Justify = ContentAlignment.MiddleCenter;
|
_MyHeader.Justify = ContentAlignment.MiddleCenter;
|
||||||
}
|
}
|
||||||
#region Non HLP tab TODO
|
#region Non Converted Plants tab TODO
|
||||||
// other possible 'tokens'
|
// other possible 'tokens'
|
||||||
// Position offset - do this one here, so don't get background substitution below..
|
// Position offset - do this one here, so don't get background substitution below..
|
||||||
// ##-3# - Offset of -3 from Parent (FNP)
|
// ##-3# - Offset of -3 from Parent (FNP)
|
||||||
@ -2160,11 +2170,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
//"{LNK C/N Num}"
|
//"{LNK C/N Num}"
|
||||||
//"{LNK Step Num}"
|
//"{LNK Step Num}"
|
||||||
|
|
||||||
//Section Numbers
|
|
||||||
// % - Prefix with section number (works string in 16 bit, ie.e For 4.3 the prefix becomes 4.
|
|
||||||
// wid that would be stored.
|
|
||||||
//"{Section Prefix}"
|
|
||||||
|
|
||||||
// Position offset
|
// Position offset
|
||||||
// \257 - Indent (CALLOWAY BACKGROUNDS)
|
// \257 - Indent (CALLOWAY BACKGROUNDS)
|
||||||
// Newline within a tab (calbck)
|
// Newline within a tab (calbck)
|
||||||
@ -2254,8 +2259,12 @@ namespace VEPROMS.CSLA.Library
|
|||||||
ItemInfo ii = ActiveSection.MyParent;
|
ItemInfo ii = ActiveSection.MyParent;
|
||||||
while (!ii.IsProcedure)
|
while (!ii.IsProcedure)
|
||||||
{
|
{
|
||||||
// the following line must also include a check for the section config autoindent flag
|
if (ii.DisplayNumber != null && ii.DisplayNumber != "")
|
||||||
if (ii.DisplayNumber != null && ii.DisplayNumber != "") countlev++;
|
{
|
||||||
|
SectionConfig sc = MyActiveSection.MyConfig as SectionConfig;
|
||||||
|
if (sc != null && sc.SubSection_AutoIndent == "Y")
|
||||||
|
countlev++;
|
||||||
|
}
|
||||||
ii = ii.MyParent;
|
ii = ii.MyParent;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2263,24 +2272,41 @@ namespace VEPROMS.CSLA.Library
|
|||||||
}
|
}
|
||||||
private string SectionPrefix(string tbformat)
|
private string SectionPrefix(string tbformat)
|
||||||
{
|
{
|
||||||
// If the Section's 'tab' is a character or has a character preceding the '.' is an alpha character,
|
// if not metasection/tietabtolevel, return the 'section number'. (where the '.' may or may not exist)
|
||||||
// just return the alpha (no '.')
|
if (!ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.StepSectionLayoutData.TieTabToLevel)
|
||||||
// If the character preceding the '. 'is a number, return the section tab up to and including the '.'
|
|
||||||
// Otherwise, just return the section tab.
|
|
||||||
|
|
||||||
// Before checking for anything, if the DisplayNumber starts with 'ATTACHMENT ', don't use that in the Section
|
|
||||||
// prefix for the tabstring.
|
|
||||||
string attNum = ActiveSection.DisplayNumber.ToUpper().StartsWith("ATTACHMENT ") ? ActiveSection.DisplayNumber.Substring(11) : ActiveSection.DisplayNumber;
|
|
||||||
Match m = Regex.Match(attNum, @"[a-zA-Z]"); // for alpha, use non-touched displaynumber
|
|
||||||
int indx = -1;
|
|
||||||
if (m.Success)
|
|
||||||
{
|
{
|
||||||
indx = attNum.IndexOf(".");
|
int indx = ActiveSection.MyTab.CleanText.IndexOf(".");
|
||||||
if (indx < 0) return attNum;
|
if (indx > 0) return ActiveSection.MyTab.CleanText.Substring(0, indx + 1); // include the '.'
|
||||||
return attNum.Substring(0, indx);
|
return ActiveSection.MyTab.CleanText.TrimEnd();
|
||||||
}
|
}
|
||||||
if (IsHigh && ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.StepSectionLayoutData.TieTabToLevel)
|
|
||||||
|
// the rest of this is for metasections (tietabtolevel format flag)
|
||||||
|
|
||||||
|
SectionInfo si = SectionInfo.Get(ActiveSection.ItemID);
|
||||||
|
// A 'TrueSectionNum' must have a '.' and cannot have lettters after the '.'.
|
||||||
|
if (si != null && si.TrueSectionNum())
|
||||||
{
|
{
|
||||||
|
string attNum = ActiveSection.DisplayNumber; // ActiveSection.DisplayNumber.ToUpper().StartsWith("ATTACHMENT ") ? ActiveSection.DisplayNumber.Substring(11) : ActiveSection.DisplayNumber;
|
||||||
|
// If section number is of form '1.0', return '1.'
|
||||||
|
if (attNum.Length > 1 && attNum[attNum.Length - 1] == '0' && attNum[attNum.Length - 2] == '.')
|
||||||
|
return attNum.Substring(0, attNum.Length - 1);
|
||||||
|
// If section number is of form '1', return '1.'
|
||||||
|
else if (attNum.Length > 0 && attNum[attNum.Length - 1] != '.')
|
||||||
|
return attNum + '.';
|
||||||
|
}
|
||||||
|
// For the docstyle flag DSS_TreatAsTrueSectNum, look for last space, and if one is
|
||||||
|
// found, the the Section Prefix is the text after the space with a '.' appended - for
|
||||||
|
// example, 'Attachment A' becomes 'A.'.
|
||||||
|
if ((MyDocStyle.StructureStyle.Style ?? 0 & E_DocStructStyle.DSS_TreatAsTrueSectNum) != 0)
|
||||||
|
{
|
||||||
|
int lindx = ActiveSection.DisplayNumber.LastIndexOf(" ");
|
||||||
|
if (lindx > 0)
|
||||||
|
{
|
||||||
|
return ActiveSection.DisplayNumber.Substring(lindx + 1) + ".";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// If we're in a subsection, be sure there is a '.' at the end.
|
||||||
int subsection = CurrentSectionLevel();
|
int subsection = CurrentSectionLevel();
|
||||||
if (subsection >= 1)
|
if (subsection >= 1)
|
||||||
{
|
{
|
||||||
@ -2288,9 +2314,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
if (tmptab.LastIndexOf(".") != tmptab.Length - 1) tmptab = tmptab + ".";
|
if (tmptab.LastIndexOf(".") != tmptab.Length - 1) tmptab = tmptab + ".";
|
||||||
return tmptab;
|
return tmptab;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
indx = ActiveSection.MyTab.CleanText.IndexOf(".");
|
|
||||||
if (indx > 0) return ActiveSection.MyTab.CleanText.Substring(0,indx+1); // include the '.'
|
|
||||||
return ActiveSection.MyTab.CleanText.TrimEnd();
|
return ActiveSection.MyTab.CleanText.TrimEnd();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3369,7 +3392,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
int indx = DisplayNumber.IndexOf(".");
|
int indx = DisplayNumber.IndexOf(".");
|
||||||
if (indx < 0 || indx + 1 == DisplayNumber.Length) return false;
|
if (indx < 0 || indx + 1 == DisplayNumber.Length) return false;
|
||||||
// for it to be a 'TrueSectionNum', there can be no letters after the '.'
|
// for it to be a 'TrueSectionNum', there can be no letters after the '.'
|
||||||
for (int lindx = indx; lindx < DisplayNumber.Length - 1; lindx++) if (DisplayNumber[lindx] < '0' || DisplayNumber[lindx] > '9') return false;
|
for (int lindx = indx+1; lindx < DisplayNumber.Length - 1; lindx++) if (DisplayNumber[lindx] < '0' || DisplayNumber[lindx] > '9') return false;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
// the following returns the 'index' into the format's CheckOffHeaderList.
|
// the following returns the 'index' into the format's CheckOffHeaderList.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user