This class implements the interface described in Section 46, “
class ColumnLayout: Column layout
controller” for the lumped-years case.
All effort keys sharing the same year number are
displayed in the same column.
# - - - - - c l a s s L u m p e d L a y o u t class LumpedLayout(ColumnLayout): '''Column dispatcher for lumped years. State/Invariants: ._keyList: [ a list of the unique year_no values in self, in ascending order ] ._keyColxMap: [ a dictionary whose keys are the year_no values in self, and each related value is the logical column number in which data for that year is displayed ] ._yearCounts: [ a list such that element [k] is the number of efforts combined in logical column k ] '''