2170 lines
70 KiB
C#
2170 lines
70 KiB
C#
using System;
|
|
using System.IO;
|
|
using System.Text;
|
|
using System.Collections;
|
|
using System.Windows.Forms;
|
|
using System.Runtime.Serialization.Formatters.Binary; // read in struct
|
|
using System.Xml;
|
|
using System.Xml.Serialization;
|
|
|
|
|
|
public class fmtDefineAndEnums
|
|
{
|
|
// values for AccessableTypes
|
|
public static ushort ADDING_CAUTION = 1;
|
|
public static ushort ADDING_NOTE = 2;
|
|
public static ushort ADDING_RNO = 4;
|
|
public static ushort ADDING_SUB = 8;
|
|
public static ushort ADDING_TABLE = 16;
|
|
public static ushort ADDING_NEXT = 32;
|
|
public static ushort ADDING_PREV = 64;
|
|
|
|
/* Fonts: index into fonts[NFONTS] array */
|
|
|
|
public static uint ELITE = 0;
|
|
public static uint PICA = 1;
|
|
public static uint LN_PRN = 2;
|
|
public static uint CONDENSE = 3;
|
|
public static uint SANSERIF = 4;
|
|
public static uint PICA12 = 5;
|
|
public static uint PROPORTIONAL = 6;
|
|
public static uint PROPT12 = 7;
|
|
public static uint HVLPT18 = 8;
|
|
public static uint HVLPT25 = 9;
|
|
public static uint SPECIALCHARS = 10;
|
|
public static uint PT14 = 11;
|
|
public static uint SANSERIF14 = 12;
|
|
public static uint SANSERIF17 = 13;
|
|
public static uint HVLPT12 = 14;
|
|
public static uint NARRATOR = 15;
|
|
public static uint MEDUPUNIVERS = 16;
|
|
public static uint LGUPMED16 = 17;
|
|
public static uint PROPT10 = 18;
|
|
public static uint LG1275HP4SI = 19;
|
|
public static uint HVLPT10 = 20;
|
|
public static uint HVLPT8 = 21;
|
|
public static uint HVLPT14 = 22;
|
|
public static uint SANSERIF25 = 23;
|
|
public static uint EYECHART = 24;
|
|
public static uint TIMES11 = 25;
|
|
public static uint SANSCOND = 26;
|
|
|
|
/* text styles */
|
|
public static uint UNDERLINE = 64;
|
|
public static uint BOLD = 128;
|
|
public static uint LANDSCAPE = 256;
|
|
public static uint ITALICS = 512;
|
|
public static uint BOXED = 1024;
|
|
public static uint BOXELEMENT = 0x00000800;
|
|
public static uint TBCENTERED = 4096;
|
|
public static uint RTCHECKOFF = 8192;
|
|
public static uint LTCHECKOFF = 16384;
|
|
public static uint BIGSCRIPT = 32768;
|
|
public static uint HLTEXTHL = 65536;
|
|
public static uint RTCHECKOFFWITHASTERISK = 131072; /* 0x00020000L */
|
|
public static uint DB_UNDERLINE = 262144;
|
|
public static uint COLDOTS = 524288; /* 0x00080000L */
|
|
public static uint MMBOLD = 1048576;
|
|
public static uint RIGHTJUSTIFY = 2097152;
|
|
public static uint SUBSCRIPT = 4194304;
|
|
public static uint SUPERSCRIPT = 8388608;
|
|
public static uint PAGELISTITEM = 16777216; /* 0x01000000L */
|
|
public static uint PRINTONTOPOFLINE = 33554432; /* 0x02000000L */
|
|
public static uint HORZCENTER = 67108864; /* 0x04000000L */
|
|
public static uint CIRCLESTRING2 = 0x08000000;
|
|
public static uint ALIGNWITHUP1 = 0x10000000;
|
|
public static uint ALIGNWSECNUM = 0x20000000;
|
|
public static uint MATCHCOLUMNMODE = 0x40000000;
|
|
public static uint KEEPRNOSUBSTYLE = 0x80000000;
|
|
|
|
/* Replace Words Defines */
|
|
public static ushort REPLACESIZE = 60; // Arrays size for ReplaceWords, **ReplaceWith,
|
|
// and ReplaceFlags
|
|
public static uint REPLEVERYTHING = 0x0000007F; // Turns on the Replace function for
|
|
// all classes of structure types
|
|
/*Highest 4 bits are OFF by Default*/
|
|
/*REPLBKGD also OFF by default*/
|
|
/*REPLHLSSETPNT also OFF by default*/
|
|
/*REPLDIFFUNIT also OFF by default*/
|
|
/*REPLTOC also OFF by default*/
|
|
/*REPLPLACKEEP also OFF by default*/
|
|
|
|
public static uint REPLHIGH = 0x0001; //Do ReplaceWords in HIGH LEVEL STEPS
|
|
public static uint REPLRNO = 0x0002; //Do ReplaceWords in RNOS
|
|
public static uint REPLCAUTION = 0x0004; //Do ReplaceWords in CAUTIONS
|
|
public static uint REPLNOTE = 0x0008; //Do ReplaceWords in NOTES
|
|
public static uint REPLTABLE = 0x0010; //Do ReplaceWords in TABLES
|
|
public static uint REPLSUBSTEP = 0x0020; //Do ReplaceWords in SUBSTEPS
|
|
public static uint REPLATTACH = 0x0040; //Do ReplaceWords in ATTACHMENTS
|
|
public static uint REPLBKGD = 0x0080; //Do ReplaceWords in BACKGROUNDS
|
|
|
|
public static uint REPLDIFFUNIT = 0x0100; //Do ReplaceWords ONLY for different UNIT #
|
|
public static uint REPLTOC = 0x0200; //Do in auto table-of-contents
|
|
public static uint REPLSTATTREE = 0x0400;
|
|
public static uint REPLHLSSETPNT = 0x0800; //Do ReplaceWords in HighLevelStep SETPoiNTs
|
|
|
|
/*These bits are used for classes which
|
|
**are normally OFF, currently these
|
|
**are SETPOINTS and TRANSITIONS*/
|
|
public static uint REPLTRAN = 0x1000; //Do ReplaceWords in TRANSITIONS
|
|
public static uint REPLSETPOINT = 0x2000; //Do ReplaceWords in SETPOINTS
|
|
|
|
|
|
/* Case Sensitivity Flags - default is off (Case Sensitive Replace)*/
|
|
public static uint REPLCASEINSENS = 0x0000C000; //Do ReplaceWords for all words that
|
|
//match, regardless of case, and
|
|
//replace with the ReplaceWith string
|
|
//as is
|
|
|
|
/* Setting either of the following flags individually replaces the ReplaceWord
|
|
** occurrance with the original matched text surrounded by any special
|
|
** characters in the ReplaceWith string*/
|
|
public static uint REPLCASEINSENSFIRST = 0x4000; //Do ReplaceWords for all words that
|
|
// exactly match the ReplaceWord, except
|
|
// the case of the first character may
|
|
// be different
|
|
|
|
public static uint REPLCASEINSENSALL = 0x8000; //Do ReplaceWords for all words that
|
|
//match the ReplaceWord, regardless of
|
|
//case
|
|
|
|
public static uint REPLPARTIALS = 0x10000; // Do replace even on partial matches
|
|
public static uint REPLPLACKEEP = 0x20000; // Do replace in PlaceKeepers
|
|
public static uint REPLINSECTITLE = 0x40000; // replace words in section titles
|
|
|
|
/*
|
|
** Max number of substep type groups allowed to be made.
|
|
** for use with TypeGroups
|
|
*/
|
|
public static short MAXTYPEGROUPS = 10;
|
|
public static short ENDGROUP = 99;
|
|
public static short MAXENHANCEDTYPES = 20;
|
|
|
|
public static short MAXTRANS = 15; /* Max # of format defined transitions */
|
|
|
|
public static short MAXSECLEVELS = 10;
|
|
|
|
public static short MAXMATCHPROCNUM = 10;
|
|
public static short MAXBOXES = 24;
|
|
public static short NUMBOXCHARS = 12;
|
|
public static short MAXTABS = 20;
|
|
|
|
}
|
|
|
|
[Serializable]
|
|
public struct FormatFlags
|
|
{
|
|
public ushort XtraFlag_0;
|
|
public ushort XtraFlag_1;
|
|
public ushort XtraFlag_2;
|
|
public ushort XtraFlag_3;
|
|
public ushort XtraFlag_4;
|
|
public ushort XtraFlag_5;
|
|
public ushort XtraFlag_6;
|
|
public ushort XtraFlag_7;
|
|
public ushort XtraFlag_8;
|
|
public ushort XtraFlag_9;
|
|
public ushort XtraFlag_10;
|
|
public ushort XtraFlag_11;
|
|
public ushort XtraFlag_12;
|
|
public ushort XtraFlag_13;
|
|
public ushort XtraFlag_14;
|
|
public ushort XtraFlag_15;
|
|
public ushort XtraFlag_16;
|
|
public ushort XtraFlag_17;
|
|
public ushort VEAIRFlag; // VEAIRFlag
|
|
public ushort PurchaseOptions; // PurchaseOption
|
|
}
|
|
|
|
[Serializable]
|
|
//public struct MaxRNOColumns
|
|
public struct ColunmShortValues
|
|
{
|
|
public short OneColumn;
|
|
public short TwoColumn;
|
|
public short ThreeColumn;
|
|
}
|
|
|
|
[Serializable]
|
|
public struct EditPrintShortValues
|
|
{
|
|
public short Edit;
|
|
public short Print;
|
|
}
|
|
|
|
[Serializable]
|
|
public struct AlternateRNOWidth
|
|
{
|
|
public short FirstColumn;
|
|
public short SecondColumn;
|
|
}
|
|
|
|
[Serializable]
|
|
public struct EditPrintStr
|
|
{
|
|
// public string ForEdit;
|
|
// public string ForPrint;
|
|
public Txt ForEdit;
|
|
public Txt ForPrint;
|
|
}
|
|
|
|
|
|
[Serializable]
|
|
public struct SeqTab
|
|
{
|
|
// Array of 9 substep levels (0-8)
|
|
// starting ASCII location for sequential substep tabs
|
|
//(0 = numbers, ` = lower case letters, @ = upper case letters)
|
|
// The sequence is recycled beyond the defined ones.
|
|
// public byte []SeqStart = new byte[9];
|
|
public byte SeqStart;
|
|
|
|
// LeftJustSeqTab
|
|
// - left justify the tab derived from SeqTab
|
|
// (pad tab on the right side with blanks)
|
|
// public short []LeftJustSeqTab = new short[9];
|
|
public short LeftJustSeqTab;
|
|
|
|
// SeqTab - the ". ", ") ", etc. that follows the sequential
|
|
// substep number/letter
|
|
// public string []SeqSubStpTabFmt = new string[9];
|
|
// public string SeqSubStpTabFmt; // sequential substep tab format
|
|
public Txt SeqSubStpTabFmt; // sequential substep tab format
|
|
|
|
// // PreSeqTab - text to pre-append to the substep's SeqTab
|
|
// // ex: "(" or "["
|
|
// // [9] levels of seqtab
|
|
// // [2] modes: [0] = edit screen, [1] = printed page
|
|
// public string [,]PreSeqSubStp = new string[9,2];
|
|
// public EditPrintStr []PreSeqSubStepTab = new EditPrintStr[9];
|
|
public EditPrintStr PreSeqSubStepTab;
|
|
|
|
// // PostSeqTab - (ATA format only)
|
|
// // - append this text to end of the substep's SeqTab
|
|
// // [9] levels of seqtab
|
|
// // [2] modes: [0] = edit screen, [1] = printed page
|
|
// public string [,]PostSeqSubStp = new string[9,2];
|
|
// public EditPrintStr []PostSeqSubStepTab = new EditPrintStr[9];
|
|
public EditPrintStr PostSeqSubStepTab;
|
|
}
|
|
|
|
[Serializable]
|
|
public struct WidSTable
|
|
{
|
|
public EditPrintShortValues OneColumn;
|
|
public EditPrintShortValues TwoColumns;
|
|
public EditPrintShortValues ThreeColumns;
|
|
}
|
|
|
|
[Serializable]
|
|
public struct fmtTab
|
|
{
|
|
public uint TbStyle; // TBStyle (font type) - font
|
|
public bool AlignWithParent; // AlignWithParentTab
|
|
public EditPrintStr TabFmt; // TBIdent [0]-screen [1]-Print
|
|
public EditPrintStr RNOTabFmt; // RNOTBIdent
|
|
// public string AltPrintTabFmt; // AltPrintTBIdent
|
|
public Txt AltPrintTabFmt; // AltPrintTBIdent
|
|
}
|
|
|
|
//[Serializable]
|
|
public struct NCStr
|
|
{
|
|
// [XmlElement]
|
|
public Txt ForEdit;
|
|
public Txt ForPrint;
|
|
}
|
|
|
|
|
|
//[Serializable]
|
|
//public struct ChkOffItem
|
|
//{
|
|
//[XmlElement]
|
|
// public string []Item;
|
|
//}
|
|
|
|
//public struct VerId
|
|
//{
|
|
// [System.Xml.Serialization.XmlAttribute]
|
|
// public string Text;
|
|
//}
|
|
|
|
public struct ChkOffSytle
|
|
{
|
|
[System.Xml.Serialization.XmlAttribute]
|
|
public uint Style;
|
|
}
|
|
|
|
public struct Txt
|
|
{
|
|
// [System.Xml.Serialization.XmlAttribute]
|
|
[XmlAttribute]
|
|
public string Text;
|
|
}
|
|
|
|
[Serializable]
|
|
public struct fmtChkOff
|
|
{
|
|
static int MAXCHECKOFFS = 18;
|
|
public int maxcheckoffs
|
|
{
|
|
get { return MAXCHECKOFFS;}
|
|
}
|
|
|
|
static int MAXCHKHEADINGS = 5;
|
|
public int MaxCheckoffHeadings
|
|
{
|
|
get {return MAXCHKHEADINGS;}
|
|
}
|
|
|
|
// RightCheckOffBox
|
|
// [0]AER
|
|
// [1]RNO
|
|
// [2]Commitment for Braidwood
|
|
// [3] (no supporting code) tied to value of TwoCheckOffspublic
|
|
// public short [] CheckoffBoxPosition;// = new int[4];
|
|
public short AERCheckoffBoxPosition;
|
|
public short RNOCheckoffBoxPosition;
|
|
public short CommitmentMarkPosition;
|
|
public short UserSelectedCheckoffPosition;
|
|
|
|
// RightCheckOffChars
|
|
public byte [] ChkOffScreenNotation;// = new byte[MAXCHECKOFFS];
|
|
|
|
//CheckOffWidAdjust
|
|
public byte []WidthAdjustment;// = new byte[MAXCHECKOFFS];
|
|
|
|
// CheckOffHeadStyle -font
|
|
// public uint []ChkOffHeaderStyle;// = new uint[MAXCHKHEADINGS];
|
|
public ChkOffSytle []ChkOffHeaderStyle;
|
|
|
|
// UseCheckoffIn
|
|
public int UseCheckOffsInTheseSections;
|
|
|
|
//CheckOffAdjustment (not sure why we need this)
|
|
public byte PosAdjustment;
|
|
|
|
//RightCheckOffPrompts
|
|
// [XmlElement]
|
|
// public string [] ChkOffMenuItems;// = new string[MAXCHECKOFFS];
|
|
// [XmlArrayAttribute("MenuItems")]
|
|
// public ChkOffItem ChkOffMenuItems;
|
|
public Txt []ChkOffMenuItems;
|
|
|
|
//CheckOffHeadings
|
|
[XmlArrayAttribute("Headings")]
|
|
// public string [] ChkOffHeadings;// = new string[MAXCHKHEADINGS];
|
|
// public ChkOffItem []ChkOffHeadings;
|
|
public Txt []ChkOffHeadings;
|
|
}
|
|
|
|
[Serializable]
|
|
public struct fmtChgBar
|
|
{
|
|
public short ChgBarType; // ChangeBarMessage
|
|
public short FixedChangeColumn;
|
|
public byte FixAERChangeColumn;
|
|
public uint ChgBarStyle; // ChangeBarStyle (this is set to font)
|
|
// public string ChgBar; // SpecialChangeBar or default to vertical line draw char
|
|
public Txt ChgBar; // SpecialChangeBar or default to vertical line draw char
|
|
}
|
|
|
|
[Serializable]
|
|
public struct fmtBox
|
|
{
|
|
static int NUMBOXCHARS = 12;
|
|
public int NumBoxChars
|
|
{
|
|
get {return NUMBOXCHARS;}
|
|
}
|
|
|
|
public enum BoxPiece {BXURC, BXHorz, BXULC, BXVert, BXMLS, BXMRS, BXLRC, BXLLC, BXMID, BXLHorz, BXUMID, BXLMID}
|
|
|
|
public short BoxStart; //BXStart
|
|
public short BoxEnd; // BXEnd
|
|
public short BoxTextStart; //BXTxtStart
|
|
public short BoxTextWidth; //BXTxtWidth
|
|
public short BoxHeight; //BXHeight
|
|
public short BoxTabPos; //BXTabPos
|
|
public uint BoxStyle; //BXStyle - font
|
|
public byte BoxTextRowAdj; //BXTxtRowAdj
|
|
// public string []BoxChar;// = new string[NUMBOXCHARS]; // BXChar - index with
|
|
// // BoxPiece value
|
|
// BXChar - index with BoxPiece value
|
|
public Txt []BoxChar;// = new string[NUMBOXCHARS];
|
|
}
|
|
|
|
// Current Format design has one of these for each step type
|
|
[Serializable]
|
|
public struct fmtStep
|
|
{
|
|
public uint TextStyle; // STStyle (fonts)
|
|
public ushort Color; // Att (color on screen)
|
|
public short BlankLinesAfter; // STExtralines (# of blank lines after this piece)
|
|
public short BxInfoIdx; // STBoxindex;
|
|
public short TabIndex; // STTabsindex
|
|
public short PrintPosAdjust; // PrintPosAdjust
|
|
public ushort AccessableTypes; // AcTable
|
|
public short BlankLineAfterGroupOf; // EveryNLines (blank line after group of x items)
|
|
public bool UpperCaseTrans; // AlwaysUpperCase (upper case transitions)
|
|
public bool PageBreakAtTypeChange; // PageBreakAtTypechange
|
|
public bool AlignWithParentTab; //AlignWithParentTab
|
|
public short ChkOffGroups; //RtCheckOffGroups
|
|
public short WidthOverride; // StepTypeWidthOverride (overide default width)
|
|
public byte []VertPos;// = new Byte[15]; // VertPos (used for valves and checklist formats)
|
|
public short ColOverride; // StepTypeColOverride (override default col positon)
|
|
// public string SeparatorText; // Sep (used for OR step types for example)
|
|
public Txt SeparatorText; // Sep (used for OR step types for example)
|
|
// public string PrefixText; // StepPrefix
|
|
public Txt PrefixText; // StepPrefix
|
|
// public string SuffixText; // StepSuppfix
|
|
public Txt SuffixText; // StepSuppfix
|
|
// UnderlineTheseChar - print will underline these
|
|
// characters along with the normal characters
|
|
// public string UnderlineThese;
|
|
public Txt UnderlineThese;
|
|
}
|
|
|
|
[Serializable]
|
|
public struct RplWord
|
|
{
|
|
// Used to specify which step types are affected
|
|
// by ReplaceWords and ReplaceWith.
|
|
public uint ReplaceFlag;
|
|
|
|
// List of words/phrases to replace
|
|
// public string ReplaceWord;
|
|
public Txt ReplaceWord;
|
|
|
|
// List of replacement words/phrases
|
|
// public string ReplaceWith;
|
|
public Txt ReplaceWith;
|
|
}
|
|
|
|
[Serializable]
|
|
public struct TrnsDef // used to override default transition definitions
|
|
{
|
|
public byte TransType; // the true transition type of format defined transitions
|
|
// public string TransFmt; // format string for this transition type
|
|
// public string TransMenu; // Menu string for this transition type
|
|
public Txt TransFmt; // format string for this transition type
|
|
public Txt TransMenu; // Menu string for this transition type
|
|
}
|
|
|
|
[Serializable]
|
|
public struct SectLevSettings
|
|
{
|
|
// Position of the sub (meta) section number on printed page
|
|
public byte SecNumPositionAdj;
|
|
|
|
// Sub (meta) Section Title position on printed page
|
|
public byte SecTitlePositionAdj;
|
|
|
|
// Override ColS and assign HLS a column position based on meta
|
|
// section level. Overrides automatic indentation supplied by
|
|
// the TieTabToLevel logic
|
|
public byte ColSByLevel;
|
|
|
|
// Adjust the placement of meta sections in the table of contents
|
|
public byte TofCPositionAdj;
|
|
|
|
// Adjust the WidS value (print mode) based on the step level
|
|
public byte WidSAdjByLevel;
|
|
}
|
|
|
|
[Serializable]
|
|
public struct PrcDescript
|
|
{
|
|
// Mask to determine which procedures print procedure descriptor text
|
|
// public string MatchProcNumber;
|
|
public Txt MatchProcNumber;
|
|
|
|
// Procedure descriptor text for procs matching the cooresponding
|
|
// MatchProcNumber mask. This is then put into the page list via the
|
|
// <PROCDESC> token
|
|
// public string ProcDescriptor;
|
|
public Txt ProcDescriptor;
|
|
|
|
// 2nd procedure descriptor text put into the page list via the <PROCDESC2>
|
|
// public string ProcDescriptor2;
|
|
public Txt ProcDescriptor2;
|
|
}
|
|
|
|
|
|
[Serializable]
|
|
// public struct CautNoteTypesOverride
|
|
public struct MenuItem
|
|
{
|
|
public short TextTypeValue; // Caution or Note type
|
|
// public string TextType; // menu entry corresponding to text type
|
|
public Txt TextType; // menu entry corresponding to text type
|
|
}
|
|
|
|
|
|
[Serializable]
|
|
public struct AutoTableOfContents
|
|
{
|
|
// Auto Table of Contents formatting
|
|
public byte SecNumPos; // position of section number on TOC page
|
|
public byte SecTitlePos; // position of section title on TOC page
|
|
public byte SecTitleLen; // max length of section title (before it is wrapped)
|
|
public byte PageNumPos; // position of page number of the corresponding section
|
|
public byte SpaceChar; // charcter used from end of title to page number (ex "...")
|
|
public byte LineSpacing; // number of blank lines between TOC entries
|
|
public byte Font; // Font to used
|
|
}
|
|
|
|
|
|
|
|
|
|
[Serializable]
|
|
public class FmtFileVars : fmtDefineAndEnums
|
|
{
|
|
public string Title; // format title
|
|
|
|
public int MaxNumBoxes
|
|
{
|
|
get {return MAXBOXES;}
|
|
}
|
|
|
|
public int MaxTabs
|
|
{
|
|
get {return MAXTABS;}
|
|
}
|
|
|
|
static int NUMStepTextTypes = 47;
|
|
public int NumStepSubStepTypes
|
|
{
|
|
get {return NUMStepTextTypes;}
|
|
}
|
|
|
|
// Arrays size for ReplaceWords, **ReplaceWith, and ReplaceFlags
|
|
public int MaxReplaceItems
|
|
{
|
|
get { return REPLACESIZE;}
|
|
}
|
|
|
|
public int MaxSectionLevels
|
|
{
|
|
get { return MAXSECLEVELS;}
|
|
}
|
|
|
|
public int MaxTypeGroups
|
|
{
|
|
get {return MAXTYPEGROUPS;}
|
|
}
|
|
|
|
public int MaxEnhancedTypes
|
|
{
|
|
get {return MAXENHANCEDTYPES;}
|
|
}
|
|
|
|
// Max # of format defined transitions
|
|
public int MaxTrans
|
|
{
|
|
get {return MAXTRANS;}
|
|
}
|
|
|
|
|
|
enum StepTextTYPES
|
|
{
|
|
STANDARD, HIGH, IMMEDIATE, AND, OR, CAUTION, NOTE, TABLE, CONTINUOUS, AERTABLE,
|
|
EQUIPMENTLIST, TITLE, PAGENUMBER, EQUIPMENTWBLANK, PROCNUMBER, REVNUMBER,
|
|
ACCPAGES, LOSSOFAC, EXPLICITAND, CAUTION1, CAUTION2, NOTE1, NOTE2, PARAGRAPH,
|
|
DEFAULT, NOTE3, CAUTION3, NOTE4, CAUTION4, EQUIPMENTOPT, EQUIPMENTOPTWBLANK,
|
|
NOTE5, BORDERLESSAERTABLE, BORDERLESSTABLE, IMPLICITOR, FIGURE, AERFIGURE,
|
|
BORDERLESSFIGURE, BORDERLESSAERFIGURE, RNOTYPE, HIGH5, TITLEWITHTEXTRIGHT,
|
|
TITLEWITHTEXTBELOW, CONTACSEQUENTIAL, CONTACAND, CONTACOR, CONTACPARAGRAPH
|
|
} // a.k.a. STRUCTDEFTYPES in 16bit code
|
|
|
|
// public ushort []XtraFlag = new ushort[18]; // XtraFlag[0-17]
|
|
// public ushort VEAIRFlag; // VEAIRFlag
|
|
// public ushort PurchaseOptions; // PurchaseOption
|
|
|
|
public FormatFlags FmtFlags; // XtraFlag[0-17], VEAIRFlag, PurchaseOption
|
|
public bool Emode; // default edit mode (0=insert, 1=overstrike)
|
|
public short TopRow; // Top Row On Sreen - this is always set to Zero in p_refresh()
|
|
public bool DoPrintDriverAdjustments; // DoPrnDrvrAdjust
|
|
|
|
public uint TopOfPageThingStyle; // TopOfPageThingStyle
|
|
public short TopOfPageThingCol; // TopOfPageThingCol
|
|
|
|
public uint ModifiedTextSytle; // ModifiedText
|
|
public uint SeparatorStyle; // SeparatorStyle
|
|
|
|
/* SeparatorLocation - Location of separator:
|
|
** 0 - left, 1 - right,
|
|
** 2+ - positions in the middle */
|
|
public short SeparatorLocation;
|
|
|
|
public short LastLineToStartStep; // LastLineToStartStep
|
|
public bool LineDrawingOption; // LineDrawingOption - always set to one (true)
|
|
|
|
public short HLSTextStartPos; // ColS
|
|
public short HLSTextStartPosScrnAdj; // ColSScreenAdj
|
|
public short RNOTextStartPosScrnAdj; // ScrnSdjRNOText
|
|
|
|
public short CautNoteTextStart; // ColT
|
|
|
|
public short DefaultHLSTextPos; // ColAbs - If not tab, set ptr->Column to this value
|
|
|
|
public short CautNoteTextWidth; // WidT
|
|
|
|
public short NumColumns; // Pmode - number of columns - ActualPMode
|
|
|
|
public short DefaultNumRNOColumns; //MaxRNO - this should be defined at a section level
|
|
|
|
// MaxRNOTable[3]
|
|
// Number of RNO columns for sigle, two, and tree column step section formats
|
|
// public short []MaxRNOTable = new short[3];
|
|
public ColunmShortValues MaxRNOTable;
|
|
|
|
// ColRTable
|
|
// - starting position of RNO column this should be defined at a section level
|
|
// public short []StartRNOPosition = new short[3];
|
|
public ColunmShortValues StartRNOPosition;
|
|
|
|
// // WidSTable - width of HLS [0] - edit [1] - print
|
|
// public short [,]HLSwidth = new short[3,2];
|
|
// Array of 3 - for each column mode
|
|
// public WidsSTable []HLSwidth = new EditPrintShortValues[3];
|
|
public WidSTable HLSwidth;
|
|
|
|
// ColRScreen - adjustment to starting of RNO column on screen
|
|
public ColunmShortValues StartRNOPosScrnAdj;
|
|
|
|
//AdjRNOCol - adjust position of RNO column
|
|
public short RNOPositionAdj;
|
|
|
|
// Change Bar Type and Format settings
|
|
public fmtChgBar ChangeBarSettings;
|
|
|
|
// Number representing the font used in the Summary Of Changes report
|
|
public uint ChangeSummaryStyle;
|
|
|
|
// TitleLength - Max length of title before it is split
|
|
public short TitleWidthBeforeSplitting;
|
|
|
|
//CoverTitleLenth - Max length of title before it is split
|
|
public short CoverPgTitleWidthBeforeSplit;
|
|
|
|
public fmtChkOff CheckOffSettings; // check off settings
|
|
|
|
// EndMessagePos - this should be defined at a section level
|
|
// overrides the default (calculated) center position of
|
|
// the procedure step section's End Message but only if
|
|
// a Non-Proportional Font is being used for the End Message
|
|
public short EndMessageCenterPos;
|
|
|
|
// Array of 9 substep levels (0-8)
|
|
// starting ASCII location for sequential substep tabs
|
|
//(0 = numbers, ` = lower case letters, @ = upper case letters)
|
|
// The sequence is recycled beyond the defined ones.
|
|
// public byte []SeqStart = new byte[9];
|
|
|
|
// Starting ASCII location for High Level Steps
|
|
// This will override the use default use of numbers for
|
|
// the High Level Step Tab (ex. setting to @ = upper case letters)
|
|
public byte HighSeqStart;
|
|
|
|
// Character used in the ReplaceWith string to start
|
|
// an indent for text on following lines (IP2, PACA, PAC, SCE formats)
|
|
public byte IndentToken;
|
|
|
|
// Column for step header use in Vogtle for the immediate action
|
|
// step type
|
|
public short ImmStepHdrCol;
|
|
// Style for the header
|
|
public uint ImmStepHdrStyle;
|
|
|
|
// if NOT zero:
|
|
// [0] will be the width of the first RNO column,
|
|
// [1] the width of the second.
|
|
// - KEW OP format
|
|
// public short []RNOWidthAlt = new short[2];
|
|
public AlternateRNOWidth RNOWidthAlt;
|
|
|
|
// High Level Step Width OVerRiDe:
|
|
// when not zero, specify the width of the HLSs,
|
|
// overriding the value of WidSTable
|
|
// - KEW OP format
|
|
public short HLSWidthOVRD;
|
|
|
|
// Set to the column format (1,2,3) for which PageList items
|
|
// in the range -99 to -1 will be printed with the section
|
|
// - either on the line at which the section begins,
|
|
// or if the section is being continued from a previous page,
|
|
// at the row given by the absolute value of PGrow.
|
|
public short SecColHdrforActPmode;
|
|
|
|
// Style variables to be applied to section headers and numbering
|
|
// that are enabled by the ShowSectionTitles flag
|
|
public uint SectionNumberingStyle;
|
|
|
|
// Style variables to be applied to section headers and numbering
|
|
//that are enabled by the ShowSectionTitles flag
|
|
public uint SectionHeaderStyle;
|
|
|
|
// Style variables to be applied to section headers and numbering
|
|
// that are enabled by the ShowSectionTitles flag
|
|
public short SectionNumPos;
|
|
public byte SectionNumJust;
|
|
public short SectionHeaderPos;
|
|
public byte SectionHeaderJust;
|
|
public short SectionTitleLength;
|
|
|
|
// Indicates which substep types will NOT be influenced by the
|
|
// print flag DontPaginateOnFirstSubStep3X.
|
|
// Each bit position maps to the substep menu position where
|
|
// 0x01 is sequential, 0x02 is the AND, 0x04 is the OR, etc.
|
|
public short SubPaginationWght;
|
|
|
|
// Adjust the column position by this much of the substeps to the
|
|
// right of the TITLEWITHTEXTRIGHT substep type
|
|
public short TextTitleAdjustment;
|
|
|
|
// // Automatic Table of Contents format settings
|
|
public AutoTableOfContents AutoTOC;
|
|
|
|
// style used with VertPos - used for valve lineups and checklists formats
|
|
public uint VertStyle;
|
|
|
|
// column position of centered table on printed page
|
|
public byte []TableCenterPos = new byte[3];
|
|
|
|
// LeftJustSeqTab
|
|
// - left justify the tab derived from SeqTab
|
|
// (pad tab on the right side with blanks)
|
|
// public short []LeftJustSeqTab = new short[9];
|
|
|
|
// Specify the number of HLS's that will appear on the HLS choice menu.
|
|
// Ex. if set to 2, only the first two HLS menu choices will appear
|
|
public byte NumberOfHighLevelSteps;
|
|
|
|
// show only this many sub step types in the sub step menu
|
|
public short NumberOfSubStepTypes;
|
|
|
|
// set to the "Old to New Conversion" setting (ex: A1) of the Continuous
|
|
// Action Summary section set up in the Doc Style format file
|
|
public uint AutoContActSummarySection;
|
|
|
|
// IdentB - default bullet
|
|
// public string DefaultBullet;
|
|
public Txt DefaultBullet;
|
|
|
|
// SeqTab - the ". ", ") ", etc. that follows the sequential
|
|
// substep number/letter
|
|
// public string []SeqSubStpTabFmt = new string[9];
|
|
|
|
// procedure descriptor text (use in PageList)
|
|
public PrcDescript []ProcDescriptors = new PrcDescript[10];
|
|
|
|
// For version id text, DRAFT, APPROVED, TEMPORARY, etc.
|
|
// Used for pagelist token <VERSIONID>
|
|
// public string []VersionIdText = new string[5];
|
|
// public VerId []VersionIDText = new VerId[5];
|
|
public Txt []VersionIDText = new Txt[5];
|
|
|
|
// String to apprear before and after the procedure title in a transition.
|
|
// ex. quotes around the title
|
|
// public string DelimiterForTransitionTitle;
|
|
public Txt DelimiterForTransitionTitle;
|
|
|
|
// In transitions, delimit step number from substep letter, (ex 2.a vs 2a)
|
|
// public string StepSubstepDelimeter;
|
|
public Txt StepSubstepDelimeter;
|
|
|
|
// Used in Through Transitions: 3a through 3c.
|
|
// others: 3a. Thru 3c, 3a THROUGH 3c
|
|
// public string ThroughString;
|
|
public Txt ThroughString;
|
|
|
|
// char in proc number to flag suffix should be used
|
|
// - WPB, WPBA formats
|
|
// public string ProcedureSuffixFlags;
|
|
public Txt ProcedureSuffixFlags;
|
|
|
|
// text that will appear next to procedure number
|
|
// used by <PROCSUF> in Page List
|
|
// - WPB, WPBA formats
|
|
// public string []ProcedureSuffix = new string[10];
|
|
public Txt []ProcedureSuffix = new Txt[10];
|
|
|
|
// Text that appears at the top of the first page of the procedure steps
|
|
// public string TopOfPageThing;
|
|
public Txt TopOfPageThing;
|
|
|
|
// // PreSeqTab - text to pre-append to the substep's SeqTab
|
|
// // ex: "(" or "["
|
|
// // [9] levels of seqtab
|
|
// // [2] modes: [0] = edit screen, [1] = printed page
|
|
// public string [,]PreSeqSubStp = new string[9,2];
|
|
// public EditPrintStr []PreSeqSubStepTab = new EditPrintStr[9];
|
|
//
|
|
// // PostSeqTab - (ATA format only)
|
|
// // - append this text to end of the substep's SeqTab
|
|
// // [9] levels of seqtab
|
|
// // [2] modes: [0] = edit screen, [1] = printed page
|
|
// public string [,]PostSeqSubStp = new string[9,2];
|
|
// public EditPrintStr []PostSeqSubStepTab = new EditPrintStr[9];
|
|
|
|
// Printed below the last RNO in each step
|
|
// ex: "---------------------------"
|
|
// public string RNOSepString;
|
|
public Txt RNOSepString;
|
|
|
|
// Terminate underline if matches one of defined strings
|
|
// public string []UnderlineTerminate = new string[10];
|
|
public Txt []UnderlineTerminate = new Txt[10];
|
|
|
|
// printed before and after a group of Immediate actionsteps
|
|
// public string []ImmStepHdr = new string[2];
|
|
public Txt []ImmStepHdr = new Txt[2];
|
|
|
|
// override menu of HLS types (descriptions only)
|
|
// public string []AlternateStepTypes = new string[5];
|
|
public Txt []AlternateStepTypes = new Txt[5];
|
|
|
|
// override menu of substep types (descriptions)
|
|
// public string []AlternateSubTypes = new string[16];
|
|
public Txt []AlternateSubTypes = new Txt[16];
|
|
|
|
// // Holds the string "OBSERVE NOTE|CAUTION PRIOR TO STEP X"
|
|
// public string [,]ObserveNCString = new string[4,2];
|
|
// public EditPrintStr []ObserveNCString = new EditPrintStr[4];
|
|
public NCStr []ObserveNCString = new NCStr[4];
|
|
|
|
// public string PSInfFile; // Proc Specific Information file
|
|
public Txt PSInfFile; // Proc Specific Information file
|
|
|
|
// String to appear on the line following the high Level step text
|
|
// public string HLStpSeparatorString;
|
|
public Txt HLStpSeparatorString;
|
|
|
|
// String to appear on the line following the high level RNO step text
|
|
// public string HLRNOStpSeparatorString;
|
|
public Txt HLRNOStpSeparatorString;
|
|
|
|
// Used to tell the pagination logic how far up the lines array to process
|
|
// while looking for a place to break. The default will divide the max lines
|
|
// out by "2" to get the lower limit value.
|
|
// public string LowerLimitDivisor;
|
|
public Txt LowerLimitDivisor;
|
|
|
|
// used with Enhance Documents, this will be used for the step number when
|
|
// the user manually creates a new high level Enhanced Document step.
|
|
// public string NonLinkedStepNumber;
|
|
public Txt NonLinkedStepNumber;
|
|
|
|
// used with Enhanced Documents, this will be used for the caution or note
|
|
// tab when the user manually creates a new Enhanced Caution or Note
|
|
// public string NonLinkedCautNoteNumber;
|
|
public Txt NonLinkedCautNoteNumber;
|
|
|
|
// Name of directory for BG documents that print in duplex
|
|
// - Point Beach
|
|
// public string DuplexBGDirectory;
|
|
public Txt DuplexBGDirectory;
|
|
|
|
// Name of directory for Dev Documents that print in duplex
|
|
// - Point Beach
|
|
// public string DuplexDDDirectory;
|
|
public Txt DuplexDDDirectory;
|
|
|
|
// used with Enhanced Deviations, this will be used
|
|
// when the user does not link to an ERG step.
|
|
// public string NonLinkedRNONumber;
|
|
public Txt NonLinkedRNONumber;
|
|
|
|
// // Format variables based on STRUCTDEFTYPES (step types)
|
|
public fmtStep []StepDefinitions = new fmtStep[NUMStepTextTypes];
|
|
//
|
|
// // Define Note/Caution boxes
|
|
public fmtBox []BoxInfo = new fmtBox[MAXBOXES];
|
|
//
|
|
// // Define Step/substep tabs
|
|
public fmtTab []TabInfo = new fmtTab[MAXTABS];
|
|
|
|
// // Define override of default Note/Caution type menu
|
|
// public CautNoteTypesOverride []CautNoteMenuOverride = new CautNoteTypesOverride[10];
|
|
public MenuItem []CautNoteMenuOverride = new MenuItem[10];
|
|
|
|
// SeqTab definitions (substep tabs)
|
|
public SeqTab []SeqTabInfo = new SeqTab[9];
|
|
|
|
// // Define Replace Words list
|
|
public RplWord []ReplaceWordList = new RplWord[REPLACESIZE];
|
|
//
|
|
// // Override of default transition definitions
|
|
public TrnsDef []TransDefs = new TrnsDef[MAXTRANS];
|
|
//
|
|
// // Section related format settings
|
|
public SectLevSettings []SectionLevelSettings = new SectLevSettings[MAXSECLEVELS];
|
|
}
|
|
|
|
namespace procedureformat
|
|
{
|
|
public class fmtFormat
|
|
{
|
|
/// <summary>
|
|
/// The FMT file variable settings
|
|
/// </summary>
|
|
private BinaryReader brFmt;
|
|
private string fmtName;
|
|
private byte []AllStrings;
|
|
|
|
public fmtFormat(string nm)
|
|
{
|
|
fmtName = nm;
|
|
LoadFMTFile(nm);
|
|
}
|
|
private string GetStringFromAllStrings(int idx)
|
|
{
|
|
StringBuilder sb = new StringBuilder();
|
|
while (AllStrings[idx] != 0)
|
|
{
|
|
sb.Append(Convert.ToChar(AllStrings[idx]));
|
|
idx++;
|
|
}
|
|
// return sb.ToString();
|
|
return GetXMLElementText(sb.ToString());
|
|
}
|
|
|
|
private string GetXMLElementText(string instr)
|
|
{
|
|
string rtnstr;
|
|
XmlTextWriter xmlWriter;
|
|
StringWriter strWriter = new StringWriter();
|
|
xmlWriter = new XmlTextWriter(strWriter);
|
|
xmlWriter.WriteString(instr);
|
|
xmlWriter.Flush();
|
|
xmlWriter.Close();
|
|
rtnstr = strWriter.ToString();
|
|
|
|
// Replace the single quote because ODBC fails if it's in a string.
|
|
// The single quote represents the beg/end of a string when the string
|
|
// is sent to ODBC.
|
|
// *** COMMENT OUT FOR NOW - NOT SURE IF WE NEED TO DO THIS
|
|
//rtnstr = rtnstr.Replace("\'","'");
|
|
|
|
return rtnstr;
|
|
}
|
|
|
|
private string GetAsciiStringUntilNull(BinaryReader br)
|
|
{
|
|
StringBuilder inpstr = new StringBuilder();
|
|
byte input = 0;
|
|
int cnt = 0;
|
|
bool stillread = true;
|
|
do
|
|
{
|
|
try
|
|
{
|
|
input = br.ReadByte();
|
|
if (input==0) stillread=false;
|
|
inpstr.Append(Convert.ToChar(input));
|
|
}
|
|
catch (System.IO.EndOfStreamException)
|
|
{
|
|
stillread=false;
|
|
}
|
|
cnt++;
|
|
}while (stillread);
|
|
|
|
return (inpstr.ToString());
|
|
}
|
|
|
|
private string GetAsciiString(BinaryReader br, int len)
|
|
{
|
|
StringBuilder inpstr = new StringBuilder();
|
|
byte input = 0;
|
|
int cnt = 0;
|
|
do
|
|
{
|
|
try
|
|
{
|
|
input = br.ReadByte();
|
|
inpstr.Append(Convert.ToChar(input));
|
|
}
|
|
catch (System.IO.EndOfStreamException)
|
|
{
|
|
input = 0;
|
|
while (cnt < len)
|
|
{
|
|
inpstr.Append(Convert.ToChar(input));
|
|
cnt++;
|
|
}
|
|
}
|
|
cnt++;
|
|
}while (cnt < len);
|
|
|
|
return (inpstr.ToString());
|
|
}
|
|
|
|
public void LoadFMTFile(string fname)
|
|
{
|
|
FmtFileVars FmtVars = new FmtFileVars();
|
|
string str = null;
|
|
|
|
// read in title.
|
|
brFmt = new BinaryReader(File.Open(fname,System.IO.FileMode.Open,System.IO.FileAccess.ReadWrite,FileShare.ReadWrite));
|
|
short len = brFmt.ReadInt16();
|
|
string tstr = GetAsciiString(brFmt,len);
|
|
char []nulls = {Convert.ToChar(0)};
|
|
FmtVars.Title = tstr.TrimEnd(nulls);
|
|
|
|
// read in struct name/def name/page file name
|
|
// - ignore these.
|
|
for (int i=0;i<3;i++)
|
|
{
|
|
len = brFmt.ReadInt16();
|
|
str = GetAsciiString(brFmt,len);
|
|
}
|
|
|
|
// Get the number of Int's, Long's, Char's (bytes)
|
|
// - This is the number of bytes to the character strings part
|
|
// of the format file.
|
|
short numIntsLongsBytes = brFmt.ReadInt16();
|
|
|
|
// Read in all the Int, Long, and Char variable values
|
|
// for the FMT files. Get the order of the format variables
|
|
// from the FORMAT.STR file in the 16-bit code (\PROMSNT\FORMAT)
|
|
// and maps the old 16-bit variables with the 32-bit structures and classes
|
|
|
|
// short BytesReadIn = 0;
|
|
|
|
// the first format value is a place holder, read and ignore it.
|
|
byte skip_byte;
|
|
ushort skip_short;
|
|
uint skip_int;
|
|
|
|
// FirstChar
|
|
skip_byte = brFmt.ReadByte();
|
|
|
|
// XtraFlag[18]
|
|
// for (int i=0; i < 18; i++)
|
|
// FmtVars.XtraFlag[i] = brFmt.ReadUInt16();
|
|
FmtVars.FmtFlags.XtraFlag_0 = brFmt.ReadUInt16();
|
|
FmtVars.FmtFlags.XtraFlag_1 = brFmt.ReadUInt16();
|
|
FmtVars.FmtFlags.XtraFlag_2 = brFmt.ReadUInt16();
|
|
FmtVars.FmtFlags.XtraFlag_3 = brFmt.ReadUInt16();
|
|
FmtVars.FmtFlags.XtraFlag_4 = brFmt.ReadUInt16();
|
|
FmtVars.FmtFlags.XtraFlag_5 = brFmt.ReadUInt16();
|
|
FmtVars.FmtFlags.XtraFlag_6 = brFmt.ReadUInt16();
|
|
FmtVars.FmtFlags.XtraFlag_7 = brFmt.ReadUInt16();
|
|
FmtVars.FmtFlags.XtraFlag_8 = brFmt.ReadUInt16();
|
|
FmtVars.FmtFlags.XtraFlag_9 = brFmt.ReadUInt16();
|
|
FmtVars.FmtFlags.XtraFlag_10 = brFmt.ReadUInt16();
|
|
FmtVars.FmtFlags.XtraFlag_11 = brFmt.ReadUInt16();
|
|
FmtVars.FmtFlags.XtraFlag_12 = brFmt.ReadUInt16();
|
|
FmtVars.FmtFlags.XtraFlag_13 = brFmt.ReadUInt16();
|
|
FmtVars.FmtFlags.XtraFlag_14 = brFmt.ReadUInt16();
|
|
FmtVars.FmtFlags.XtraFlag_15 = brFmt.ReadUInt16();
|
|
FmtVars.FmtFlags.XtraFlag_16 = brFmt.ReadUInt16();
|
|
FmtVars.FmtFlags.XtraFlag_17 = brFmt.ReadUInt16();
|
|
|
|
// VEAIRFlag
|
|
// FmtVars.VEAIRFlag = brFmt.ReadUInt16();
|
|
FmtVars.FmtFlags.VEAIRFlag = brFmt.ReadUInt16();
|
|
|
|
// PurchaseOption
|
|
// FmtVars.PurchaseOptions = brFmt.ReadUInt16();
|
|
FmtVars.FmtFlags.PurchaseOptions = brFmt.ReadUInt16();
|
|
|
|
// EMode
|
|
skip_short = brFmt.ReadUInt16();
|
|
FmtVars.Emode = (skip_short == 1);
|
|
|
|
// TopRow
|
|
FmtVars.TopRow = brFmt.ReadInt16();
|
|
|
|
// Appendlines (ANO, V.C. Summer)
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// DoPrnDrvrAdjusts
|
|
skip_short = brFmt.ReadUInt16();
|
|
FmtVars.DoPrintDriverAdjustments = (skip_short == 1);
|
|
|
|
// STStyle[STRUCTDEFTYPES]
|
|
for (int i=0; i < FmtVars.NumStepSubStepTypes; i++)
|
|
FmtVars.StepDefinitions[i].TextStyle = brFmt.ReadUInt32();
|
|
|
|
// Att[STRUCTDEFTYPES] (atribute)
|
|
for (int i=0;i<FmtVars.NumStepSubStepTypes;i++)
|
|
FmtVars.StepDefinitions[i].Color = brFmt.ReadUInt16();
|
|
|
|
// STExtralines[STRUCTDEFTYPES]
|
|
for (int i=0;i<FmtVars.NumStepSubStepTypes;i++)
|
|
FmtVars.StepDefinitions[i].BlankLinesAfter = brFmt.ReadInt16();
|
|
|
|
// STBoxindex[STRUCTDEFTYPES]
|
|
for (int i=0;i<FmtVars.NumStepSubStepTypes;i++)
|
|
FmtVars.StepDefinitions[i].BxInfoIdx = brFmt.ReadInt16();
|
|
|
|
//STTabsindex[STRUCTDEFTYPES]
|
|
for (int i=0;i<FmtVars.NumStepSubStepTypes;i++)
|
|
FmtVars.StepDefinitions[i].TabIndex = brFmt.ReadInt16();
|
|
|
|
// PrintPosAdjust[STRUCTDEFTYPES]
|
|
for (int i=0;i<FmtVars.NumStepSubStepTypes;i++)
|
|
FmtVars.StepDefinitions[i].PrintPosAdjust = brFmt.ReadInt16();
|
|
|
|
// BXStart[MAXBOXES]
|
|
for (int i=0;i<FmtVars.MaxNumBoxes;i++)
|
|
FmtVars.BoxInfo[i].BoxStart = brFmt.ReadInt16();
|
|
|
|
// BXEnd[MAXBOXES]
|
|
for (int i=0;i<FmtVars.MaxNumBoxes;i++)
|
|
FmtVars.BoxInfo[i].BoxEnd = brFmt.ReadInt16();
|
|
|
|
// BXTxtStart[MAXBOXES]
|
|
for (int i=0;i<FmtVars.MaxNumBoxes;i++)
|
|
FmtVars.BoxInfo[i].BoxTextStart = brFmt.ReadInt16();
|
|
|
|
// BXTxtWidth[MAXBOXES]
|
|
for (int i=0;i<FmtVars.MaxNumBoxes;i++)
|
|
FmtVars.BoxInfo[i].BoxTextWidth = brFmt.ReadInt16();
|
|
|
|
// BXHeight[MAXBOXES]
|
|
for (int i=0;i<FmtVars.MaxNumBoxes;i++)
|
|
FmtVars.BoxInfo[i].BoxHeight = brFmt.ReadInt16();
|
|
|
|
// BXTabPos[MAXBOXES]
|
|
for (int i=0;i<FmtVars.MaxNumBoxes;i++)
|
|
FmtVars.BoxInfo[i].BoxTabPos = brFmt.ReadInt16();
|
|
|
|
// TransitionCautionOffset - V.C. Summer
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// BXStyle[MAXBOXES]
|
|
for (int i=0;i<FmtVars.MaxNumBoxes;i++)
|
|
FmtVars.BoxInfo[i].BoxStyle = brFmt.ReadUInt32();
|
|
|
|
// TBStyle[MAXTABS]
|
|
for (int i=0;i<FmtVars.MaxTabs;i++)
|
|
FmtVars.TabInfo[i].TbStyle = brFmt.ReadUInt32();
|
|
|
|
// AcTable[STRUCTDEFTYPES]
|
|
for (int i=0;i<FmtVars.NumStepSubStepTypes;i++)
|
|
FmtVars.StepDefinitions[i].AccessableTypes = brFmt.ReadUInt16();
|
|
|
|
// EveryNLines[STRUCTDEFTYPES]
|
|
for (int i=0;i<FmtVars.NumStepSubStepTypes;i++)
|
|
{
|
|
FmtVars.StepDefinitions[i].BlankLineAfterGroupOf = brFmt.ReadInt16();
|
|
}
|
|
|
|
// AlwaysUpperCase[STRUCTDEFTYPES]
|
|
for (int i=0;i<FmtVars.NumStepSubStepTypes;i++)
|
|
{
|
|
skip_short = brFmt.ReadUInt16();
|
|
FmtVars.StepDefinitions[i].UpperCaseTrans = (skip_short == 1);
|
|
}
|
|
|
|
// TopOfPageThingStyle
|
|
FmtVars.TopOfPageThingStyle = brFmt.ReadUInt32();
|
|
|
|
// TopOfPageThingRow
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// TopOfPageThingCol
|
|
FmtVars.TopOfPageThingCol = brFmt.ReadInt16();
|
|
|
|
//ModifiedText
|
|
FmtVars.ModifiedTextSytle = brFmt.ReadUInt32();
|
|
|
|
// SeparatorStyle
|
|
FmtVars.SeparatorStyle = brFmt.ReadUInt32();
|
|
|
|
// SeparatorLocation
|
|
FmtVars.SeparatorLocation = brFmt.ReadInt16();
|
|
|
|
// PageBreakAtTypeChange[STRUCTDEFTYPES]
|
|
for (int i=0;i<FmtVars.NumStepSubStepTypes;i++)
|
|
{
|
|
skip_short = brFmt.ReadUInt16();
|
|
FmtVars.StepDefinitions[i].PageBreakAtTypeChange = (skip_short == 1);
|
|
}
|
|
|
|
// LastLineToStartStep
|
|
FmtVars.LastLineToStartStep = brFmt.ReadInt16();
|
|
|
|
// TextTypeValue[10]
|
|
for (int i=0;i<10;i++)
|
|
{
|
|
FmtVars.CautNoteMenuOverride[i].TextTypeValue = brFmt.ReadInt16();
|
|
}
|
|
|
|
// DontPrintInSection[1]
|
|
for (int i=0;i<10;i++)
|
|
skip_int = brFmt.ReadUInt32();
|
|
|
|
// LeftMarginReset
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// OmitErgEopUsage
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// LineDrawingOption
|
|
skip_short = brFmt.ReadUInt16();
|
|
FmtVars.LineDrawingOption = true; // alway set to true
|
|
|
|
// ColS
|
|
FmtVars.HLSTextStartPos = brFmt.ReadInt16();
|
|
|
|
// ColSScreenAdj
|
|
FmtVars.HLSTextStartPosScrnAdj = brFmt.ReadInt16();
|
|
|
|
//ScrnAdjRNOText
|
|
FmtVars.RNOTextStartPosScrnAdj = brFmt.ReadInt16();
|
|
|
|
// ColT
|
|
FmtVars.CautNoteTextStart = brFmt.ReadInt16();
|
|
|
|
// ColTincr
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// ColTab
|
|
skip_short =brFmt.ReadUInt16();
|
|
|
|
// ColAbs
|
|
FmtVars.DefaultHLSTextPos = brFmt.ReadInt16();
|
|
|
|
// WidT
|
|
FmtVars.CautNoteTextWidth = brFmt.ReadInt16();
|
|
|
|
// WidTab
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// PMode
|
|
FmtVars.NumColumns = brFmt.ReadInt16();
|
|
|
|
//MaxRNO
|
|
FmtVars.DefaultNumRNOColumns = brFmt.ReadInt16();
|
|
|
|
// MaxRNOTable[3]
|
|
// for (int i=0;i<3;i++)
|
|
// FmtVars.MaxRNOTable[i] = brFmt.ReadInt16();
|
|
FmtVars.MaxRNOTable.OneColumn = brFmt.ReadInt16();
|
|
FmtVars.MaxRNOTable.TwoColumn = brFmt.ReadInt16();
|
|
FmtVars.MaxRNOTable.ThreeColumn = brFmt.ReadInt16();
|
|
|
|
// ColrTable[3]
|
|
// for (int i=0;i<3;i++)
|
|
// FmtVars.StartRNOPosition[i] = brFmt.ReadInt16();
|
|
FmtVars.StartRNOPosition.OneColumn = brFmt.ReadInt16();
|
|
FmtVars.StartRNOPosition.TwoColumn = brFmt.ReadInt16();
|
|
FmtVars.StartRNOPosition.ThreeColumn = brFmt.ReadInt16();
|
|
|
|
// // WidSTable[3][2]
|
|
FmtVars.HLSwidth.OneColumn.Edit = brFmt.ReadInt16();
|
|
FmtVars.HLSwidth.OneColumn.Print = brFmt.ReadInt16();
|
|
FmtVars.HLSwidth.TwoColumns.Edit = brFmt.ReadInt16();
|
|
FmtVars.HLSwidth.TwoColumns.Print = brFmt.ReadInt16();
|
|
FmtVars.HLSwidth.ThreeColumns.Edit = brFmt.ReadInt16();
|
|
FmtVars.HLSwidth.ThreeColumns.Print = brFmt.ReadInt16();
|
|
// for (int i=0;i<3;i++)
|
|
// {
|
|
// FmtVars.HLSwidth[i].EditWidth = brFmt.ReadInt16();
|
|
// FmtVars.HLSwidth[i].PrintWidth = brFmt.ReadInt16();
|
|
// }
|
|
|
|
// for (int j=0;j<2;j++)
|
|
// FmtVars.HLSwidth[i,j] = brFmt.ReadInt16();
|
|
|
|
// ColRScreen[3]
|
|
// for (int i=0;i<3;i++)
|
|
// FmtVars.StartRNOPosScrnAdj = brFmt.ReadInt16();
|
|
FmtVars.StartRNOPosScrnAdj.OneColumn = brFmt.ReadInt16();
|
|
FmtVars.StartRNOPosScrnAdj.TwoColumn = brFmt.ReadInt16();
|
|
FmtVars.StartRNOPosScrnAdj.ThreeColumn = brFmt.ReadInt16();
|
|
|
|
//AdjRNOCol
|
|
FmtVars.RNOPositionAdj = brFmt.ReadInt16();
|
|
|
|
// ChangeBarMessage
|
|
FmtVars.ChangeBarSettings.ChgBarType = brFmt.ReadInt16();
|
|
|
|
// FixedChangeColumn
|
|
FmtVars.ChangeBarSettings.FixedChangeColumn = brFmt.ReadInt16();
|
|
|
|
// FixedAERChangeColumn
|
|
FmtVars.ChangeBarSettings.FixAERChangeColumn = brFmt.ReadByte();
|
|
|
|
// BD_PageNumOnCover[3]
|
|
for (int i=0; i<3; i++)
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// VeSearchLeftMargin
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// VeStdPrtLeftMarE
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
//VeStdPrtLeftMarP
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
//ImperfectStructureSepStyle
|
|
skip_int = brFmt.ReadUInt32();
|
|
|
|
//FormsLPI
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
//FormsStyle
|
|
skip_int = brFmt.ReadUInt32();
|
|
|
|
//FormsBoxStyle
|
|
skip_int = brFmt.ReadUInt32();
|
|
|
|
//FormsMargin
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
//ChangeSummaryLPI
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// ChangeSummaryStyle
|
|
FmtVars.ChangeSummaryStyle = brFmt.ReadUInt32();
|
|
|
|
// ChangeBarStyle
|
|
FmtVars.ChangeBarSettings.ChgBarStyle = brFmt.ReadUInt32();
|
|
|
|
// XPosition[3][10]
|
|
for (int i=0;i<3;i++)
|
|
for(int j=0;j<10;j++)
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// TitleLength
|
|
FmtVars.TitleWidthBeforeSplitting = brFmt.ReadInt16();
|
|
|
|
// CoverTitleLength
|
|
FmtVars.CoverPgTitleWidthBeforeSplit = brFmt.ReadInt16();
|
|
|
|
// RightCheckOffBox[4]
|
|
FmtVars.CheckOffSettings.AERCheckoffBoxPosition = brFmt.ReadInt16();
|
|
FmtVars.CheckOffSettings.RNOCheckoffBoxPosition = brFmt.ReadInt16();
|
|
FmtVars.CheckOffSettings.CommitmentMarkPosition = brFmt.ReadInt16();
|
|
FmtVars.CheckOffSettings.UserSelectedCheckoffPosition = brFmt.ReadInt16();
|
|
|
|
// FmtVars.CheckOffSettings.CheckoffBoxPosition = new short[4];
|
|
// for (int i=0; i < 4; i++)
|
|
// FmtVars.CheckOffSettings.CheckoffBoxPosition[i] = brFmt.ReadInt16();
|
|
|
|
//TwoCheckOffs
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// RightCheckOffChars[MAXCHECKOFFS]
|
|
FmtVars.CheckOffSettings.ChkOffScreenNotation = new byte[FmtVars.CheckOffSettings.maxcheckoffs];
|
|
for (int i=0;i<FmtVars.CheckOffSettings.maxcheckoffs;i++)
|
|
FmtVars.CheckOffSettings.ChkOffScreenNotation[i] = brFmt.ReadByte();
|
|
|
|
// CheckoffXtraLines[MAXCHECKOFFS]
|
|
for (int i=0;i<FmtVars.CheckOffSettings.maxcheckoffs;i++)
|
|
skip_byte = brFmt.ReadByte();
|
|
|
|
// CheckOffWidAdjust[MAXCHECKOFFS]
|
|
FmtVars.CheckOffSettings.WidthAdjustment = new byte[FmtVars.CheckOffSettings.maxcheckoffs];
|
|
for (int i=0;i<FmtVars.CheckOffSettings.maxcheckoffs;i++)
|
|
FmtVars.CheckOffSettings.WidthAdjustment[i] = brFmt.ReadByte();
|
|
|
|
// CheckoffFeatures[MAXCHECKOFFS]
|
|
for (int i=0;i<FmtVars.CheckOffSettings.maxcheckoffs;i++)
|
|
skip_byte = brFmt.ReadByte();
|
|
|
|
// CheckOffHeadStyle[MAXCHKHEADINGS]
|
|
// FmtVars.CheckOffSettings.ChkOffHeaderStyle_0 = brFmt.ReadUInt32();
|
|
// FmtVars.CheckOffSettings.ChkOffHeaderStyle_1 = brFmt.ReadUInt32();
|
|
// FmtVars.CheckOffSettings.ChkOffHeaderStyle_2 = brFmt.ReadUInt32();
|
|
// FmtVars.CheckOffSettings.ChkOffHeaderStyle_3 = brFmt.ReadUInt32();
|
|
// FmtVars.CheckOffSettings.ChkOffHeaderStyle_4 = brFmt.ReadUInt32();
|
|
FmtVars.CheckOffSettings.ChkOffHeaderStyle = new ChkOffSytle[FmtVars.CheckOffSettings.MaxCheckoffHeadings];
|
|
// FmtVars.CheckOffSettings.ChkOffHeaderStyle = new uint[FmtVars.CheckOffSettings.MaxCheckoffHeadings];
|
|
for (int i=0;i<FmtVars.CheckOffSettings.MaxCheckoffHeadings;i++)
|
|
// FmtVars.CheckOffSettings.ChkOffHeaderStyle[i] = brFmt.ReadUInt32();
|
|
FmtVars.CheckOffSettings.ChkOffHeaderStyle[i].Style=brFmt.ReadUInt32();
|
|
|
|
// UseCheckOffIn
|
|
FmtVars.CheckOffSettings.UseCheckOffsInTheseSections = brFmt.ReadInt32();
|
|
|
|
//SmartSubSection
|
|
skip_int = brFmt.ReadUInt32();
|
|
|
|
// EndMessagePos
|
|
FmtVars.EndMessageCenterPos = brFmt.ReadInt16();
|
|
|
|
// CenterTableAdjustment
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// NumberOfLinesForNoteOrCaution
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
//SeqStart[9]
|
|
for (int i=0;i<9;i++)
|
|
// FmtVars.SeqStart[i] = brFmt.ReadByte();
|
|
FmtVars.SeqTabInfo[i].SeqStart = brFmt.ReadByte();
|
|
|
|
// HighSeqStart
|
|
FmtVars.HighSeqStart = brFmt.ReadByte();
|
|
|
|
// IndentToken
|
|
FmtVars.IndentToken = brFmt.ReadByte();
|
|
|
|
// ImmStepHdrCol
|
|
FmtVars.ImmStepHdrCol = brFmt.ReadInt16();
|
|
|
|
// ImmStepHdrStyle
|
|
FmtVars.ImmStepHdrStyle =brFmt.ReadUInt32();
|
|
|
|
// ReplaceFlag[REPLACESIZE]
|
|
for (int i=0; i < FmtVars.MaxReplaceItems; i++)
|
|
FmtVars.ReplaceWordList[i].ReplaceFlag = brFmt.ReadUInt32();
|
|
|
|
// RNOWidthAlt[2]
|
|
// for (int i=0; i < 2; i++)
|
|
// FmtVars.RNOWidthAlt[i] = brFmt.ReadInt16();
|
|
FmtVars.RNOWidthAlt.FirstColumn = brFmt.ReadInt16();
|
|
FmtVars.RNOWidthAlt.SecondColumn = brFmt.ReadInt16();
|
|
|
|
// HLSWidthOVRD
|
|
FmtVars.HLSWidthOVRD = brFmt.ReadInt16();
|
|
|
|
// SecColHdrforActPMode
|
|
FmtVars.SecColHdrforActPmode = brFmt.ReadInt16();
|
|
|
|
// AlignWithParentTab[STRUCTDEFTYPES]
|
|
for (int i=0;i<FmtVars.NumStepSubStepTypes;i++)
|
|
{
|
|
skip_byte = brFmt.ReadByte();
|
|
FmtVars.StepDefinitions[i].AlignWithParentTab = (skip_byte.Equals(1));
|
|
}
|
|
|
|
//SectionNumberingStyle
|
|
FmtVars.SectionNumberingStyle = brFmt.ReadUInt32();
|
|
|
|
// SectionHeaderStyle
|
|
FmtVars.SectionHeaderStyle = brFmt.ReadUInt32();
|
|
|
|
// SectionNumPos
|
|
FmtVars.SectionNumPos = brFmt.ReadInt16();
|
|
|
|
// SectionNumJust
|
|
FmtVars.SectionNumJust = brFmt.ReadByte();
|
|
|
|
//SectionHeaderPos
|
|
FmtVars.SectionHeaderPos = brFmt.ReadInt16();
|
|
|
|
//SectionHeaderjust
|
|
FmtVars.SectionHeaderJust = brFmt.ReadByte();
|
|
|
|
//SectionLevelDelta[MAXSECLEVELS]
|
|
for (int i=0;i<FmtVars.MaxSectionLevels;i++)
|
|
skip_byte = brFmt.ReadByte();
|
|
|
|
// SectionTitleLength
|
|
FmtVars.SectionTitleLength = brFmt.ReadInt16();
|
|
|
|
// OffsetPageCount
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// RtCheckOffGroups[STRUCTDEFTYPES]
|
|
for(int i=0;i<FmtVars.NumStepSubStepTypes;i++)
|
|
FmtVars.StepDefinitions[i].ChkOffGroups = brFmt.ReadInt16();
|
|
|
|
// TypeGroups[MAXTYPEGROUPS][MAXTYPEGROUPS]
|
|
for(int i=0;i<FmtVars.MaxTypeGroups;i++)
|
|
{
|
|
for (int j=0;j<FmtVars.MaxTypeGroups;j++)
|
|
skip_short = brFmt.ReadUInt16();
|
|
}
|
|
|
|
// EnhancedSubType[MAXENHANCEDTYPE]
|
|
for (int i=0;i<FmtVars.MaxEnhancedTypes;i++)
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// SubPaginationWght
|
|
FmtVars.SubPaginationWght = brFmt.ReadInt16();
|
|
|
|
// TextTitleAdjustment
|
|
FmtVars.TextTitleAdjustment = brFmt.ReadInt16();
|
|
|
|
// STAfterlines[STRUCTDEFTYPES]
|
|
for(int i=0;i<FmtVars.NumStepSubStepTypes;i++)
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// TransType[MAXTRANS]
|
|
for(int i=0;i<FmtVars.MaxTrans;i++)
|
|
FmtVars.TransDefs[i].TransType = brFmt.ReadByte();
|
|
|
|
// TransMode[MAXTRANS]
|
|
for(int i=0;i<FmtVars.MaxTrans;i++)
|
|
skip_byte = brFmt.ReadByte();
|
|
|
|
// OutsideTransType[MAXTRANS]
|
|
for(int i=0;i<FmtVars.MaxTrans;i++)
|
|
skip_byte = brFmt.ReadByte();
|
|
|
|
// StepTypeWidthOverride[STRUCTDEFTYPES]
|
|
for (int i=0;i<FmtVars.NumStepSubStepTypes;i++)
|
|
FmtVars.StepDefinitions[i].WidthOverride = brFmt.ReadInt16();
|
|
|
|
// TofCSecNumPos
|
|
FmtVars.AutoTOC.SecNumPos = brFmt.ReadByte();
|
|
|
|
// TofCSecTitlePos
|
|
FmtVars.AutoTOC.SecTitlePos = brFmt.ReadByte();
|
|
|
|
// TofCSecTitlePos2
|
|
skip_byte = brFmt.ReadByte();
|
|
|
|
// TofCSecTitleLen
|
|
FmtVars.AutoTOC.SecTitleLen = brFmt.ReadByte();
|
|
|
|
// TofCPageNumPos
|
|
FmtVars.AutoTOC.PageNumPos = brFmt.ReadByte();
|
|
|
|
// TofCSpaceChar
|
|
FmtVars.AutoTOC.SpaceChar = brFmt.ReadByte();
|
|
|
|
// TofCLineSpacing
|
|
FmtVars.AutoTOC.LineSpacing = brFmt.ReadByte();
|
|
|
|
// TofCFont
|
|
FmtVars.AutoTOC.Font = brFmt.ReadByte();
|
|
|
|
// SkipStepType[STRUCTDEFTYPE]
|
|
for (int i=0;i<FmtVars.NumStepSubStepTypes;i++)
|
|
skip_byte = brFmt.ReadByte();
|
|
|
|
// CheckOffAdjustment
|
|
FmtVars.CheckOffSettings.PosAdjustment = brFmt.ReadByte();
|
|
|
|
// ColsAdjustInS2
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// SeriesTitleLength
|
|
skip_byte =brFmt.ReadByte();
|
|
|
|
// VertPos[STRUCTDEFTYPES][15]
|
|
|
|
for (int i=0;i<FmtVars.NumStepSubStepTypes;i++)
|
|
{
|
|
FmtVars.StepDefinitions[i].VertPos = new byte[15];
|
|
for(int j=0;j<15;j++)
|
|
FmtVars.StepDefinitions[i].VertPos[j] = brFmt.ReadByte();
|
|
}
|
|
|
|
// VertStyle
|
|
FmtVars.VertStyle = brFmt.ReadUInt32();
|
|
|
|
// TableCenterPos[3]
|
|
for(int i=0;i<3;i++)
|
|
FmtVars.TableCenterPos[i] = brFmt.ReadByte();
|
|
|
|
// LeftJustSeqTab[9]
|
|
for(int i=0;i<9;i++)
|
|
// FmtVars.LeftJustSeqTab[i] = brFmt.ReadInt16();
|
|
FmtVars.SeqTabInfo[i].LeftJustSeqTab = brFmt.ReadInt16();
|
|
|
|
// SecNumPositionAdj[MAXSECLEVELS]
|
|
for(int i=0; i < FmtVars.MaxSectionLevels; i++)
|
|
FmtVars.SectionLevelSettings[i].SecNumPositionAdj = brFmt.ReadByte();
|
|
|
|
// SecTitlePositionAdj[MAXSECLEVELS]
|
|
for(int i=0;i<FmtVars.MaxSectionLevels;i++)
|
|
FmtVars.SectionLevelSettings[i].SecTitlePositionAdj = brFmt.ReadByte();
|
|
|
|
// ColSByLevel[MAXSECLEVELS]
|
|
for(int i=0;i<FmtVars.MaxSectionLevels;i++)
|
|
FmtVars.SectionLevelSettings[i].ColSByLevel = brFmt.ReadByte();
|
|
|
|
// TofCPositionAdj[MAXSECLEVELS]
|
|
for(int i=0;i<FmtVars.MaxSectionLevels;i++)
|
|
FmtVars.SectionLevelSettings[i].TofCPositionAdj = brFmt.ReadByte();
|
|
|
|
// WidSAdjByLevel[MAXSECLEVELS]
|
|
for(int i=0;i<FmtVars.MaxSectionLevels;i++)
|
|
FmtVars.SectionLevelSettings[i].WidSAdjByLevel = brFmt.ReadByte();
|
|
|
|
// NumberOfHighLevelSteps
|
|
FmtVars.NumberOfHighLevelSteps = brFmt.ReadByte();
|
|
|
|
// BXTxtRowAdj[MAXBOXES]
|
|
for(int i=0;i<FmtVars.MaxNumBoxes;i++)
|
|
FmtVars.BoxInfo[i].BoxTextRowAdj = brFmt.ReadByte();
|
|
|
|
// StepTypeColOverride[STRUCTDEFTYPES]
|
|
for (int i=0;i<FmtVars.NumStepSubStepTypes;i++)
|
|
FmtVars.StepDefinitions[i].ColOverride = brFmt.ReadInt16();
|
|
|
|
// NumberOfSubStepTypes
|
|
FmtVars.NumberOfSubStepTypes = brFmt.ReadInt16();
|
|
|
|
// AutoContActSumSection
|
|
FmtVars.AutoContActSummarySection = brFmt.ReadUInt32();
|
|
|
|
// LastChar
|
|
skip_byte = brFmt.ReadByte();
|
|
|
|
// FirstString
|
|
// skip_short = brFmt.ReadUInt16();
|
|
|
|
/***
|
|
** The next part of the compiled format file contains all of the strings
|
|
** used in this format. Note that duplicat strings are not repeated.
|
|
** Instead, duplicat strings reference the same occurence of that string.
|
|
***/
|
|
|
|
// Read in the number of strings (we can ignor this)
|
|
short NumStrings = brFmt.ReadInt16();
|
|
|
|
// Read in the number of bytes the block of the strings take up in the file
|
|
short NumBytes = brFmt.ReadInt16();
|
|
|
|
// Put all of the strings in one big byte array
|
|
AllStrings = new byte[NumBytes];
|
|
AllStrings = brFmt.ReadBytes(NumBytes);
|
|
|
|
/***
|
|
** The last part of the compiled format file contains references into
|
|
** the block of strings - for each string (char *) format variable.
|
|
***/
|
|
|
|
// Read the offset into the byte array and assign the string at that
|
|
// position to the corresponding format variable
|
|
short offset;
|
|
|
|
// FirstString
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// BXChar[MAXBOXES][NUMBOXCHARS]
|
|
for (int i=0;i<FmtVars.MaxNumBoxes;i++)
|
|
{
|
|
// FmtVars.BoxInfo[i].BoxChar = new string[FmtVars.BoxInfo[i].NumBoxChars];
|
|
FmtVars.BoxInfo[i].BoxChar = new Txt[FmtVars.BoxInfo[i].NumBoxChars];
|
|
for(int j=0;j<FmtVars.BoxInfo[i].NumBoxChars;j++)
|
|
{
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.BoxInfo[i].BoxChar[j] = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.BoxInfo[i].BoxChar[j].Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.BoxInfo[i].BoxChar[j].Text = GetStringFromAllStrings(offset-1);
|
|
}
|
|
}
|
|
|
|
// TBIdent[MAXTABS][2]
|
|
for (int i=0; i < FmtVars.MaxTabs; i++)
|
|
{
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.TabInfo[i].TabFmt.ForEdit = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.TabInfo[i].TabFmt.ForEdit.Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.TabInfo[i].TabFmt.ForEdit.Text = GetStringFromAllStrings(offset-1);
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.TabInfo[i].TabFmt.ForPrint = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.TabInfo[i].TabFmt.ForPrint.Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.TabInfo[i].TabFmt.ForPrint.Text = GetStringFromAllStrings(offset-1);
|
|
}
|
|
// for (int j=0; j < 2; j++)
|
|
// {
|
|
// offset = brFmt.ReadInt16();
|
|
// if (offset > 0)
|
|
// FmtVars.TabInfo[i].TabFmt[j] = GetStringFromAllStrings(offset-1);
|
|
// }
|
|
|
|
// Sep[STRUCTDEFTYPES]
|
|
for (int i=0;i<FmtVars.NumStepSubStepTypes;i++)
|
|
{
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.StepDefinitions[i].SeparatorText = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.StepDefinitions[i].SeparatorText.Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.StepDefinitions[i].SeparatorText.Text = GetStringFromAllStrings(offset-1);
|
|
}
|
|
|
|
// StepPrefix[STRUCTDEFTYPES]
|
|
for (int i=0;i<FmtVars.NumStepSubStepTypes;i++)
|
|
{
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.StepDefinitions[i].PrefixText = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.StepDefinitions[i].PrefixText.Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.StepDefinitions[i].PrefixText.Text = GetStringFromAllStrings(offset-1);
|
|
}
|
|
|
|
// StepSuffix[STRUCTDEFTYPES]
|
|
for (int i=0;i<FmtVars.NumStepSubStepTypes;i++)
|
|
{
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.StepDefinitions[i].SuffixText = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.StepDefinitions[i].SuffixText.Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.StepDefinitions[i].SuffixText.Text = GetStringFromAllStrings(offset-1);
|
|
}
|
|
|
|
// IdentB
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.DefaultBullet = GetStringFromAllStrings(offset-1);
|
|
FmtVars.DefaultBullet.Text = GetStringFromAllStrings(offset-1);
|
|
|
|
// SeqTab[9]
|
|
for (int i=0; i<9; i++)
|
|
{
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.SeqSubStpTabFmt[i] = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.SeqTabInfo[i].SeqSubStpTabFmt = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.SeqTabInfo[i].SeqSubStpTabFmt.Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.SeqTabInfo[i].SeqSubStpTabFmt.Text = GetStringFromAllStrings(offset-1);
|
|
}
|
|
|
|
// ReplaceWord[REPLACESIZE]
|
|
for (int i=0;i<FmtVars.MaxReplaceItems; i++)
|
|
{
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.ReplaceWordList[i].ReplaceWord = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.ReplaceWordList[i].ReplaceWord.Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.ReplaceWordList[i].ReplaceWord.Text = GetStringFromAllStrings(offset-1);
|
|
}
|
|
|
|
// ReplaceWith[REPLACESIZE]
|
|
for (int i=0;i<FmtVars.MaxReplaceItems; i++)
|
|
{
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.ReplaceWordList[i].ReplaceWith = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.ReplaceWordList[i].ReplaceWith.Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.ReplaceWordList[i].ReplaceWith.Text = GetStringFromAllStrings(offset-1);
|
|
}
|
|
|
|
// MatchProcNumber[10]
|
|
for (int i=0;i<10;i++)
|
|
{
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.ProcDescriptors[i].MatchProcNumber = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.ProcDescriptors[i].MatchProcNumber.Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.ProcDescriptors[i].MatchProcNumber.Text = GetStringFromAllStrings(offset-1);
|
|
}
|
|
|
|
// ProcDescriptor[10]
|
|
for (int i=0;i<10;i++)
|
|
{
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.ProcDescriptors[i].ProcDescriptor = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.ProcDescriptors[i].ProcDescriptor.Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.ProcDescriptors[i].ProcDescriptor.Text = GetStringFromAllStrings(offset-1);
|
|
}
|
|
|
|
// ProcDescriptor2[10]
|
|
for (int i=0;i<10;i++)
|
|
{
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.ProcDescriptors[i].ProcDescriptor2 = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.ProcDescriptors[i].ProcDescriptor2.Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.ProcDescriptors[i].ProcDescriptor2.Text = GetStringFromAllStrings(offset-1);
|
|
}
|
|
|
|
// VersionIdText[5]
|
|
for (int i=0; i<5; i++)
|
|
{
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.VersionIdText[i] = GetStringFromAllStrings(offset-1);
|
|
FmtVars.VersionIDText[i].Text = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.VersionIDText[i].Item = GetStringFromAllStrings(offset-1);
|
|
}
|
|
|
|
// DelimiterForTransitionTitle
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.DelimiterForTransitionTitle = GetStringFromAllStrings(offset-1);
|
|
FmtVars.DelimiterForTransitionTitle.Text = GetStringFromAllStrings(offset-1);
|
|
|
|
// SetpSubstepDelimeter
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.StepSubstepDelimeter = GetStringFromAllStrings(offset-1);
|
|
FmtVars.StepSubstepDelimeter.Text = GetStringFromAllStrings(offset-1);
|
|
|
|
//ThroughString
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.ThroughString = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.ThroughString.Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.ThroughString.Text = GetStringFromAllStrings(offset-1);
|
|
|
|
// ProcedureSuffixFlags
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.ProcedureSuffixFlags = GetStringFromAllStrings(offset-1);
|
|
FmtVars.ProcedureSuffixFlags.Text = GetStringFromAllStrings(offset-1);
|
|
|
|
// ProcedureSuffix[10]
|
|
for (int i=0;i<10;i++)
|
|
{
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.ProcedureSuffix[i] = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.ProcedureSuffix[i].Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.ProcedureSuffix[i].Text = GetStringFromAllStrings(offset-1);
|
|
}
|
|
|
|
// PlantDnLoad
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// TopOfPageThing
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.TopOfPageThing = GetStringFromAllStrings(offset-1);
|
|
FmtVars.TopOfPageThing.Text = GetStringFromAllStrings(offset-1);
|
|
|
|
// XTitle[3][10]
|
|
for (int i=0; i < 30; i++)
|
|
skip_short= brFmt.ReadUInt16();
|
|
|
|
// TextType[10]
|
|
for(int i=0;i<10;i++)
|
|
{
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.CautNoteMenuOverride[i].TextType = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.CautNoteMenuOverride[i].TextType.Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.CautNoteMenuOverride[i].TextType.Text = GetStringFromAllStrings(offset-1);
|
|
}
|
|
|
|
// SectionsToPrint[10]
|
|
for (int i=0; i < 10; i++)
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// SectionsNumberMask[10]
|
|
for (int i=0; i < 10; i++)
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// SectionsToPrintTitle[10]
|
|
for (int i=0; i < 10; i++)
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// DocumentTitleExtensions[10]
|
|
for (int i=0; i < 10; i++)
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// DocumentFixFileExtensions[10]
|
|
for (int i=0; i < 10; i++)
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// PreSeqTab[9][2]
|
|
for (int i =0; i < 9; i++)
|
|
{
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.PreSeqSubStepTab[i].ForEdit = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.SeqTabInfo[i].PreSeqSubStepTab.ForEdit = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.SeqTabInfo[i].PreSeqSubStepTab.ForEdit.Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.SeqTabInfo[i].PreSeqSubStepTab.ForEdit.Text = GetStringFromAllStrings(offset-1);
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.PreSeqSubStepTab[i].ForPrint = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.SeqTabInfo[i].PreSeqSubStepTab.ForPrint = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.SeqTabInfo[i].PreSeqSubStepTab.ForPrint.Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.SeqTabInfo[i].PreSeqSubStepTab.ForPrint.Text = GetStringFromAllStrings(offset-1);
|
|
}
|
|
|
|
// for (int j=0; j < 2; j++)
|
|
// {
|
|
// offset = brFmt.ReadInt16();
|
|
// if (offset > 0)
|
|
// FmtVars.PreSeqSubStp[i,j] = GetStringFromAllStrings(offset-1);
|
|
// }
|
|
|
|
// PostSeqTab[9][2]
|
|
for (int i =0; i<9;i++)
|
|
{
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.PostSeqSubStepTab[i].ForEdit = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.SeqTabInfo[i].PostSeqSubStepTab.ForEdit = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.SeqTabInfo[i].PostSeqSubStepTab.ForEdit.Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.SeqTabInfo[i].PostSeqSubStepTab.ForEdit.Text = GetStringFromAllStrings(offset-1);
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.PostSeqSubStepTab[i].ForPrint = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.SeqTabInfo[i].PostSeqSubStepTab.ForPrint = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.SeqTabInfo[i].PostSeqSubStepTab.ForPrint.Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.SeqTabInfo[i].PostSeqSubStepTab.ForPrint.Text = GetStringFromAllStrings(offset-1);
|
|
}
|
|
// for (int j=0; j < 2; j++)
|
|
// {
|
|
// offset = brFmt.ReadInt16();
|
|
// if (offset > 0)
|
|
// FmtVars.PostSeqSubStp[i,j] = GetStringFromAllStrings(offset-1);
|
|
// }
|
|
|
|
// RNOSepString
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.RNOSepString = GetStringFromAllStrings(offset-1);
|
|
FmtVars.RNOSepString.Text = GetStringFromAllStrings(offset-1);
|
|
|
|
// UnderlineTerminate[10]
|
|
for (int i=0; i < 10; i++)
|
|
{
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.UnderlineTerminate[i] = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.UnderlineTerminate[i].Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.UnderlineTerminate[i].Text = GetStringFromAllStrings(offset-1);
|
|
}
|
|
|
|
// ImmStepHdr[2]
|
|
for (int i=0; i < 2; i++)
|
|
{
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.ImmStepHdr[i] = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.ImmStepHdr[i].Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.ImmStepHdr[i].Text = GetStringFromAllStrings(offset-1);
|
|
}
|
|
|
|
// AlternateStepTypes[5]
|
|
for (int i=0; i < 5; i++)
|
|
{
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.AlternateStepTypes[i] = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.AlternateStepTypes[i].Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.AlternateStepTypes[i].Text = GetStringFromAllStrings(offset-1);
|
|
}
|
|
|
|
// AlternateSubTypes[16]
|
|
for (int i=0; i < 16; i++)
|
|
{
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.AlternateSubTypes[i] = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.AlternateSubTypes[i].Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.AlternateSubTypes[i].Text = GetStringFromAllStrings(offset-1);
|
|
}
|
|
|
|
// SpecialChangeBar
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.ChangeBarSettings.ChgBar = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.ChangeBarSettings.ChgBar.Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.ChangeBarSettings.ChgBar.Text = GetStringFromAllStrings(offset-1);
|
|
|
|
// ImperfectStructureSeparator
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// ObserveNCString[4][2]
|
|
for (int i=0; i < 4; i++)
|
|
{
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.ObserveNCString[i].ForEdit = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.ObserveNCString[i].ForEdit.Item = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.ObserveNCString[i].ForEdit.Text = GetStringFromAllStrings(offset-1);
|
|
FmtVars.ObserveNCString[i].ForEdit.Text = GetStringFromAllStrings(offset-1);
|
|
if (offset > 0)
|
|
// FmtVars.ObserveNCString[i].ForPrint = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.ObserveNCString[i].ForPrint.Item = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.ObserveNCString[i].ForPrint.Text = GetStringFromAllStrings(offset-1);
|
|
FmtVars.ObserveNCString[i].ForPrint.Text = GetStringFromAllStrings(offset-1);
|
|
}
|
|
// for (int j=0; j < 2; j++)
|
|
// {
|
|
// offset = brFmt.ReadInt16();
|
|
// if (offset > 0)
|
|
// FmtVars.ObserveNCString[i,j] = GetStringFromAllStrings(offset-1);
|
|
// }
|
|
|
|
//UnderlineTheseChar
|
|
for (int i=0;i<FmtVars.NumStepSubStepTypes;i++)
|
|
{
|
|
offset = brFmt.ReadInt16();
|
|
if(offset >0)
|
|
// FmtVars.StepDefinitions[i].UnderlineThese = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.StepDefinitions[i].UnderlineThese.Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.StepDefinitions[i].UnderlineThese.Text = GetStringFromAllStrings(offset-1);
|
|
}
|
|
|
|
// SubScriptTheseChar
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// RightCheckoffPrompts[MAXCHECKOFFS]
|
|
// FmtVars.CheckOffSettings.ChkOffMenuItems = new string[FmtVars.CheckOffSettings.maxcheckoffs];
|
|
// FmtVars.CheckOffSettings.ChkOffMenuItems = new ChkOffItem[FmtVars.CheckOffSettings.maxcheckoffs];
|
|
// FmtVars.CheckOffSettings.ChkOffMenuItems.Item = new string[FmtVars.CheckOffSettings.maxcheckoffs];
|
|
FmtVars.CheckOffSettings.ChkOffMenuItems = new Txt[FmtVars.CheckOffSettings.maxcheckoffs];
|
|
for (int i=0; i < FmtVars.CheckOffSettings.maxcheckoffs; i++)
|
|
{
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
{
|
|
// FmtVars.CheckOffSettings.ChkOffMenuItems[i] = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.CheckOffSettings.ChkOffMenuItems[i].Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.CheckOffSettings.ChkOffMenuItems[i].Text = GetStringFromAllStrings(offset-1);
|
|
}
|
|
}
|
|
|
|
// CheckOffHeadings[MAXCHKHEADINGS]
|
|
// FmtVars.CheckOffSettings.ChkOffHeadings = new string[FmtVars.CheckOffSettings.MaxCheckoffHeadings];
|
|
// FmtVars.CheckOffSettings.ChkOffHeadings = new ChkOffItem[FmtVars.CheckOffSettings.MaxCheckoffHeadings];
|
|
FmtVars.CheckOffSettings.ChkOffHeadings = new Txt[FmtVars.CheckOffSettings.MaxCheckoffHeadings];
|
|
for (int i=0; i < FmtVars.CheckOffSettings.MaxCheckoffHeadings; i++)
|
|
{
|
|
offset = brFmt.ReadInt16();
|
|
if (offset >0)
|
|
{
|
|
// FmtVars.CheckOffSettings.ChkOffHeadings[i] = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.CheckOffSettings.ChkOffHeadings[i].Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.CheckOffSettings.ChkOffHeadings[i].Text = GetStringFromAllStrings(offset-1);
|
|
}
|
|
}
|
|
|
|
// WindEditFile
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// PSInfFile
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.PSInfFile = GetStringFromAllStrings(offset-1);
|
|
FmtVars.PSInfFile.Text = GetStringFromAllStrings(offset-1);
|
|
|
|
// RNOPreSeqTab[9][2]
|
|
for (int i=0;i<9;i++)
|
|
for (int j=0; j<2; j++)
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// HLStpSeparatorString
|
|
offset = brFmt.ReadInt16();
|
|
if (offset >0)
|
|
// FmtVars.HLStpSeparatorString = GetStringFromAllStrings(offset-1);
|
|
FmtVars.HLStpSeparatorString.Text = GetStringFromAllStrings(offset-1);
|
|
|
|
// HLRNOStpSeparatorString
|
|
offset = brFmt.ReadInt16();
|
|
if (offset >0)
|
|
// FmtVars.HLRNOStpSeparatorString = GetStringFromAllStrings(offset-1);
|
|
FmtVars.HLRNOStpSeparatorString.Text = GetStringFromAllStrings(offset-1);
|
|
|
|
// RNOTBIdent[MAXTABS][2]
|
|
for (int i=0;i<FmtVars.MaxTabs;i++)
|
|
{
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.TabInfo[i].RNOTabFmt.ForEdit = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.TabInfo[i].RNOTabFmt.ForEdit.Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.TabInfo[i].RNOTabFmt.ForEdit.Text = GetStringFromAllStrings(offset-1);
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.TabInfo[i].RNOTabFmt.ForPrint = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.TabInfo[i].RNOTabFmt.ForPrint.Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.TabInfo[i].RNOTabFmt.ForPrint.Text = GetStringFromAllStrings(offset-1);
|
|
}
|
|
// for (int j=0;j<2;j++)
|
|
// {
|
|
// offset = brFmt.ReadInt16();
|
|
// if (offset > 0)
|
|
// FmtVars.TabInfo[i].RNOTabFmt[j] = GetStringFromAllStrings(offset-1);
|
|
// }
|
|
|
|
// LowserLimitDivisor
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.LowerLimitDivisor=GetStringFromAllStrings(offset-1);
|
|
FmtVars.LowerLimitDivisor.Text=GetStringFromAllStrings(offset-1);
|
|
|
|
// TransFmt[MAXTRANS]
|
|
for (int i=0;i<FmtVars.MaxTrans;i++)
|
|
{
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.TransDefs[i].TransFmt = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.TransDefs[i].TransFmt.Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.TransDefs[i].TransFmt.Text = GetStringFromAllStrings(offset-1);
|
|
}
|
|
|
|
// TransMenu[MAXTRANS]
|
|
for (int i=0;i<FmtVars.MaxTrans;i++)
|
|
{
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.TransDefs[i].TransMenu = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.TransDefs[i].TransMenu.Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.TransDefs[i].TransMenu.Text = GetStringFromAllStrings(offset-1);
|
|
}
|
|
|
|
// OutsideTransFmt[MAXTRANS]
|
|
for (int i=0;i<FmtVars.MaxTrans;i++)
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// OutsideTransMenu[MAXTRANS]
|
|
for (int i=0;i<FmtVars.MaxTrans;i++)
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// NonLinkedStepNumber
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.NonLinkedStepNumber = GetStringFromAllStrings(offset-1);
|
|
FmtVars.NonLinkedStepNumber.Text = GetStringFromAllStrings(offset-1);
|
|
|
|
// BldLstFile
|
|
skip_short = brFmt.ReadUInt16();
|
|
|
|
// AltPrintTBIdent[MAXTABS]
|
|
for (int i=0;i<FmtVars.MaxTabs;i++)
|
|
{
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.TabInfo[i].AltPrintTabFmt = GetStringFromAllStrings(offset-1);
|
|
// FmtVars.TabInfo[i].AltPrintTabFmt.Item = GetStringFromAllStrings(offset-1);
|
|
FmtVars.TabInfo[i].AltPrintTabFmt.Text = GetStringFromAllStrings(offset-1);
|
|
}
|
|
|
|
// NonLinkedCautNoteNumber
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.NonLinkedCautNoteNumber = GetStringFromAllStrings(offset-1);
|
|
FmtVars.NonLinkedCautNoteNumber.Text = GetStringFromAllStrings(offset-1);
|
|
|
|
// F_DuplexBGDirectory
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.DuplexBGDirectory = GetStringFromAllStrings(offset-1);
|
|
FmtVars.DuplexBGDirectory.Text = GetStringFromAllStrings(offset-1);
|
|
|
|
// F_DuplexDDDirectory
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.DuplexDDDirectory = GetStringFromAllStrings(offset-1);
|
|
FmtVars.DuplexDDDirectory.Text = GetStringFromAllStrings(offset-1);
|
|
|
|
// NonLinkedRNONumber
|
|
offset = brFmt.ReadInt16();
|
|
if (offset > 0)
|
|
// FmtVars.NonLinkedRNONumber = GetStringFromAllStrings(offset-1);
|
|
FmtVars.NonLinkedRNONumber.Text = GetStringFromAllStrings(offset-1);
|
|
|
|
|
|
|
|
/***********************************************/
|
|
|
|
brFmt.Close();
|
|
|
|
// Now try to xml it....
|
|
string XMLFileName = "C:\\" + fname.Substring(fname.LastIndexOf("\\")+1) + ".XML";
|
|
XmlSerializer serializer = new XmlSerializer(typeof(FmtFileVars));
|
|
TextWriter writer = new StreamWriter(XMLFileName);
|
|
|
|
serializer.Serialize(writer, FmtVars);
|
|
writer.Close();
|
|
MessageBox.Show(XMLFileName,"Created XML File:");
|
|
}
|
|
}
|
|
|
|
}
|