taskjuggler 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (495) hide show
  1. data/benchmarks/UTF-8-Strings.rb +58 -0
  2. data/data/css/tjmanual.css +52 -0
  3. data/data/css/tjreport.css +195 -0
  4. data/data/icons/details.png +0 -0
  5. data/data/icons/flag-green.png +0 -0
  6. data/data/icons/flag-red.png +0 -0
  7. data/data/icons/flag-yellow.png +0 -0
  8. data/data/icons/resource.png +0 -0
  9. data/data/icons/resourcegroup.png +0 -0
  10. data/data/icons/task.png +0 -0
  11. data/data/icons/taskgroup.png +0 -0
  12. data/data/icons/trend-down.png +0 -0
  13. data/data/icons/trend-flat.png +0 -0
  14. data/data/icons/trend-up.png +0 -0
  15. data/data/scripts/wz_tooltip.js +1301 -0
  16. data/doc/classes/AppConfig.html +298 -230
  17. data/doc/classes/Arguments.html +8 -8
  18. data/doc/classes/Object.html +7 -7
  19. data/doc/classes/String.html +89 -89
  20. data/doc/classes/TaskJuggler.html +396 -264
  21. data/doc/classes/TaskJuggler/Account.html +18 -18
  22. data/doc/classes/TaskJuggler/AccountAttribute.html +26 -26
  23. data/doc/classes/TaskJuggler/AccountScenario.html +12 -12
  24. data/doc/classes/TaskJuggler/Allocation.html +30 -30
  25. data/doc/classes/TaskJuggler/AllocationAttribute.html +26 -26
  26. data/doc/classes/TaskJuggler/AttributeBase.html +227 -115
  27. data/doc/classes/TaskJuggler/AttributeDefinition.html +6 -6
  28. data/doc/classes/TaskJuggler/BatchProcessor.html +117 -83
  29. data/doc/classes/TaskJuggler/Booking.html +18 -18
  30. data/doc/classes/TaskJuggler/BookingListAttribute.html +26 -26
  31. data/doc/classes/TaskJuggler/BooleanAttribute.html +26 -26
  32. data/doc/classes/TaskJuggler/CSVFile.html +24 -24
  33. data/doc/classes/TaskJuggler/CellSettingPattern.html +201 -0
  34. data/doc/classes/TaskJuggler/CellSettingPatternList.html +253 -0
  35. data/doc/classes/TaskJuggler/Charge.html +18 -18
  36. data/doc/classes/TaskJuggler/ChargeListAttribute.html +20 -20
  37. data/doc/classes/TaskJuggler/ChargeSet.html +37 -37
  38. data/doc/classes/TaskJuggler/ChargeSetListAttribute.html +26 -26
  39. data/doc/classes/TaskJuggler/ColumnListAttribute.html +20 -20
  40. data/doc/classes/TaskJuggler/ColumnTable.html +40 -40
  41. data/doc/classes/TaskJuggler/DateAttribute.html +54 -15
  42. data/doc/classes/TaskJuggler/DefinitionListAttribute.html +10 -10
  43. data/doc/classes/TaskJuggler/DependencyListAttribute.html +47 -47
  44. data/doc/classes/TaskJuggler/DurationAttribute.html +30 -30
  45. data/doc/classes/TaskJuggler/FixnumAttribute.html +20 -20
  46. data/doc/classes/TaskJuggler/FlagListAttribute.html +43 -43
  47. data/doc/classes/TaskJuggler/FloatAttribute.html +30 -30
  48. data/doc/classes/TaskJuggler/FormatListAttribute.html +21 -21
  49. data/doc/classes/TaskJuggler/GanttChart.html +48 -48
  50. data/doc/classes/TaskJuggler/GanttContainer.html +42 -42
  51. data/doc/classes/TaskJuggler/GanttHeader.html +12 -12
  52. data/doc/classes/TaskJuggler/GanttHeaderScaleItem.html +12 -12
  53. data/doc/classes/TaskJuggler/GanttLine.html +24 -24
  54. data/doc/classes/TaskJuggler/GanttLoadStack.html +18 -18
  55. data/doc/classes/TaskJuggler/GanttMilestone.html +42 -42
  56. data/doc/classes/TaskJuggler/GanttRouter.html +24 -24
  57. data/doc/classes/TaskJuggler/GanttTaskBar.html +42 -42
  58. data/doc/classes/TaskJuggler/HTMLDocument.html +13 -13
  59. data/doc/classes/TaskJuggler/HTMLGraphics.html +12 -12
  60. data/doc/classes/TaskJuggler/Interval.html +57 -57
  61. data/doc/classes/TaskJuggler/IntervalListAttribute.html +47 -47
  62. data/doc/classes/TaskJuggler/JobInfo.html +68 -12
  63. data/doc/classes/TaskJuggler/Journal.html +266 -20
  64. data/doc/classes/TaskJuggler/JournalEntry.html +79 -23
  65. data/doc/classes/TaskJuggler/JournalEntryList.html +454 -0
  66. data/doc/classes/TaskJuggler/KeywordArray.html +10 -10
  67. data/doc/classes/TaskJuggler/KeywordDocumentation.html +171 -170
  68. data/doc/classes/TaskJuggler/Limits.html +36 -36
  69. data/doc/classes/TaskJuggler/Limits/Limit.html +30 -30
  70. data/doc/classes/TaskJuggler/LimitsAttribute.html +40 -40
  71. data/doc/classes/TaskJuggler/ListAttributeBase.html +20 -20
  72. data/doc/classes/TaskJuggler/Log.html +145 -107
  73. data/doc/classes/TaskJuggler/LogicalAttribute.html +65 -36
  74. data/doc/classes/TaskJuggler/LogicalExpression.html +61 -24
  75. data/doc/classes/TaskJuggler/LogicalExpressionAttribute.html +20 -20
  76. data/doc/classes/TaskJuggler/LogicalFlag.html +31 -51
  77. data/doc/classes/TaskJuggler/LogicalFunction.html +64 -53
  78. data/doc/classes/TaskJuggler/LogicalOperation.html +103 -55
  79. data/doc/classes/TaskJuggler/Macro.html +6 -6
  80. data/doc/classes/TaskJuggler/MacroParser.html +36 -36
  81. data/doc/classes/TaskJuggler/MacroTable.html +37 -37
  82. data/doc/classes/TaskJuggler/Message.html +12 -12
  83. data/doc/classes/TaskJuggler/MessageHandler.html +32 -20
  84. data/doc/classes/TaskJuggler/Navigator.html +110 -46
  85. data/doc/classes/TaskJuggler/NavigatorElement.html +449 -0
  86. data/doc/classes/TaskJuggler/OnShiftCache.html +24 -24
  87. data/doc/classes/TaskJuggler/Project.html +1158 -893
  88. data/doc/classes/TaskJuggler/ProjectFileParser.html +94 -91
  89. data/doc/classes/TaskJuggler/PropertyAttribute.html +20 -20
  90. data/doc/classes/TaskJuggler/PropertyList.html +225 -155
  91. data/doc/classes/TaskJuggler/PropertySet.html +375 -332
  92. data/doc/classes/TaskJuggler/PropertyTreeNode.html +750 -510
  93. data/doc/classes/TaskJuggler/Query.html +404 -139
  94. data/doc/classes/TaskJuggler/{RTPNavigator.html → RTFNavigator.html} +57 -56
  95. data/doc/classes/TaskJuggler/RTFQuery.html +343 -0
  96. data/doc/classes/TaskJuggler/{RTPReport.html → RTFReport.html} +70 -67
  97. data/doc/classes/TaskJuggler/RealFormat.html +18 -18
  98. data/doc/classes/TaskJuggler/RealFormatAttribute.html +10 -10
  99. data/doc/classes/TaskJuggler/ReferenceAttribute.html +107 -40
  100. data/doc/classes/TaskJuggler/RemoteServiceManager.html +335 -0
  101. data/doc/classes/TaskJuggler/Report.html +66 -64
  102. data/doc/classes/TaskJuggler/ReportBase.html +112 -123
  103. data/doc/classes/TaskJuggler/ReportContext.html +43 -38
  104. data/doc/classes/TaskJuggler/ReportServer.html +320 -0
  105. data/doc/classes/TaskJuggler/ReportTable.html +42 -42
  106. data/doc/classes/TaskJuggler/ReportTableCell.html +221 -129
  107. data/doc/classes/TaskJuggler/ReportTableColumn.html +27 -27
  108. data/doc/classes/TaskJuggler/ReportTableLegend.html +24 -24
  109. data/doc/classes/TaskJuggler/ReportTableLine.html +126 -80
  110. data/doc/classes/TaskJuggler/Resource.html +12 -12
  111. data/doc/classes/TaskJuggler/ResourceListAttribute.html +82 -47
  112. data/doc/classes/TaskJuggler/ResourceListRE.html +43 -39
  113. data/doc/classes/TaskJuggler/ResourceScenario.html +413 -321
  114. data/doc/classes/TaskJuggler/RichText.html +64 -248
  115. data/doc/classes/TaskJuggler/RichTextAttribute.html +94 -30
  116. data/doc/classes/TaskJuggler/RichTextDocument.html +87 -85
  117. data/doc/classes/TaskJuggler/RichTextElement.html +456 -363
  118. data/doc/classes/TaskJuggler/RichTextException.html +13 -13
  119. data/doc/classes/TaskJuggler/{RichTextProtocolExample.html → RichTextFunctionExample.html} +64 -63
  120. data/doc/classes/TaskJuggler/{RichTextProtocolHandler.html → RichTextFunctionHandler.html} +42 -36
  121. data/doc/classes/TaskJuggler/RichTextIntermediate.html +563 -0
  122. data/doc/classes/TaskJuggler/RichTextParser.html +54 -51
  123. data/doc/classes/TaskJuggler/RichTextScanner.html +94 -92
  124. data/doc/classes/TaskJuggler/RichTextSnip.html +96 -60
  125. data/doc/classes/TaskJuggler/RichTextSyntaxRules.html +369 -227
  126. data/doc/classes/TaskJuggler/Scenario.html +6 -6
  127. data/doc/classes/TaskJuggler/ScenarioData.html +37 -37
  128. data/doc/classes/TaskJuggler/ScenarioListAttribute.html +31 -31
  129. data/doc/classes/TaskJuggler/Scoreboard.html +66 -66
  130. data/doc/classes/TaskJuggler/Shift.html +18 -18
  131. data/doc/classes/TaskJuggler/ShiftAssignment.html +54 -54
  132. data/doc/classes/TaskJuggler/ShiftAssignments.html +78 -78
  133. data/doc/classes/TaskJuggler/ShiftAssignmentsAttribute.html +40 -40
  134. data/doc/classes/TaskJuggler/ShiftScenario.html +24 -24
  135. data/doc/classes/TaskJuggler/SortListAttribute.html +22 -22
  136. data/doc/classes/TaskJuggler/SourceFileInfo.html +12 -12
  137. data/doc/classes/TaskJuggler/StringAttribute.html +30 -30
  138. data/doc/classes/TaskJuggler/SymbolAttribute.html +20 -20
  139. data/doc/classes/TaskJuggler/SyntaxReference.html +42 -42
  140. data/doc/classes/TaskJuggler/TOCEntry.html +12 -12
  141. data/doc/classes/TaskJuggler/TSResourceRecord.html +197 -0
  142. data/doc/classes/TaskJuggler/TSTaskRecord.html +215 -0
  143. data/doc/classes/TaskJuggler/TableColumnDefinition.html +64 -43
  144. data/doc/classes/TaskJuggler/TableOfContents.html +18 -18
  145. data/doc/classes/TaskJuggler/TableReport.html +447 -468
  146. data/doc/classes/TaskJuggler/Task.html +12 -12
  147. data/doc/classes/TaskJuggler/TaskDependency.html +12 -12
  148. data/doc/classes/TaskJuggler/TaskListAttribute.html +47 -47
  149. data/doc/classes/TaskJuggler/TaskListRE.html +43 -39
  150. data/doc/classes/TaskJuggler/TaskScenario.html +529 -282
  151. data/doc/classes/TaskJuggler/TextParser.html +215 -194
  152. data/doc/classes/TaskJuggler/TextParser/Pattern.html +97 -97
  153. data/doc/classes/TaskJuggler/TextParser/Rule.html +84 -84
  154. data/doc/classes/TaskJuggler/TextParser/StackElement.html +16 -15
  155. data/doc/classes/TaskJuggler/TextParser/TextParserResultArray.html +12 -12
  156. data/doc/classes/TaskJuggler/TextParser/TokenDoc.html +6 -6
  157. data/doc/classes/TaskJuggler/TextReport.html +77 -74
  158. data/doc/classes/TaskJuggler/TextScanner.html +294 -281
  159. data/doc/classes/TaskJuggler/TextScanner/BufferStreamHandle.html +70 -70
  160. data/doc/classes/TaskJuggler/TextScanner/FileStreamHandle.html +59 -60
  161. data/doc/classes/TaskJuggler/TextScanner/StreamHandle.html +12 -12
  162. data/doc/classes/TaskJuggler/TimeSheetReport.html +406 -0
  163. data/doc/classes/TaskJuggler/TjException.html +6 -6
  164. data/doc/classes/TaskJuggler/TjTime.html +522 -513
  165. data/doc/classes/TaskJuggler/TjpExample.html +25 -25
  166. data/doc/classes/TaskJuggler/TjpExportRE.html +21 -24
  167. data/doc/classes/TaskJuggler/TjpSyntaxRules.html +6177 -4318
  168. data/doc/classes/TaskJuggler/UserManual.html +212 -213
  169. data/doc/classes/TaskJuggler/WorkingHours.html +49 -49
  170. data/doc/classes/TaskJuggler/WorkingHoursAttribute.html +53 -53
  171. data/doc/classes/TaskJuggler/XMLBlob.html +21 -21
  172. data/doc/classes/TaskJuggler/XMLComment.html +21 -21
  173. data/doc/classes/TaskJuggler/XMLDocument.html +27 -26
  174. data/doc/classes/TaskJuggler/XMLElement.html +86 -50
  175. data/doc/classes/TaskJuggler/XMLNamedText.html +11 -11
  176. data/doc/classes/TaskJuggler/XMLText.html +36 -36
  177. data/doc/files/COPYING.html +1 -1
  178. data/doc/files/README.html +1 -1
  179. data/doc/files/lib/AccountScenario_rb.html +3 -2
  180. data/doc/files/lib/Account_rb.html +3 -2
  181. data/doc/files/lib/Allocation_rb.html +3 -2
  182. data/doc/files/lib/AppConfig_rb.html +5 -2
  183. data/doc/files/lib/AttributeBase_rb.html +3 -2
  184. data/doc/files/lib/AttributeDefinition_rb.html +3 -2
  185. data/doc/files/lib/Attributes_rb.html +3 -2
  186. data/doc/files/lib/BatchProcessor_rb.html +4 -3
  187. data/doc/files/lib/Booking_rb.html +3 -2
  188. data/doc/files/lib/ChargeSet_rb.html +3 -2
  189. data/doc/files/lib/Charge_rb.html +3 -2
  190. data/doc/files/lib/HTMLDocument_rb.html +3 -2
  191. data/doc/files/lib/Interval_rb.html +3 -2
  192. data/doc/files/lib/Journal_rb.html +4 -3
  193. data/doc/files/lib/KeywordArray_rb.html +3 -2
  194. data/doc/files/lib/KeywordDocumentation_rb.html +3 -2
  195. data/doc/files/lib/Limits_rb.html +3 -2
  196. data/doc/files/lib/Log_rb.html +3 -2
  197. data/doc/files/lib/LogicalExpression_rb.html +3 -2
  198. data/doc/files/lib/LogicalFunction_rb.html +3 -2
  199. data/doc/files/lib/LogicalOperation_rb.html +3 -2
  200. data/doc/files/lib/MacroParser_rb.html +3 -2
  201. data/doc/files/lib/MacroTable_rb.html +3 -2
  202. data/doc/files/lib/MessageHandler_rb.html +3 -2
  203. data/doc/files/lib/Message_rb.html +3 -2
  204. data/doc/files/lib/ProjectFileParser_rb.html +7 -4
  205. data/doc/files/lib/Project_rb.html +3 -2
  206. data/doc/files/lib/PropertyList_rb.html +3 -2
  207. data/doc/files/lib/PropertySet_rb.html +3 -2
  208. data/doc/files/lib/PropertyTreeNode_rb.html +3 -2
  209. data/doc/files/lib/Query_rb.html +3 -2
  210. data/doc/files/lib/{RTPNavigator_rb.html → RTFNavigator_rb.html} +8 -7
  211. data/doc/files/lib/RTFQuery_rb.html +121 -0
  212. data/doc/files/lib/{RTPReport_rb.html → RTFReport_rb.html} +8 -7
  213. data/doc/files/lib/RealFormat_rb.html +3 -2
  214. data/doc/files/lib/RemoteServiceManager_rb.html +117 -0
  215. data/doc/files/lib/ReportServer_rb.html +107 -0
  216. data/doc/files/lib/ResourceScenario_rb.html +3 -2
  217. data/doc/files/lib/Resource_rb.html +3 -2
  218. data/doc/files/lib/RichTextDocument_rb.html +4 -3
  219. data/doc/files/lib/RichTextElement_rb.html +3 -2
  220. data/doc/files/lib/{RichTextProtocolExample_rb.html → RichTextFunctionExample_rb.html} +8 -7
  221. data/doc/files/lib/{RichTextProtocolHandler_rb.html → RichTextFunctionHandler_rb.html} +7 -6
  222. data/doc/files/lib/RichTextParser_rb.html +3 -2
  223. data/doc/files/lib/RichTextScanner_rb.html +3 -2
  224. data/doc/files/lib/RichTextSnip_rb.html +3 -2
  225. data/doc/files/lib/RichTextSyntaxRules_rb.html +3 -2
  226. data/doc/files/lib/RichText_rb.html +3 -2
  227. data/doc/files/lib/ScenarioData_rb.html +3 -2
  228. data/doc/files/lib/Scenario_rb.html +3 -2
  229. data/doc/files/lib/Scoreboard_rb.html +3 -2
  230. data/doc/files/lib/ShiftAssignments_rb.html +3 -2
  231. data/doc/files/lib/ShiftScenario_rb.html +3 -2
  232. data/doc/files/lib/Shift_rb.html +3 -2
  233. data/doc/files/lib/SourceFileInfo_rb.html +3 -2
  234. data/doc/files/lib/SyntaxReference_rb.html +3 -2
  235. data/doc/files/lib/TOCEntry_rb.html +3 -2
  236. data/doc/files/lib/TableColumnDefinition_rb.html +3 -2
  237. data/doc/files/lib/TableOfContents_rb.html +3 -2
  238. data/doc/files/lib/TaskDependency_rb.html +3 -2
  239. data/doc/files/lib/TaskJuggler_rb.html +7 -2
  240. data/doc/files/lib/TaskScenario_rb.html +3 -2
  241. data/doc/files/lib/Task_rb.html +3 -2
  242. data/doc/files/lib/TextParser/Pattern_rb.html +4 -3
  243. data/doc/files/lib/TextParser/Rule_rb.html +4 -3
  244. data/doc/files/lib/TextParser/StackElement_rb.html +4 -3
  245. data/doc/files/lib/TextParser/TokenDoc_rb.html +4 -3
  246. data/doc/files/lib/TextParser_rb.html +3 -2
  247. data/doc/files/lib/TextScanner_rb.html +3 -2
  248. data/doc/files/lib/Tj3Config_rb.html +3 -2
  249. data/doc/files/lib/TjException_rb.html +3 -2
  250. data/doc/files/lib/TjTime_rb.html +3 -2
  251. data/doc/files/lib/TjpExample_rb.html +3 -2
  252. data/doc/files/lib/TjpSyntaxRules_rb.html +3 -2
  253. data/doc/files/lib/UTF8String_rb.html +14 -6
  254. data/doc/files/lib/UserManual_rb.html +6 -3
  255. data/doc/files/lib/WorkingHours_rb.html +3 -2
  256. data/doc/files/lib/XMLDocument_rb.html +3 -2
  257. data/doc/files/lib/XMLElement_rb.html +3 -2
  258. data/doc/files/lib/deep_copy_rb.html +3 -2
  259. data/doc/files/lib/reports/CSVFile_rb.html +3 -2
  260. data/doc/files/lib/reports/ColumnTable_rb.html +3 -2
  261. data/doc/files/lib/reports/GanttChart_rb.html +3 -2
  262. data/doc/files/lib/reports/GanttContainer_rb.html +3 -2
  263. data/doc/files/lib/reports/GanttHeaderScaleItem_rb.html +3 -2
  264. data/doc/files/lib/reports/GanttHeader_rb.html +3 -2
  265. data/doc/files/lib/reports/GanttLine_rb.html +3 -2
  266. data/doc/files/lib/reports/GanttLoadStack_rb.html +3 -2
  267. data/doc/files/lib/reports/GanttMilestone_rb.html +3 -2
  268. data/doc/files/lib/reports/GanttRouter_rb.html +3 -2
  269. data/doc/files/lib/reports/GanttTaskBar_rb.html +3 -2
  270. data/doc/files/lib/reports/HTMLGraphics_rb.html +3 -2
  271. data/doc/files/lib/reports/Navigator_rb.html +3 -2
  272. data/doc/files/lib/reports/ReportBase_rb.html +3 -2
  273. data/doc/files/lib/reports/ReportContext_rb.html +3 -2
  274. data/doc/files/lib/reports/ReportTableCell_rb.html +3 -2
  275. data/doc/files/lib/reports/ReportTableColumn_rb.html +3 -2
  276. data/doc/files/lib/reports/ReportTableLegend_rb.html +3 -2
  277. data/doc/files/lib/reports/ReportTableLine_rb.html +3 -2
  278. data/doc/files/lib/reports/ReportTable_rb.html +3 -2
  279. data/doc/files/lib/reports/Report_rb.html +7 -2
  280. data/doc/files/lib/reports/ResourceListRE_rb.html +3 -2
  281. data/doc/files/lib/reports/TableReport_rb.html +3 -2
  282. data/doc/files/lib/reports/TaskListRE_rb.html +3 -2
  283. data/doc/files/lib/reports/TextReport_rb.html +4 -3
  284. data/doc/files/lib/reports/TimeSheetReport_rb.html +117 -0
  285. data/doc/files/lib/reports/TjpExportRE_rb.html +3 -2
  286. data/doc/files/lib/taskjuggler3_rb.html +94 -77
  287. data/doc/files/lib/tj3client_rb.html +280 -0
  288. data/doc/files/lib/tj3man_rb.html +10 -9
  289. data/doc/fr_class_index.html +27 -5
  290. data/doc/fr_file_index.html +15 -7
  291. data/doc/fr_method_index.html +1312 -1020
  292. data/examples/tutorial.tjp +113 -14
  293. data/gem_spec.rb +2 -1
  294. data/lib/Account.rb +1 -1
  295. data/lib/AccountScenario.rb +1 -1
  296. data/lib/Allocation.rb +1 -1
  297. data/lib/AppConfig.rb +23 -10
  298. data/lib/AttributeBase.rb +34 -6
  299. data/lib/AttributeDefinition.rb +1 -1
  300. data/lib/Attributes.rb +51 -16
  301. data/lib/BatchProcessor.rb +204 -77
  302. data/lib/Booking.rb +1 -1
  303. data/lib/Charge.rb +1 -1
  304. data/lib/ChargeSet.rb +1 -1
  305. data/lib/HTMLDocument.rb +2 -2
  306. data/lib/Interval.rb +1 -1
  307. data/lib/Journal.rb +231 -9
  308. data/lib/KeywordArray.rb +1 -1
  309. data/lib/KeywordDocumentation.rb +6 -4
  310. data/lib/Limits.rb +1 -1
  311. data/lib/Log.rb +8 -1
  312. data/lib/LogicalExpression.rb +14 -13
  313. data/lib/LogicalFunction.rb +88 -14
  314. data/lib/LogicalOperation.rb +124 -53
  315. data/lib/MacroParser.rb +1 -1
  316. data/lib/MacroTable.rb +2 -2
  317. data/lib/Message.rb +1 -1
  318. data/lib/MessageHandler.rb +7 -3
  319. data/lib/Project.rb +93 -14
  320. data/lib/ProjectFileParser.rb +30 -15
  321. data/lib/PropertyList.rb +103 -36
  322. data/lib/PropertySet.rb +22 -10
  323. data/lib/PropertyTreeNode.rb +120 -15
  324. data/lib/Query.rb +119 -48
  325. data/lib/{RTPNavigator.rb → RTFNavigator.rb} +11 -10
  326. data/lib/RTFQuery.rb +166 -0
  327. data/lib/{RTPReport.rb → RTFReport.rb} +11 -8
  328. data/lib/RealFormat.rb +1 -1
  329. data/lib/RemoteServiceManager.rb +80 -0
  330. data/lib/ReportServer.rb +66 -0
  331. data/lib/Resource.rb +1 -1
  332. data/lib/ResourceScenario.rb +48 -19
  333. data/lib/RichText.rb +98 -41
  334. data/lib/RichTextDocument.rb +10 -8
  335. data/lib/RichTextElement.rb +72 -28
  336. data/lib/{RichTextProtocolExample.rb → RichTextFunctionExample.rb} +8 -7
  337. data/lib/{RichTextProtocolHandler.rb → RichTextFunctionHandler.rb} +12 -14
  338. data/lib/RichTextParser.rb +6 -3
  339. data/lib/RichTextScanner.rb +91 -19
  340. data/lib/RichTextSnip.rb +8 -3
  341. data/lib/RichTextSyntaxRules.rb +103 -45
  342. data/lib/Scenario.rb +1 -1
  343. data/lib/ScenarioData.rb +2 -2
  344. data/lib/Scoreboard.rb +1 -1
  345. data/lib/Shift.rb +1 -1
  346. data/lib/ShiftAssignments.rb +1 -1
  347. data/lib/ShiftScenario.rb +1 -1
  348. data/lib/SourceFileInfo.rb +1 -1
  349. data/lib/SyntaxReference.rb +2 -2
  350. data/lib/TOCEntry.rb +1 -1
  351. data/lib/TableColumnDefinition.rb +59 -16
  352. data/lib/TableOfContents.rb +1 -1
  353. data/lib/Task.rb +1 -1
  354. data/lib/TaskDependency.rb +1 -1
  355. data/lib/TaskJuggler.rb +31 -8
  356. data/lib/TaskScenario.rb +165 -16
  357. data/lib/TextParser.rb +36 -22
  358. data/lib/TextParser/Pattern.rb +3 -3
  359. data/lib/TextParser/Rule.rb +2 -2
  360. data/lib/TextParser/StackElement.rb +4 -3
  361. data/lib/TextParser/TokenDoc.rb +2 -2
  362. data/lib/TextScanner.rb +52 -37
  363. data/lib/Tj3Config.rb +6 -5
  364. data/lib/TjException.rb +1 -1
  365. data/lib/TjTime.rb +12 -3
  366. data/lib/TjpExample.rb +1 -1
  367. data/lib/TjpSyntaxRules.rb +1044 -150
  368. data/lib/UTF8String.rb +2 -1
  369. data/lib/UserManual.rb +18 -70
  370. data/lib/WorkingHours.rb +3 -3
  371. data/lib/XMLDocument.rb +3 -2
  372. data/lib/XMLElement.rb +6 -1
  373. data/lib/deep_copy.rb +1 -1
  374. data/lib/reports/CSVFile.rb +1 -1
  375. data/lib/reports/ColumnTable.rb +9 -9
  376. data/lib/reports/GanttChart.rb +1 -1
  377. data/lib/reports/GanttContainer.rb +1 -1
  378. data/lib/reports/GanttHeader.rb +1 -1
  379. data/lib/reports/GanttHeaderScaleItem.rb +1 -1
  380. data/lib/reports/GanttLine.rb +40 -40
  381. data/lib/reports/GanttLoadStack.rb +1 -1
  382. data/lib/reports/GanttMilestone.rb +1 -1
  383. data/lib/reports/GanttRouter.rb +1 -1
  384. data/lib/reports/GanttTaskBar.rb +1 -1
  385. data/lib/reports/HTMLGraphics.rb +1 -1
  386. data/lib/reports/Navigator.rb +149 -22
  387. data/lib/reports/Report.rb +115 -172
  388. data/lib/reports/ReportBase.rb +22 -27
  389. data/lib/reports/ReportContext.rb +29 -15
  390. data/lib/reports/ReportTable.rb +1 -1
  391. data/lib/reports/ReportTableCell.rb +120 -27
  392. data/lib/reports/ReportTableColumn.rb +3 -3
  393. data/lib/reports/ReportTableLegend.rb +1 -1
  394. data/lib/reports/ReportTableLine.rb +10 -2
  395. data/lib/reports/ResourceListRE.rb +5 -1
  396. data/lib/reports/TableReport.rb +237 -287
  397. data/lib/reports/TaskListRE.rb +5 -1
  398. data/lib/reports/TextReport.rb +7 -4
  399. data/lib/reports/TimeSheetReport.rb +233 -0
  400. data/lib/reports/TjpExportRE.rb +2 -2
  401. data/lib/taskjuggler3.rb +27 -11
  402. data/lib/tj3client.rb +110 -0
  403. data/lib/tj3man.rb +4 -4
  404. data/manual/Getting_Started +0 -50
  405. data/manual/How_To_Contribute +6 -13
  406. data/manual/Installation +102 -28
  407. data/manual/Intro +11 -1
  408. data/manual/Reporting_Bugs +23 -7
  409. data/manual/Rich_Text_Attributes +59 -6
  410. data/manual/TaskJuggler_2x_Migration +27 -0
  411. data/manual/The_TaskJuggler_Syntax +104 -0
  412. data/manual/Tutorial +10 -9
  413. data/prj_cfg.rb +8 -2
  414. data/tasks/csts.rake +1 -1
  415. data/tasks/manual.rake +5 -3
  416. data/test/MessageChecker.rb +1 -1
  417. data/test/TestSuite/HTML-Reports/Alerts.html +172 -0
  418. data/test/TestSuite/HTML-Reports/Alerts.tjp +77 -0
  419. data/test/TestSuite/HTML-Reports/CellText.html +758 -0
  420. data/test/TestSuite/HTML-Reports/CellText.tjp +75 -0
  421. data/test/TestSuite/HTML-Reports/ColumnPeriods.html +156 -0
  422. data/test/TestSuite/HTML-Reports/ColumnPeriods.tjp +44 -0
  423. data/test/TestSuite/HTML-Reports/IsOngoing.html +172 -0
  424. data/test/TestSuite/HTML-Reports/IsOngoing.tjp +34 -0
  425. data/test/TestSuite/HTML-Reports/LogicalFunctions.html +80 -0
  426. data/test/TestSuite/HTML-Reports/LogicalFunctions.tjp +20 -0
  427. data/test/TestSuite/HTML-Reports/Query.html +31 -0
  428. data/test/TestSuite/HTML-Reports/Query.tjp +28 -0
  429. data/test/TestSuite/HTML-Reports/Sorting.tjp +68 -0
  430. data/test/TestSuite/HTML-Reports/TimeSheet.tjp +69 -0
  431. data/test/TestSuite/HTML-Reports/UDAQuery.tjp +27 -0
  432. data/test/TestSuite/HTML-Reports/css/tjmanual.css +52 -0
  433. data/test/TestSuite/HTML-Reports/css/tjreport.css +195 -0
  434. data/test/TestSuite/HTML-Reports/depArrows.html +842 -0
  435. data/test/TestSuite/HTML-Reports/icons/details.png +0 -0
  436. data/test/TestSuite/HTML-Reports/icons/flag-green.png +0 -0
  437. data/test/TestSuite/HTML-Reports/icons/flag-red.png +0 -0
  438. data/test/TestSuite/HTML-Reports/icons/flag-yellow.png +0 -0
  439. data/test/TestSuite/HTML-Reports/icons/resource.png +0 -0
  440. data/test/TestSuite/HTML-Reports/icons/resourcegroup.png +0 -0
  441. data/test/TestSuite/HTML-Reports/icons/task.png +0 -0
  442. data/test/TestSuite/HTML-Reports/icons/taskgroup.png +0 -0
  443. data/test/TestSuite/HTML-Reports/reference.tjp +7 -8
  444. data/test/TestSuite/HTML-Reports/scripts/scripts/wz_tooltip.js +1301 -0
  445. data/test/TestSuite/HTML-Reports/scripts/wz_tooltip.js +1301 -0
  446. data/test/TestSuite/Scheduler/Correct/Mandatory.tjp +34 -0
  447. data/test/TestSuite/Syntax/Correct/Celltext.tjp +2 -1
  448. data/test/TestSuite/Syntax/Correct/Journal.tjp +2 -2
  449. data/test/TestSuite/Syntax/Correct/LogicalExpression.tjp +2 -1
  450. data/test/TestSuite/Syntax/Correct/LogicalFunction.tjp +20 -0
  451. data/test/TestSuite/Syntax/Correct/Query.tjp +18 -0
  452. data/test/TestSuite/Syntax/Correct/StatusSheet.tjp +45 -0
  453. data/test/TestSuite/Syntax/Correct/TimeSheet.tjp +49 -0
  454. data/test/TestSuite/Syntax/Correct/icons/details.png +0 -0
  455. data/test/TestSuite/Syntax/Correct/icons/flag-green.png +0 -0
  456. data/test/TestSuite/Syntax/Correct/icons/flag-red.png +0 -0
  457. data/test/TestSuite/Syntax/Correct/icons/flag-yellow.png +0 -0
  458. data/test/TestSuite/Syntax/Correct/icons/resource.png +0 -0
  459. data/test/TestSuite/Syntax/Correct/icons/resourcegroup.png +0 -0
  460. data/test/TestSuite/Syntax/Correct/icons/task.png +0 -0
  461. data/test/TestSuite/Syntax/Correct/icons/taskgroup.png +0 -0
  462. data/test/TestSuite/Syntax/Correct/scripts/wz_tooltip.js +1301 -0
  463. data/test/TestSuite/Syntax/Correct/tutorial.tjp +113 -14
  464. data/test/TestSuite/Syntax/Errors/macro_stack_overflow.tjp +28 -0
  465. data/test/TestSuite/Syntax/Errors/unsupported_token.tjp +12 -0
  466. data/test/all.rb +2 -2
  467. data/test/test_BatchProcessor.rb +42 -13
  468. data/test/test_CSV-Reports.rb +1 -1
  469. data/test/test_Journal.rb +176 -0
  470. data/test/test_Limits.rb +1 -1
  471. data/test/test_LogicalExpression.rb +14 -5
  472. data/test/test_MacroTable.rb +1 -1
  473. data/test/test_Project.rb +1 -1
  474. data/test/test_PropertySet.rb +1 -1
  475. data/test/test_Query.rb +1 -1
  476. data/test/test_RealFormat.rb +1 -1
  477. data/test/test_RichText.rb +30 -20
  478. data/test/test_Scheduler.rb +1 -1
  479. data/test/test_ShiftAssignments.rb +2 -2
  480. data/test/test_Syntax.rb +1 -1
  481. data/test/test_TextScanner.rb +1 -1
  482. data/test/test_TjTime.rb +1 -1
  483. data/test/test_TjpExample.rb +1 -1
  484. data/test/test_UTF8String.rb +1 -1
  485. data/test/test_WorkingHours.rb +1 -1
  486. data/test/test_deep_copy.rb +2 -2
  487. metadata +610 -532
  488. data/doc/files/lib/ms_test_rb.html +0 -90
  489. data/examples/ContactList.html +0 -1467
  490. data/examples/Deliveries.html +0 -485
  491. data/examples/Development.html +0 -2525
  492. data/examples/Overview.html +0 -747
  493. data/examples/Resource Graph.html +0 -616
  494. data/lib/ms_test.rb +0 -27
  495. data/test/TestSuite/HTML-Reports/reference-export.html +0 -187
