Saturday, February 21, 2015

Table Class Hierarchy – INPUT Entries

The INPUT related table entries were put into the  new table class hierarchy.  The diagram below shows the table sub-class hierarchy for the INPUT table entries:
Table
  ── Command
         ── InputCommand
                 ── Input [input]
                 ── InputPrompt [inputPrompt]
  ── Internal
          ── InputBegin [inputBegin]
          ── InputBeginStr [inputBeginStr]
          ── InputAssign
                  ├── InputAssignDbl [inputAssignDbl]
                 ├── InputAssignInt [inputAssignInt]
                  └── InputAssignStr [inputAssignStr]
          ── InputParse
                   ├── InputParseDbl [inputParseDbl]
                   ├── InputParseInt [inputParseInt]
                   └── InputParseStr [inputParseStr]

The intermediate InputCommand, InputAssign and InputParse clases were added to contain the common initializations and functions for their associated entry classes.  The constructor of the InputAssignDbl class required two alternate info arguments since its entry instance is assigned as alternates to both the Input and InputPrompt entries.  The contents of INPUT translate and various INPUT related recreate functions were moved to the virtual functions of these classes (simply renamed).

With these INPUT related table entries created in the new table model, their corresponding entries in the old table entries array were removed along with their code index enumerators.  The alternate initializers for these codes in the temporary alternate info initializer were also removed.

[branch table commit c575b478ac]