This class implements the interface described in Section 46, “class ColumnLayout: Column layout
controller” for the split-year case,
where each effort key gets its own column in the main
table.
# - - - - - c l a s s S p l i t L a y o u t
class SplitLayout(ColumnLayout):
'''Column dispatcher for split years (one column per effort).
State/Invariants:
._keyList:
[ a list of the unique effort-keys in self, in ascending
order ]
._keyColxMap:
[ a dictionary whose keys are the effort-keys in self,
and each related value is the logical column number
in which that effort is displayed ]
'''