@@ -104,35 +104,35 @@ before the are turned into the requested output format.
104
104
 
105
105
  <div class="name-list">
106
106
 
107
- <a href="#M000636">adjustReportPeriod</a>&nbsp;&nbsp;
107
+ <a href="#M000460">adjustReportPeriod</a>&nbsp;&nbsp;
108
108
 
109
- <a href="#M000632">alignment</a>&nbsp;&nbsp;
109
+ <a href="#M000455">alignment</a>&nbsp;&nbsp;
110
110
 
111
- <a href="#M000629">calculated?</a>&nbsp;&nbsp;
111
+ <a href="#M000456">calculated?</a>&nbsp;&nbsp;
112
112
 
113
- <a href="#M000628">cellText</a>&nbsp;&nbsp;
113
+ <a href="#M000453">defaultColumnTitle</a>&nbsp;&nbsp;
114
114
 
115
- <a href="#M000633">defaultColumnTitle</a>&nbsp;&nbsp;
115
+ <a href="#M000461">generateHeaderCell</a>&nbsp;&nbsp;
116
116
 
117
- <a href="#M000637">generateHeaderCell</a>&nbsp;&nbsp;
117
+ <a href="#M000450">generateIntermediateFormat</a>&nbsp;&nbsp;
118
118
 
