This commit is contained in:
Kathy Ruffing 2008-11-19 13:50:55 +00:00
parent 4251798fa1
commit f4daddd0d4
2 changed files with 180 additions and 48 deletions

View File

@ -577,8 +577,8 @@ public struct StepSection
public byte IndentToken;
public byte NumberOfHighLevelSteps;
public byte NumberOfSubStepTypes;
public Int16 [] TextTypeValue;
public string[] TextType;
//public Int16[] TextTypeValue;
//public string[] TextType;
public string IdentB;
public string[] UnderlineTerminate;
public string [] ObserveNCString1;
@ -787,9 +787,9 @@ public struct Step
public int Index;
public string Type;
public string ParentType;
public string Inactive;
public string StepTypeColOverride;
public string Sep;
public string AlternateName;
public string Prefix;
public string Suffix;
public string UnderlineTheseChar;
@ -866,6 +866,8 @@ public struct Edit
public string ForeColor;
public string BackColor;
public string AcTable;
public string Searchable;
public TypeMenu TypeMenu;
}
[Flags]
// acceptence list for adding Tables, Cautions, Notes, Substeps, Next, Previous and RNO
@ -880,6 +882,22 @@ public enum E_AccStep : uint
AddingPrev = 64
}
[Serializable]
public struct TypeMenu
{
public string InMenu; // bool - list in menu if step is in Normal (Left-side) column
public string RnoInMenu; // bool - list in menu if step is in RNO (right-side) column
public string MenuItem; // for migration, if alternatename or rnoalternate name, use it, otherwise it's type
public string RnoMenuItem; // for migration, if alternatename or rnoalternate name, use it, otherwise it's type
public string NoChgReason; // if not in any menu, list reason for User Interface
public string AlternateNameList; // put indices of alternate types in a list (string)
//public AlternateName[] AlternateNames; // during migration from 16-bit, this is textype values
}
//[Serializable]
//public struct AlternateName
//{
// public string Type; // Step Types that can be included/mixed in the menu (caution/notes)
//}
[Serializable]
public struct Print
{
public string ForeColor;
@ -1273,17 +1291,18 @@ namespace fmtxml
#endregion
// use the following to define which step the AlternateStepType data is associated with.
// i.e. look in new.def to determine the #defines for the original step type associated
// with the name of the define.
// with the name of the define. Note that all have been incremented by 1 since these are
// indices into the step list and we introduced 'Base' at index 0.
// (ALT_HIGH, ALT_CONTINUOUS, ALT_IMMEDIATE, ALT_LOSSOFAC, ALT_HIGH5)
private int[] altsteps = { 1, 8, 2, 17, 40 };
private int[] altsteps = {2, 9, 3, 18, 41}; // before increment of 1: { 1, 8, 2, 17, 40 };
// use the following to define which step the AlternateSubType data is associated with.
// (see above) (ALT_STANDARD, ALT_AND, ALT_OR, ALT_EQUIPMENTLIST, ALT_EQUIPMENTWBLANK, ALT_EXPLICITAND
private int[] altsubsteps = {0, 3, 4, 10, 13, 18,
private int[] altsubsteps = {1, 4, 5, 11, 14, 19, // before increment of 1: {0, 3, 4, 10, 13, 18,
// ALT_IMPLICITOR, ALT_PARAGRAPH, ALT_EQUIPMENTOPT, ALT_EQUIPMENTOPTWBLANK, ALT_TITLEWITHTEXTRIGHT
34, 23, 29, 30, 41,
35, 24, 30, 31, 42, // before increment of 1: 34, 23, 29, 30, 41,
// ALT_TITLEWITHTEXTBELOW, ALT_CONTACSEQUENTIAL, ALT_CONTACAND, ALT_CONTACOR, ALT_CONTACPARAGRAPH
42, 43, 44, 45, 46};
43, 44, 45, 46, 47}; // before increment of 1: 42, 43, 44, 45, 46};
private string[] StepTypes = {
"Base", "Substep","High","Immediate","And","Or","Caution","Note","Table","Continuous",
@ -1296,15 +1315,49 @@ namespace fmtxml
"ContAcSequential","ContAcAnd","ContAcOr","ContAcParagraph"
};
private string[] ParentTypes = {
"", "Base","Base","High","Base","Base","Base","Base","Base","High",
"Table","Base","Base","Title","EquipmentList","Title",
"", "Base","Base","High","Substep","Substep","Base","Base","Base","High",
"Table","Substep","Base","Title","EquipmentList","Title",
"Title","Base","High","And","Caution","Caution",
"Note","Note","Base","Base","Note","Caution","Note","Caution",
"Note","Note","Substep","Substep","Note","Caution","Note","Caution",
"EquipmentList","EquipmentWBlank","Note","AERTable","Table",
"Or","Table","Figure","Figure","AERFigure",
"Base","High","Title","Title",
"Base","And","Or","Paragraph"
"Or","Base","Figure","Figure","AERFigure",
"High","High","Title","Title",
"Substep","And","Or","Paragraph"
};
private string[] Inactive = {
"False", "False","False","False","False","False","False","False","False","False",
"False","False","False","True","False","True","True","True","False","False","False","False",
"False","False","False","True","False","False","False","False","False","False","False","False","False",
"False","False","False","False","False","False","False","False","False","False","False","False","False"
};
private string[] Searchable = {
"False", "True", "True","True","True", "True", "True","True","True","True",
"True", "True", "False","False","True", "False","False","False","True","True","True","True",
"True","True","True","False","True","True","True","True","True","True","True","True","True",
"True","True","True","True","True","True","True","False","False","True","True","True","False"
};
private string[] TypeMenuItem = {
"Base", "Substep", "Standard High Level Step","Immediate Action Step","AND", "OR", "Caution","Note","Centered Table","Continuous Action Step",
"AER Table", "Equipment List", "Title","Page Number","Equipment Preceded by Blank Line", "Procedure Number",
"Rev Number","Acc Pages","Boxed High Level Step","Explicit AND","Caution 1","Caution 2",
"Note 1","Note 2","Paragraph","Default","Note 3","Caution 3","Note 4","Caution 4",
"Optional Equipment List","Optional Equipment with Blank Line","Note 5","AER Table Without Border","Centered Table Without Border",
"Implicit OR","Centered","AER Figure","Centered Figure Without Border","AER Figure Without Border",
"RNO Type","Alternate High Level Step","Title With Text Right","Title With Text Below",
"Continuous Action Sequential","Continuous Action AND","Continuous Action OR","Continuous Action Paragraph"
};
private string[] NoChangeTypeReason = {
"Base Type - No change at this level", null, null,null,null, null, null,null,null,null,
null, null, null,null,null, null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,
null,null,null,null,null,null,null,null,null,null,"RNO - No change allowed",null,null,null,
null,null,null,null
};
private string[] RnoInMenu = {
null, "True",null,null,"True","True",null,null,"True",null,"False","True",null,null,"True",null,
null,null,null,"True",null,null,null,null,"True",null,null,null,null,null,"True","True",null,"False","True",
"True","True","False","True","False","False",null,null,null,"True","True","True","True"
};
/*
* from the 16-bit code, the following step type attributes/strings were defined. This was found in \promnt\lib\edit\slectyp.c
* High level types:
@ -1332,6 +1385,7 @@ namespace fmtxml
* EQUIPMENTOPT,EQUIPMENTOPTWBLANK,CONTACSEQUENTIAL,CONTACAND,CONTACOR,CONTACPARAGRAPH,TITLEWITHTEXTRIGHT,TITLEWITHTEXTBELOW
*
*/
private string[] WinColors =
{
"black","blue","green","cyan","red","magenta",
@ -1408,7 +1462,8 @@ namespace fmtxml
}
BuildDictionaryText();
fmtName = nm;
//if (fmtName.ToUpper() != "FNPDEV" && fmtName.ToUpper() != "BASE") return;
//if (fmtName.ToUpper() != "CPLS" && fmtName.ToUpper() != "BASE") return;
//if (fmtName.ToUpper() != "OHLP" && fmtName.ToUpper() != "BASE") return;
try
{
LoadFormatFile(nm + ".fmt", ref SubXtraFlags);
@ -2017,7 +2072,7 @@ namespace fmtxml
{
fmtdata.StepData[i].Type = StepTypes[i];
fmtdata.StepData[i].ParentType = ParentTypes[i];
if (i>0)fmtdata.StepData[i].Font = LoadVE_Font();
if (i > 0) fmtdata.StepData[i].Font = LoadVE_Font();
}
fmtdata.StepData[0].Font = fmtdata.StepData[1].Font;
for (int i = 1; i < MAXSTEPS+1; i++)
@ -2110,10 +2165,13 @@ namespace fmtxml
for (int i = 1; i < MAXSTEPS + 1; i++) fmtdata.StepData[i].StepLayoutData.PageBreakAtTypeChange = (brFmt.ReadInt16()).ToString();
fmtdata.SectData.StepSectionData.StpSectLayData.LastLineToStartStep = RowToPoints(brFmt.ReadInt16());
/* To do TextTypeValue - not sure how this is used & where to store it, so temporarily read it in */
fmtdata.SectData.StepSectionData.TextTypeValue = new Int16[10];
for (int i = 0; i < 10; i++) fmtdata.SectData.StepSectionData.TextTypeValue[i] = brFmt.ReadInt16();
//fmtdata.SectData.StepSectionData.TextTypeValue = new Int16[10];
//for (int i = 0; i < 10; i++) fmtdata.SectData.StepSectionData.TextTypeValue[i] = brFmt.ReadInt16();
Int16[]TextTypeValue = new Int16[10];
for (int i = 0; i < 10; i++) TextTypeValue[i] = brFmt.ReadInt16();
for (int i = 0; i < 10; i++) tmpint = brFmt.ReadInt32(); // DontPrintInSection - not used.
@ -2577,14 +2635,70 @@ namespace fmtxml
// not used: xtitle[3][10] - skip 30
arcnt = arcnt + 30;
fmtdata.SectData.StepSectionData.TextType = new string[10];
for (int i = 0; i < 10; i++)
{
indx = offset[arcnt];
arcnt++;
if (indx > 0) fmtdata.SectData.StepSectionData.TextType[i] = GetStringFromByte(input, indx);
}
for (int i = 0; i < MAXSTEPS + 1; i++)
{
fmtdata.StepData[i].Inactive = Inactive[i];
fmtdata.StepData[i].StepEditData.Searchable = Searchable[i];
fmtdata.StepData[i].StepEditData.TypeMenu.MenuItem = TypeMenuItem[i];
fmtdata.StepData[i].StepEditData.TypeMenu.InMenu = (fmtdata.StepData[i].Type == "RNOType" || fmtdata.StepData[i].Type == "Base") ? false.ToString() : true.ToString();
// Set all caution/note 'InMenu' to false except basic caution/note, types 6 & 7. Use the AlternateNameList to set them to true.
if (i == 20 || i == 21 || i == 22 || i == 23 || i == 26 || i == 27 || i == 28 || i == 29 || i == 32) fmtdata.StepData[i].StepEditData.TypeMenu.InMenu = false.ToString();
fmtdata.StepData[i].StepEditData.TypeMenu.NoChgReason = NoChangeTypeReason[i];
fmtdata.StepData[i].StepEditData.TypeMenu.RnoInMenu = RnoInMenu[i];
if (fmtdata.StepData[i].Type == "Table" || fmtdata.StepData[i].Type == "Figure")
//{
//fmtdata.StepData[i].StepEditData.TypeMenu.RnoInMenu = true.ToString();
fmtdata.StepData[i].StepEditData.TypeMenu.RnoMenuItem = "With Border";
//}
else if (fmtdata.StepData[i].Type == "BorderlessTable" || fmtdata.StepData[i].Type == "BorderlessFigure")
//{
//fmtdata.StepData[i].StepEditData.TypeMenu.RnoInMenu = true.ToString();
fmtdata.StepData[i].StepEditData.TypeMenu.RnoMenuItem = "Without Border";
//}
//else if (fmtdata.StepData[i].Type == "AERTable" || fmtdata.StepData[i].Type == "BorderlessAERTable" || fmtdata.StepData[i].Type == "AERFigure" || fmtdata.StepData[i].Type == "BorderlessAERFigure")
// fmtdata.StepData[i].StepEditData.TypeMenu.RnoInMenu = false.ToString();
}
// fmtdata.SectData.StepSectionData.TextType = new string[10];
// Set up the text type fields - these are used to define what types of steps the current step
// can be changed to..
string tmpalternateindx = null;
int [] tmparray={0,0,0,0,0,0,0,0,0,0};
for (int i = 0; i < 10; i++)
{
indx = offset[arcnt];
arcnt++;
if (indx > 0)
{
string tmpstring = GetStringFromByte(input, indx);
// put this in the step data alternatename field. If there already is one. stop
// here for now to see this!.
if (fmtdata.StepData[TextTypeValue[i] + 1].StepEditData.TypeMenu.MenuItem != null && fmtdata.StepData[TextTypeValue[i] + 1].StepEditData.TypeMenu.MenuItem != tmpstring)
Console.WriteLine("different name, " + fmtdata.StepData[TextTypeValue[i] + 1].StepEditData.TypeMenu.MenuItem + ", " + tmpstring);
fmtdata.StepData[TextTypeValue[i]+1].StepEditData.TypeMenu.MenuItem = tmpstring;
tmpalternateindx = (tmpalternateindx == null) ? fmtdata.StepData[TextTypeValue[i] + 1].Type : tmpalternateindx + "," + fmtdata.StepData[TextTypeValue[i] + 1].Type;
//fmtdata.SectData.StepSectionData.TextType[i] = GetStringFromByte(input, indx);
}
}
if (tmpalternateindx != null)
{
// For any step types in the texttypevalue list, add the alternatename list:
for (int i = 0; i < 10; i++)
{
// this was only used for cautions/notes - so only add if texttypevalue isn't 0, 0 was substep and it
// was getting set for substeps, that can never have an alternate type - at least from
// format->xml migration.
if (TextTypeValue[i] != 0)
{
fmtdata.StepData[TextTypeValue[i] + 1].StepEditData.TypeMenu.AlternateNameList = tmpalternateindx;
fmtdata.StepData[TextTypeValue[i] + 1].StepEditData.TypeMenu.InMenu = true.ToString();
}
}
}
// not used, SectionsToPrint - 10; SectionNumberMask - 10; SectionsToPrintTitle - 10;
// DocumentTitleExtensions - 10; DocumentFixFileExtensions - 10;
@ -2634,15 +2748,17 @@ namespace fmtxml
{
indx = offset[arcnt];
arcnt++;
if (indx > 0) fmtdata.StepData[altsteps[i]].AlternateName = GetStringFromByte(input, indx);
}
for (int i = 0; i < 16; i++)
{
indx = offset[arcnt];
arcnt++;
if (indx > 0) fmtdata.StepData[this.altsubsteps[i]].AlternateName = GetStringFromByte(input, indx);
if (indx > 0) fmtdata.StepData[TextTypeValue[i]].StepEditData.TypeMenu.MenuItem = GetStringFromByte(input, indx);
}
string mytmp = null;
//KBR TODO: is this still needed????
for (int i = 0; i < 16; i++)
{
indx = offset[arcnt];
arcnt++;
// KBR TODO: - Not sure what to do here 11/11/08: if (indx > 0) fmtdata.StepData[this.altsubsteps[i]].AlternateName = GetStringFromByte(input, indx);
if (indx > 0) mytmp = GetStringFromByte(input, indx);
}
indx = offset[arcnt];
arcnt++;
@ -2667,7 +2783,8 @@ namespace fmtxml
{
indx = offset[arcnt];
arcnt++;
if (indx > 0) fmtdata.StepData[i].UnderlineTheseChar = GetStringFromByte(input, indx);
if (indx > 0)
fmtdata.StepData[i].UnderlineTheseChar = GetStringFromByte(input, indx);
}
// not used - SubScriptTheseChar
@ -2849,7 +2966,7 @@ namespace fmtxml
for (int i = 0; i < MAXSTEPS+1; i++)
{
// Do base here, commented out for now - need to do one step at a time for my own sanity...
// Do base here
if (i == 0)
{
// All types get this thru inheritance
@ -4241,7 +4358,7 @@ namespace fmtxml
if (mstp.Sep == sstp.Sep) subFmt.StepData[i].Sep =null;
if (mstp.Prefix == sstp.Prefix) subFmt.StepData[i].Prefix =null;
if (mstp.Suffix == sstp.Suffix) subFmt.StepData[i].Suffix =null;
if (mstp.AlternateName == sstp.AlternateName) subFmt.StepData[i].AlternateName = null;
// KBR TODO if (mstp.AlternateName == sstp.AlternateName) subFmt.StepData[i].AlternateName = null;
if (mstp.UnderlineTheseChar == sstp.UnderlineTheseChar) subFmt.StepData[i].UnderlineTheseChar = null;
if (mstp.TabData.Font != null && sstp.TabData.Font != null)
{
@ -4308,8 +4425,8 @@ namespace fmtxml
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;
for (int i=0; i<10; i++)
if (mainFmt.SectData.StepSectionData.TextTypeValue[i] == subFmt.SectData.StepSectionData.TextTypeValue[i]) mainFmt.SectData.StepSectionData.TextTypeValue[i] = 0;
//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;
@ -4588,8 +4705,8 @@ namespace fmtxml
if (mainFmt.PrintData.TopOfPageThing == subFmt.PrintData.TopOfPageThing) subFmt.PrintData.TopOfPageThing = null;
for (int i=0; i<10; i++)
if (msctstp.TextType[i] == ssctstp.TextType[i]) subFmt.SectData.StepSectionData.TextType[i]=null;
//for (int i=0; i<10; i++)
// if (msctstp.TextType[i] == ssctstp.TextType[i]) subFmt.SectData.StepSectionData.TextType[i]=null;
//for (int i=0; i<MAXSEQ; i++)
//{
@ -4611,8 +4728,8 @@ namespace fmtxml
for (int i=0; i< 4; i++)
{
if (msctstp.ObserveNCString1!=null && msctstp.ObserveNCString1[i] == ssctstp.ObserveNCString1[i]) subFmt.SectData.StepSectionData.ObserveNCString1 = null;
if (msctstp.ObserveNCString2 != null && msctstp.ObserveNCString2[i] == ssctstp.ObserveNCString2[i]) subFmt.SectData.StepSectionData.ObserveNCString2 = null;
if (msctstp.ObserveNCString1!=null && ssctstp.ObserveNCString1 != null && msctstp.ObserveNCString1[i] == ssctstp.ObserveNCString1[i]) subFmt.SectData.StepSectionData.ObserveNCString1 = null;
if (msctstp.ObserveNCString2 != null && ssctstp.ObserveNCString1 != null && msctstp.ObserveNCString2[i] == ssctstp.ObserveNCString2[i]) subFmt.SectData.StepSectionData.ObserveNCString2 = null;
}
for (int i = 0; i < MAXCHECKOFFS; i++)
@ -4687,13 +4804,13 @@ namespace fmtxml
delegate string StepPartStr(Step stp);
private string StepPartColOverride(Step stp) { return stp.StepTypeColOverride; }
private string StepPartInactive(Step stp) { return stp.Inactive; }
private string StepPartSep(Step stp) { return stp.Sep; }
private string StepPartAlternateName(Step stp) {return stp.AlternateName;}
private string StepPartPrefix(Step stp) {return stp.Prefix;}
private string StepPartSuffix(Step stp) {return stp.Suffix;}
private string StepPartUnderlineTheseChar(Step stp) {return stp.UnderlineTheseChar;}
private string StepPartVertPos(Step stp) { return stp.VertPos; }
private string StepPartFontFamily(Step stp)
{
if (stp.Font == null) return null;
@ -4725,6 +4842,7 @@ namespace fmtxml
private string StepPartEditForeColor(Step stp) { return stp.StepEditData.ForeColor; }
private string StepPartEditBackColor(Step stp) { return stp.StepEditData.BackColor; }
private string StepPartEditAcTable(Step stp) { return stp.StepEditData.AcTable; }
private string StepPartEditSearchable(Step stp) { return stp.StepEditData.Searchable; }
private string StepPartPrintForeColor(Step stp) { return stp.StepPrintData.ForeColor; }
private string StepPartPrintBackColor(Step stp) { return stp.StepPrintData.BackColor; }
@ -4740,7 +4858,7 @@ namespace fmtxml
private string StepPartTabRNOIdentWid(Step stp) { return stp.TabData.RNOIdentWid; }
private string StepPartTabJustify(Step stp) { return stp.TabData.Justify; }
private string StepPartTabCheckOff(Step stp) { return stp.TabData.CheckOff; }
private string StepPartTabFontFamily(Step stp)
{
if (stp.TabData.Font == null) return null;
@ -4756,6 +4874,12 @@ namespace fmtxml
if (stp.TabData.Font == null) return null;
return stp.TabData.Font.FontStyle;
}
private string StepPartEditTypeInMenu(Step stp){return stp.StepEditData.TypeMenu.InMenu;}
private string StepPartEditTypeRnoInMenu(Step stp){return stp.StepEditData.TypeMenu.RnoInMenu;}
private string StepPartEditTypeMenuItem(Step stp){return stp.StepEditData.TypeMenu.MenuItem;}
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)
{
Dictionary<string, Step> dicSteps = BuildStepDic(stpdata);
@ -4767,10 +4891,10 @@ namespace fmtxml
}
private void FixInheritance(ref Step step, Dictionary<string, Step> 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(StepPartSep), step, dicParents)) step.Sep = null;
if (CheckInheritedStr(new StepPartStr(StepPartAlternateName), step, dicParents)) step.AlternateName = null;
if (CheckInheritedStr(new StepPartStr(StepPartPrefix), step, dicParents)) step.Prefix = null;
if (CheckInheritedStr(new StepPartStr(StepPartPrefix), step, dicParents)) step.Prefix = null;
if (CheckInheritedStr(new StepPartStr(StepPartSuffix), step, dicParents)) step.Suffix = null;
if (CheckInheritedStr(new StepPartStr(StepPartUnderlineTheseChar), step, dicParents)) step.UnderlineTheseChar = null;
if (CheckInheritedStr(new StepPartStr(StepPartVertPos), step, dicParents)) step.VertPos = null;
@ -4800,6 +4924,14 @@ namespace fmtxml
if (CheckInheritedStr(new StepPartStr(StepPartEditForeColor), step, dicParents)) step.StepEditData.ForeColor = null;
if (CheckInheritedStr(new StepPartStr(StepPartEditBackColor), step, dicParents)) step.StepEditData.BackColor = null;
if (CheckInheritedStr(new StepPartStr(StepPartEditAcTable), step, dicParents)) step.StepEditData.AcTable = null;
if (CheckInheritedStr(new StepPartStr(StepPartEditSearchable), step, dicParents)) step.StepEditData.Searchable = null;
// substructure - TypeMenu
if (CheckInheritedStr(new StepPartStr(StepPartEditTypeInMenu), step, dicParents)) step.StepEditData.TypeMenu.InMenu = null;
if (CheckInheritedStr(new StepPartStr(StepPartEditTypeRnoInMenu), step, dicParents)) step.StepEditData.TypeMenu.RnoInMenu = null;
if (CheckInheritedStr(new StepPartStr(StepPartEditTypeMenuItem), step, dicParents)) step.StepEditData.TypeMenu.MenuItem = null;
if (CheckInheritedStr(new StepPartStr(StepPartEditTypeRnoMenuItem), step, dicParents)) step.StepEditData.TypeMenu.RnoMenuItem = null;
if (CheckInheritedStr(new StepPartStr(StepPartEditTypeNoChg_Reason), step, dicParents)) step.StepEditData.TypeMenu.NoChgReason = null;
if (CheckInheritedStr(new StepPartStr(StepPartEditTypeAlternateNameList), step, dicParents)) step.StepEditData.TypeMenu.AlternateNameList = null;
// substructure - StepPrintData
if (CheckInheritedStr(new StepPartStr(StepPartPrintForeColor), step, dicParents)) step.StepEditData.ForeColor = null;
if (CheckInheritedStr(new StepPartStr(StepPartPrintBackColor), step, dicParents)) step.StepEditData.BackColor = null;

Binary file not shown.