diff --git a/PROMS/fmtxml/FmtFileToXml.cs b/PROMS/fmtxml/FmtFileToXml.cs index 9f9926b1..39bd9c7b 100644 --- a/PROMS/fmtxml/FmtFileToXml.cs +++ b/PROMS/fmtxml/FmtFileToXml.cs @@ -562,7 +562,7 @@ public struct ChangeBar public string DefaultCBLoc; public string ChangeBarMessage; public Int16 FixedChangeColumn; // really flags not columns (don't convert to points - public Byte FixedAERChangeColumn; + public Int16 FixedAERChangeColumn; public long ChangeSummaryStyle; // not really change bar - put here for now. public long ChangeBarStyle; public string SpecialChangeBar; @@ -637,8 +637,8 @@ public struct StepSection { public Int16 TopRow; public byte IndentToken; - public byte NumberOfHighLevelSteps; - public byte NumberOfSubStepTypes; + public Int16 NumberOfHighLevelSteps; + public Int16 NumberOfSubStepTypes; //public Int16[] TextTypeValue; //public string[] TextType; public string IdentB; @@ -718,8 +718,8 @@ public struct StepSectionLayout public Int16 HLSWidthOVRD; public Int16 SubPaginationWght; public Int16 TextTitleAdjustment; - public string TableCenterPos; - public string LowerLimitDivisor; // pagination - should it be in print? + public string TableCenterPos; // string array with ints. + public string LowerLimitDivisor; // pagination - should it be in print? - 16bit: quoted float public string NonLinkedStepNumber; public string NonLinkedCautNoteNumber; public string NonLinkedRNONumber; @@ -852,6 +852,8 @@ public enum E_ReplaceStr : uint Plackeep =0x20000, // Do replace in PlaceKeepers InSecTitle =0x40000 // replace words in section titles } +// all Step variables are strings here so that inheritance check for step variables can be done. +// Some will have float/integer values and should be treated as such in format code in Proms code. [Serializable] public struct Step { @@ -859,10 +861,10 @@ public struct Step public string Type; public string ParentType; public string Inactive; - public string StepTypeColOverride; - public string StepTypeColOverrideEdit; - public string StepTypeWidthOverride; - public string StepTypeWidthOverrideEdit; + public string ColOverride; + public string ColOverrideEdit; + public string WidthOverride; + public string WidthOverrideEdit; public string Sep; public string Prefix; public string Suffix; @@ -975,7 +977,7 @@ public struct TypeMenu public struct Print { public string ForeColor; // Doesn't exist in old format - See StepLayoutData - public string BackColor; // Doesn't exist in old format - See StepLayoutData + public string BackColor; // Doesn't exist in old format - See StepLayoutData public string PosAdjust; } [Serializable] @@ -991,7 +993,6 @@ public struct Layout public string AlwaysUpperCase; public string PageBreakAtTypeChange; public string AlignWithParentTab; - //public string RtCheckOffGroups; } [Serializable] public struct Tab @@ -1006,7 +1007,6 @@ public struct Tab public string RNOIdentEditWid; public string RNOIdentWid; public string Justify; // from tbstyle - None, CENTER, LEFT, RIGHT - //public string CheckOff; // from tbstyle - None, LEFT, RIGHT public string UsePreviousStyle; public COMacro[] MacroList; public VE_Font Font; @@ -1559,7 +1559,7 @@ namespace fmtxml fmtName = alias; //if (fmtName.ToUpper() != "CPLS" && fmtName.ToUpper() != "BASE") return; //if (fmtName.ToUpper() != "OHLP" && fmtName.ToUpper() != "BASE" && fmtName.ToUpper() != "WCN2") return; - //if (fmtName.ToUpper() != "WCN1" && fmtName.ToUpper() != "BASE") return; + //if (fmtName.ToUpper() != "OHLP" && fmtName.ToUpper() != "BASE") return; try { LoadFormatFile(nm + ".fmt", ref SubXtraFlags); @@ -2211,6 +2211,7 @@ namespace fmtxml fmtdata.StepData[0].StepLayoutData.ForeColor = "Black"; fmtdata.StepData[0].StepLayoutData.BackColor = "White"; for (int i = 1; i < MAXSTEPS + 1; i++) fmtdata.StepData[i].StepLayoutData.STExtraSpace = (RowToPoints(brFmt.ReadInt16())).ToString(); + fmtdata.StepData[0].StepLayoutData.STExtraSpace = fmtdata.StepData[1].StepLayoutData.STExtraSpace; for (int i = 1; i < MAXSTEPS + 1; i++) { Int16 itmp = brFmt.ReadInt16(); @@ -2273,7 +2274,6 @@ namespace fmtxml fmtdata.StepData[j + 1].TabData.UsePreviousStyle = "True"; fmtdata.StepData[j + 1].TabData.Font = st == null ? null : st.Copy(); fmtdata.StepData[j + 1].TabData.Justify = st == null ? "None" : st.FontJustify; - //fmtdata.StepData[j+1].TabData.CheckOff = st == null ? "None" : st.FontCheckOff; if (st != null && st.FontCheckOff != "None") { @@ -2291,13 +2291,11 @@ namespace fmtxml { fmtdata.StepData[j + 1].TabData.Font = st == null ? null : st.Copy(); fmtdata.StepData[j + 1].TabData.Justify = st == null ? "None" : st.FontJustify; - //fmtdata.StepData[j+1].TabData.CheckOff = st == null ? "None" : st.FontCheckOff; if (st != null && st.FontCheckOff != "None") { fmtdata.StepData[j + 1].TabData.MacroList = new COMacro[1]; fmtdata.StepData[j + 1].TabData.MacroList[0].Name = "CHECKOFF"; fmtdata.StepData[j + 1].TabData.MacroList[0].Macro = st.FontCheckOff == "Right" ? "C22" : "M20"; - //if (rtCheckOffGroups[j + 1] != 0) fmtdata.StepData[j + 1].TabData.MacroList[0].Grouping = rtCheckOffGroups[j + 1]; } } } @@ -2308,10 +2306,19 @@ namespace fmtxml if (fmtdata.StepData[i].StepEditData.AcTable == "0") fmtdata.StepData[i].StepEditData.AcTable = null; } - for (int i = 1; i < MAXSTEPS + 1; i++) fmtdata.StepData[i].StepLayoutData.EveryNLines = (brFmt.ReadInt16()).ToString(); + for (int i = 1; i < MAXSTEPS + 1; i++) + { + tmpint = brFmt.ReadInt16(); + if (tmpint == 0) tmpint = 1; // everynlines default value should be 1. + fmtdata.StepData[i].StepLayoutData.EveryNLines = tmpint.ToString(); + } for (int i = 1; i < MAXSTEPS + 1; i++) fmtdata.StepData[i].StepLayoutData.SpaceBefore = "0"; - for (int i = 1; i < MAXSTEPS + 1; i++) fmtdata.StepData[i].StepLayoutData.SpaceAfter = (RowToPoints(1)).ToString(); - for (int i = 1; i < MAXSTEPS + 1; i++) fmtdata.StepData[i].StepLayoutData.AlwaysUpperCase = (brFmt.ReadInt16()).ToString(); + for (int i = 1; i < MAXSTEPS + 1; i++) fmtdata.StepData[i].StepLayoutData.SpaceAfter = RowToPoints(1).ToString(); + for (int i = 1; i < MAXSTEPS + 1; i++) + { + tmpint = brFmt.ReadInt16(); + fmtdata.StepData[i].StepLayoutData.AlwaysUpperCase = tmpint==1?true.ToString():false.ToString(); + } fmtdata.SectData.StepSectionData.StpSectLayData = new StepSectionLayout(); fmtdata.SectData.StepSectionData.StpSectLayData.TopOfPage = new TopOfPg(); @@ -2470,7 +2477,11 @@ namespace fmtxml fmtdata.SectData.StepSectionData.StpSectPrtData.SecColHdrforActPMode = brFmt.ReadInt16(); for (int i = 0; i < MAXSTEPS + 1; i++) fmtdata.StepData[i].Index = i; - for (int i = 1; i < MAXSTEPS + 1; i++) fmtdata.StepData[i].StepLayoutData.AlignWithParentTab = (brFmt.ReadByte()).ToString(); + for (int i = 1; i < MAXSTEPS + 1; i++) + { + tmpbyte = brFmt.ReadByte(); + fmtdata.StepData[i].StepLayoutData.AlignWithParentTab = tmpbyte == 1 ? true.ToString() : false.ToString(); + } fmtdata.SectData.SectionNumber = new SectionNum(); fmtdata.SectData.SectionHeader = new SectionHead(); @@ -2519,15 +2530,13 @@ namespace fmtxml for (int i = 0; i < MAXTRANS; i++) tmpbyte = brFmt.ReadByte(); // TransMode for (int i = 0; i < MAXTRANS; i++) tmpbyte = brFmt.ReadByte(); // OutsideTransType - //for (int i = 0; i < MAXSTEPS; i++) fmtdata.StepData[i].StepLayoutData.StepTypeWidthOverride = (ColToPoints(brFmt.ReadInt16(), _PlantDefaultFontStyle)).ToString(); for (int i = 1; i < MAXSTEPS+1; i++) { tmpshort = brFmt.ReadInt16(); - fmtdata.StepData[i].StepTypeWidthOverride = (ColToPoints((tmpshort & 0x00FF), _PlantDefaultFontStyle)).ToString(); - fmtdata.StepData[i].StepTypeWidthOverrideEdit = (ColToPoints(((tmpshort & 0xFF00) >> 8), _PlantDefaultFontStyle)).ToString(); + fmtdata.StepData[i].WidthOverride = (ColToPoints((tmpshort & 0x00FF), _PlantDefaultFontStyle)).ToString(); + fmtdata.StepData[i].WidthOverrideEdit = (ColToPoints(((tmpshort & 0xFF00) >> 8), _PlantDefaultFontStyle)).ToString(); } - // auto table of contents data AccSection accsec = new AccSection(); @@ -2600,12 +2609,11 @@ namespace fmtxml for (int i = 1; i < MAXBOXES + 1; i++) fmtdata.BoxData[i].TxtRowAdj = brFmt.ReadSByte(); for (int i = 1; i < MAXBOXES + 1; i++) tmpshort = brFmt.ReadByte(); - //for (int i = 1; i < MAXSTEPS + 1; i++) fmtdata.StepData[i].StepTypeColOverride = (ColToPoints(brFmt.ReadInt16(), _PlantDefaultFontStyle)).ToString(); for (int i = 1; i < MAXSTEPS+1; i++) { tmpshort = brFmt.ReadInt16(); - fmtdata.StepData[i].StepTypeColOverride = (ColToPoints((tmpshort & 0x00FF), _PlantDefaultFontStyle)).ToString(); - fmtdata.StepData[i].StepTypeColOverrideEdit = (ColToPoints(((tmpshort & 0xFF00)>>8), _PlantDefaultFontStyle)).ToString(); + fmtdata.StepData[i].ColOverride = (ColToPoints((tmpshort & 0x00FF), _PlantDefaultFontStyle)).ToString(); + fmtdata.StepData[i].ColOverrideEdit = (ColToPoints(((tmpshort & 0xFF00)>>8), _PlantDefaultFontStyle)).ToString(); } fmtdata.SectData.StepSectionData.NumberOfSubStepTypes = brFmt.ReadByte(); @@ -2724,7 +2732,7 @@ namespace fmtxml { indx = offset[arcnt]; arcnt++; - // differentiate between and empty string and null. An empty string is used to put out + // differentiate between an empty string and null. An empty string is used to put out // blank lines. A null string means there is not any separator, thus use the string "{Null}" // so that inheritance tests can show a difference between having a separator and not having one. if (indx > 0) fmtdata.StepData[i].Sep = DoReplaceTokens(GetStringFromByte(input, indx)); @@ -4272,6 +4280,7 @@ namespace fmtxml brFmt = new BinaryReader(File.Open(fnm, System.IO.FileMode.Open, System.IO.FileAccess.ReadWrite, FileShare.ReadWrite)); bool success = ReadInFmtFile(ref fmtdata, ref BaseXtraFlags, fname); AddPlantSpecific(fname, ref fmtdata); + if (!HasBase) SetBaseStepNumericValues(ref fmtdata); FixInactiveForHigh(ref fmtdata); FixInactiveForSubStep(ref fmtdata); FixInactiveForText(ref fmtdata); @@ -4281,7 +4290,7 @@ namespace fmtxml if (success) { PushStepLists(fmtdata.StepData); - DoStepInheritance(ref fmtdata.StepData); + DoStepInheritance(ref fmtdata.StepData, fname); } brFmt.Close(); @@ -4313,7 +4322,7 @@ namespace fmtxml if (success) { PushStepLists(subdata.StepData); - DoStepInheritance(ref subdata.StepData); + DoStepInheritance(ref subdata.StepData,fname); PopStepLists(); } // Now do entire format inheritance - then write out. @@ -4327,6 +4336,19 @@ namespace fmtxml if (HasBase) PopStepLists(); // leave the base format on 'stack', i.e. only pop if !base. } + private void SetBaseStepNumericValues(ref FormatData fmtdata) + { + Step stp = fmtdata.StepData[0]; + stp.ColOverride = "0"; + stp.ColOverrideEdit = "0"; + stp.WidthOverride = "0"; + stp.WidthOverrideEdit = "0"; + stp.StepLayoutData.STExtraSpace = "0"; + stp.StepLayoutData.EveryNLines = "1"; //default for this is 1 + stp.StepLayoutData.SpaceAfter = "0"; + stp.StepLayoutData.SpaceBefore = "0"; + } + private void PushStepLists(Step[] stpdata) { Dictionary dicSteps = BuildStepDic(stpdata); @@ -4717,8 +4739,8 @@ namespace fmtxml if (mainFmt.TPL == subFmt.TPL) subFmt.TPL = null; if (mainFmt.EditData.EMode == subFmt.EditData.EMode) subFmt.EditData.EMode = null; if (mainFmt.EditData.PromptForCautionType != null && mainFmt.EditData.PromptForCautionType == subFmt.EditData.PromptForCautionType) subFmt.EditData.PromptForCautionType = "null"; - if (mainFmt.SectData.StepSectionData.TopRow == subFmt.SectData.StepSectionData.TopRow) subFmt.SectData.StepSectionData.TopRow = 0; - if (mainFmt.PrintData.DoPrnDrvrAdjusts == subFmt.PrintData.DoPrnDrvrAdjusts) subFmt.PrintData.DoPrnDrvrAdjusts = 0; + if (mainFmt.SectData.StepSectionData.TopRow == subFmt.SectData.StepSectionData.TopRow) subFmt.SectData.StepSectionData.TopRow = NullInt; + if (mainFmt.PrintData.DoPrnDrvrAdjusts == subFmt.PrintData.DoPrnDrvrAdjusts) subFmt.PrintData.DoPrnDrvrAdjusts = NullInt; if (mainFmt.PrintData.DoRevDate != null && mainFmt.PrintData.DoRevDate == subFmt.PrintData.DoRevDate) subFmt.PrintData.DoRevDate = "null"; if (mainFmt.PrintData.AlternateFoldoutPages != null && mainFmt.PrintData.AlternateFoldoutPages == subFmt.PrintData.AlternateFoldoutPages) subFmt.PrintData.AlternateFoldoutPages = "null"; if (mainFmt.PrintData.AlternateFloatingFoldout != null && mainFmt.PrintData.AlternateFloatingFoldout == subFmt.PrintData.AlternateFloatingFoldout) subFmt.PrintData.AlternateFloatingFoldout = "null"; @@ -4735,12 +4757,12 @@ namespace fmtxml { Box mbox = mainFmt.BoxData[i]; Box sbox = subFmt.BoxData[i]; - if (mbox.Start == sbox.Start) sbox.Start = 0; - if (mbox.End == sbox.End) sbox.End = 0; - if (mbox.TxtStart == sbox.TxtStart) sbox.TxtStart = 0; - if (mbox.TxtWidth == sbox.TxtWidth) sbox.TxtWidth = 0; - if (mbox.Height == sbox.Height) sbox.Height = 0; - if (mbox.TabPos == sbox.TabPos) sbox.TabPos = 0; + if (mbox.Start == sbox.Start) sbox.Start = NullInt; + if (mbox.End == sbox.End) sbox.End = NullInt; + if (mbox.TxtStart == sbox.TxtStart) sbox.TxtStart = NullInt; + if (mbox.TxtWidth == sbox.TxtWidth) sbox.TxtWidth = NullInt; + if (mbox.Height == sbox.Height) sbox.Height = NullInt; + if (mbox.TabPos == sbox.TabPos) sbox.TabPos = NullInt; subFmt.BoxData[i].Font = FixInheritedFont(sbox.Font, mbox.Font); // Phase 3 } @@ -4748,46 +4770,46 @@ namespace fmtxml StepSectionLayout ssctlay = subFmt.SectData.StepSectionData.StpSectLayData; if (msctlay.TableCenterPos == ssctlay.TableCenterPos) subFmt.SectData.StepSectionData.StpSectLayData.TableCenterPos = null; subFmt.SectData.StepSectionData.StpSectLayData.TopOfPage.Font = FixInheritedFont(ssctlay.TopOfPage.Font, msctlay.TopOfPage.Font);// Phase 4 - if (msctlay.TopOfPage.Row == ssctlay.TopOfPage.Row) subFmt.SectData.StepSectionData.StpSectLayData.TopOfPage.Row = 0; - if (msctlay.TopOfPage.Col == ssctlay.TopOfPage.Col) subFmt.SectData.StepSectionData.StpSectLayData.TopOfPage.Col = 0; + if (msctlay.TopOfPage.Row == ssctlay.TopOfPage.Row) subFmt.SectData.StepSectionData.StpSectLayData.TopOfPage.Row = NullInt; + if (msctlay.TopOfPage.Col == ssctlay.TopOfPage.Col) subFmt.SectData.StepSectionData.StpSectLayData.TopOfPage.Col = NullInt; StepSectionPrint msctpr = mainFmt.SectData.StepSectionData.StpSectPrtData; StepSectionPrint ssctpr = subFmt.SectData.StepSectionData.StpSectPrtData; subFmt.SectData.StepSectionData.StpSectPrtData.ModifiedTextStyle = FixInheritedFont(msctpr.ModifiedTextStyle, msctpr.ModifiedTextStyle); // Phase 11 subFmt.SectData.StepSectionData.StpSectLayData.Separator.Font = FixInheritedFont(ssctlay.Separator.Font, msctlay.Separator.Font); // Phase 5 - if (msctlay.Separator.SeparatorLocation == ssctlay.Separator.SeparatorLocation) subFmt.SectData.StepSectionData.StpSectLayData.Separator.SeparatorLocation = 0; - if (msctlay.LastLineToStartStep == ssctlay.LastLineToStartStep) subFmt.SectData.StepSectionData.StpSectLayData.LastLineToStartStep = 0; + if (msctlay.Separator.SeparatorLocation == ssctlay.Separator.SeparatorLocation) subFmt.SectData.StepSectionData.StpSectLayData.Separator.SeparatorLocation = NullInt; + if (msctlay.LastLineToStartStep == ssctlay.LastLineToStartStep) subFmt.SectData.StepSectionData.StpSectLayData.LastLineToStartStep = NullInt; //for (int i=0; i<10; i++) // if (mainFmt.SectData.StepSectionData.TextTypeValue[i] == subFmt.SectData.StepSectionData.TextTypeValue[i]) mainFmt.SectData.StepSectionData.TextTypeValue[i] = 0; - if (msctlay.LineDrawingOption == ssctlay.LineDrawingOption) subFmt.SectData.StepSectionData.StpSectLayData.LineDrawingOption = 0; - if (msctlay.ColS == ssctlay.ColS) subFmt.SectData.StepSectionData.StpSectLayData.ColS = 0; + if (msctlay.LineDrawingOption == ssctlay.LineDrawingOption) subFmt.SectData.StepSectionData.StpSectLayData.LineDrawingOption = NullInt; + if (msctlay.ColS == ssctlay.ColS) subFmt.SectData.StepSectionData.StpSectLayData.ColS = NullInt; StepSectionEdit mscted = mainFmt.SectData.StepSectionData.StpSectEditData; StepSectionEdit sscted = subFmt.SectData.StepSectionData.StpSectEditData; - if (mscted.ColSScreenAdj == sscted.ColSScreenAdj) subFmt.SectData.StepSectionData.StpSectEditData.ColSScreenAdj = 0; - if (mscted.ScrnAdjRNOText == sscted.ScrnAdjRNOText) subFmt.SectData.StepSectionData.StpSectEditData.ScrnAdjRNOText = 0; + if (mscted.ColSScreenAdj == sscted.ColSScreenAdj) subFmt.SectData.StepSectionData.StpSectEditData.ColSScreenAdj = NullInt; + if (mscted.ScrnAdjRNOText == sscted.ScrnAdjRNOText) subFmt.SectData.StepSectionData.StpSectEditData.ScrnAdjRNOText = NullInt; - if (msctlay.ColT == ssctlay.ColT) subFmt.SectData.StepSectionData.StpSectLayData.ColT = 0; - if (msctlay.ColAbs == ssctlay.ColAbs) subFmt.SectData.StepSectionData.StpSectLayData.ColAbs = 0; - if (msctlay.WidT == ssctlay.WidT) subFmt.SectData.StepSectionData.StpSectLayData.WidT = 0; - if (msctlay.PMode == ssctlay.PMode) subFmt.SectData.StepSectionData.StpSectLayData.PMode = 0; - if (msctlay.MaxRNO == ssctlay.MaxRNO) subFmt.SectData.StepSectionData.StpSectLayData.MaxRNO = 0; + if (msctlay.ColT == ssctlay.ColT) subFmt.SectData.StepSectionData.StpSectLayData.ColT = NullInt; + if (msctlay.ColAbs == ssctlay.ColAbs) subFmt.SectData.StepSectionData.StpSectLayData.ColAbs = NullInt; + if (msctlay.WidT == ssctlay.WidT) subFmt.SectData.StepSectionData.StpSectLayData.WidT = NullInt; + if (msctlay.PMode == ssctlay.PMode) subFmt.SectData.StepSectionData.StpSectLayData.PMode = NullInt; + if (msctlay.MaxRNO == ssctlay.MaxRNO) subFmt.SectData.StepSectionData.StpSectLayData.MaxRNO = NullInt; if (msctlay.MaxRNOTable == ssctlay.MaxRNOTable) subFmt.SectData.StepSectionData.StpSectLayData.MaxRNOTable = null; if (msctlay.ColRTable == ssctlay.ColRTable) subFmt.SectData.StepSectionData.StpSectLayData.ColRTable = null; if (msctlay.WidSTablePrint == ssctlay.WidSTablePrint) subFmt.SectData.StepSectionData.StpSectLayData.WidSTablePrint = null; if (mscted.ColRScreen == sscted.ColRScreen) subFmt.SectData.StepSectionData.StpSectEditData.ColRScreen = null; - if (msctlay.AdjRNOCol == ssctlay.AdjRNOCol) subFmt.SectData.StepSectionData.StpSectLayData.AdjRNOCol = 0; + if (msctlay.AdjRNOCol == ssctlay.AdjRNOCol) subFmt.SectData.StepSectionData.StpSectLayData.AdjRNOCol = NullInt; // change bar ChangeBar mcb = mainFmt.ProcData.ChangeBarData; ChangeBar scb = subFmt.ProcData.ChangeBarData; if (mcb.ChangeBarMessage == scb.ChangeBarMessage) subFmt.ProcData.ChangeBarData.ChangeBarMessage = null; - if (mcb.FixedChangeColumn == scb.FixedChangeColumn) subFmt.ProcData.ChangeBarData.FixedChangeColumn = 0; - if (mcb.FixedAERChangeColumn == scb.FixedAERChangeColumn) subFmt.ProcData.ChangeBarData.FixedAERChangeColumn = 0; - if (mcb.ChangeSummaryStyle == scb.ChangeSummaryStyle) subFmt.ProcData.ChangeBarData.ChangeSummaryStyle = 0; - if (mcb.ChangeBarStyle == scb.ChangeBarStyle) subFmt.ProcData.ChangeBarData.ChangeBarStyle = 0; + if (mcb.FixedChangeColumn == scb.FixedChangeColumn) subFmt.ProcData.ChangeBarData.FixedChangeColumn = NullInt; + if (mcb.FixedAERChangeColumn == scb.FixedAERChangeColumn) subFmt.ProcData.ChangeBarData.FixedAERChangeColumn = NullInt; + if (mcb.ChangeSummaryStyle == scb.ChangeSummaryStyle) subFmt.ProcData.ChangeBarData.ChangeSummaryStyle = NullInt; + if (mcb.ChangeBarStyle == scb.ChangeBarStyle) subFmt.ProcData.ChangeBarData.ChangeBarStyle = NullInt; if (mcb.CondensedChangeBar != null && mcb.CondensedChangeBar == scb.CondensedChangeBar) subFmt.ProcData.ChangeBarData.CondensedChangeBar = "null"; if (mcb.AbsoluteFixedChangeColumn != null && mcb.AbsoluteFixedChangeColumn == scb.AbsoluteFixedChangeColumn) subFmt.ProcData.ChangeBarData.AbsoluteFixedChangeColumn = "null"; if (mcb.ContinuousChangeBars != null && mcb.ContinuousChangeBars == scb.ContinuousChangeBars) subFmt.ProcData.ChangeBarData.ContinuousChangeBars = "null"; @@ -4796,8 +4818,8 @@ namespace fmtxml if (mcb.ChangeBarToRNOSep != null && mcb.ChangeBarToRNOSep == scb.ChangeBarToRNOSep) subFmt.ProcData.ChangeBarData.ChangeBarToRNOSep = "null"; if (mcb.ChangeBarsOnLinkedText != null && mcb.ChangeBarsOnLinkedText == scb.ChangeBarsOnLinkedText) subFmt.ProcData.ChangeBarData.ChangeBarsOnLinkedText = "null"; - if (mainFmt.ProcData.TitleLength == subFmt.ProcData.TitleLength) subFmt.ProcData.TitleLength = 0; - if (mainFmt.ProcData.CoverTitleLength == subFmt.ProcData.CoverTitleLength) subFmt.ProcData.CoverTitleLength = 0; + if (mainFmt.ProcData.TitleLength == subFmt.ProcData.TitleLength) subFmt.ProcData.TitleLength = NullInt; + if (mainFmt.ProcData.CoverTitleLength == subFmt.ProcData.CoverTitleLength) subFmt.ProcData.CoverTitleLength = NullInt; if (mainFmt.ProcData.ProcForeColor == subFmt.ProcData.ProcForeColor) subFmt.ProcData.ProcForeColor = null; if (mainFmt.ProcData.ProcBackColor == subFmt.ProcData.ProcBackColor) subFmt.ProcData.ProcBackColor = null; if (mainFmt.ProcData.CapitalizeTitle != null && mainFmt.ProcData.CapitalizeTitle == subFmt.ProcData.CapitalizeTitle) subFmt.ProcData.CapitalizeTitle = "null"; @@ -4816,9 +4838,9 @@ namespace fmtxml if (mco.Menu == sco.Menu) subFmt.ProcData.CheckOffData.Menu = "null"; if (mco.AllowSectEdit == sco.AllowSectEdit) subFmt.ProcData.CheckOffData.AllowSectEdit = "null"; if (mco.AllowStepEdit == sco.AllowStepEdit) subFmt.ProcData.CheckOffData.AllowStepEdit = "null"; - if (mco.UseCheckOffsIn == sco.UseCheckOffsIn) subFmt.ProcData.CheckOffData.UseCheckOffsIn = 0; - if (mco.XLocation == sco.XLocation) subFmt.ProcData.CheckOffData.XLocation = 0; - if (mco.CheckOffAdjustment == sco.CheckOffAdjustment) subFmt.ProcData.CheckOffData.CheckOffAdjustment = 0; + if (mco.UseCheckOffsIn == sco.UseCheckOffsIn) subFmt.ProcData.CheckOffData.UseCheckOffsIn = NullInt; + if (mco.XLocation == sco.XLocation) subFmt.ProcData.CheckOffData.XLocation = NullInt; + if (mco.CheckOffAdjustment == sco.CheckOffAdjustment) subFmt.ProcData.CheckOffData.CheckOffAdjustment = NullInt; if (mco.DropCheckOff != null && mco.DropCheckOff == sco.DropCheckOff) subFmt.ProcData.CheckOffData.DropCheckOff = "null"; if (mco.CheckOffOnHLSOnly != null && mco.CheckOffOnHLSOnly == sco.CheckOffOnHLSOnly) subFmt.ProcData.CheckOffData.CheckOffOnHLSOnly = "null"; if (mco.SkipSpaces != null && mco.SkipSpaces == sco.SkipSpaces) subFmt.ProcData.CheckOffData.SkipSpaces = "null"; @@ -4832,28 +4854,17 @@ namespace fmtxml for (int i = 0; i < sLayoutCount; i++) { if (mco.LayoutList[i].RnoLevel == sco.LayoutList[i].RnoLevel) subFmt.ProcData.CheckOffData.LayoutList[i].RnoLevel = "null"; - if (mco.LayoutList[i].Column == sco.LayoutList[i].Column) subFmt.ProcData.CheckOffData.LayoutList[i].Column = 0; + if (mco.LayoutList[i].Column == sco.LayoutList[i].Column) subFmt.ProcData.CheckOffData.LayoutList[i].Column = NullInt; } } } - if (msctlay.EndMessagePos == ssctlay.EndMessagePos) subFmt.SectData.StepSectionData.StpSectLayData.EndMessagePos = 0; + if (msctlay.EndMessagePos == ssctlay.EndMessagePos) subFmt.SectData.StepSectionData.StpSectLayData.EndMessagePos = NullInt; StepSection msctstp = mainFmt.SectData.StepSectionData; StepSection ssctstp = subFmt.SectData.StepSectionData; - - //for (int i = 0; i < MAXSEQ; i++) - // if (msctstp.SeqStart[i] == ssctstp.SeqStart[i]) subFmt.SectData.StepSectionData.SeqStart[i] = 0; - //for (int i = 0; i < MAXSEQ; i++) - //{ - //if (msctstp.SequentialTabFormat[i].LeftJustify == ssctstp.SequentialTabFormat[i].LeftJustify) subFmt.SectData.StepSectionData.SequentialTabFormat[i].LeftJustify = 0; - //if (msctstp.SequentialTabFormat[i].TabFormat == ssctstp.SequentialTabFormat[i].TabFormat) subFmt.SectData.StepSectionData.SequentialTabFormat[i].TabFormat = null; - //} - - //if (msctstp.HighSeqStart == ssctstp.HighSeqStart) subFmt.SectData.StepSectionData.HighSeqStart = 0; - if (msctstp.IndentToken == ssctstp.IndentToken) subFmt.SectData.StepSectionData.IndentToken = 0; - - if (msctpr.ImmStepHdrCol == ssctpr.ImmStepHdrCol) subFmt.SectData.StepSectionData.StpSectPrtData.ImmStepHdrCol = 0; + if (msctstp.IndentToken == ssctstp.IndentToken) subFmt.SectData.StepSectionData.IndentToken = NullByte; + if (msctpr.ImmStepHdrCol == ssctpr.ImmStepHdrCol) subFmt.SectData.StepSectionData.StpSectPrtData.ImmStepHdrCol = NullInt; subFmt.SectData.StepSectionData.StpSectPrtData.ImmStepHdrStyle = FixInheritedFont(ssctpr.ImmStepHdrStyle, msctpr.ImmStepHdrStyle); if (msctstp.WolfCreekBackgroundFormat != null && msctstp.WolfCreekBackgroundFormat == ssctstp.WolfCreekBackgroundFormat) subFmt.SectData.StepSectionData.WolfCreekBackgroundFormat = "null"; if (msctstp.WolfcreekCKLFormat != null && msctstp.WolfcreekCKLFormat == ssctstp.WolfcreekCKLFormat) subFmt.SectData.StepSectionData.WolfcreekCKLFormat = "null"; @@ -4875,27 +4886,23 @@ namespace fmtxml if (msctstp.UseMultiLineSectionTitle != null && msctstp.UseMultiLineSectionTitle == ssctstp.UseMultiLineSectionTitle) subFmt.SectData.StepSectionData.UseMultiLineSectionTitle = "null"; if (msctlay.RNOWidthAlt == ssctlay.RNOWidthAlt) subFmt.SectData.StepSectionData.StpSectLayData.RNOWidthAlt = null; - if (msctlay.HLSWidthOVRD == ssctlay.HLSWidthOVRD) subFmt.SectData.StepSectionData.StpSectLayData.HLSWidthOVRD = 0; - if (msctpr.SecColHdrforActPMode == ssctpr.SecColHdrforActPMode) subFmt.SectData.StepSectionData.StpSectPrtData.SecColHdrforActPMode = 0; + if (msctlay.HLSWidthOVRD == ssctlay.HLSWidthOVRD) subFmt.SectData.StepSectionData.StpSectLayData.HLSWidthOVRD = NullInt; + if (msctpr.SecColHdrforActPMode == ssctpr.SecColHdrforActPMode) subFmt.SectData.StepSectionData.StpSectPrtData.SecColHdrforActPMode = NullInt; SectionNum msctn = mainFmt.SectData.SectionNumber; SectionNum ssctn = subFmt.SectData.SectionNumber; SectionHead mscth = mainFmt.SectData.SectionHeader; SectionHead sscth = subFmt.SectData.SectionHeader; subFmt.SectData.SectionNumber.Font = FixInheritedFont(ssctn.Font, msctn.Font); // Phase 7 - if (msctn.Pos == ssctn.Pos) subFmt.SectData.SectionNumber.Pos = 0; + if (msctn.Pos == ssctn.Pos) subFmt.SectData.SectionNumber.Pos = NullInt; if (msctn.Just == ssctn.Just) subFmt.SectData.SectionNumber.Just = null; subFmt.SectData.SectionHeader.Font = FixInheritedFont(sscth.Font, mscth.Font); // Phase 8 - if (mscth.Pos == sscth.Pos) subFmt.SectData.SectionHeader.Pos = 0; + if (mscth.Pos == sscth.Pos) subFmt.SectData.SectionHeader.Pos = NullInt; if (mscth.Just == sscth.Just) subFmt.SectData.SectionHeader.Just = null; - if (mainFmt.SectData.SectionTitleLength == subFmt.SectData.SectionTitleLength) subFmt.SectData.SectionTitleLength = 0; + if (mainFmt.SectData.SectionTitleLength == subFmt.SectData.SectionTitleLength) subFmt.SectData.SectionTitleLength = NullInt; if (mainFmt.SectData.SectForeColor == subFmt.SectData.SectForeColor) subFmt.SectData.SectForeColor = null; if (mainFmt.SectData.SectBackColor == subFmt.SectData.SectBackColor) subFmt.SectData.SectBackColor = null; - //if (mainFmt.SectData.CancelSecTitlesOnS1 != null && mainFmt.SectData.CancelSecTitlesOnS1 == subFmt.SectData.CancelSecTitlesOnS1) subFmt.SectData.CancelSecTitlesOnS1 = "null"; - //if (mainFmt.SectData.CancelSecTitlesOnS2 != null && mainFmt.SectData.CancelSecTitlesOnS2 == subFmt.SectData.CancelSecTitlesOnS2) subFmt.SectData.CancelSecTitlesOnS2 = "null"; - //if (mainFmt.SectData.CancelSecTitlesOnE0 != null && mainFmt.SectData.CancelSecTitlesOnE0 == subFmt.SectData.CancelSecTitlesOnE0) subFmt.SectData.CancelSecTitlesOnE0 = "null"; - //if (mainFmt.SectData.CancelSecTitlesOnE2 != null && mainFmt.SectData.CancelSecTitlesOnE2 == subFmt.SectData.CancelSecTitlesOnE2) subFmt.SectData.CancelSecTitlesOnE2 = "null"; if (mainFmt.SectData.MetaSectEndMessage != null && mainFmt.SectData.MetaSectEndMessage == subFmt.SectData.MetaSectEndMessage) subFmt.SectData.MetaSectEndMessage = "null"; if (mainFmt.SectData.ReadOnlyTypeInContMsg != null && mainFmt.SectData.ReadOnlyTypeInContMsg == subFmt.SectData.ReadOnlyTypeInContMsg) subFmt.SectData.ReadOnlyTypeInContMsg = "null"; if (mainFmt.SectData.ReplaceWordsInROs != null && mainFmt.SectData.ReplaceWordsInROs == subFmt.SectData.ReplaceWordsInROs) subFmt.SectData.ReplaceWordsInROs = "null"; @@ -4905,39 +4912,38 @@ namespace fmtxml if (mainFmt.SectData.SecTitleContinue != null && mainFmt.SectData.SecTitleContinue == subFmt.SectData.SecTitleContinue) subFmt.SectData.SecTitleContinue = "null"; if (mainFmt.SectData.ConvertCaretToDelta != null && mainFmt.SectData.ConvertCaretToDelta == subFmt.SectData.ConvertCaretToDelta) subFmt.SectData.ConvertCaretToDelta = "null"; - if (msctlay.SubPaginationWght == ssctlay.SubPaginationWght) subFmt.SectData.StepSectionData.StpSectLayData.SubPaginationWght = 0; - if (msctlay.TextTitleAdjustment == ssctlay.TextTitleAdjustment) subFmt.SectData.StepSectionData.StpSectLayData.TextTitleAdjustment = 0; + if (msctlay.SubPaginationWght == ssctlay.SubPaginationWght) subFmt.SectData.StepSectionData.StpSectLayData.SubPaginationWght = NullInt; + if (msctlay.TextTitleAdjustment == ssctlay.TextTitleAdjustment) subFmt.SectData.StepSectionData.StpSectLayData.TextTitleAdjustment = NullInt; AccSection maccsec = mainFmt.SectData.AccSectionData; AccSection saccsec = subFmt.SectData.AccSectionData; - if (maccsec.TableOfContentsData.TofCSecNumPos == saccsec.TableOfContentsData.TofCSecNumPos) subFmt.SectData.AccSectionData.TableOfContentsData.TofCSecNumPos = 0; - if (maccsec.TableOfContentsData.TofCSecTitlePos == saccsec.TableOfContentsData.TofCSecTitlePos) subFmt.SectData.AccSectionData.TableOfContentsData.TofCSecTitlePos = 0; - if (maccsec.TableOfContentsData.TofCSecTitleLen == saccsec.TableOfContentsData.TofCSecTitleLen) subFmt.SectData.AccSectionData.TableOfContentsData.TofCSecTitleLen = 0; - if (maccsec.TableOfContentsData.TofCPageNumPos == saccsec.TableOfContentsData.TofCPageNumPos) subFmt.SectData.AccSectionData.TableOfContentsData.TofCPageNumPos = 0; - if (maccsec.TableOfContentsData.TofCSpaceChar == saccsec.TableOfContentsData.TofCSpaceChar) subFmt.SectData.AccSectionData.TableOfContentsData.TofCSpaceChar = 0; - if (maccsec.TableOfContentsData.TofCLineSpacing == saccsec.TableOfContentsData.TofCLineSpacing) subFmt.SectData.AccSectionData.TableOfContentsData.TofCLineSpacing = 0; + if (maccsec.TableOfContentsData.TofCSecNumPos == saccsec.TableOfContentsData.TofCSecNumPos) subFmt.SectData.AccSectionData.TableOfContentsData.TofCSecNumPos = NullInt; + if (maccsec.TableOfContentsData.TofCSecTitlePos == saccsec.TableOfContentsData.TofCSecTitlePos) subFmt.SectData.AccSectionData.TableOfContentsData.TofCSecTitlePos = NullInt; + if (maccsec.TableOfContentsData.TofCSecTitleLen == saccsec.TableOfContentsData.TofCSecTitleLen) subFmt.SectData.AccSectionData.TableOfContentsData.TofCSecTitleLen = NullByte; + if (maccsec.TableOfContentsData.TofCPageNumPos == saccsec.TableOfContentsData.TofCPageNumPos) subFmt.SectData.AccSectionData.TableOfContentsData.TofCPageNumPos = NullInt; + if (maccsec.TableOfContentsData.TofCSpaceChar == saccsec.TableOfContentsData.TofCSpaceChar) subFmt.SectData.AccSectionData.TableOfContentsData.TofCSpaceChar = NullByte; + if (maccsec.TableOfContentsData.TofCLineSpacing == saccsec.TableOfContentsData.TofCLineSpacing) subFmt.SectData.AccSectionData.TableOfContentsData.TofCLineSpacing = NullByte; subFmt.SectData.AccSectionData.TableOfContentsData.Font = FixInheritedFont(saccsec.TableOfContentsData.Font, maccsec.TableOfContentsData.Font); // Phase 9 subFmt.SectData.StepSectionData.StpSectLayData.VertStyle = FixInheritedFont(ssctlay.VertStyle, msctlay.VertStyle);// Phase 13 - //if (msctstp.LeftJustSeqTab == ssctstp.LeftJustSeqTab) subFmt.SectData.StepSectionData.LeftJustSeqTab = null; for (int i = 0; i < 10; i++) { - if (mainFmt.SectData.MetaSectionData[i].SecNumPositionAdj == subFmt.SectData.MetaSectionData[i].SecNumPositionAdj) subFmt.SectData.MetaSectionData[i].SecNumPositionAdj = 0; - if (mainFmt.SectData.MetaSectionData[i].SecTitlePositionAdj == subFmt.SectData.MetaSectionData[i].SecTitlePositionAdj) subFmt.SectData.MetaSectionData[i].SecTitlePositionAdj = 0; - if (mainFmt.SectData.MetaSectionData[i].ColSByLevel == subFmt.SectData.MetaSectionData[i].ColSByLevel) subFmt.SectData.MetaSectionData[i].ColSByLevel = 0; - if (mainFmt.SectData.MetaSectionData[i].TofCPositionAdj == subFmt.SectData.MetaSectionData[i].TofCPositionAdj) subFmt.SectData.MetaSectionData[i].TofCPositionAdj = 0; - if (mainFmt.SectData.MetaSectionData[i].WidSAdjByLevel == subFmt.SectData.MetaSectionData[i].WidSAdjByLevel) subFmt.SectData.MetaSectionData[i].WidSAdjByLevel = 0; + if (mainFmt.SectData.MetaSectionData[i].SecNumPositionAdj == subFmt.SectData.MetaSectionData[i].SecNumPositionAdj) subFmt.SectData.MetaSectionData[i].SecNumPositionAdj = NullInt; + if (mainFmt.SectData.MetaSectionData[i].SecTitlePositionAdj == subFmt.SectData.MetaSectionData[i].SecTitlePositionAdj) subFmt.SectData.MetaSectionData[i].SecTitlePositionAdj = NullInt; + if (mainFmt.SectData.MetaSectionData[i].ColSByLevel == subFmt.SectData.MetaSectionData[i].ColSByLevel) subFmt.SectData.MetaSectionData[i].ColSByLevel = NullInt; + if (mainFmt.SectData.MetaSectionData[i].TofCPositionAdj == subFmt.SectData.MetaSectionData[i].TofCPositionAdj) subFmt.SectData.MetaSectionData[i].TofCPositionAdj = NullInt; + if (mainFmt.SectData.MetaSectionData[i].WidSAdjByLevel == subFmt.SectData.MetaSectionData[i].WidSAdjByLevel) subFmt.SectData.MetaSectionData[i].WidSAdjByLevel = NullInt; } - if (msctstp.NumberOfHighLevelSteps == ssctstp.NumberOfHighLevelSteps) subFmt.SectData.StepSectionData.NumberOfHighLevelSteps = 0; + if (msctstp.NumberOfHighLevelSteps == ssctstp.NumberOfHighLevelSteps) subFmt.SectData.StepSectionData.NumberOfHighLevelSteps = NullInt; for (int i = 0; i < MAXBOXES + 1; i++) { - if (mainFmt.BoxData[i].TxtRowAdj == subFmt.BoxData[i].TxtRowAdj) subFmt.BoxData[i].TxtRowAdj = 0; + if (mainFmt.BoxData[i].TxtRowAdj == subFmt.BoxData[i].TxtRowAdj) subFmt.BoxData[i].TxtRowAdj = (sbyte)NullByte; if (mainFmt.BoxData[i].BXURC == subFmt.BoxData[i].BXURC) subFmt.BoxData[i].BXURC = null; if (mainFmt.BoxData[i].BXHorz == subFmt.BoxData[i].BXHorz) subFmt.BoxData[i].BXHorz = null; - if (mainFmt.BoxData[i].BXULC == subFmt.BoxData[i].BXULC) subFmt.BoxData[i].BXULC = null; + if (mainFmt.BoxData[i].BXULC == subFmt.BoxData[i].BXULC) subFmt.BoxData[i].BXULC = NullString; if (mainFmt.BoxData[i].BXVert == subFmt.BoxData[i].BXVert) subFmt.BoxData[i].BXVert = null; if (mainFmt.BoxData[i].BXMLS == subFmt.BoxData[i].BXMLS) subFmt.BoxData[i].BXMLS = null; if (mainFmt.BoxData[i].BXMRS == subFmt.BoxData[i].BXMRS) subFmt.BoxData[i].BXMRS = null; @@ -4950,9 +4956,9 @@ namespace fmtxml } - if (msctstp.NumberOfSubStepTypes == ssctstp.NumberOfSubStepTypes) subFmt.SectData.StepSectionData.NumberOfSubStepTypes = 0; + if (msctstp.NumberOfSubStepTypes == ssctstp.NumberOfSubStepTypes) subFmt.SectData.StepSectionData.NumberOfSubStepTypes = NullInt; - if (mainFmt.SectData.AccSectionData.AutoContActSumSection == subFmt.SectData.AccSectionData.AutoContActSumSection) subFmt.SectData.AccSectionData.AutoContActSumSection = 0; + if (mainFmt.SectData.AccSectionData.AutoContActSumSection == subFmt.SectData.AccSectionData.AutoContActSumSection) subFmt.SectData.AccSectionData.AutoContActSumSection = NullInt; if (msctstp.IdentB == ssctstp.IdentB) subFmt.SectData.StepSectionData.IdentB = null; @@ -5041,12 +5047,12 @@ namespace fmtxml for (int i = 0; i < MAXCHECKOFFS; i++) { - if (mco.CheckOffList[i].UIMark == sco.CheckOffList[i].UIMark) subFmt.ProcData.CheckOffData.CheckOffList[i].UIMark = 0; + if (mco.CheckOffList[i].UIMark == sco.CheckOffList[i].UIMark) subFmt.ProcData.CheckOffData.CheckOffList[i].UIMark = NullByte; if (mco.CheckOffList[i].MenuItem == sco.CheckOffList[i].MenuItem) subFmt.ProcData.CheckOffData.CheckOffList[i].MenuItem = null; if (mco.CheckOffList[i].ExcludeInSectMenu == sco.CheckOffList[i].ExcludeInSectMenu) subFmt.ProcData.CheckOffData.CheckOffList[i].ExcludeInSectMenu = null; if (mco.CheckOffList[i].Macro == sco.CheckOffList[i].Macro) subFmt.ProcData.CheckOffData.CheckOffList[i].Macro = null; - if (mco.CheckOffList[i].CheckOffXtraLines == sco.CheckOffList[i].CheckOffXtraLines) subFmt.ProcData.CheckOffData.CheckOffList[i].CheckOffXtraLines = 0; - if (mco.CheckOffList[i].CheckOffWidAdjust == sco.CheckOffList[i].CheckOffWidAdjust) subFmt.ProcData.CheckOffData.CheckOffList[i].CheckOffWidAdjust = 0; + if (mco.CheckOffList[i].CheckOffXtraLines == sco.CheckOffList[i].CheckOffXtraLines) subFmt.ProcData.CheckOffData.CheckOffList[i].CheckOffXtraLines = NullInt; + if (mco.CheckOffList[i].CheckOffWidAdjust == sco.CheckOffList[i].CheckOffWidAdjust) subFmt.ProcData.CheckOffData.CheckOffList[i].CheckOffWidAdjust = NullInt; } for (int i = 0; i < MAXCHKHEADINGS; i++) @@ -5057,7 +5063,10 @@ namespace fmtxml if (msctpr.LowerCaseRevNum != null && msctpr.LowerCaseRevNum == ssctpr.LowerCaseRevNum) subFmt.SectData.StepSectionData.StpSectPrtData.LowerCaseRevNum = "null"; if (msctpr.UseXtraRevNumber != null && msctpr.UseXtraRevNumber == ssctpr.UseXtraRevNumber) subFmt.SectData.StepSectionData.StpSectPrtData.UseXtraRevNumber = "null"; if (msctpr.SpecialLandscapeMode != null && msctpr.SpecialLandscapeMode == ssctpr.SpecialLandscapeMode) subFmt.SectData.StepSectionData.StpSectPrtData.SpecialLandscapeMode = "null"; - + for (int i = 0; i < MAXSEQ; i++) + { + if (msctpr.LeftJustifyList[i].Size == ssctpr.LeftJustifyList[i].Size) subFmt.SectData.StepSectionData.StpSectPrtData.LeftJustifyList[i].Size = NullInt; + } if (msctlay.LowerLimitDivisor == ssctlay.LowerLimitDivisor) subFmt.SectData.StepSectionData.StpSectLayData.LowerLimitDivisor = null; for (int i = 0; i < MAXTRANS; i++) @@ -5133,12 +5142,11 @@ namespace fmtxml #endregion #region DoStepInherit delegate string StepPartStr(Step stp); - - //private string StepPartColOverride(Step stp) { return stp.StepTypeColOverride; } - //private string StepPartColOverrideEdit(Step stp) { return stp.StepTypeColOverrideEdit; } - //private string StepPartWidthOverride(Step stp) { return stp.StepTypeWidthOverride; } - //private string StepPartWidthOverrideEdit(Step stp) { return stp.StepTypeWidthOverrideEdit; } private string StepPartInactive(Step stp) { return stp.Inactive; } + private string StepPartColOverride(Step stp) { return stp.ColOverride; } + private string StepPartColOverrideEdit(Step stp) { return stp.ColOverrideEdit; } + private string StepPartWidthOverride(Step stp) { return stp.WidthOverride; } + private string StepPartWidthOverrideEdit(Step stp) { return stp.WidthOverrideEdit; } private string StepPartSep(Step stp) { return stp.Sep; } private string StepPartPrefix(Step stp) { return stp.Prefix; } private string StepPartSuffix(Step stp) { return stp.Suffix; } @@ -5185,8 +5193,6 @@ namespace fmtxml private string StepPartLayoutAlwaysUpperCase(Step stp) { return stp.StepLayoutData.AlwaysUpperCase; } private string StepPartLayoutPageBreakAtTypeChange(Step stp) { return stp.StepLayoutData.PageBreakAtTypeChange; } private string StepPartLayoutAlignWithParentTab(Step stp) { return stp.StepLayoutData.AlignWithParentTab; } - //private string StepPartLayoutRtCheckOffGroups(Step stp) { return stp.StepLayoutData.RtCheckOffGroups; } - //private string StepPartLayoutStepTypeWidthOverride(Step stp) { return stp.StepLayoutData.StepTypeWidthOverride; } private string StepPartEditForeColor(Step stp) { return stp.StepEditData.ForeColor; } private string StepPartEditBackColor(Step stp) { return stp.StepEditData.BackColor; } @@ -5317,11 +5323,17 @@ namespace fmtxml private string StepPartEditTypeRnoMenuItem(Step stp) { return stp.StepEditData.TypeMenu.RnoMenuItem; } private string StepPartEditTypeNoChg_Reason(Step stp) { return stp.StepEditData.TypeMenu.NoChgReason; } private string StepPartEditTypeAlternateNameList(Step stp) { return stp.StepEditData.TypeMenu.AlternateNameList; } - private void DoStepInheritance(ref Step[] stpdata) + + private bool baseDone = false; // base is first 'GEN.Fmt', but there will be a 2nd, i.e. the genfmt.in + // pass in the format's file name so that we can check if we're working with the base format, i.e. 'gen.fmt'. + private void DoStepInheritance(ref Step[] stpdata, string fname) { Dictionary dicSteps = BuildStepDic(stpdata); Dictionary dicParents = BuildParentDic(stpdata, dicSteps); - for (int i = 0; i < MAXSTEPS; i++) + int startIndx = fname.ToUpper() == "GEN.FMT" && !baseDone? 1 : 0; + baseDone = true; + for (int i = startIndx; i < MAXSTEPS; i++) + //for (int i = 0; i < MAXSTEPS; i++) { FixInheritance(ref stpdata[i], dicParents); // Since 'Step' is a structure, the StepParentList (dictionary) needs to be updated each time @@ -5333,13 +5345,17 @@ namespace fmtxml } } } + public const string NullString = "-12345"; + public const int NullInt = -12345; + public const byte NullByte = 123; + private void FixInheritance(ref Step step, Dictionary dicParents) { if (CheckInheritedStr(new StepPartStr(StepPartInactive), step, dicParents)) step.Inactive = null; - //if (CheckInheritedStr(new StepPartStr(StepPartColOverride), step, dicParents)) step.StepTypeColOverride = null; - //if (CheckInheritedStr(new StepPartStr(StepPartColOverrideEdit), step, dicParents)) step.StepTypeColOverrideEdit = null; - //if (CheckInheritedStr(new StepPartStr(StepPartWidthOverride), step, dicParents)) step.StepTypeWidthOverride = null; - //if (CheckInheritedStr(new StepPartStr(StepPartWidthOverrideEdit), step, dicParents)) step.StepTypeWidthOverrideEdit = null; + if (CheckInheritedStr(new StepPartStr(StepPartColOverride), step, dicParents)) step.ColOverride = NullString; + if (CheckInheritedStr(new StepPartStr(StepPartColOverrideEdit), step, dicParents)) step.ColOverrideEdit = NullString; + if (CheckInheritedStr(new StepPartStr(StepPartWidthOverride), step, dicParents)) step.WidthOverride = NullString; + if (CheckInheritedStr(new StepPartStr(StepPartWidthOverrideEdit), step, dicParents)) step.WidthOverrideEdit = NullString; if (CheckInheritedStr(new StepPartStr(StepPartSep), step, dicParents)) step.Sep = null; if (CheckInheritedStr(new StepPartStr(StepPartPrefix), step, dicParents)) step.Prefix = null; if (CheckInheritedStr(new StepPartStr(StepPartSuffix), step, dicParents)) step.Suffix = null; @@ -5363,16 +5379,18 @@ namespace fmtxml // substructure - StepLayoutData if (CheckInheritedStr(new StepPartStr(StepPartLayoutForeColor), step, dicParents)) step.StepLayoutData.ForeColor = null; if (CheckInheritedStr(new StepPartStr(StepPartLayoutBackColor), step, dicParents)) step.StepLayoutData.BackColor = null; - if (CheckInheritedStr(new StepPartStr(StepPartLayoutSTExtraSpace), step, dicParents)) step.StepLayoutData.STExtraSpace = null; - if (CheckInheritedStr(new StepPartStr(StepPartLayoutSTBoxindex), step, dicParents)) step.StepLayoutData.STBoxindex = null; - if (CheckInheritedStr(new StepPartStr(StepPartLayoutEveryNLines), step, dicParents)) step.StepLayoutData.EveryNLines = null; - if (CheckInheritedStr(new StepPartStr(StepPartLayoutSpaceBefore), step, dicParents)) step.StepLayoutData.SpaceBefore = null; - if (CheckInheritedStr(new StepPartStr(StepPartLayoutSpaceAfter), step, dicParents)) step.StepLayoutData.SpaceAfter = null; + if (CheckInheritedStr(new StepPartStr(StepPartLayoutSTExtraSpace), step, dicParents)) + { + Console.WriteLine("{0}", fmtName); + step.StepLayoutData.STExtraSpace = NullString; + } + if (CheckInheritedStr(new StepPartStr(StepPartLayoutSTBoxindex), step, dicParents)) step.StepLayoutData.STBoxindex = NullString; + if (CheckInheritedStr(new StepPartStr(StepPartLayoutEveryNLines), step, dicParents)) step.StepLayoutData.EveryNLines = NullString; + if (CheckInheritedStr(new StepPartStr(StepPartLayoutSpaceBefore), step, dicParents)) step.StepLayoutData.SpaceBefore = NullString; + if (CheckInheritedStr(new StepPartStr(StepPartLayoutSpaceAfter), step, dicParents)) step.StepLayoutData.SpaceAfter = NullString; if (CheckInheritedStr(new StepPartStr(StepPartLayoutAlwaysUpperCase), step, dicParents)) step.StepLayoutData.AlwaysUpperCase = null; if (CheckInheritedStr(new StepPartStr(StepPartLayoutPageBreakAtTypeChange), step, dicParents)) step.StepLayoutData.PageBreakAtTypeChange = null; if (CheckInheritedStr(new StepPartStr(StepPartLayoutAlignWithParentTab), step, dicParents)) step.StepLayoutData.AlignWithParentTab = null; - //if (CheckInheritedStr(new StepPartStr(StepPartLayoutRtCheckOffGroups), step, dicParents)) step.StepLayoutData.RtCheckOffGroups = null; - //if (CheckInheritedStr(new StepPartStr(StepPartLayoutStepTypeWidthOverride), step, dicParents)) step.StepLayoutData.StepTypeWidthOverride = null; // substructure - StepEditData if (CheckInheritedStr(new StepPartStr(StepPartEditForeColor), step, dicParents)) step.StepEditData.ForeColor = null; if (CheckInheritedStr(new StepPartStr(StepPartEditBackColor), step, dicParents)) step.StepEditData.BackColor = null; @@ -5388,7 +5406,7 @@ namespace fmtxml // substructure - StepPrintData if (CheckInheritedStr(new StepPartStr(StepPartPrintForeColor), step, dicParents)) step.StepPrintData.ForeColor = null; if (CheckInheritedStr(new StepPartStr(StepPartPrintBackColor), step, dicParents)) step.StepPrintData.BackColor = null; - if (CheckInheritedStr(new StepPartStr(StepPartPrintPosAdjust), step, dicParents)) step.StepPrintData.PosAdjust = null; + if (CheckInheritedStr(new StepPartStr(StepPartPrintPosAdjust), step, dicParents)) step.StepPrintData.PosAdjust = NullString; // substructure - TabData //RHM/KBR added this - not sure: if (mstp.TabData.IdentEdit == sstp.TabData.IdentEdit) subFmt.StepData[i].TabData.IdentEdit = null; @@ -5396,10 +5414,10 @@ namespace fmtxml if (CheckInheritedStr(new StepPartStr(StepPartTabIdent), step, dicParents)) step.TabData.Ident = null; if (CheckInheritedStr(new StepPartStr(StepPartTabRNOIdentEdit), step, dicParents)) step.TabData.RNOIdentEdit = null; if (CheckInheritedStr(new StepPartStr(StepPartTabRNOIdent), step, dicParents)) step.TabData.RNOIdent = null; - if (CheckInheritedStr(new StepPartStr(StepPartTabIdentEditWid), step, dicParents)) step.TabData.IdentEditWid = null; - if (CheckInheritedStr(new StepPartStr(StepPartTabIdentWid), step, dicParents)) step.TabData.IdentWid = null; - if (CheckInheritedStr(new StepPartStr(StepPartTabRNOIdentEditWid), step, dicParents)) step.TabData.RNOIdentEditWid = null; - if (CheckInheritedStr(new StepPartStr(StepPartTabRNOIdentWid), step, dicParents)) step.TabData.RNOIdentWid = null; + if (CheckInheritedStr(new StepPartStr(StepPartTabIdentEditWid), step, dicParents)) step.TabData.IdentEditWid = NullString; + if (CheckInheritedStr(new StepPartStr(StepPartTabIdentWid), step, dicParents)) step.TabData.IdentWid = NullString; + if (CheckInheritedStr(new StepPartStr(StepPartTabRNOIdentEditWid), step, dicParents)) step.TabData.RNOIdentEditWid = NullString; + if (CheckInheritedStr(new StepPartStr(StepPartTabRNOIdentWid), step, dicParents)) step.TabData.RNOIdentWid = NullString; if (CheckInheritedStr(new StepPartStr(StepPartTabJustify), step, dicParents)) step.TabData.Justify = null; //if (CheckInheritedStr(new StepPartStr(StepPartTabCheckOff), step, dicParents)) step.TabData.CheckOff = null; @@ -5428,7 +5446,7 @@ namespace fmtxml CheckInheritedStr(new StepPartStr(StepPartTabMacroListNotInRNO), step, dicParents)) { step.TabData.MacroList[0].Macro = null; - step.TabData.MacroList[0].Grouping = null; + step.TabData.MacroList[0].Grouping = NullString; step.TabData.MacroList[0].NotInRNO = null; } } @@ -5495,7 +5513,6 @@ namespace fmtxml private bool CheckInheritedStr(StepPartStr stepPartStr, Step step, Dictionary dicParents) { - string inheritedValue = GetStepInherited(stepPartStr, step.Type, 0); string stepValue = stepPartStr(step); return inheritedValue == stepValue; @@ -5526,7 +5543,7 @@ namespace fmtxml { Step parent = StepParentList[level][typ]; string parentVal = stepPartStr(parent); - if (parentVal != null) return parentVal; + if (parentVal != null && parentVal != "-12345") return parentVal; typ = parent.Type; } // no more parent formats to look at: diff --git a/PROMS/fmtxml/TranslateFMT.XSL b/PROMS/fmtxml/TranslateFMT.XSL index 866a1e0b..618911dc 100644 Binary files a/PROMS/fmtxml/TranslateFMT.XSL and b/PROMS/fmtxml/TranslateFMT.XSL differ