119
- <a href="#M000639">generateResourceList</a>&nbsp;&nbsp;
119
+ <a href="#M000463">generateResourceList</a>&nbsp;&nbsp;
120
120
 
121
- <a href="#M000638">generateTaskList</a>&nbsp;&nbsp;
121
+ <a href="#M000462">generateTaskList</a>&nbsp;&nbsp;
122
122
 
123
- <a href="#M000631">indent</a>&nbsp;&nbsp;
123
+ <a href="#M000454">indent</a>&nbsp;&nbsp;
124
124
 
125
- <a href="#M000625">new</a>&nbsp;&nbsp;
125
+ <a href="#M000449">new</a>&nbsp;&nbsp;
126
126
 
127
- <a href="#M000630">scenarioSpecific?</a>&nbsp;&nbsp;
127
+ <a href="#M000457">scenarioSpecific?</a>&nbsp;&nbsp;
128
128
 
129
- <a href="#M000635">setReportPeriod</a>&nbsp;&nbsp;
129
+ <a href="#M000459">setReportPeriod</a>&nbsp;&nbsp;
130
130
 
131
- <a href="#M000634">supportedColumns</a>&nbsp;&nbsp;
131
+ <a href="#M000458">supportedColumns</a>&nbsp;&nbsp;
132
132
 
133
- <a href="#M000627">to_csv</a>&nbsp;&nbsp;
133
+ <a href="#M000452">to_csv</a>&nbsp;&nbsp;
134
134
 
135
- <a href="#M000626">to_html</a>&nbsp;&nbsp;
135
+ <a href="#M000451">to_html</a>&nbsp;&nbsp;
136
136
 
137
137
  </div>
138
138
  </div>
@@ -171,12 +171,12 @@ before the are turned into the requested output format.
171
171
  <h3 class="section-bar">Public Class methods</h3>
172
172
 
173
173
 
174
- <div id="method-M000633" class="method-detail">
175
- <a name="M000633"></a>
174
+ <div id="method-M000453" class="method-detail">
175
+ <a name="M000453"></a>
176
176
 
177
177
  <div class="method-heading">
178
178
 
179
- <a href="#M000633" class="method-signature">
179
+ <a href="#M000453" class="method-signature">
180
180
 
181
181
  <span class="method-name">defaultColumnTitle</span><span class="method-args">(id)</span>
182
182
 
@@ -191,19 +191,19 @@ Returns the default column title for the columns <em>id</em>.
191
191
  </p>
192
192
 
193
193
  <p><a class="source-toggle" href="#"
194
- onclick="toggleCode('M000633-source');return false;">[Source]</a></p>
195
- <div class="method-source-code" id="M000633-source">
194
+ onclick="toggleCode('M000453-source');return false;">[Source]</a></p>
195
+ <div class="method-source-code" id="M000453-source">
196
196
  <pre>
197
- <span class="ruby-comment cmt"># File lib/reports/TableReport.rb, line 207</span>
198
- 207: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">TableReport</span><span class="ruby-operator">::</span><span class="ruby-identifier">defaultColumnTitle</span>(<span class="ruby-identifier">id</span>)
199
- 208: <span class="ruby-comment cmt"># Return an empty string for some special columns that don't have a fixed</span>
200
- 209: <span class="ruby-comment cmt"># title.</span>
201
- 210: <span class="ruby-identifier">specials</span> = <span class="ruby-node">%w( chart hourly daily weekly monthly quarterly yearly)</span>
202
- 211: <span class="ruby-keyword kw">return</span> <span class="ruby-value str">''</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">specials</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">id</span>)
203
- 212:
204
- 213: <span class="ruby-comment cmt"># Return the title for build-in hardwired columns.</span>
205
- 214: <span class="ruby-ivar">@@propertiesById</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">id</span>) <span class="ruby-operator">?</span> <span class="ruby-ivar">@@propertiesById</span>[<span class="ruby-identifier">id</span>][<span class="ruby-value">0</span>] <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>
206
- 215: <span class="ruby-keyword kw">end</span>
197
+ <span class="ruby-comment cmt"># File lib/reports/TableReport.rb, line 142</span>
198
+ 142: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">TableReport</span><span class="ruby-operator">::</span><span class="ruby-identifier">defaultColumnTitle</span>(<span class="ruby-identifier">id</span>)
199
+ 143: <span class="ruby-comment cmt"># Return an empty string for some special columns that don't have a fixed</span>
200
+ 144: <span class="ruby-comment cmt"># title.</span>
201
+ 145: <span class="ruby-identifier">specials</span> = <span class="ruby-node">%w( chart hourly daily weekly monthly quarterly yearly)</span>
202
+ 146: <span class="ruby-keyword kw">return</span> <span class="ruby-value str">''</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">specials</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">id</span>)
203
+ 147:
204
+ 148: <span class="ruby-comment cmt"># Return the title for build-in hardwired columns.</span>
205
+ 149: <span class="ruby-ivar">@@propertiesById</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">id</span>) <span class="ruby-operator">?</span> <span class="ruby-ivar">@@propertiesById</span>[<span class="ruby-identifier">id</span>][<span class="ruby-value">0</span>] <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>
206
+ 150: <span class="ruby-keyword kw">end</span>
207
207
  </pre>
208
208
  </div>
209
209
 
@@ -211,12 +211,12 @@ Returns the default column title for the columns <em>id</em>.
211
211
  </div>
212
212
 
213
213
 
214
- <div id="method-M000625" class="method-detail">
215
- <a name="M000625"></a>
214
+ <div id="method-M000449" class="method-detail">
215
+ <a name="M000449"></a>
216
216
 
217
217
  <div class="method-heading">
218
218
 
219
- <a href="#M000625" class="method-signature">
219
+ <a href="#M000449" class="method-signature">
220
220
 
221
221
  <span class="method-name">new</span><span class="method-args">(report)</span>
222
222
 
@@ -231,21 +231,21 @@ Generate a new <a href="TableReport.html">TableReport</a> object.
231
231
  </p>
232
232
 
233
233
  <p><a class="source-toggle" href="#"
234
- onclick="toggleCode('M000625-source');return false;">[Source]</a></p>
235
- <div class="method-source-code" id="M000625-source">
234
+ onclick="toggleCode('M000449-source');return false;">[Source]</a></p>
235
+ <div class="method-source-code" id="M000449-source">
236
236
  <pre>
237
- <span class="ruby-comment cmt"># File lib/reports/TableReport.rb, line 53</span>
238
- 53: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">report</span>)
239
- 54: <span class="ruby-keyword kw">super</span>
240
- 55: <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">content</span> = <span class="ruby-keyword kw">self</span>
241
- 56:
242
- 57: <span class="ruby-comment cmt"># Reference to the intermediate representation.</span>
243
- 58: <span class="ruby-ivar">@table</span> = <span class="ruby-keyword kw">nil</span>
244
- 59: <span class="ruby-ivar">@start</span> = <span class="ruby-ivar">@end</span> = <span class="ruby-keyword kw">nil</span>
245
- 60:
246
- 61: <span class="ruby-ivar">@legend</span> = <span class="ruby-constant">ReportTableLegend</span>.<span class="ruby-identifier">new</span>
247
- 62:
248
- 63: <span class="ruby-keyword kw">end</span>
237
+ <span class="ruby-comment cmt"># File lib/reports/TableReport.rb, line 63</span>
238
+ 63: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">report</span>)
239
+ 64: <span class="ruby-keyword kw">super</span>
240
+ 65: <span class="ruby-ivar">@report</span>.<span class="ruby-identifier">content</span> = <span class="ruby-keyword kw">self</span>
241
+ 66:
242
+ 67: <span class="ruby-comment cmt"># Reference to the intermediate representation.</span>
243
+ 68: <span class="ruby-ivar">@table</span> = <span class="ruby-keyword kw">nil</span>
244
+ 69: <span class="ruby-ivar">@start</span> = <span class="ruby-ivar">@end</span> = <span class="ruby-keyword kw">nil</span>
245
+ 70:
246
+ 71: <span class="ruby-ivar">@legend</span> = <span class="ruby-constant">ReportTableLegend</span>.<span class="ruby-identifier">new</span>
247
+ 72:
248
+ 73: <span class="ruby-keyword kw">end</span>
249
249
  </pre>
250
250
  </div>
251
251
 
@@ -256,12 +256,12 @@ Generate a new <a href="TableReport.html">TableReport</a> object.
256
256
  <h3 class="section-bar">Public Instance methods</h3>
257
257
 
258
258
 
259
- <div id="method-M000632" class="method-detail">
260
- <a name="M000632"></a>
259
+ <div id="method-M000455" class="method-detail">
260
+ <a name="M000455"></a>
261
261
 
262
262
  <div class="method-heading">
263
263
 
264
- <a href="#M000632" class="method-signature">
264
+ <a href="#M000455" class="method-signature">
265
265
 
266
266
  <span class="method-name">alignment</span><span class="method-args">(colId, propertyType)</span>
267
267
 
@@ -277,19 +277,19 @@ Return the alignment of the column based on the <em>colId</em> or the
277
277
  </p>
278
278
 
279
279
  <p><a class="source-toggle" href="#"
280
- onclick="toggleCode('M000632-source');return false;">[Source]</a></p>
281
- <div class="method-source-code" id="M000632-source">
280
+ onclick="toggleCode('M000455-source');return false;">[Source]</a></p>
281
+ <div class="method-source-code" id="M000455-source">
282
282
  <pre>
283
- <span class="ruby-comment cmt"># File lib/reports/TableReport.rb, line 196</span>
284
- 196: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">alignment</span>(<span class="ruby-identifier">colId</span>, <span class="ruby-identifier">propertyType</span>)
285
- 197: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@@propertiesById</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">colId</span>)
286
- 198: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@@propertiesById</span>[<span class="ruby-identifier">colId</span>][<span class="ruby-value">2</span>]
287
- 199: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@@propertiesByType</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">propertyType</span>)
288
- 200: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@@propertiesByType</span>[<span class="ruby-identifier">propertyType</span>][<span class="ruby-value">1</span>]
289
- 201: <span class="ruby-keyword kw">else</span>
290
- 202: <span class="ruby-identifier">:center</span>
291
- 203: <span class="ruby-keyword kw">end</span>
292
- 204: <span class="ruby-keyword kw">end</span>
283
+ <span class="ruby-comment cmt"># File lib/reports/TableReport.rb, line 166</span>
284
+ 166: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">alignment</span>(<span class="ruby-identifier">colId</span>, <span class="ruby-identifier">propertyType</span>)
285
+ 167: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@@propertiesById</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">colId</span>)
286
+ 168: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@@propertiesById</span>[<span class="ruby-identifier">colId</span>][<span class="ruby-value">2</span>]
287
+ 169: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@@propertiesByType</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">propertyType</span>)
288
+ 170: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@@propertiesByType</span>[<span class="ruby-identifier">propertyType</span>][<span class="ruby-value">1</span>]
289
+ 171: <span class="ruby-keyword kw">else</span>
290
+ 172: <span class="ruby-identifier">:center</span>
291
+ 173: <span class="ruby-keyword kw">end</span>
292
+ 174: <span class="ruby-keyword kw">end</span>
293
293
  </pre>
294
294
  </div>
295
295
 
@@ -297,12 +297,12 @@ Return the alignment of the column based on the <em>colId</em> or the
297
297
  </div>
298
298
 
299
299
 
300
- <div id="method-M000629" class="method-detail">
301
- <a name="M000629"></a>
300
+ <div id="method-M000456" class="method-detail">
301
+ <a name="M000456"></a>
302
302
 
303
303
  <div class="method-heading">
304
304
 
305
- <a href="#M000629" class="method-signature">
305
+ <a href="#M000456" class="method-signature">
306
306
 
307
307
  <span class="method-name">calculated?</span><span class="method-args">(colId)</span>
308
308
 
@@ -318,16 +318,13 @@ to be calculated.
318
318
  </p>
319
319
 
320
320
  <p><a class="source-toggle" href="#"
321
- onclick="toggleCode('M000629-source');return false;">[Source]</a></p>
322
- <div class="method-source-code" id="M000629-source">
321
+ onclick="toggleCode('M000456-source');return false;">[Source]</a></p>
322
+ <div class="method-source-code" id="M000456-source">
323
323
  <pre>
324
- <span class="ruby-comment cmt"># File lib/reports/TableReport.rb, line 166</span>
325
- 166: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">calculated?</span>(<span class="ruby-identifier">colId</span>)
326
- 167: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@@propertiesById</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">colId</span>)
327
- 168: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@@propertiesById</span>[<span class="ruby-identifier">colId</span>][<span class="ruby-value">3</span>]
328
- 169: <span class="ruby-keyword kw">end</span>
329
- 170: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
330
- 171: <span class="ruby-keyword kw">end</span>
324
+ <span class="ruby-comment cmt"># File lib/reports/TableReport.rb, line 178</span>
325
+ 178: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">calculated?</span>(<span class="ruby-identifier">colId</span>)
326
+ 179: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@@propertiesById</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">colId</span>)
327
+ 180: <span class="ruby-keyword kw">end</span>
331
328
  </pre>
332
329
  </div>
333
330
 
@@ -335,14 +332,14 @@ to be calculated.
335
332
  </div>
336
333
 
337
334
 
338
- <div id="method-M000628" class="method-detail">
339
- <a name="M000628"></a>
335
+ <div id="method-M000450" class="method-detail">
336
+ <a name="M000450"></a>
340
337
 
341
338
  <div class="method-heading">
342
339
 
343
- <a href="#M000628" class="method-signature">
340
+ <a href="#M000450" class="method-signature">
344
341
 
345
- <span class="method-name">cellText</span><span class="method-args">(value, type)</span>
342
+ <span class="method-name">generateIntermediateFormat</span><span class="method-args">()</span>
346
343
 
