$# Displays gradings Summary for various purposes $# Expects several variables: $# sumSummaries :: SheetGradeSummary -- summary over all grading types $# hasPassing :: Maybe Int -- Should Passing be displayed? $# hasMarkedPasses :: Maybe Int -- Number of marked pass-sheets $# hasPoints :: Maybe Points -- Should Points be displayed? $# hasMarkedPoints :: Maybe Int -- Number of marked point-sheets $# --

_{title $ getSum $ numSheets $ sumSummaries}
$# empty cell for row headers $maybe _ <- hasPassings _{MsgSheetGradingPassing'} $maybe _ <- hasPoints _{MsgSheetGradingPoints'} _{MsgSheetGradingCount'} $# Number of Sheet/Submissions used for calculating maximum passes/points $forall row <- rowWdgts ^{row} $maybe nrNoGrade <- positiveSum $ numNotGraded
_{MsgSheetTypeNotGraded} $maybe _ <- hasPassings $maybe _ <- hasPoints #{display nrNoGrade} $maybe _ <- positiveSum $ bonusSummary ^. _numSheets

_{MsgSheetTypeInfoBonus} # $maybe _ <- positiveSum =<< (bonusSummary ^. _achievedPoints) _{MsgSheetGradingBonusIncluded} $maybe _ <- positiveSum $ informationalSummary ^. _numSheets

_{MsgSheetTypeInfoNotGraded}