347
344
  </a>
348
345
 
@@ -350,40 +347,14 @@ to be calculated.
350
347
 
351
348
  <div class="method-description">
352
349
 
353
- <p>
354
- This is the default attribute value to text converter. It is used whenever
355
- we need no special treatment.
356
- </p>
357
-
358
350
  <p><a class="source-toggle" href="#"
359
- onclick="toggleCode('M000628-source');return false;">[Source]</a></p>
360
- <div class="method-source-code" id="M000628-source">
351
+ onclick="toggleCode('M000450-source');return false;">[Source]</a></p>
352
+ <div class="method-source-code" id="M000450-source">
361
353
  <pre>
362
- <span class="ruby-comment cmt"># File lib/reports/TableReport.rb, line 139</span>
363
- 139: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cellText</span>(<span class="ruby-identifier">value</span>, <span class="ruby-identifier">type</span>)
364
- 140: <span class="ruby-keyword kw">begin</span>
365
- 141: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">value</span>.<span class="ruby-identifier">nil?</span>
366
- 142: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-constant">DateAttribute</span>
367
- 143: <span class="ruby-keyword kw">nil</span>
368
- 144: <span class="ruby-keyword kw">else</span>
369
- 145: <span class="ruby-value str">''</span>
370
- 146: <span class="ruby-keyword kw">end</span>
371
- 147: <span class="ruby-keyword kw">else</span>
372
- 148: <span class="ruby-comment cmt"># Certain attribute types need special treatment.</span>
373
- 149: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-constant">DateAttribute</span>
374
- 150: <span class="ruby-identifier">value</span>.<span class="ruby-identifier">value</span>.<span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">a</span>(<span class="ruby-value str">'timeFormat'</span>))
375
- 151: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-constant">RichTextAttribute</span>
376
- 152: <span class="ruby-identifier">value</span>.<span class="ruby-identifier">value</span>
377
- 153: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-constant">ReferenceAttribute</span>
378
- 154: <span class="ruby-identifier">value</span>.<span class="ruby-identifier">label</span>
379
- 155: <span class="ruby-keyword kw">else</span>
380
- 156: <span class="ruby-identifier">value</span>.<span class="ruby-identifier">to_s</span>
381
- 157: <span class="ruby-keyword kw">end</span>
382
- 158: <span class="ruby-keyword kw">end</span>
383
- 159: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span>
384
- 160: <span class="ruby-value str">''</span>
385
- 161: <span class="ruby-keyword kw">end</span>
386
- 162: <span class="ruby-keyword kw">end</span>
354
+ <span class="ruby-comment cmt"># File lib/reports/TableReport.rb, line 75</span>
355
+ 75: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateIntermediateFormat</span>
356
+ 76: <span class="ruby-keyword kw">super</span>
357
+ 77: <span class="ruby-keyword kw">end</span>
387
358
  </pre>
388
359
  </div>
389
360
 
@@ -391,12 +362,12 @@ we need no special treatment.
391
362
  </div>
392
363
 
393
364
 
394
- <div id="method-M000631" class="method-detail">
395
- <a name="M000631"></a>
365
+ <div id="method-M000454" class="method-detail">
366
+ <a name="M000454"></a>
396
367
 
397
368
  <div class="method-heading">
398
369
 
399
- <a href="#M000631" class="method-signature">
370
+ <a href="#M000454" class="method-signature">
400
371
 
401
372
  <span class="method-name">indent</span><span class="method-args">(colId, propertyType)</span>
402
373
 
@@ -412,19 +383,19 @@ or the <em>propertyType</em>.
412
383
  </p>
413
384
 
414
385
  <p><a class="source-toggle" href="#"
415
- onclick="toggleCode('M000631-source');return false;">[Source]</a></p>
416
- <div class="method-source-code" id="M000631-source">
386
+ onclick="toggleCode('M000454-source');return false;">[Source]</a></p>
387
+ <div class="method-source-code" id="M000454-source">
417
388
  <pre>
418
- <span class="ruby-comment cmt"># File lib/reports/TableReport.rb, line 184</span>
419
- 184: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">indent</span>(<span class="ruby-identifier">colId</span>, <span class="ruby-identifier">propertyType</span>)
420
- 185: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@@propertiesById</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">colId</span>)
421
- 186: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@@propertiesById</span>[<span class="ruby-identifier">colId</span>][<span class="ruby-value">1</span>]
422
- 187: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@@propertiesByType</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">propertyType</span>)
423
- 188: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@@propertiesByType</span>[<span class="ruby-identifier">propertyType</span>][<span class="ruby-value">0</span>]
424
- 189: <span class="ruby-keyword kw">else</span>
425
- 190: <span class="ruby-keyword kw">false</span>
426
- 191: <span class="ruby-keyword kw">end</span>
427
- 192: <span class="ruby-keyword kw">end</span>
389
+ <span class="ruby-comment cmt"># File lib/reports/TableReport.rb, line 154</span>
390
+ 154: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">indent</span>(<span class="ruby-identifier">colId</span>, <span class="ruby-identifier">propertyType</span>)
391
+ 155: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@@propertiesById</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">colId</span>)
392
+ 156: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@@propertiesById</span>[<span class="ruby-identifier">colId</span>][<span class="ruby-value">1</span>]
393
+ 157: <span class="ruby-keyword kw">elsif</span> <span class="ruby-ivar">@@propertiesByType</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">propertyType</span>)
394
+ 158: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@@propertiesByType</span>[<span class="ruby-identifier">propertyType</span>][<span class="ruby-value">0</span>]
395
+ 159: <span class="ruby-keyword kw">else</span>
396
+ 160: <span class="ruby-keyword kw">false</span>
397
+ 161: <span class="ruby-keyword kw">end</span>
398
+ 162: <span class="ruby-keyword kw">end</span>
428
399
  </pre>
429
400
  </div>
430
401
 
@@ -432,12 +403,12 @@ or the <em>propertyType</em>.
432
403
  </div>
433
404
 
434
405
 
435
- <div id="method-M000630" class="method-detail">
436
- <a name="M000630"></a>
406
+ <div id="method-M000457" class="method-detail">
407
+ <a name="M000457"></a>
437
408
 
438
409
  <div class="method-heading">
439
410
 
440
- <a href="#M000630" class="method-signature">
411
+ <a href="#M000457" class="method-signature">
441
412
 
442
413
  <span class="method-name">scenarioSpecific?</span><span class="method-args">(colId)</span>
443
414
 
@@ -453,16 +424,16 @@ are scenario specific.
453
424
  </p>
454
425
 
455
426
  <p><a class="source-toggle" href="#"
456
- onclick="toggleCode('M000630-source');return false;">[Source]</a></p>
457
- <div class="method-source-code" id="M000630-source">
427
+ onclick="toggleCode('M000457-source');return false;">[Source]</a></p>
428
+ <div class="method-source-code" id="M000457-source">
458
429
  <pre>
459
- <span class="ruby-comment cmt"># File lib/reports/TableReport.rb, line 175</span>
460
- 175: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scenarioSpecific?</span>(<span class="ruby-identifier">colId</span>)
461
- 176: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@@propertiesById</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">colId</span>)
462
- 177: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@@propertiesById</span>[<span class="ruby-identifier">colId</span>][<span class="ruby-value">4</span>]
463
- 178: <span class="ruby-keyword kw">end</span>
464
- 179: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
465
- 180: <span class="ruby-keyword kw">end</span>
430
+ <span class="ruby-comment cmt"># File lib/reports/TableReport.rb, line 184</span>
431
+ 184: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">scenarioSpecific?</span>(<span class="ruby-identifier">colId</span>)
432
+ 185: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@@propertiesById</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">colId</span>)
433
+ 186: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@@propertiesById</span>[<span class="ruby-identifier">colId</span>][<span class="ruby-value">3</span>]
434
+ 187: <span class="ruby-keyword kw">end</span>
435
+ 188: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
436
+ 189: <span class="ruby-keyword kw">end</span>
466
437
  </pre>
467
438
  </div>
468
439
 
@@ -470,12 +441,12 @@ are scenario specific.
470
441
  </div>
471
442
 
472
443
 
473
- <div id="method-M000634" class="method-detail">
474
- <a name="M000634"></a>
444
+ <div id="method-M000458" class="method-detail">
445
+ <a name="M000458"></a>
475
446
 
476
447
  <div class="method-heading">
477
448
 
478
- <a href="#M000634" class="method-signature">
449
+ <a href="#M000458" class="method-signature">
479
450
 
480
451
  <span class="method-name">supportedColumns</span><span class="method-args">()</span>
481
452
 
@@ -486,13 +457,13 @@ are scenario specific.
486
457
  <div class="method-description">
487
458
 
488
459
  <p><a class="source-toggle" href="#"
489
- onclick="toggleCode('M000634-source');return false;">[Source]</a></p>
490
- <div class="method-source-code" id="M000634-source">
460
+ onclick="toggleCode('M000458-source');return false;">[Source]</a></p>
461
+ <div class="method-source-code" id="M000458-source">
491
462
  <pre>
492
- <span class="ruby-comment cmt"># File lib/reports/TableReport.rb, line 217</span>
493
- 217: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">supportedColumns</span>
494
- 218: <span class="ruby-ivar">@@propertiesById</span>.<span class="ruby-identifier">keys</span>
495
- 219: <span class="ruby-keyword kw">end</span>
463
+ <span class="ruby-comment cmt"># File lib/reports/TableReport.rb, line 191</span>
464
+ 191: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">supportedColumns</span>
465
+ 192: <span class="ruby-ivar">@@propertiesById</span>.<span class="ruby-identifier">keys</span>
466
+ 193: <span class="ruby-keyword kw">end</span>
496
467
  </pre>
497
468
  </div>
498
469
 
@@ -500,12 +471,12 @@ are scenario specific.
500
471
  </div>
501
472
 
502
473
 
503
- <div id="method-M000627" class="method-detail">
504
- <a name="M000627"></a>
474
+ <div id="method-M000452" class="method-detail">
475
+ <a name="M000452"></a>
505
476
 
506
477
  <div class="method-heading">
507
478
 
508
- <a href="#M000627" class="method-signature">
479
+ <a href="#M000452" class="method-signature">
509
480
 
510
481
  <span class="method-name">to_csv</span><span class="method-args">()</span>
511
482
 
@@ -522,13 +493,13 @@ column.
522
493
  </p>
523
494
 
524
495
  <p><a class="source-toggle" href="#"
525
- onclick="toggleCode('M000627-source');return false;">[Source]</a></p>
526
- <div class="method-source-code" id="M000627-source">
496
+ onclick="toggleCode('M000452-source');return false;">[Source]</a></p>
497
+ <div class="method-source-code" id="M000452-source">
527
498
  <pre>
528
- <span class="ruby-comment cmt"># File lib/reports/TableReport.rb, line 133</span>
529
- 133: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_csv</span>
530
- 134: <span class="ruby-ivar">@table</span>.<span class="ruby-identifier">to_csv</span>
531
- 135: <span class="ruby-keyword kw">end</span>
499
+ <span class="ruby-comment cmt"># File lib/reports/TableReport.rb, line 137</span>
500
+ 137: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_csv</span>
501
+ 138: <span class="ruby-ivar">@table</span>.<span class="ruby-identifier">to_csv</span>
502
+ 139: <span class="ruby-keyword kw">end</span>
532
503
  </pre>
533
504
  </div>
534
505
 
@@ -536,12 +507,12 @@ column.
536
507
  </div>
537
508
 
538
509
 
539
- <div id="method-M000626" class="method-detail">
540
- <a name="M000626"></a>
510
+ <div id="method-M000451" class="method-detail">
511
+ <a name="M000451"></a>
541
512
 
542
513
  <div class="method-heading">
543
514
 
544
- <a href="#M000626" class="method-signature">
515
+ <a href="#M000451" class="method-signature">
545
516
 
546
517
  <span class="method-name">to_html</span><span class="method-args">()</span>
547
518
 
@@ -557,73 +528,62 @@ element tree.
557
528
  </p>
558
529
 
559
530
  <p><a class="source-toggle" href="#"
560
- onclick="toggleCode('M000626-source');return false;">[Source]</a></p>
561
- <div class="method-source-code" id="M000626-source">
531
+ onclick="toggleCode('M000451-source');return false;">[Source]</a></p>
532
+ <div class="method-source-code" id="M000451-source">
562
533
  <pre>
563
- <span class="ruby-comment cmt"># File lib/reports/TableReport.rb, line 67</span>
564
- 67: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
565
- 68: <span class="ruby-identifier">html</span> = []
566
- 69:
567
- 70: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">rt_to_html</span>(<span class="ruby-value str">'header'</span>)
568
- 71: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">table</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'summary'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'Report Table'</span>,
569
- 72: <span class="ruby-value str">'cellspacing'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'2'</span>, <span class="ruby-value str">'border'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'0'</span>,
570
- 73: <span class="ruby-value str">'cellpadding'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'0'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>,
571
- 74: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tabback'</span>))
572
- 75:
573
- 76: <span class="ruby-comment cmt"># The headline is put in a sub-table to appear bigger.</span>
574
- 77: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'headline'</span>)
575
- 78: <span class="ruby-identifier">table</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">thead</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'thead'</span>))
576
- 79: <span class="ruby-identifier">thead</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>))
577
- 80: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>))
578
- 81: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">table1</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'summary'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'headline'</span>,
579
- 82: <span class="ruby-value str">'cellspacing'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'1'</span>, <span class="ruby-value str">'border'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'0'</span>,
580
- 83: <span class="ruby-value str">'cellpadding'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'5'</span>,
581
- 84: <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'100%'</span>))
582
- 85: <span class="ruby-identifier">table1</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr1</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>))
583
- 86: <span class="ruby-identifier">tr1</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td1</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>,
584
- 87: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'font-size:16px; '</span> <span class="ruby-operator">+</span>
585
- 88: <span class="ruby-value str">'font-weight:bold'</span>,
586
- 89: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tabfront'</span>))
587
- 90: <span class="ruby-identifier">td1</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">a</span>(<span class="ruby-value str">'headline'</span>), <span class="ruby-value str">'p'</span>)
588
- 91: <span class="ruby-keyword kw">end</span>
589
- 92:
590
- 93: <span class="ruby-comment cmt"># Now generate the actual table with the data.</span>
591
- 94: <span class="ruby-identifier">table</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tbody</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tbody'</span>))
592
- 95: <span class="ruby-identifier">tbody</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>))
593
- 96: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>))
594
- 97: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@table</span>.<span class="ruby-identifier">to_html</span>
595
- 98:
596
- 99: <span class="ruby-comment cmt"># Embedd the caption as RichText into the table footer.</span>
597
- 100: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'caption'</span>)
598
- 101: <span class="ruby-identifier">tbody</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>))
599
- 102: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tabback'</span>))
600
- 103: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">div</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'div'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'caption'</span>,
601
- 104: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'margin:1px'</span>))
602
- 105: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'caption'</span>).<span class="ruby-identifier">sectionNumbers</span> = <span class="ruby-keyword kw">false</span>
603
- 106: <span class="ruby-identifier">div</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'caption'</span>).<span class="ruby-identifier">to_html</span>
534
+ <span class="ruby-comment cmt"># File lib/reports/TableReport.rb, line 82</span>
535
+ 82: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
536
+ 83: <span class="ruby-identifier">html</span> = []
537
+ 84:
538
+ 85: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">rt_to_html</span>(<span class="ruby-value str">'header'</span>)
539
+ 86: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">table</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'summary'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'Report Table'</span>,
540
+ 87: <span class="ruby-value str">'cellspacing'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'2'</span>, <span class="ruby-value str">'border'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'0'</span>,
541
+ 88: <span class="ruby-value str">'cellpadding'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'0'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>,
542
+ 89: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tjtable'</span>))
543
+ 90:
544
+ 91: <span class="ruby-comment cmt"># The headline is put in a sub-table to appear bigger.</span>
545
+ 92: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'headline'</span>)
546
+ 93: <span class="ruby-identifier">table</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">thead</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'thead'</span>))
547
+ 94: <span class="ruby-identifier">thead</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>))
548
+ 95: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>))
549
+ 96: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">table1</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'summary'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'headline'</span>,
550
+ 97: <span class="ruby-value str">'cellspacing'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'1'</span>, <span class="ruby-value str">'border'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'0'</span>,
551
+ 98: <span class="ruby-value str">'cellpadding'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'5'</span>,
552
+ 99: <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'100%'</span>))
553
+ 100: <span class="ruby-identifier">table1</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr1</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>))
554
+ 101: <span class="ruby-identifier">tr1</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td1</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>,
555
+ 102: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'font-size:16px; '</span> <span class="ruby-operator">+</span>
556
+ 103: <span class="ruby-value str">'font-weight:bold; '</span> <span class="ruby-operator">+</span>
557
+ 104: <span class="ruby-value str">'padding:5px'</span>,
558
+ 105: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tabfront'</span>))
559
+ 106: <span class="ruby-identifier">td1</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'headline'</span>).<span class="ruby-identifier">to_html</span>
604
560
  107: <span class="ruby-keyword kw">end</span>
605
561
  108:
606
- 109: <span class="ruby-comment cmt"># A sub-table with the legend.</span>
607
- 110: <span class="ruby-identifier">tbody</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'font-size:10px;'</span>))
608
- 111: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span>
609
- 112: <span class="ruby-value str">'padding-left:1px; padding-right:1px;'</span>))
610
- 113: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@legend</span>.<span class="ruby-identifier">to_html</span>
562
+ 109: <span class="ruby-comment cmt"># Now generate the actual table with the data.</span>
563
+ 110: <span class="ruby-identifier">table</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tbody</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tbody'</span>))
564
+ 111: <span class="ruby-identifier">tbody</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>))
565
+ 112: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>))
566
+ 113: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@table</span>.<span class="ruby-identifier">to_html</span>
611
567
  114:
612
- 115: <span class="ruby-comment cmt"># The footer with some administrative information.</span>
613
- 116: <span class="ruby-identifier">tbody</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'font-size:9px'</span>))
614
- 117: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tabfooter'</span>))
615
- 118: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@project</span>[<span class="ruby-value str">'copyright'</span>] <span class="ruby-operator">+</span> <span class="ruby-value str">&quot; - &quot;</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'copyright'</span>]
616
- 119: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;Project: #{@project['name']} &quot;</span> <span class="ruby-operator">+</span>
617
- 120: <span class="ruby-node">&quot;Version: #{@project['version']} - &quot;</span> <span class="ruby-operator">+</span>
618
- 121: <span class="ruby-node">&quot;Created on #{TjTime.now.to_s(&quot;%Y-%m-%d %H:%M:%S&quot;)} &quot;</span> <span class="ruby-operator">+</span>
619
- 122: <span class="ruby-value str">&quot;with &quot;</span>)
620
- 123: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;#{AppConfig.packageName}&quot;</span>, <span class="ruby-value str">'a'</span>,
621
- 124: <span class="ruby-value str">'href'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;#{AppConfig.contact}&quot;</span>)
622
- 125: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot; v#{AppConfig.version}&quot;</span>)
623
- 126:
624
- 127: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">rt_to_html</span>(<span class="ruby-value str">'footer'</span>)
625
- 128: <span class="ruby-identifier">html</span>
626
- 129: <span class="ruby-keyword kw">end</span>
568
+ 115: <span class="ruby-comment cmt"># Embedd the caption as RichText into the table footer.</span>
569
+ 116: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'caption'</span>)
570
+ 117: <span class="ruby-identifier">tbody</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>))
571
+ 118: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tabback'</span>))
572
+ 119: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">div</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'div'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'caption'</span>,
573
+ 120: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'margin:1px'</span>))
574
+ 121: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'caption'</span>).<span class="ruby-identifier">sectionNumbers</span> = <span class="ruby-keyword kw">false</span>
575
+ 122: <span class="ruby-identifier">div</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'caption'</span>).<span class="ruby-identifier">to_html</span>
576
+ 123: <span class="ruby-keyword kw">end</span>
577
+ 124:
578
+ 125: <span class="ruby-comment cmt"># A sub-table with the legend.</span>
579
+ 126: <span class="ruby-identifier">tbody</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'font-size:10px;'</span>))
580
+ 127: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span>
581
+ 128: <span class="ruby-value str">'padding-left:1px; padding-right:1px;'</span>))
582
+ 129: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@legend</span>.<span class="ruby-identifier">to_html</span>
583
+ 130:
584
+ 131: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">rt_to_html</span>(<span class="ruby-value str">'footer'</span>)
585
+ 132: <span class="ruby-identifier">html</span>
586
+ 133: <span class="ruby-keyword kw">end</span>
627
587
  </pre>
628
588
  </div>
629
589
 
@@ -634,12 +594,12 @@ element tree.
634
594
  <h3 class="section-bar">Protected Instance methods</h3>
635
595
 
636
596
 
637
- <div id="method-M000636" class="method-detail">
638
- <a name="M000636"></a>
597
+ <div id="method-M000460" class="method-detail">
598
+ <a name="M000460"></a>
639
599
 
640
600
  <div class="method-heading">
641
601
 
642
- <a href="#M000636" class="method-signature">
602
+ <a href="#M000460" class="method-signature">
643
603
 
644
604
  <span class="method-name">adjustReportPeriod</span><span class="method-args">(tasks, scenarios, columns)</span>
645
605
 
@@ -656,76 +616,75 @@ is a list of scenario indexes.
656
616
  </p>
657
617
 
658
618
  <p><a class="source-toggle" href="#"
659
- onclick="toggleCode('M000636-source');return false;">[Source]</a></p>
660
- <div class="method-source-code" id="M000636-source">
619
+ onclick="toggleCode('M000460-source');return false;">[Source]</a></p>
620
+ <div class="method-source-code" id="M000460-source">
661
621
  <pre>
662
- <span class="ruby-comment cmt"># File lib/reports/TableReport.rb, line 233</span>
663
- 233: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">adjustReportPeriod</span>(<span class="ruby-identifier">tasks</span>, <span class="ruby-identifier">scenarios</span>, <span class="ruby-identifier">columns</span>)
664
- 234: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">||</span>
665
- 235: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'start'</span>) <span class="ruby-operator">!=</span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'start'</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'end'</span>) <span class="ruby-operator">!=</span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'end'</span>]
666
- 236:
667
- 237: <span class="ruby-ivar">@start</span> = <span class="ruby-ivar">@end</span> = <span class="ruby-keyword kw">nil</span>
668
- 238: <span class="ruby-identifier">scenarios</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">scenarioIdx</span><span class="ruby-operator">|</span>
669
- 239: <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">task</span><span class="ruby-operator">|</span>
670
- 240: <span class="ruby-identifier">date</span> = <span class="ruby-identifier">task</span>[<span class="ruby-value str">'start'</span>, <span class="ruby-identifier">scenarioIdx</span>] <span class="ruby-operator">||</span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'start'</span>]
671
- 241: <span class="ruby-ivar">@start</span> = <span class="ruby-identifier">date</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@start</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">date</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@start</span>
672
- 242: <span class="ruby-identifier">date</span> = <span class="ruby-identifier">task</span>[<span class="ruby-value str">'end'</span>, <span class="ruby-identifier">scenarioIdx</span>] <span class="ruby-operator">||</span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'end'</span>]
673
- 243: <span class="ruby-ivar">@end</span> = <span class="ruby-identifier">date</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@end</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">date</span> <span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@end</span>
674
- 244: <span class="ruby-keyword kw">end</span>
675
- 245: <span class="ruby-keyword kw">end</span>
676
- 246: <span class="ruby-comment cmt"># We want to add at least 5% on both ends.</span>
677
- 247: <span class="ruby-identifier">margin</span> = <span class="ruby-value">0</span>
678
- 248: <span class="ruby-identifier">minWidth</span> = <span class="ruby-ivar">@end</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@start</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
679
- 249: <span class="ruby-identifier">columns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">column</span><span class="ruby-operator">|</span>
680
- 250: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">column</span>.<span class="ruby-identifier">id</span>
681
- 251: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'chart'</span>
682
- 252: <span class="ruby-comment cmt"># In case we have a 'chart' column, we enforce certain minimum width</span>
683
- 253: <span class="ruby-comment cmt"># of the chart. The width depends on the selected scale.</span>
684
- 254: <span class="ruby-comment cmt"># The following table contains an entry for each scale. The entry</span>
685
- 255: <span class="ruby-comment cmt"># consists of the triple 'seconds per unit', 'minimum width units'</span>
686
- 256: <span class="ruby-comment cmt"># and 'margin units'. The minimum with does not include the margins</span>
687
- 257: <span class="ruby-comment cmt"># since they are always added.</span>
688
- 258: <span class="ruby-identifier">mwMap</span> = {
689
- 259: <span class="ruby-value str">'hour'</span> =<span class="ruby-operator">&gt;</span> [ <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span>, <span class="ruby-value">18</span>, <span class="ruby-value">2</span> ],
690
- 260: <span class="ruby-value str">'day'</span> =<span class="ruby-operator">&gt;</span> [ <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">24</span>, <span class="ruby-value">18</span>, <span class="ruby-value">2</span> ],
691
- 261: <span class="ruby-value str">'week'</span> =<span class="ruby-operator">&gt;</span> [ <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">24</span> <span class="ruby-operator">*</span> <span class="ruby-value">7</span>, <span class="ruby-value">6</span>, <span class="ruby-value">1</span> ],
692
- 262: <span class="ruby-value str">'month'</span> =<span class="ruby-operator">&gt;</span> [ <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">24</span> <span class="ruby-operator">*</span> <span class="ruby-value">31</span>, <span class="ruby-value">10</span>, <span class="ruby-value">1</span> ],
693
- 263: <span class="ruby-value str">'quarter'</span> =<span class="ruby-operator">&gt;</span> [ <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">24</span> <span class="ruby-operator">*</span> <span class="ruby-value">90</span>, <span class="ruby-value">6</span>, <span class="ruby-value">1</span> ],
694
- 264: <span class="ruby-value str">'year'</span> =<span class="ruby-operator">&gt;</span> [ <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">24</span> <span class="ruby-operator">*</span> <span class="ruby-value">365</span>, <span class="ruby-value">4</span>, <span class="ruby-value">1</span> ]
695
- 265: }
696
- 266: <span class="ruby-identifier">entry</span> = <span class="ruby-identifier">mwMap</span>[<span class="ruby-identifier">column</span>.<span class="ruby-identifier">scale</span>]
697
- 267: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Unknown scale #{column.scale}&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">entry</span>
698
- 268: <span class="ruby-identifier">margin</span> = <span class="ruby-identifier">entry</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">*</span> <span class="ruby-identifier">entry</span>[<span class="ruby-value">2</span>]
699
- 269: <span class="ruby-comment cmt"># If the with determined by start and end dates of the task is below</span>
700
- 270: <span class="ruby-comment cmt"># the minimum width, we increase the width to the value provided by</span>
701
- 271: <span class="ruby-comment cmt"># the table.</span>
702
- 272: <span class="ruby-identifier">minWidth</span> = <span class="ruby-identifier">entry</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">*</span> <span class="ruby-identifier">entry</span>[<span class="ruby-value">1</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">minWidth</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">entry</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">*</span> <span class="ruby-identifier">entry</span>[<span class="ruby-value">1</span>]
703
- 273: <span class="ruby-keyword kw">break</span>
704
- 274: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'hourly'</span>, <span class="ruby-value str">'daily'</span>, <span class="ruby-value str">'weekly'</span>, <span class="ruby-value str">'monthly'</span>, <span class="ruby-value str">'quarterly'</span>, <span class="ruby-value str">'yearly'</span>
705
- 275: <span class="ruby-comment cmt"># For the calendar columns we use a similar approach as we use for</span>
706
- 276: <span class="ruby-comment cmt"># the 'chart' column.</span>
707
- 277: <span class="ruby-identifier">mwMap</span> = {
708
- 278: <span class="ruby-value str">'hourly'</span> =<span class="ruby-operator">&gt;</span> [ <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span>, <span class="ruby-value">18</span>, <span class="ruby-value">2</span> ],
709
- 279: <span class="ruby-value str">'daily'</span> =<span class="ruby-operator">&gt;</span> [ <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">24</span>, <span class="ruby-value">18</span>, <span class="ruby-value">2</span> ],
710
- 280: <span class="ruby-value str">'weekly'</span> =<span class="ruby-operator">&gt;</span> [ <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">24</span> <span class="ruby-operator">*</span> <span class="ruby-value">7</span>, <span class="ruby-value">6</span>, <span class="ruby-value">1</span> ],
711
- 281: <span class="ruby-value str">'monthly'</span> =<span class="ruby-operator">&gt;</span> [ <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">24</span> <span class="ruby-operator">*</span> <span class="ruby-value">31</span>, <span class="ruby-value">10</span>, <span class="ruby-value">1</span> ],
712
- 282: <span class="ruby-value str">'quarterly'</span> =<span class="ruby-operator">&gt;</span> [ <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">24</span> <span class="ruby-operator">*</span> <span class="ruby-value">90</span>, <span class="ruby-value">6</span>, <span class="ruby-value">1</span> ],
713
- 283: <span class="ruby-value str">'yearly'</span> =<span class="ruby-operator">&gt;</span> [ <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">24</span> <span class="ruby-operator">*</span> <span class="ruby-value">365</span>, <span class="ruby-value">4</span>, <span class="ruby-value">1</span> ]
714
- 284: }
715
- 285: <span class="ruby-identifier">entry</span> = <span class="ruby-identifier">mwMap</span>[<span class="ruby-identifier">column</span>.<span class="ruby-identifier">id</span>]
716
- 286: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Unknown scale #{column.id}&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">entry</span>
717
- 287: <span class="ruby-identifier">margin</span> = <span class="ruby-identifier">entry</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">*</span> <span class="ruby-identifier">entry</span>[<span class="ruby-value">2</span>]
718
- 288: <span class="ruby-identifier">minWidth</span> = <span class="ruby-identifier">entry</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">*</span> <span class="ruby-identifier">entry</span>[<span class="ruby-value">1</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">minWidth</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">entry</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">*</span> <span class="ruby-identifier">entry</span>[<span class="ruby-value">1</span>]
719
- 289: <span class="ruby-keyword kw">break</span>
720
- 290: <span class="ruby-keyword kw">end</span>
721
- 291: <span class="ruby-keyword kw">end</span>
722
- 292:
723
- 293: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">minWidth</span> <span class="ruby-operator">&gt;</span> (<span class="ruby-ivar">@end</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@start</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>)
724
- 294: <span class="ruby-identifier">margin</span> <span class="ruby-operator">+=</span> (<span class="ruby-identifier">minWidth</span> <span class="ruby-operator">-</span> (<span class="ruby-ivar">@end</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@start</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>)) <span class="ruby-operator">/</span> <span class="ruby-value">2</span>
725
- 295: <span class="ruby-keyword kw">end</span>
726
- 296: <span class="ruby-ivar">@start</span> <span class="ruby-operator">-=</span> <span class="ruby-identifier">margin</span>
727
- 297: <span class="ruby-ivar">@end</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">margin</span>
728
- 298: <span class="ruby-keyword kw">end</span>
622
+ <span class="ruby-comment cmt"># File lib/reports/TableReport.rb, line 207</span>
623
+ 207: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">adjustReportPeriod</span>(<span class="ruby-identifier">tasks</span>, <span class="ruby-identifier">scenarios</span>, <span class="ruby-identifier">columns</span>)
624
+ 208: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">||</span>
625
+ 209: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'start'</span>) <span class="ruby-operator">!=</span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'start'</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'end'</span>) <span class="ruby-operator">!=</span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'end'</span>]
626
+ 210:
627
+ 211: <span class="ruby-ivar">@start</span> = <span class="ruby-ivar">@end</span> = <span class="ruby-keyword kw">nil</span>
628
+ 212: <span class="ruby-identifier">scenarios</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">scenarioIdx</span><span class="ruby-operator">|</span>
629
+ 213: <span class="ruby-identifier">tasks</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">task</span><span class="ruby-operator">|</span>
630
+ 214: <span class="ruby-identifier">date</span> = <span class="ruby-identifier">task</span>[<span class="ruby-value str">'start'</span>, <span class="ruby-identifier">scenarioIdx</span>] <span class="ruby-operator">||</span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'start'</span>]
631
+ 215: <span class="ruby-ivar">@start</span> = <span class="ruby-identifier">date</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@start</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">date</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@start</span>
632
+ 216: <span class="ruby-identifier">date</span> = <span class="ruby-identifier">task</span>[<span class="ruby-value str">'end'</span>, <span class="ruby-identifier">scenarioIdx</span>] <span class="ruby-operator">||</span> <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'end'</span>]
633
+ 217: <span class="ruby-ivar">@end</span> = <span class="ruby-identifier">date</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@end</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">date</span> <span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@end</span>
634
+ 218: <span class="ruby-keyword kw">end</span>
635
+ 219: <span class="ruby-keyword kw">end</span>
636
+ 220: <span class="ruby-comment cmt"># We want to add at least 5% on both ends.</span>
637
+ 221: <span class="ruby-identifier">margin</span> = <span class="ruby-value">0</span>
638
+ 222: <span class="ruby-identifier">minWidth</span> = <span class="ruby-ivar">@end</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@start</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
639
+ 223: <span class="ruby-identifier">columns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">column</span><span class="ruby-operator">|</span>
640
+ 224: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">column</span>.<span class="ruby-identifier">id</span>
641
+ 225: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'chart'</span>
642
+ 226: <span class="ruby-comment cmt"># In case we have a 'chart' column, we enforce certain minimum width</span>
643
+ 227: <span class="ruby-comment cmt"># The following table contains an entry for each scale. The entry</span>
644
+ 228: <span class="ruby-comment cmt"># consists of the triple 'seconds per unit', 'minimum width units'</span>
645
+ 229: <span class="ruby-comment cmt"># and 'margin units'. The minimum with does not include the margins</span>
646
+ 230: <span class="ruby-comment cmt"># since they are always added.</span>
647
+ 231: <span class="ruby-identifier">mwMap</span> = {
648
+ 232: <span class="ruby-value str">'hour'</span> =<span class="ruby-operator">&gt;</span> [ <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span>, <span class="ruby-value">18</span>, <span class="ruby-value">2</span> ],
649
+ 233: <span class="ruby-value str">'day'</span> =<span class="ruby-operator">&gt;</span> [ <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">24</span>, <span class="ruby-value">18</span>, <span class="ruby-value">2</span> ],
650
+ 234: <span class="ruby-value str">'week'</span> =<span class="ruby-operator">&gt;</span> [ <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">24</span> <span class="ruby-operator">*</span> <span class="ruby-value">7</span>, <span class="ruby-value">6</span>, <span class="ruby-value">1</span> ],
651
+ 235: <span class="ruby-value str">'month'</span> =<span class="ruby-operator">&gt;</span> [ <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">24</span> <span class="ruby-operator">*</span> <span class="ruby-value">31</span>, <span class="ruby-value">10</span>, <span class="ruby-value">1</span> ],
652
+ 236: <span class="ruby-value str">'quarter'</span> =<span class="ruby-operator">&gt;</span> [ <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">24</span> <span class="ruby-operator">*</span> <span class="ruby-value">90</span>, <span class="ruby-value">6</span>, <span class="ruby-value">1</span> ],
653
+ 237: <span class="ruby-value str">'year'</span> =<span class="ruby-operator">&gt;</span> [ <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">24</span> <span class="ruby-operator">*</span> <span class="ruby-value">365</span>, <span class="ruby-value">4</span>, <span class="ruby-value">1</span> ]
654
+ 238: }
655
+ 239: <span class="ruby-identifier">entry</span> = <span class="ruby-identifier">mwMap</span>[<span class="ruby-identifier">column</span>.<span class="ruby-identifier">scale</span>]
656
+ 240: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Unknown scale #{column.scale}&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">entry</span>
657
+ 241: <span class="ruby-identifier">margin</span> = <span class="ruby-identifier">entry</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">*</span> <span class="ruby-identifier">entry</span>[<span class="ruby-value">2</span>]
658
+ 242: <span class="ruby-comment cmt"># If the with determined by start and end dates of the task is below</span>
659
+ 243: <span class="ruby-comment cmt"># the minimum width, we increase the width to the value provided by</span>
660
+ 244: <span class="ruby-comment cmt"># the table.</span>
661
+ 245: <span class="ruby-identifier">minWidth</span> = <span class="ruby-identifier">entry</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">*</span> <span class="ruby-identifier">entry</span>[<span class="ruby-value">1</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">minWidth</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">entry</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">*</span> <span class="ruby-identifier">entry</span>[<span class="ruby-value">1</span>]
662
+ 246: <span class="ruby-keyword kw">break</span>
663
+ 247: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'hourly'</span>, <span class="ruby-value str">'daily'</span>, <span class="ruby-value str">'weekly'</span>, <span class="ruby-value str">'monthly'</span>, <span class="ruby-value str">'quarterly'</span>, <span class="ruby-value str">'yearly'</span>
664
+ 248: <span class="ruby-comment cmt"># For the calendar columns we use a similar approach as we use for</span>
665
+ 249: <span class="ruby-comment cmt"># the 'chart' column.</span>
666
+ 250: <span class="ruby-identifier">mwMap</span> = {
667
+ 251: <span class="ruby-value str">'hourly'</span> =<span class="ruby-operator">&gt;</span> [ <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span>, <span class="ruby-value">18</span>, <span class="ruby-value">2</span> ],
668
+ 252: <span class="ruby-value str">'daily'</span> =<span class="ruby-operator">&gt;</span> [ <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">24</span>, <span class="ruby-value">18</span>, <span class="ruby-value">2</span> ],
669
+ 253: <span class="ruby-value str">'weekly'</span> =<span class="ruby-operator">&gt;</span> [ <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">24</span> <span class="ruby-operator">*</span> <span class="ruby-value">7</span>, <span class="ruby-value">6</span>, <span class="ruby-value">1</span> ],
670
+ 254: <span class="ruby-value str">'monthly'</span> =<span class="ruby-operator">&gt;</span> [ <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">24</span> <span class="ruby-operator">*</span> <span class="ruby-value">31</span>, <span class="ruby-value">10</span>, <span class="ruby-value">1</span> ],
671
+ 255: <span class="ruby-value str">'quarterly'</span> =<span class="ruby-operator">&gt;</span> [ <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">24</span> <span class="ruby-operator">*</span> <span class="ruby-value">90</span>, <span class="ruby-value">6</span>, <span class="ruby-value">1</span> ],
672
+ 256: <span class="ruby-value str">'yearly'</span> =<span class="ruby-operator">&gt;</span> [ <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">60</span> <span class="ruby-operator">*</span> <span class="ruby-value">24</span> <span class="ruby-operator">*</span> <span class="ruby-value">365</span>, <span class="ruby-value">4</span>, <span class="ruby-value">1</span> ]
673
+ 257: }
674
+ 258: <span class="ruby-identifier">entry</span> = <span class="ruby-identifier">mwMap</span>[<span class="ruby-identifier">column</span>.<span class="ruby-identifier">id</span>]
675
+ 259: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Unknown scale #{column.id}&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">entry</span>
676
+ 260: <span class="ruby-identifier">margin</span> = <span class="ruby-identifier">entry</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">*</span> <span class="ruby-identifier">entry</span>[<span class="ruby-value">2</span>]
677
+ 261: <span class="ruby-identifier">minWidth</span> = <span class="ruby-identifier">entry</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">*</span> <span class="ruby-identifier">entry</span>[<span class="ruby-value">1</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">minWidth</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">entry</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">*</span> <span class="ruby-identifier">entry</span>[<span class="ruby-value">1</span>]
678
+ 262: <span class="ruby-keyword kw">break</span>
679
+ 263: <span class="ruby-keyword kw">end</span>
680
+ 264: <span class="ruby-keyword kw">end</span>
681
+ 265:
682
+ 266: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">minWidth</span> <span class="ruby-operator">&gt;</span> (<span class="ruby-ivar">@end</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@start</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>)
683
+ 267: <span class="ruby-identifier">margin</span> <span class="ruby-operator">+=</span> (<span class="ruby-identifier">minWidth</span> <span class="ruby-operator">-</span> (<span class="ruby-ivar">@end</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@start</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>)) <span class="ruby-operator">/</span> <span class="ruby-value">2</span>
684
+ 268: <span class="ruby-keyword kw">end</span>
685
+ 269: <span class="ruby-ivar">@start</span> <span class="ruby-operator">-=</span> <span class="ruby-identifier">margin</span>
686
+ 270: <span class="ruby-ivar">@end</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">margin</span>
687
+ 271: <span class="ruby-keyword kw">end</span>
729
688
  </pre>
730
689
  </div>
731
690
 
@@ -733,12 +692,12 @@ is a list of scenario indexes.
733
692
  </div>
734
693
 
735
694
 
736
- <div id="method-M000637" class="method-detail">
737
- <a name="M000637"></a>
695
+ <div id="method-M000461" class="method-detail">
696
+ <a name="M000461"></a>
738
697
 
739
698
  <div class="method-heading">
740
699
 
741
- <a href="#M000637" class="method-signature">
700
+ <a href="#M000461" class="method-signature">
742
701
 
743
702
  <span class="method-name">generateHeaderCell</span><span class="method-args">(columnDef)</span>
744
703
 
@@ -756,58 +715,58 @@ to be taken to generate the header text.
756
715
  </p>
757
716
 
758
717
  <p><a class="source-toggle" href="#"
759
- onclick="toggleCode('M000637-source');return false;">[Source]</a></p>
760
- <div class="method-source-code" id="M000637-source">
718
+ onclick="toggleCode('M000461-source');return false;">[Source]</a></p>
719
+ <div class="method-source-code" id="M000461-source">
761
720
  <pre>
762
- <span class="ruby-comment cmt"># File lib/reports/TableReport.rb, line 303</span>
763
- 303: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHeaderCell</span>(<span class="ruby-identifier">columnDef</span>)
764
- 304: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">columnDef</span>.<span class="ruby-identifier">id</span>
765
- 305: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'chart'</span>
766
- 306: <span class="ruby-comment cmt"># For the 'chart' column we generate a GanttChart object. The sizes are</span>
767
- 307: <span class="ruby-comment cmt"># set so that the lines of the Gantt chart line up with the lines of the</span>
768
- 308: <span class="ruby-comment cmt"># table.</span>
769
- 309: <span class="ruby-identifier">gantt</span> = <span class="ruby-constant">GanttChart</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">a</span>(<span class="ruby-value str">'now'</span>),
770
- 310: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'weekStartsMonday'</span>), <span class="ruby-keyword kw">self</span>)
771
- 311: <span class="ruby-identifier">gantt</span>.<span class="ruby-identifier">generateByScale</span>(<span class="ruby-ivar">@start</span>, <span class="ruby-ivar">@end</span>, <span class="ruby-identifier">columnDef</span>.<span class="ruby-identifier">scale</span>)
772
- 312: <span class="ruby-comment cmt"># The header consists of 2 lines separated by a 1 pixel boundary.</span>
773
- 313: <span class="ruby-identifier">gantt</span>.<span class="ruby-identifier">header</span>.<span class="ruby-identifier">height</span> = <span class="ruby-ivar">@table</span>.<span class="ruby-identifier">headerLineHeight</span> <span class="ruby-operator">*</span> <span class="ruby-value">2</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
774
- 314: <span class="ruby-comment cmt"># The maximum width of the chart. In case it needs more space, a</span>
775
- 315: <span class="ruby-comment cmt"># scrollbar is shown or the chart gets truncated depending on the output</span>
776
- 316: <span class="ruby-comment cmt"># format.</span>
777
- 317: <span class="ruby-identifier">gantt</span>.<span class="ruby-identifier">viewWidth</span> = <span class="ruby-identifier">columnDef</span>.<span class="ruby-identifier">width</span>
778
- 318: <span class="ruby-identifier">column</span> = <span class="ruby-constant">ReportTableColumn</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@table</span>, <span class="ruby-identifier">columnDef</span>, <span class="ruby-value str">''</span>)
779
- 319: <span class="ruby-identifier">column</span>.<span class="ruby-identifier">cell1</span>.<span class="ruby-identifier">special</span> = <span class="ruby-identifier">gantt</span>
780
- 320: <span class="ruby-identifier">column</span>.<span class="ruby-identifier">cell2</span>.<span class="ruby-identifier">hidden</span> = <span class="ruby-keyword kw">true</span>
781
- 321: <span class="ruby-identifier">column</span>.<span class="ruby-identifier">scrollbar</span> = <span class="ruby-identifier">gantt</span>.<span class="ruby-identifier">hasScrollbar?</span>
782
- 322: <span class="ruby-ivar">@table</span>.<span class="ruby-identifier">equiLines</span> = <span class="ruby-keyword kw">true</span>
783
- 323: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'hourly'</span>
784
- 324: <span class="ruby-identifier">genCalChartHeader</span>(<span class="ruby-identifier">columnDef</span>, <span class="ruby-ivar">@start</span>.<span class="ruby-identifier">midnight</span>, <span class="ruby-identifier">:sameTimeNextHour</span>,
785
- 325: <span class="ruby-identifier">:weekdayAndDate</span>, <span class="ruby-identifier">:hour</span>)
786
- 326: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'daily'</span>
787
- 327: <span class="ruby-identifier">genCalChartHeader</span>(<span class="ruby-identifier">columnDef</span>, <span class="ruby-ivar">@start</span>.<span class="ruby-identifier">midnight</span>, <span class="ruby-identifier">:sameTimeNextDay</span>,
788
- 328: <span class="ruby-identifier">:monthAndYear</span>, <span class="ruby-identifier">:day</span>)
789
- 329: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'weekly'</span>
790
- 330: <span class="ruby-identifier">genCalChartHeader</span>(<span class="ruby-identifier">columnDef</span>,
791
- 331: <span class="ruby-ivar">@start</span>.<span class="ruby-identifier">beginOfWeek</span>(<span class="ruby-identifier">a</span>(<span class="ruby-value str">'weekStartsMonday'</span>)),
792
- 332: <span class="ruby-identifier">:sameTimeNextWeek</span>, <span class="ruby-identifier">:monthAndYear</span>, <span class="ruby-identifier">:day</span>)
793
- 333: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'monthly'</span>
794
- 334: <span class="ruby-identifier">genCalChartHeader</span>(<span class="ruby-identifier">columnDef</span>, <span class="ruby-ivar">@start</span>.<span class="ruby-identifier">beginOfMonth</span>, <span class="ruby-identifier">:sameTimeNextMonth</span>,
795
- 335: <span class="ruby-identifier">:year</span>, <span class="ruby-identifier">:shortMonthName</span>)
796
- 336: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'quarterly'</span>
797
- 337: <span class="ruby-identifier">genCalChartHeader</span>(<span class="ruby-identifier">columnDef</span>, <span class="ruby-ivar">@start</span>.<span class="ruby-identifier">beginOfQuarter</span>,
798
- 338: <span class="ruby-identifier">:sameTimeNextQuarter</span>, <span class="ruby-identifier">:year</span>, <span class="ruby-identifier">:quarterName</span>)
799
- 339: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'yearly'</span>
800
- 340: <span class="ruby-identifier">genCalChartHeader</span>(<span class="ruby-identifier">columnDef</span>, <span class="ruby-ivar">@start</span>.<span class="ruby-identifier">beginOfYear</span>, <span class="ruby-identifier">:sameTimeNextYear</span>,
801
- 341: <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">:year</span>)
802
- 342: <span class="ruby-keyword kw">else</span>
803
- 343: <span class="ruby-comment cmt"># This is the most common case. It does not need any special treatment.</span>
804
- 344: <span class="ruby-comment cmt"># We just set the pre-defined or user-defined column title in the first</span>
805
- 345: <span class="ruby-comment cmt"># row of the header. The 2nd row is not visible.</span>
806
- 346: <span class="ruby-identifier">column</span> = <span class="ruby-constant">ReportTableColumn</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@table</span>, <span class="ruby-identifier">columnDef</span>, <span class="ruby-identifier">columnDef</span>.<span class="ruby-identifier">title</span>)
807
- 347: <span class="ruby-identifier">column</span>.<span class="ruby-identifier">cell1</span>.<span class="ruby-identifier">rows</span> = <span class="ruby-value">2</span>
808
- 348: <span class="ruby-identifier">column</span>.<span class="ruby-identifier">cell2</span>.<span class="ruby-identifier">hidden</span> = <span class="ruby-keyword kw">true</span>
809
- 349: <span class="ruby-keyword kw">end</span>
810
- 350: <span class="ruby-keyword kw">end</span>
721
+ <span class="ruby-comment cmt"># File lib/reports/TableReport.rb, line 276</span>
722
+ 276: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHeaderCell</span>(<span class="ruby-identifier">columnDef</span>)
723
+ 277: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">columnDef</span>.<span class="ruby-identifier">id</span>
724
+ 278: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'chart'</span>
725
+ 279: <span class="ruby-comment cmt"># For the 'chart' column we generate a GanttChart object. The sizes are</span>
726
+ 280: <span class="ruby-comment cmt"># set so that the lines of the Gantt chart line up with the lines of the</span>
727
+ 281: <span class="ruby-comment cmt"># table.</span>
728
+ 282: <span class="ruby-identifier">gantt</span> = <span class="ruby-constant">GanttChart</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">a</span>(<span class="ruby-value str">'now'</span>),
729
+ 283: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'weekStartsMonday'</span>), <span class="ruby-keyword kw">self</span>)
730
+ 284: <span class="ruby-identifier">gantt</span>.<span class="ruby-identifier">generateByScale</span>(<span class="ruby-ivar">@start</span>, <span class="ruby-ivar">@end</span>, <span class="ruby-identifier">columnDef</span>.<span class="ruby-identifier">scale</span>)
731
+ 285: <span class="ruby-comment cmt"># The header consists of 2 lines separated by a 1 pixel boundary.</span>
732
+ 286: <span class="ruby-identifier">gantt</span>.<span class="ruby-identifier">header</span>.<span class="ruby-identifier">height</span> = <span class="ruby-ivar">@table</span>.<span class="ruby-identifier">headerLineHeight</span> <span class="ruby-operator">*</span> <span class="ruby-value">2</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
733
+ 287: <span class="ruby-comment cmt"># The maximum width of the chart. In case it needs more space, a</span>
734
+ 288: <span class="ruby-comment cmt"># scrollbar is shown or the chart gets truncated depending on the output</span>
735
+ 289: <span class="ruby-comment cmt"># format.</span>
736
+ 290: <span class="ruby-identifier">gantt</span>.<span class="ruby-identifier">viewWidth</span> = <span class="ruby-identifier">columnDef</span>.<span class="ruby-identifier">width</span> <span class="ruby-value">? </span><span class="ruby-identifier">columnDef</span>.<span class="ruby-identifier">width</span> <span class="ruby-operator">:</span> <span class="ruby-value">450</span>
737
+ 291: <span class="ruby-identifier">column</span> = <span class="ruby-constant">ReportTableColumn</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@table</span>, <span class="ruby-identifier">columnDef</span>, <span class="ruby-value str">''</span>)
738
+ 292: <span class="ruby-identifier">column</span>.<span class="ruby-identifier">cell1</span>.<span class="ruby-identifier">special</span> = <span class="ruby-identifier">gantt</span>
739
+ 293: <span class="ruby-identifier">column</span>.<span class="ruby-identifier">cell2</span>.<span class="ruby-identifier">hidden</span> = <span class="ruby-keyword kw">true</span>
740
+ 294: <span class="ruby-identifier">column</span>.<span class="ruby-identifier">scrollbar</span> = <span class="ruby-identifier">gantt</span>.<span class="ruby-identifier">hasScrollbar?</span>
741
+ 295: <span class="ruby-ivar">@table</span>.<span class="ruby-identifier">equiLines</span> = <span class="ruby-keyword kw">true</span>
742
+ 296: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'hourly'</span>
743
+ 297: <span class="ruby-identifier">genCalChartHeader</span>(<span class="ruby-identifier">columnDef</span>, <span class="ruby-ivar">@start</span>.<span class="ruby-identifier">midnight</span>, <span class="ruby-identifier">:sameTimeNextHour</span>,
744
+ 298: <span class="ruby-identifier">:weekdayAndDate</span>, <span class="ruby-identifier">:hour</span>)
745
+ 299: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'daily'</span>
746
+ 300: <span class="ruby-identifier">genCalChartHeader</span>(<span class="ruby-identifier">columnDef</span>, <span class="ruby-ivar">@start</span>.<span class="ruby-identifier">midnight</span>, <span class="ruby-identifier">:sameTimeNextDay</span>,
747
+ 301: <span class="ruby-identifier">:monthAndYear</span>, <span class="ruby-identifier">:day</span>)
748
+ 302: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'weekly'</span>
749
+ 303: <span class="ruby-identifier">genCalChartHeader</span>(<span class="ruby-identifier">columnDef</span>,
750
+ 304: <span class="ruby-ivar">@start</span>.<span class="ruby-identifier">beginOfWeek</span>(<span class="ruby-identifier">a</span>(<span class="ruby-value str">'weekStartsMonday'</span>)),
751
+ 305: <span class="ruby-identifier">:sameTimeNextWeek</span>, <span class="ruby-identifier">:monthAndYear</span>, <span class="ruby-identifier">:day</span>)
752
+ 306: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'monthly'</span>
753
+ 307: <span class="ruby-identifier">genCalChartHeader</span>(<span class="ruby-identifier">columnDef</span>, <span class="ruby-ivar">@start</span>.<span class="ruby-identifier">beginOfMonth</span>, <span class="ruby-identifier">:sameTimeNextMonth</span>,
754
+ 308: <span class="ruby-identifier">:year</span>, <span class="ruby-identifier">:shortMonthName</span>)
755
+ 309: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'quarterly'</span>
756
+ 310: <span class="ruby-identifier">genCalChartHeader</span>(<span class="ruby-identifier">columnDef</span>, <span class="ruby-ivar">@start</span>.<span class="ruby-identifier">beginOfQuarter</span>,
757
+ 311: <span class="ruby-identifier">:sameTimeNextQuarter</span>, <span class="ruby-identifier">:year</span>, <span class="ruby-identifier">:quarterName</span>)
758
+ 312: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'yearly'</span>
759
+ 313: <span class="ruby-identifier">genCalChartHeader</span>(<span class="ruby-identifier">columnDef</span>, <span class="ruby-ivar">@start</span>.<span class="ruby-identifier">beginOfYear</span>, <span class="ruby-identifier">:sameTimeNextYear</span>,
760
+ 314: <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">:year</span>)
761
+ 315: <span class="ruby-keyword kw">else</span>
762
+ 316: <span class="ruby-comment cmt"># This is the most common case. It does not need any special treatment.</span>
763
+ 317: <span class="ruby-comment cmt"># We just set the pre-defined or user-defined column title in the first</span>
764
+ 318: <span class="ruby-comment cmt"># row of the header. The 2nd row is not visible.</span>
765
+ 319: <span class="ruby-identifier">column</span> = <span class="ruby-constant">ReportTableColumn</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@table</span>, <span class="ruby-identifier">columnDef</span>, <span class="ruby-identifier">columnDef</span>.<span class="ruby-identifier">title</span>)
766
+ 320: <span class="ruby-identifier">column</span>.<span class="ruby-identifier">cell1</span>.<span class="ruby-identifier">rows</span> = <span class="ruby-value">2</span>
767
+ 321: <span class="ruby-identifier">column</span>.<span class="ruby-identifier">cell2</span>.<span class="ruby-identifier">hidden</span> = <span class="ruby-keyword kw">true</span>
768
+ 322: <span class="ruby-keyword kw">end</span>
769
+ 323: <span class="ruby-keyword kw">end</span>
811
770
  </pre>
812
771
  </div>
813
772
 
@@ -815,12 +774,12 @@ to be taken to generate the header text.
815
774
  </div>
816
775
 
817
776
 
818
- <div id="method-M000639" class="method-detail">
819
- <a name="M000639"></a>
777
+ <div id="method-M000463" class="method-detail">
778
+ <a name="M000463"></a>
820
779
 
821
780
  <div class="method-heading">
822
781
 
823
- <a href="#M000639" class="method-signature">
782
+ <a href="#M000463" class="method-signature">
824
783
 
825
784
  <span class="method-name">generateResourceList</span><span class="method-args">(resourceList, taskList, scopeLine)</span>
826
785
 
@@ -839,60 +798,70 @@ resource lines will be within the scope this task line.
839
798
  </p>
840
799
 
841
800
  <p><a class="source-toggle" href="#"
842
- onclick="toggleCode('M000639-source');return false;">[Source]</a></p>
843
- <div class="method-source-code" id="M000639-source">
801
+ onclick="toggleCode('M000463-source');return false;">[Source]</a></p>
802
+ <div class="method-source-code" id="M000463-source">
844
803
  <pre>
845
- <span class="ruby-comment cmt"># File lib/reports/TableReport.rb, line 411</span>
846
- 411: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateResourceList</span>(<span class="ruby-identifier">resourceList</span>, <span class="ruby-identifier">taskList</span>, <span class="ruby-identifier">scopeLine</span>)
847
- 412: <span class="ruby-identifier">queryAttrs</span> = { <span class="ruby-value str">'scopeProperty'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">scopeLine</span> <span class="ruby-value">? </span><span class="ruby-identifier">scopeLine</span>.<span class="ruby-identifier">property</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>,
848
- 413: <span class="ruby-value str">'loadUnit'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'loadUnit'</span>),
849
- 414: <span class="ruby-value str">'numberFormat'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'numberFormat'</span>),
850
- 415: <span class="ruby-value str">'currencyFormat'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'currencyFormat'</span>),
851
- 416: <span class="ruby-value str">'start'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@start</span>, <span class="ruby-value str">'end'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@end</span>,
852
- 417: <span class="ruby-value str">'costAccount'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'costAccount'</span>),
853
- 418: <span class="ruby-value str">'revenueAccount'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'revenueAccount'</span>) }
854
- 419: <span class="ruby-identifier">resourceList</span>.<span class="ruby-identifier">query</span> = <span class="ruby-constant">Query</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">queryAttrs</span>)
855
- 420: <span class="ruby-identifier">resourceList</span>.<span class="ruby-identifier">sort!</span>
856
- 421:
857
- 422: <span class="ruby-comment cmt"># The primary line counter. Is not used for enclosed lines.</span>
858
- 423: <span class="ruby-identifier">no</span> = <span class="ruby-value">0</span>
859
- 424: <span class="ruby-comment cmt"># The scope line counter. It's reset for each new scope.</span>
860
- 425: <span class="ruby-identifier">lineNo</span> = <span class="ruby-identifier">scopeLine</span> <span class="ruby-value">? </span><span class="ruby-identifier">scopeLine</span>.<span class="ruby-identifier">lineNo</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>
861
- 426: <span class="ruby-comment cmt"># Init the variable to get a larger scope</span>
862
- 427: <span class="ruby-identifier">line</span> = <span class="ruby-keyword kw">nil</span>
863
- 428: <span class="ruby-identifier">resourceList</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span>
864
- 429: <span class="ruby-identifier">no</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
865
- 430: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">activity</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">lineNo</span> <span class="ruby-operator">%</span> <span class="ruby-value">10</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
866
- 431: <span class="ruby-identifier">lineNo</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
867
- 432: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'scenarios'</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">scenarioIdx</span><span class="ruby-operator">|</span>
868
- 433: <span class="ruby-comment cmt"># Generate line for each resource.</span>
869
- 434: <span class="ruby-identifier">line</span> = <span class="ruby-constant">ReportTableLine</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@table</span>, <span class="ruby-identifier">resource</span>, <span class="ruby-identifier">scopeLine</span>)
870
- 435:
871
- 436: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">no</span> = <span class="ruby-identifier">no</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">scopeLine</span>
872
- 437: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">lineNo</span> = <span class="ruby-identifier">lineNo</span>
873
- 438: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">subLineNo</span> = <span class="ruby-ivar">@table</span>.<span class="ruby-identifier">lines</span>
874
- 439: <span class="ruby-identifier">setIndent</span>(<span class="ruby-identifier">line</span>, <span class="ruby-identifier">a</span>(<span class="ruby-value str">'resourceRoot'</span>), <span class="ruby-identifier">resourceList</span>.<span class="ruby-identifier">treeMode?</span>)
875
- 440:
876
- 441: <span class="ruby-comment cmt"># Generate a cell for each column in this line.</span>
877
- 442: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'columns'</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">column</span><span class="ruby-operator">|</span>
878
- 443: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">generateTableCell</span>(<span class="ruby-identifier">line</span>, <span class="ruby-identifier">resource</span>, <span class="ruby-identifier">column</span>, <span class="ruby-identifier">scenarioIdx</span>)
879
- 444: <span class="ruby-keyword kw">end</span>
880
- 445: <span class="ruby-keyword kw">end</span>
881
- 446:
882
- 447: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">taskList</span>
883
- 448: <span class="ruby-comment cmt"># If we have a taskList we generate nested lines for each of the</span>
884
- 449: <span class="ruby-comment cmt"># tasks that the resource is assigned to and pass the user-defined</span>
885
- 450: <span class="ruby-comment cmt"># filter.</span>
886
- 451: <span class="ruby-identifier">taskList</span>.<span class="ruby-identifier">setSorting</span>(<span class="ruby-identifier">a</span>(<span class="ruby-value str">'sortTasks'</span>))
887
- 452: <span class="ruby-identifier">assignedTaskList</span> = <span class="ruby-identifier">filterTaskList</span>(<span class="ruby-identifier">taskList</span>, <span class="ruby-identifier">resource</span>,
888
- 453: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'hideTask'</span>),
889
- 454: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'rollupTask'</span>))
890
- 455: <span class="ruby-identifier">assignedTaskList</span>.<span class="ruby-identifier">sort!</span>
891
- 456: <span class="ruby-identifier">lineNo</span> = <span class="ruby-identifier">generateTaskList</span>(<span class="ruby-identifier">assignedTaskList</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">line</span>)
892
- 457: <span class="ruby-keyword kw">end</span>
893
- 458: <span class="ruby-keyword kw">end</span>
894
- 459: <span class="ruby-identifier">lineNo</span>
895
- 460: <span class="ruby-keyword kw">end</span>
804
+ <span class="ruby-comment cmt"># File lib/reports/TableReport.rb, line 394</span>
805
+ 394: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateResourceList</span>(<span class="ruby-identifier">resourceList</span>, <span class="ruby-identifier">taskList</span>, <span class="ruby-identifier">scopeLine</span>)
806
+ 395: <span class="ruby-identifier">queryAttrs</span> = { <span class="ruby-value str">'project'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@project</span>,
807
+ 396: <span class="ruby-value str">'scopeProperty'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">scopeLine</span> <span class="ruby-value">? </span><span class="ruby-identifier">scopeLine</span>.<span class="ruby-identifier">property</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>,
808
+ 397: <span class="ruby-value str">'loadUnit'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'loadUnit'</span>),
809
+ 398: <span class="ruby-value str">'numberFormat'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'numberFormat'</span>),
810
+ 399: <span class="ruby-value str">'timeFormat'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'timeFormat'</span>),
811
+ 400: <span class="ruby-value str">'currencyFormat'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'currencyFormat'</span>),
812
+ 401: <span class="ruby-value str">'start'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@start</span>, <span class="ruby-value str">'end'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@end</span>,
813
+ 402: <span class="ruby-value str">'costAccount'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'costAccount'</span>),
814
+ 403: <span class="ruby-value str">'revenueAccount'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'revenueAccount'</span>) }
815
+ 404: <span class="ruby-identifier">resourceList</span>.<span class="ruby-identifier">query</span> = <span class="ruby-constant">Query</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">queryAttrs</span>)
816
+ 405: <span class="ruby-identifier">resourceList</span>.<span class="ruby-identifier">sort!</span>
817
+ 406:
818
+ 407: <span class="ruby-comment cmt"># The primary line counter. Is not used for enclosed lines.</span>
819
+ 408: <span class="ruby-identifier">no</span> = <span class="ruby-value">0</span>
820
+ 409: <span class="ruby-comment cmt"># The scope line counter. It's reset for each new scope.</span>
821
+ 410: <span class="ruby-identifier">lineNo</span> = <span class="ruby-identifier">scopeLine</span> <span class="ruby-value">? </span><span class="ruby-identifier">scopeLine</span>.<span class="ruby-identifier">lineNo</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>
822
+ 411: <span class="ruby-comment cmt"># Init the variable to get a larger scope</span>
823
+ 412: <span class="ruby-identifier">line</span> = <span class="ruby-keyword kw">nil</span>
824
+ 413: <span class="ruby-identifier">resourceList</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">resource</span><span class="ruby-operator">|</span>
825
+ 414: <span class="ruby-comment cmt"># Get the current Query from the report context and create a copy. We</span>
826
+ 415: <span class="ruby-comment cmt"># are going to modify it.</span>
827
+ 416: <span class="ruby-identifier">query</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">reportContext</span>.<span class="ruby-identifier">query</span>.<span class="ruby-identifier">dup</span>
828
+ 417: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">property</span> = <span class="ruby-identifier">resource</span>
829
+ 418: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">scopeProperty</span> = <span class="ruby-identifier">scopeLine</span> <span class="ruby-value">? </span><span class="ruby-identifier">scopeLine</span>.<span class="ruby-identifier">property</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>
830
+ 419:
831
+ 420: <span class="ruby-identifier">no</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
832
+ 421: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">activity</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">lineNo</span> <span class="ruby-operator">%</span> <span class="ruby-value">10</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
833
+ 422: <span class="ruby-identifier">lineNo</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
834
+ 423: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'scenarios'</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">scenarioIdx</span><span class="ruby-operator">|</span>
835
+ 424: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-identifier">scenarioIdx</span>
836
+ 425: <span class="ruby-comment cmt"># Generate line for each resource.</span>
837
+ 426: <span class="ruby-identifier">line</span> = <span class="ruby-constant">ReportTableLine</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@table</span>, <span class="ruby-identifier">resource</span>, <span class="ruby-identifier">scopeLine</span>)
838
+ 427:
839
+ 428: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">no</span> = <span class="ruby-identifier">no</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">scopeLine</span>
840
+ 429: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">lineNo</span> = <span class="ruby-identifier">lineNo</span>
841
+ 430: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">subLineNo</span> = <span class="ruby-ivar">@table</span>.<span class="ruby-identifier">lines</span>
842
+ 431: <span class="ruby-identifier">setIndent</span>(<span class="ruby-identifier">line</span>, <span class="ruby-identifier">a</span>(<span class="ruby-value str">'resourceRoot'</span>), <span class="ruby-identifier">resourceList</span>.<span class="ruby-identifier">treeMode?</span>)
843
+ 432:
844
+ 433: <span class="ruby-comment cmt"># Generate a cell for each column in this line.</span>
845
+ 434: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'columns'</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">column</span><span class="ruby-operator">|</span>
846
+ 435: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">attributeId</span> = <span class="ruby-identifier">column</span>.<span class="ruby-identifier">id</span>
847
+ 436: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">generateTableCell</span>(<span class="ruby-identifier">line</span>, <span class="ruby-identifier">resource</span>, <span class="ruby-identifier">column</span>, <span class="ruby-identifier">query</span>)
848
+ 437: <span class="ruby-keyword kw">end</span>
849
+ 438: <span class="ruby-keyword kw">end</span>
850
+ 439:
851
+ 440: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">taskList</span>
852
+ 441: <span class="ruby-comment cmt"># If we have a taskList we generate nested lines for each of the</span>
853
+ 442: <span class="ruby-comment cmt"># tasks that the resource is assigned to and pass the user-defined</span>
854
+ 443: <span class="ruby-comment cmt"># filter.</span>
855
+ 444: <span class="ruby-identifier">taskList</span>.<span class="ruby-identifier">setSorting</span>(<span class="ruby-identifier">a</span>(<span class="ruby-value str">'sortTasks'</span>))
856
+ 445: <span class="ruby-identifier">assignedTaskList</span> = <span class="ruby-identifier">filterTaskList</span>(<span class="ruby-identifier">taskList</span>, <span class="ruby-identifier">resource</span>,
857
+ 446: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'hideTask'</span>),
858
+ 447: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'rollupTask'</span>))
859
+ 448: <span class="ruby-identifier">assignedTaskList</span>.<span class="ruby-identifier">sort!</span>
860
+ 449: <span class="ruby-identifier">lineNo</span> = <span class="ruby-identifier">generateTaskList</span>(<span class="ruby-identifier">assignedTaskList</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">line</span>)
861
+ 450: <span class="ruby-keyword kw">end</span>
862
+ 451: <span class="ruby-keyword kw">end</span>
863
+ 452: <span class="ruby-identifier">lineNo</span>
864
+ 453: <span class="ruby-keyword kw">end</span>
896
865
  </pre>
897
866
  </div>
898
867
 
@@ -900,12 +869,12 @@ resource lines will be within the scope this task line.
900
869
  </div>
901
870
 
902
871
 
903
- <div id="method-M000638" class="method-detail">
904
- <a name="M000638"></a>
872
+ <div id="method-M000462" class="method-detail">
873
+ <a name="M000462"></a>
905
874
 
906
875
  <div class="method-heading">
907
876
 
908
- <a href="#M000638" class="method-signature">
877
+ <a href="#M000462" class="method-signature">
909
878
 
910
879
  <span class="method-name">generateTaskList</span><span class="method-args">(taskList, resourceList, scopeLine)</span>
911
880
 
@@ -924,59 +893,69 @@ generated task lines will be within the scope this resource line.
924
893
  </p>
925
894
 
926
895
  <p><a class="source-toggle" href="#"
927
- onclick="toggleCode('M000638-source');return false;">[Source]</a></p>
928
- <div class="method-source-code" id="M000638-source">
896
+ onclick="toggleCode('M000462-source');return false;">[Source]</a></p>
897
+ <div class="method-source-code" id="M000462-source">
929
898
  <pre>
930
- <span class="ruby-comment cmt"># File lib/reports/TableReport.rb, line 357</span>
931
- 357: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateTaskList</span>(<span class="ruby-identifier">taskList</span>, <span class="ruby-identifier">resourceList</span>, <span class="ruby-identifier">scopeLine</span>)
932
- 358: <span class="ruby-identifier">queryAttrs</span> = { <span class="ruby-value str">'scopeProperty'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">scopeLine</span> <span class="ruby-value">? </span><span class="ruby-identifier">scopeLine</span>.<span class="ruby-identifier">property</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>,
933
- 359: <span class="ruby-value str">'loadUnit'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'loadUnit'</span>),
934
- 360: <span class="ruby-value str">'numberFormat'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'numberFormat'</span>),
935
- 361: <span class="ruby-value str">'currencyFormat'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'currencyFormat'</span>),
936
- 362: <span class="ruby-value str">'start'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@start</span>, <span class="ruby-value str">'end'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@end</span>,
937
- 363: <span class="ruby-value str">'costAccount'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'costAccount'</span>),
938
- 364: <span class="ruby-value str">'revenueAccount'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'revenueAccount'</span>) }
939
- 365: <span class="ruby-identifier">taskList</span>.<span class="ruby-identifier">query</span> = <span class="ruby-constant">Query</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">queryAttrs</span>)
940
- 366: <span class="ruby-identifier">taskList</span>.<span class="ruby-identifier">sort!</span>
941
- 367:
942
- 368: <span class="ruby-comment cmt"># The primary line counter. Is not used for enclosed lines.</span>
943
- 369: <span class="ruby-identifier">no</span> = <span class="ruby-value">0</span>
944
- 370: <span class="ruby-comment cmt"># The scope line counter. It's reset for each new scope.</span>
945
- 371: <span class="ruby-identifier">lineNo</span> = <span class="ruby-identifier">scopeLine</span> <span class="ruby-value">? </span><span class="ruby-identifier">scopeLine</span>.<span class="ruby-identifier">lineNo</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>
946
- 372: <span class="ruby-comment cmt"># Init the variable to get a larger scope</span>
947
- 373: <span class="ruby-identifier">line</span> = <span class="ruby-keyword kw">nil</span>
948
- 374: <span class="ruby-identifier">taskList</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">task</span><span class="ruby-operator">|</span>
949
- 375: <span class="ruby-identifier">no</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
950
- 376: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">activity</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">lineNo</span> <span class="ruby-operator">%</span> <span class="ruby-value">10</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
951
- 377: <span class="ruby-identifier">lineNo</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
952
- 378: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'scenarios'</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">scenarioIdx</span><span class="ruby-operator">|</span>
953
- 379: <span class="ruby-comment cmt"># Generate line for each task.</span>
954
- 380: <span class="ruby-identifier">line</span> = <span class="ruby-constant">ReportTableLine</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@table</span>, <span class="ruby-identifier">task</span>, <span class="ruby-identifier">scopeLine</span>)
955
- 381:
956
- 382: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">no</span> = <span class="ruby-identifier">no</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">scopeLine</span>
957
- 383: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">lineNo</span> = <span class="ruby-identifier">lineNo</span>
958
- 384: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">subLineNo</span> = <span class="ruby-ivar">@table</span>.<span class="ruby-identifier">lines</span>
959
- 385: <span class="ruby-identifier">setIndent</span>(<span class="ruby-identifier">line</span>, <span class="ruby-identifier">a</span>(<span class="ruby-value str">'taskRoot'</span>), <span class="ruby-identifier">taskList</span>.<span class="ruby-identifier">treeMode?</span>)
960
- 386:
961
- 387: <span class="ruby-comment cmt"># Generate a cell for each column in this line.</span>
962
- 388: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'columns'</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">columnDef</span><span class="ruby-operator">|</span>
963
- 389: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">generateTableCell</span>(<span class="ruby-identifier">line</span>, <span class="ruby-identifier">task</span>, <span class="ruby-identifier">columnDef</span>, <span class="ruby-identifier">scenarioIdx</span>)
964
- 390: <span class="ruby-keyword kw">end</span>
965
- 391: <span class="ruby-keyword kw">end</span>
966
- 392:
967
- 393: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">resourceList</span>
968
- 394: <span class="ruby-comment cmt"># If we have a resourceList we generate nested lines for each of the</span>
969
- 395: <span class="ruby-comment cmt"># resources that are assigned to this task and pass the user-defined</span>
970
- 396: <span class="ruby-comment cmt"># filter.</span>
971
- 397: <span class="ruby-identifier">resourceList</span>.<span class="ruby-identifier">setSorting</span>(<span class="ruby-identifier">a</span>(<span class="ruby-value str">'sortResources'</span>))
972
- 398: <span class="ruby-identifier">assignedResourceList</span> = <span class="ruby-identifier">filterResourceList</span>(<span class="ruby-identifier">resourceList</span>, <span class="ruby-identifier">task</span>,
973
- 399: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'hideResource'</span>), <span class="ruby-identifier">a</span>(<span class="ruby-value str">'rollupResource'</span>))
974
- 400: <span class="ruby-identifier">assignedResourceList</span>.<span class="ruby-identifier">sort!</span>
975
- 401: <span class="ruby-identifier">lineNo</span> = <span class="ruby-identifier">generateResourceList</span>(<span class="ruby-identifier">assignedResourceList</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">line</span>)
976
- 402: <span class="ruby-keyword kw">end</span>
977
- 403: <span class="ruby-keyword kw">end</span>
978
- 404: <span class="ruby-identifier">lineNo</span>
979
- 405: <span class="ruby-keyword kw">end</span>
899
+ <span class="ruby-comment cmt"># File lib/reports/TableReport.rb, line 330</span>
900
+ 330: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateTaskList</span>(<span class="ruby-identifier">taskList</span>, <span class="ruby-identifier">resourceList</span>, <span class="ruby-identifier">scopeLine</span>)
901
+ 331: <span class="ruby-identifier">queryAttrs</span> = { <span class="ruby-value str">'project'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@project</span>,
902
+ 332: <span class="ruby-value str">'scopeProperty'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">scopeLine</span> <span class="ruby-value">? </span><span class="ruby-identifier">scopeLine</span>.<span class="ruby-identifier">property</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>,
903
+ 333: <span class="ruby-value str">'loadUnit'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'loadUnit'</span>),
904
+ 334: <span class="ruby-value str">'numberFormat'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'numberFormat'</span>),
905
+ 335: <span class="ruby-value str">'timeFormat'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'timeFormat'</span>),
906
+ 336: <span class="ruby-value str">'currencyFormat'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'currencyFormat'</span>),
907
+ 337: <span class="ruby-value str">'start'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@start</span>, <span class="ruby-value str">'end'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@end</span>,
908
+ 338: <span class="ruby-value str">'costAccount'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'costAccount'</span>),
909
+ 339: <span class="ruby-value str">'revenueAccount'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">a</span>(<span class="ruby-value str">'revenueAccount'</span>) }
910
+ 340: <span class="ruby-identifier">taskList</span>.<span class="ruby-identifier">query</span> = <span class="ruby-constant">Query</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">queryAttrs</span>)
911
+ 341: <span class="ruby-identifier">taskList</span>.<span class="ruby-identifier">sort!</span>
912
+ 342:
913
+ 343: <span class="ruby-comment cmt"># The primary line counter. Is not used for enclosed lines.</span>
914
+ 344: <span class="ruby-identifier">no</span> = <span class="ruby-value">0</span>
915
+ 345: <span class="ruby-comment cmt"># The scope line counter. It's reset for each new scope.</span>
916
+ 346: <span class="ruby-identifier">lineNo</span> = <span class="ruby-identifier">scopeLine</span> <span class="ruby-value">? </span><span class="ruby-identifier">scopeLine</span>.<span class="ruby-identifier">lineNo</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>
917
+ 347: <span class="ruby-comment cmt"># Init the variable to get a larger scope</span>
918
+ 348: <span class="ruby-identifier">line</span> = <span class="ruby-keyword kw">nil</span>
919
+ 349: <span class="ruby-identifier">taskList</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">task</span><span class="ruby-operator">|</span>
920
+ 350: <span class="ruby-comment cmt"># Get the current Query from the report context and create a copy. We</span>
921
+ 351: <span class="ruby-comment cmt"># are going to modify it.</span>
922
+ 352: <span class="ruby-identifier">query</span> = <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">reportContext</span>.<span class="ruby-identifier">query</span>.<span class="ruby-identifier">dup</span>
923
+ 353: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">property</span> = <span class="ruby-identifier">task</span>
924
+ 354: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">scopeProperty</span> = <span class="ruby-identifier">scopeLine</span> <span class="ruby-value">? </span><span class="ruby-identifier">scopeLine</span>.<span class="ruby-identifier">property</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>
925
+ 355:
926
+ 356: <span class="ruby-identifier">no</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
927
+ 357: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">activity</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">lineNo</span> <span class="ruby-operator">%</span> <span class="ruby-value">10</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
928
+ 358: <span class="ruby-identifier">lineNo</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
929
+ 359: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'scenarios'</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">scenarioIdx</span><span class="ruby-operator">|</span>
930
+ 360: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-identifier">scenarioIdx</span>
931
+ 361: <span class="ruby-comment cmt"># Generate line for each task.</span>
932
+ 362: <span class="ruby-identifier">line</span> = <span class="ruby-constant">ReportTableLine</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@table</span>, <span class="ruby-identifier">task</span>, <span class="ruby-identifier">scopeLine</span>)
933
+ 363:
934
+ 364: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">no</span> = <span class="ruby-identifier">no</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">scopeLine</span>
935
+ 365: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">lineNo</span> = <span class="ruby-identifier">lineNo</span>
936
+ 366: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">subLineNo</span> = <span class="ruby-ivar">@table</span>.<span class="ruby-identifier">lines</span>
937
+ 367: <span class="ruby-identifier">setIndent</span>(<span class="ruby-identifier">line</span>, <span class="ruby-identifier">a</span>(<span class="ruby-value str">'taskRoot'</span>), <span class="ruby-identifier">taskList</span>.<span class="ruby-identifier">treeMode?</span>)
938
+ 368:
939
+ 369: <span class="ruby-comment cmt"># Generate a cell for each column in this line.</span>
940
+ 370: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'columns'</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">columnDef</span><span class="ruby-operator">|</span>
941
+ 371: <span class="ruby-identifier">query</span>.<span class="ruby-identifier">attributeId</span> = <span class="ruby-identifier">columnDef</span>.<span class="ruby-identifier">id</span>
942
+ 372: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">generateTableCell</span>(<span class="ruby-identifier">line</span>, <span class="ruby-identifier">task</span>, <span class="ruby-identifier">columnDef</span>, <span class="ruby-identifier">query</span>)
943
+ 373: <span class="ruby-keyword kw">end</span>
944
+ 374: <span class="ruby-keyword kw">end</span>
945
+ 375:
946
+ 376: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">resourceList</span>
947
+ 377: <span class="ruby-comment cmt"># If we have a resourceList we generate nested lines for each of the</span>
948
+ 378: <span class="ruby-comment cmt"># resources that are assigned to this task and pass the user-defined</span>
949
+ 379: <span class="ruby-comment cmt"># filter.</span>
950
+ 380: <span class="ruby-identifier">resourceList</span>.<span class="ruby-identifier">setSorting</span>(<span class="ruby-identifier">a</span>(<span class="ruby-value str">'sortResources'</span>))
951
+ 381: <span class="ruby-identifier">assignedResourceList</span> = <span class="ruby-identifier">filterResourceList</span>(<span class="ruby-identifier">resourceList</span>, <span class="ruby-identifier">task</span>,
952
+ 382: <span class="ruby-identifier">a</span>(<span class="ruby-value str">'hideResource'</span>), <span class="ruby-identifier">a</span>(<span class="ruby-value str">'rollupResource'</span>))
953
+ 383: <span class="ruby-identifier">assignedResourceList</span>.<span class="ruby-identifier">sort!</span>
954
+ 384: <span class="ruby-identifier">lineNo</span> = <span class="ruby-identifier">generateResourceList</span>(<span class="ruby-identifier">assignedResourceList</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">line</span>)
955
+ 385: <span class="ruby-keyword kw">end</span>
956
+ 386: <span class="ruby-keyword kw">end</span>
957
+ 387: <span class="ruby-identifier">lineNo</span>
958
+ 388: <span class="ruby-keyword kw">end</span>
980
959
  </pre>
981
960
  </div>
982
961
 
@@ -984,12 +963,12 @@ generated task lines will be within the scope this resource line.
984
963
  </div>
985
964
 
986
965
 
987
- <div id="method-M000635" class="method-detail">
988
- <a name="M000635"></a>
966
+ <div id="method-M000459" class="method-detail">
967
+ <a name="M000459"></a>
989
968
 
990
969
  <div class="method-heading">
991
970
 
992
- <a href="#M000635" class="method-signature">
971
+ <a href="#M000459" class="method-signature">
993
972
 
994
973
  <span class="method-name">setReportPeriod</span><span class="method-args">()</span>
995
974
 
@@ -1005,14 +984,14 @@ been changed afterwards.
1005
984
  </p>
1006
985
 
1007
986
  <p><a class="source-toggle" href="#"
1008
- onclick="toggleCode('M000635-source');return false;">[Source]</a></p>
1009
- <div class="method-source-code" id="M000635-source">
987
+ onclick="toggleCode('M000459-source');return false;">[Source]</a></p>
988
+ <div class="method-source-code" id="M000459-source">
1010
989
  <pre>
1011
- <span class="ruby-comment cmt"># File lib/reports/TableReport.rb, line 225</span>
1012
- 225: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setReportPeriod</span>
1013
- 226: <span class="ruby-ivar">@start</span> = <span class="ruby-identifier">a</span>(<span class="ruby-value str">'start'</span>)
1014
- 227: <span class="ruby-ivar">@end</span> = <span class="ruby-identifier">a</span>(<span class="ruby-value str">'end'</span>)
1015
- 228: <span class="ruby-keyword kw">end</span>
990
+ <span class="ruby-comment cmt"># File lib/reports/TableReport.rb, line 199</span>
991
+ 199: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setReportPeriod</span>
992
+ 200: <span class="ruby-ivar">@start</span> = <span class="ruby-identifier">a</span>(<span class="ruby-value str">'start'</span>)
993
+ 201: <span class="ruby-ivar">@end</span> = <span class="ruby-identifier">a</span>(<span class="ruby-value str">'end'</span>)
994
+ 202: <span class="ruby-keyword kw">end</span>
1016
995
  </pre>
1017
996
  </div>
1018
997