taskjuggler 0.0.2 → 0.0.3

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 (432) hide show
  1. data/Rakefile +1 -0
  2. data/benchmarks/depends.tjp +2 -1
  3. data/benchmarks/htmltaskreport.tjp +2 -1
  4. data/doc/classes/AppConfig.html +124 -120
  5. data/doc/classes/Arguments.html +10 -6
  6. data/doc/classes/Object.html +229 -0
  7. data/doc/classes/String.html +35 -31
  8. data/doc/classes/TaskJuggler/Account.html +18 -18
  9. data/doc/classes/TaskJuggler/AccountAttribute.html +261 -0
  10. data/doc/classes/TaskJuggler/AccountScenario.html +12 -12
  11. data/doc/classes/TaskJuggler/Allocation.html +34 -30
  12. data/doc/classes/TaskJuggler/AllocationAttribute.html +70 -70
  13. data/doc/classes/TaskJuggler/AttributeBase.html +131 -147
  14. data/doc/classes/TaskJuggler/AttributeDefinition.html +38 -21
  15. data/doc/classes/TaskJuggler/BatchProcessor.html +313 -0
  16. data/doc/classes/TaskJuggler/Booking.html +22 -18
  17. data/doc/classes/TaskJuggler/BookingListAttribute.html +42 -42
  18. data/doc/classes/TaskJuggler/BooleanAttribute.html +40 -40
  19. data/doc/classes/TaskJuggler/CSVFile.html +28 -24
  20. data/doc/classes/TaskJuggler/Charge.html +22 -18
  21. data/doc/classes/TaskJuggler/ChargeListAttribute.html +30 -30
  22. data/doc/classes/TaskJuggler/ChargeSet.html +41 -37
  23. data/doc/classes/TaskJuggler/ChargeSetListAttribute.html +46 -46
  24. data/doc/classes/TaskJuggler/ColumnListAttribute.html +231 -0
  25. data/doc/classes/TaskJuggler/ColumnTable.html +23 -21
  26. data/doc/classes/TaskJuggler/DateAttribute.html +20 -20
  27. data/doc/classes/TaskJuggler/DefinitionListAttribute.html +162 -0
  28. data/doc/classes/TaskJuggler/DependencyListAttribute.html +46 -46
  29. data/doc/classes/TaskJuggler/DurationAttribute.html +30 -30
  30. data/doc/classes/TaskJuggler/FixnumAttribute.html +20 -20
  31. data/doc/classes/TaskJuggler/FlagListAttribute.html +42 -42
  32. data/doc/classes/TaskJuggler/FloatAttribute.html +30 -30
  33. data/doc/classes/TaskJuggler/FormatListAttribute.html +197 -0
  34. data/doc/classes/TaskJuggler/GanttChart.html +236 -207
  35. data/doc/classes/TaskJuggler/GanttContainer.html +46 -42
  36. data/doc/classes/TaskJuggler/GanttHeader.html +16 -12
  37. data/doc/classes/TaskJuggler/GanttHeaderScaleItem.html +16 -12
  38. data/doc/classes/TaskJuggler/GanttLine.html +28 -24
  39. data/doc/classes/TaskJuggler/GanttLoadStack.html +22 -18
  40. data/doc/classes/TaskJuggler/GanttMilestone.html +46 -42
  41. data/doc/classes/TaskJuggler/GanttRouter.html +104 -98
  42. data/doc/classes/TaskJuggler/GanttTaskBar.html +46 -42
  43. data/doc/classes/TaskJuggler/HTMLDocument.html +12 -12
  44. data/doc/classes/TaskJuggler/HTMLGraphics.html +12 -12
  45. data/doc/classes/TaskJuggler/Interval.html +126 -120
  46. data/doc/classes/TaskJuggler/IntervalListAttribute.html +46 -46
  47. data/doc/classes/TaskJuggler/JobInfo.html +284 -0
  48. data/doc/classes/TaskJuggler/Journal.html +197 -0
  49. data/doc/classes/TaskJuggler/JournalEntry.html +218 -0
  50. data/doc/classes/TaskJuggler/KeywordArray.html +179 -0
  51. data/doc/classes/TaskJuggler/KeywordDocumentation.html +445 -396
  52. data/doc/classes/TaskJuggler/Limits/Limit.html +34 -30
  53. data/doc/classes/TaskJuggler/Limits.html +68 -62
  54. data/doc/classes/TaskJuggler/LimitsAttribute.html +40 -40
  55. data/doc/classes/TaskJuggler/ListAttributeBase.html +207 -0
  56. data/doc/classes/TaskJuggler/Log.html +72 -68
  57. data/doc/classes/TaskJuggler/LogicalAttribute.html +38 -34
  58. data/doc/classes/TaskJuggler/LogicalExpression.html +16 -12
  59. data/doc/classes/TaskJuggler/LogicalExpressionAttribute.html +194 -0
  60. data/doc/classes/TaskJuggler/LogicalFlag.html +32 -32
  61. data/doc/classes/TaskJuggler/LogicalFunction.html +28 -24
  62. data/doc/classes/TaskJuggler/LogicalOperation.html +17 -13
  63. data/doc/classes/TaskJuggler/Macro.html +10 -6
  64. data/doc/classes/TaskJuggler/MacroParser.html +36 -36
  65. data/doc/classes/TaskJuggler/MacroTable.html +40 -36
  66. data/doc/classes/TaskJuggler/Message.html +16 -12
  67. data/doc/classes/TaskJuggler/MessageHandler.html +16 -12
  68. data/doc/classes/TaskJuggler/Navigator.html +249 -0
  69. data/doc/classes/TaskJuggler/OnShiftCache.html +316 -0
  70. data/doc/classes/TaskJuggler/Project.html +1064 -678
  71. data/doc/classes/TaskJuggler/ProjectFileParser.html +90 -85
  72. data/doc/classes/TaskJuggler/PropertyAttribute.html +194 -0
  73. data/doc/classes/TaskJuggler/PropertyList.html +114 -113
  74. data/doc/classes/TaskJuggler/PropertySet.html +355 -312
  75. data/doc/classes/TaskJuggler/PropertyTreeNode.html +527 -474
  76. data/doc/classes/TaskJuggler/Query.html +90 -85
  77. data/doc/classes/TaskJuggler/RTPNavigator.html +292 -0
  78. data/doc/classes/TaskJuggler/RTPReport.html +301 -0
  79. data/doc/classes/TaskJuggler/RealFormat.html +114 -57
  80. data/doc/classes/TaskJuggler/RealFormatAttribute.html +162 -0
  81. data/doc/classes/TaskJuggler/ReferenceAttribute.html +87 -20
  82. data/doc/classes/TaskJuggler/Report.html +82 -291
  83. data/doc/classes/TaskJuggler/ReportBase.html +448 -0
  84. data/doc/classes/TaskJuggler/ReportContext.html +243 -0
  85. data/doc/classes/TaskJuggler/ReportTable.html +158 -129
  86. data/doc/classes/TaskJuggler/ReportTableCell.html +30 -26
  87. data/doc/classes/TaskJuggler/ReportTableColumn.html +29 -25
  88. data/doc/classes/TaskJuggler/ReportTableLegend.html +28 -24
  89. data/doc/classes/TaskJuggler/ReportTableLine.html +34 -30
  90. data/doc/classes/TaskJuggler/Resource.html +12 -12
  91. data/doc/classes/TaskJuggler/ResourceListAttribute.html +46 -46
  92. data/doc/classes/TaskJuggler/ResourceListRE.html +49 -57
  93. data/doc/classes/TaskJuggler/ResourceScenario.html +126 -126
  94. data/doc/classes/TaskJuggler/RichText.html +52 -48
  95. data/doc/classes/TaskJuggler/RichTextAttribute.html +30 -30
  96. data/doc/classes/TaskJuggler/RichTextDocument.html +41 -37
  97. data/doc/classes/TaskJuggler/RichTextElement.html +274 -264
  98. data/doc/classes/TaskJuggler/RichTextException.html +13 -13
  99. data/doc/classes/TaskJuggler/RichTextParser.html +48 -47
  100. data/doc/classes/TaskJuggler/RichTextProtocolExample.html +52 -55
  101. data/doc/classes/TaskJuggler/RichTextProtocolHandler.html +55 -10
  102. data/doc/classes/TaskJuggler/RichTextScanner.html +106 -245
  103. data/doc/classes/TaskJuggler/RichTextSnip.html +28 -24
  104. data/doc/classes/TaskJuggler/RichTextSyntaxRules.html +381 -301
  105. data/doc/classes/TaskJuggler/Scenario.html +6 -6
  106. data/doc/classes/TaskJuggler/ScenarioData.html +40 -36
  107. data/doc/classes/TaskJuggler/ScenarioListAttribute.html +229 -0
  108. data/doc/classes/TaskJuggler/Scoreboard.html +70 -66
  109. data/doc/classes/TaskJuggler/Shift.html +18 -18
  110. data/doc/classes/TaskJuggler/ShiftAssignment.html +58 -54
  111. data/doc/classes/TaskJuggler/ShiftAssignments.html +82 -78
  112. data/doc/classes/TaskJuggler/ShiftAssignmentsAttribute.html +40 -40
  113. data/doc/classes/TaskJuggler/ShiftScenario.html +24 -24
  114. data/doc/classes/TaskJuggler/SortListAttribute.html +196 -0
  115. data/doc/classes/TaskJuggler/SourceFileInfo.html +16 -12
  116. data/doc/classes/TaskJuggler/StringAttribute.html +30 -30
  117. data/doc/classes/TaskJuggler/SymbolAttribute.html +20 -20
  118. data/doc/classes/TaskJuggler/SyntaxReference.html +46 -42
  119. data/doc/classes/TaskJuggler/TOCEntry.html +16 -12
  120. data/doc/classes/TaskJuggler/TableColumnDefinition.html +48 -33
  121. data/doc/classes/TaskJuggler/TableOfContents.html +22 -18
  122. data/doc/classes/TaskJuggler/TableReport.html +1036 -0
  123. data/doc/classes/TaskJuggler/Task.html +12 -12
  124. data/doc/classes/TaskJuggler/TaskDependency.html +16 -12
  125. data/doc/classes/TaskJuggler/TaskListAttribute.html +46 -46
  126. data/doc/classes/TaskJuggler/TaskListRE.html +49 -58
  127. data/doc/classes/TaskJuggler/TaskScenario.html +1270 -1180
  128. data/doc/classes/TaskJuggler/TextParser/Pattern.html +100 -96
  129. data/doc/classes/TaskJuggler/TextParser/Rule.html +88 -84
  130. data/doc/classes/TaskJuggler/TextParser/StackElement.html +16 -12
  131. data/doc/classes/TaskJuggler/TextParser/TextParserResultArray.html +12 -12
  132. data/doc/classes/TaskJuggler/TextParser/TokenDoc.html +10 -6
  133. data/doc/classes/TaskJuggler/TextParser.html +203 -140
  134. data/doc/classes/TaskJuggler/TextReport.html +364 -0
  135. data/doc/classes/TaskJuggler/TextScanner/BufferStreamHandle.html +70 -70
  136. data/doc/classes/TaskJuggler/TextScanner/FileStreamHandle.html +50 -42
  137. data/doc/classes/TaskJuggler/TextScanner/StreamHandle.html +16 -12
  138. data/doc/classes/TaskJuggler/TextScanner.html +334 -240
  139. data/doc/classes/TaskJuggler/TjException.html +6 -6
  140. data/doc/classes/TaskJuggler/TjTime.html +547 -497
  141. data/doc/classes/TaskJuggler/TjpExample.html +29 -25
  142. data/doc/classes/TaskJuggler/TjpExportRE.html +77 -97
  143. data/doc/classes/TaskJuggler/TjpSyntaxRules.html +3911 -3886
  144. data/doc/classes/TaskJuggler/UserManual.html +54 -54
  145. data/doc/classes/TaskJuggler/WorkingHours.html +53 -49
  146. data/doc/classes/TaskJuggler/WorkingHoursAttribute.html +53 -85
  147. data/doc/classes/TaskJuggler/XMLBlob.html +21 -21
  148. data/doc/classes/TaskJuggler/XMLComment.html +21 -21
  149. data/doc/classes/TaskJuggler/XMLDocument.html +28 -24
  150. data/doc/classes/TaskJuggler/XMLElement.html +70 -58
  151. data/doc/classes/TaskJuggler/XMLNamedText.html +11 -11
  152. data/doc/classes/TaskJuggler/XMLText.html +36 -36
  153. data/doc/classes/TaskJuggler.html +266 -183
  154. data/doc/files/COPYING.html +1 -1
  155. data/doc/files/README.html +1 -1
  156. data/doc/files/lib/AccountScenario_rb.html +1 -1
  157. data/doc/files/lib/Account_rb.html +1 -1
  158. data/doc/files/lib/Allocation_rb.html +1 -1
  159. data/doc/files/lib/AppConfig_rb.html +1 -1
  160. data/doc/files/lib/AttributeBase_rb.html +11 -1
  161. data/doc/files/lib/AttributeDefinition_rb.html +1 -1
  162. data/doc/files/lib/Attributes_rb.html +1 -1
  163. data/doc/files/lib/{LogicalFlag_rb.html → BatchProcessor_rb.html} +8 -6
  164. data/doc/files/lib/Booking_rb.html +1 -1
  165. data/doc/files/lib/ChargeSet_rb.html +1 -1
  166. data/doc/files/lib/Charge_rb.html +1 -1
  167. data/doc/files/lib/HTMLDocument_rb.html +1 -1
  168. data/doc/files/lib/Interval_rb.html +1 -1
  169. data/doc/files/lib/Journal_rb.html +106 -0
  170. data/doc/files/lib/KeywordArray_rb.html +106 -0
  171. data/doc/files/lib/KeywordDocumentation_rb.html +1 -1
  172. data/doc/files/lib/Limits_rb.html +1 -1
  173. data/doc/files/lib/Log_rb.html +1 -1
  174. data/doc/files/lib/LogicalExpression_rb.html +1 -3
  175. data/doc/files/lib/LogicalFunction_rb.html +1 -1
  176. data/doc/files/lib/LogicalOperation_rb.html +1 -1
  177. data/doc/files/lib/MacroParser_rb.html +1 -1
  178. data/doc/files/lib/MacroTable_rb.html +1 -1
  179. data/doc/files/lib/MessageHandler_rb.html +1 -1
  180. data/doc/files/lib/Message_rb.html +1 -1
  181. data/doc/files/lib/ProjectFileParser_rb.html +5 -1
  182. data/doc/files/lib/Project_rb.html +5 -1
  183. data/doc/files/lib/PropertyList_rb.html +1 -1
  184. data/doc/files/lib/PropertySet_rb.html +1 -1
  185. data/doc/files/lib/PropertyTreeNode_rb.html +1 -1
  186. data/doc/files/lib/Query_rb.html +1 -1
  187. data/doc/files/lib/RTPNavigator_rb.html +120 -0
  188. data/doc/files/lib/RTPReport_rb.html +118 -0
  189. data/doc/files/lib/RealFormat_rb.html +1 -1
  190. data/doc/files/lib/ResourceScenario_rb.html +1 -1
  191. data/doc/files/lib/Resource_rb.html +1 -1
  192. data/doc/files/lib/RichTextDocument_rb.html +1 -1
  193. data/doc/files/lib/RichTextElement_rb.html +1 -1
  194. data/doc/files/lib/RichTextParser_rb.html +1 -1
  195. data/doc/files/lib/RichTextProtocolExample_rb.html +1 -1
  196. data/doc/files/lib/RichTextProtocolHandler_rb.html +1 -1
  197. data/doc/files/lib/RichTextScanner_rb.html +1 -1
  198. data/doc/files/lib/RichTextSnip_rb.html +1 -1
  199. data/doc/files/lib/RichTextSyntaxRules_rb.html +1 -1
  200. data/doc/files/lib/RichText_rb.html +1 -1
  201. data/doc/files/lib/ScenarioData_rb.html +1 -1
  202. data/doc/files/lib/Scenario_rb.html +1 -1
  203. data/doc/files/lib/Scoreboard_rb.html +1 -1
  204. data/doc/files/lib/ShiftAssignments_rb.html +1 -1
  205. data/doc/files/lib/ShiftScenario_rb.html +1 -1
  206. data/doc/files/lib/Shift_rb.html +1 -1
  207. data/doc/files/lib/SourceFileInfo_rb.html +1 -1
  208. data/doc/files/lib/SyntaxReference_rb.html +1 -1
  209. data/doc/files/lib/TOCEntry_rb.html +1 -1
  210. data/doc/files/lib/TableColumnDefinition_rb.html +1 -1
  211. data/doc/files/lib/TableOfContents_rb.html +1 -1
  212. data/doc/files/lib/TaskDependency_rb.html +1 -1
  213. data/doc/files/lib/TaskJuggler_rb.html +1 -1
  214. data/doc/files/lib/TaskScenario_rb.html +1 -1
  215. data/doc/files/lib/Task_rb.html +1 -1
  216. data/doc/files/lib/TextParser/Pattern_rb.html +1 -1
  217. data/doc/files/lib/TextParser/Rule_rb.html +1 -1
  218. data/doc/files/lib/TextParser/StackElement_rb.html +1 -1
  219. data/doc/files/lib/TextParser/TokenDoc_rb.html +1 -1
  220. data/doc/files/lib/TextParser_rb.html +1 -1
  221. data/doc/files/lib/TextScanner_rb.html +1 -1
  222. data/doc/files/lib/Tj3Config_rb.html +1 -1
  223. data/doc/files/lib/TjException_rb.html +1 -1
  224. data/doc/files/lib/TjTime_rb.html +1 -1
  225. data/doc/files/lib/TjpExample_rb.html +1 -1
  226. data/doc/files/lib/TjpSyntaxRules_rb.html +1 -1
  227. data/doc/files/lib/UTF8String_rb.html +1 -1
  228. data/doc/files/lib/UserManual_rb.html +1 -1
  229. data/doc/files/lib/WorkingHours_rb.html +1 -1
  230. data/doc/files/lib/XMLDocument_rb.html +1 -1
  231. data/doc/files/lib/XMLElement_rb.html +1 -1
  232. data/doc/files/lib/deep_copy_rb.html +106 -0
  233. data/doc/files/lib/ms_test_rb.html +90 -0
  234. data/doc/files/lib/reports/CSVFile_rb.html +1 -1
  235. data/doc/files/lib/reports/ColumnTable_rb.html +1 -1
  236. data/doc/files/lib/reports/GanttChart_rb.html +1 -1
  237. data/doc/files/lib/reports/GanttContainer_rb.html +1 -1
  238. data/doc/files/lib/reports/GanttHeaderScaleItem_rb.html +1 -1
  239. data/doc/files/lib/reports/GanttHeader_rb.html +1 -1
  240. data/doc/files/lib/reports/GanttLine_rb.html +1 -1
  241. data/doc/files/lib/reports/GanttLoadStack_rb.html +1 -1
  242. data/doc/files/lib/reports/GanttMilestone_rb.html +1 -1
  243. data/doc/files/lib/reports/GanttRouter_rb.html +1 -1
  244. data/doc/files/lib/reports/GanttTaskBar_rb.html +1 -1
  245. data/doc/files/lib/reports/HTMLGraphics_rb.html +1 -1
  246. data/doc/files/lib/reports/{ReportElement_rb.html → Navigator_rb.html} +6 -8
  247. data/doc/files/lib/reports/ReportBase_rb.html +106 -0
  248. data/doc/files/lib/reports/ReportContext_rb.html +106 -0
  249. data/doc/files/lib/reports/ReportTableCell_rb.html +1 -1
  250. data/doc/files/lib/reports/ReportTableColumn_rb.html +1 -1
  251. data/doc/files/lib/reports/ReportTableLegend_rb.html +1 -1
  252. data/doc/files/lib/reports/ReportTableLine_rb.html +1 -1
  253. data/doc/files/lib/reports/ReportTable_rb.html +1 -1
  254. data/doc/files/lib/reports/Report_rb.html +8 -2
  255. data/doc/files/lib/reports/ResourceListRE_rb.html +2 -2
  256. data/doc/files/lib/reports/{ReportTableElement_rb.html → TableReport_rb.html} +7 -5
  257. data/doc/files/lib/reports/TaskListRE_rb.html +2 -2
  258. data/doc/files/lib/reports/TextReport_rb.html +116 -0
  259. data/doc/files/lib/reports/TjpExportRE_rb.html +2 -2
  260. data/doc/files/lib/taskjuggler3_rb.html +61 -56
  261. data/doc/files/lib/tj3man_rb.html +1 -1
  262. data/doc/fr_class_index.html +41 -3
  263. data/doc/fr_file_index.html +21 -5
  264. data/doc/fr_method_index.html +1069 -959
  265. data/examples/ContactList.html +1467 -0
  266. data/examples/Deliveries.html +485 -0
  267. data/examples/Development.html +2525 -0
  268. data/examples/Overview.html +747 -0
  269. data/examples/Resource Graph.html +616 -0
  270. data/examples/tutorial.tjp +63 -67
  271. data/lib/AttributeBase.rb +27 -31
  272. data/lib/AttributeDefinition.rb +12 -7
  273. data/lib/Attributes.rb +134 -34
  274. data/lib/Interval.rb +2 -0
  275. data/lib/Journal.rb +44 -0
  276. data/lib/{LogicalFlag.rb → KeywordArray.rb} +5 -13
  277. data/lib/KeywordDocumentation.rb +84 -47
  278. data/lib/Limits.rb +7 -5
  279. data/lib/LogicalExpression.rb +1 -1
  280. data/lib/LogicalOperation.rb +33 -0
  281. data/lib/Project.rb +313 -99
  282. data/lib/ProjectFileParser.rb +88 -11
  283. data/lib/PropertyList.rb +2 -1
  284. data/lib/PropertySet.rb +13 -4
  285. data/lib/PropertyTreeNode.rb +34 -15
  286. data/lib/Query.rb +2 -1
  287. data/lib/RTPNavigator.rb +53 -0
  288. data/lib/RTPReport.rb +62 -0
  289. data/lib/RealFormat.rb +28 -10
  290. data/lib/RichTextElement.rb +18 -12
  291. data/lib/RichTextParser.rb +1 -0
  292. data/lib/RichTextProtocolExample.rb +8 -11
  293. data/lib/RichTextProtocolHandler.rb +11 -1
  294. data/lib/RichTextScanner.rb +308 -164
  295. data/lib/RichTextSyntaxRules.rb +24 -0
  296. data/lib/TableColumnDefinition.rb +5 -1
  297. data/lib/TaskJuggler.rb +3 -2
  298. data/lib/TaskScenario.rb +123 -31
  299. data/lib/TextParser.rb +14 -3
  300. data/lib/TextScanner.rb +210 -34
  301. data/lib/Tj3Config.rb +1 -1
  302. data/lib/TjTime.rb +15 -0
  303. data/lib/TjpExample.rb +1 -1
  304. data/lib/TjpSyntaxRules.rb +674 -473
  305. data/lib/WorkingHours.rb +1 -1
  306. data/lib/XMLElement.rb +11 -3
  307. data/lib/deep_copy.rb +72 -0
  308. data/lib/ms_test.rb +27 -0
  309. data/lib/reports/ColumnTable.rb +7 -5
  310. data/lib/reports/GanttChart.rb +60 -34
  311. data/lib/reports/GanttHeader.rb +1 -1
  312. data/lib/reports/GanttRouter.rb +7 -5
  313. data/lib/reports/Navigator.rb +72 -0
  314. data/lib/reports/Report.rb +58 -73
  315. data/lib/reports/ReportBase.rb +241 -0
  316. data/lib/reports/ReportContext.rb +41 -0
  317. data/lib/reports/ReportTable.rb +7 -2
  318. data/lib/reports/ReportTableCell.rb +3 -3
  319. data/lib/reports/ResourceListRE.rb +19 -26
  320. data/lib/reports/{ReportTableElement.rb → TableReport.rb} +297 -97
  321. data/lib/reports/TaskListRE.rb +16 -24
  322. data/lib/reports/TextReport.rb +87 -0
  323. data/lib/reports/TjpExportRE.rb +55 -50
  324. data/lib/taskjuggler3.rb +6 -1
  325. data/manual/Getting_Started +57 -6
  326. data/manual/How_To_Contribute +2 -4
  327. data/manual/Intro +2 -2
  328. data/manual/Reporting_Bugs +9 -2
  329. data/manual/Rich_Text_Attributes +41 -0
  330. data/manual/Tutorial +219 -173
  331. data/tasks/test.rake +3 -0
  332. data/test/TestSuite/CSV-Reports/celltext.tjp +2 -1
  333. data/test/TestSuite/CSV-Reports/resourcereport.tjp +2 -1
  334. data/test/TestSuite/CSV-Reports/resourcereport_with_tasks.tjp +2 -1
  335. data/test/TestSuite/CSV-Reports/sortByTree.tjp +2 -1
  336. data/test/TestSuite/CSV-Reports/sortBy_duration.down.tjp +2 -1
  337. data/test/TestSuite/CSV-Reports/sortBy_effort.up.tjp +2 -1
  338. data/test/TestSuite/CSV-Reports/sortBy_plan.start.down.tjp +2 -1
  339. data/test/TestSuite/CSV-Reports/taskreport.tjp +2 -1
  340. data/test/TestSuite/CSV-Reports/taskreport_with_resources.tjp +2 -1
  341. data/test/TestSuite/HTML-Reports/depArrows.tjp +72 -0
  342. data/test/TestSuite/HTML-Reports/reference-export.html +187 -0
  343. data/test/TestSuite/HTML-Reports/reference.tjp +21 -0
  344. data/test/TestSuite/Scheduler/Correct/Allocate.tjp +2 -1
  345. data/test/TestSuite/Scheduler/Correct/AutomaticMilestones.tjp +3 -3
  346. data/test/TestSuite/Scheduler/Correct/Booking.tjp +3 -3
  347. data/test/TestSuite/Scheduler/Correct/Container-2.tjp +37 -0
  348. data/test/TestSuite/Scheduler/Correct/Container.tjp +40 -0
  349. data/test/TestSuite/Scheduler/Correct/Depends.tjp +9 -14
  350. data/test/TestSuite/Scheduler/Correct/Duration.tjp +2 -1
  351. data/test/TestSuite/Scheduler/Correct/InheritStartEnd.tjp +20 -29
  352. data/test/TestSuite/Scheduler/Correct/Limits.tjp +11 -13
  353. data/test/TestSuite/Scheduler/Correct/Optimize-1.tjp +6 -5
  354. data/test/TestSuite/Scheduler/Correct/Optimize-2.tjp +10 -6
  355. data/test/TestSuite/Scheduler/Correct/Optimize-3.tjp +9 -6
  356. data/test/TestSuite/Scheduler/Correct/Optimize-4.tjp +9 -6
  357. data/test/TestSuite/Scheduler/Correct/Optimize-5.tjp +13 -10
  358. data/test/TestSuite/Scheduler/Correct/Precedes.tjp +9 -14
  359. data/test/TestSuite/Scheduler/Correct/Shift.tjp +9 -8
  360. data/test/TestSuite/Scheduler/Correct/checks.tji +4 -0
  361. data/test/TestSuite/Scheduler/Errors/weak_end_dep.tjp +16 -0
  362. data/test/TestSuite/Scheduler/Errors/weak_start_dep.tjp +16 -0
  363. data/test/TestSuite/Syntax/Correct/Account.tjp +1 -1
  364. data/test/TestSuite/Syntax/Correct/AutoID.tjp +21 -0
  365. data/test/TestSuite/Syntax/Correct/AutoMacros.tjp +2 -1
  366. data/test/TestSuite/Syntax/Correct/Caption.tjp +7 -6
  367. data/test/TestSuite/Syntax/Correct/Celltext.tjp +7 -4
  368. data/test/TestSuite/Syntax/Correct/Comments.tjp +1 -1
  369. data/test/TestSuite/Syntax/Correct/CompletedWork.tji +11 -19
  370. data/test/TestSuite/Syntax/Correct/CriticalPath.tjp +4 -3
  371. data/test/TestSuite/Syntax/Correct/Export.tjp +3 -1
  372. data/test/TestSuite/Syntax/Correct/Flags.tjp +2 -1
  373. data/test/TestSuite/Syntax/Correct/HtmlTaskReport.tjp +2 -1
  374. data/test/TestSuite/Syntax/Correct/Journal.tjp +18 -0
  375. data/test/TestSuite/Syntax/Correct/LoadUnits.tjp +2 -1
  376. data/test/TestSuite/Syntax/Correct/LogicalExpression.tjp +16 -0
  377. data/test/TestSuite/Syntax/Correct/Period.tjp +2 -1
  378. data/test/TestSuite/Syntax/Correct/RawHTML.tjp +4 -2
  379. data/test/TestSuite/Syntax/Correct/Reports.tjp +4 -2
  380. data/test/TestSuite/Syntax/Correct/ResourcePrefix.tji +2 -0
  381. data/test/TestSuite/Syntax/Correct/ResourcePrefix.tjp +23 -0
  382. data/test/TestSuite/Syntax/Correct/Responsible.tjp +1 -1
  383. data/test/TestSuite/Syntax/Correct/Simple.tjp +1 -1
  384. data/test/TestSuite/Syntax/Correct/String.tjp +1 -1
  385. data/test/TestSuite/Syntax/Correct/TaskRoot.tjp +2 -1
  386. data/test/TestSuite/Syntax/Correct/tutorial.tjp +92 -70
  387. data/test/TestSuite/Syntax/Errors/bad_comment.tjp +7 -0
  388. data/test/TestSuite/Syntax/Errors/bad_include.tjp +1 -1
  389. data/test/TestSuite/Syntax/Errors/bad_time_zone.tjp +6 -0
  390. data/test/TestSuite/Syntax/Errors/bad_timing_res.tjp +5 -0
  391. data/test/TestSuite/Syntax/Errors/chargeset_master.tjp +1 -1
  392. data/test/TestSuite/Syntax/Errors/container_attribute.tjp +1 -1
  393. data/test/TestSuite/Syntax/Errors/cost_acct_no_top.tjp +3 -2
  394. data/test/TestSuite/Syntax/Errors/cost_rev_same.tjp +1 -1
  395. data/test/TestSuite/Syntax/Errors/eof_in_istring1.tjp +5 -0
  396. data/test/TestSuite/Syntax/Errors/eof_in_istring2.tjp +5 -0
  397. data/test/TestSuite/Syntax/Errors/eof_in_istring3.tjp +6 -0
  398. data/test/TestSuite/Syntax/Errors/eof_in_istring4.tjp +6 -0
  399. data/test/TestSuite/Syntax/Errors/eof_in_istring5.tjp +6 -0
  400. data/test/TestSuite/Syntax/Errors/include_recursion.tji +1 -0
  401. data/test/TestSuite/Syntax/Errors/include_recursion.tjp +7 -0
  402. data/test/TestSuite/Syntax/Errors/junk_after_cut.tjp +6 -0
  403. data/test/TestSuite/Syntax/Errors/navigator_exists.tjp +10 -0
  404. data/test/TestSuite/Syntax/Errors/operand_unkn_flag.tjp +1 -1
  405. data/test/TestSuite/Syntax/Errors/report_end.tjp +1 -1
  406. data/test/TestSuite/Syntax/Errors/report_exists.tjp +10 -0
  407. data/test/TestSuite/Syntax/Errors/report_start.tjp +1 -1
  408. data/test/TestSuite/Syntax/Errors/rev_acct_no_top.tjp +1 -1
  409. data/test/TestSuite/Syntax/Errors/sort_direction.tjp +1 -1
  410. data/test/TestSuite/Syntax/Errors/sort_unknown_scen.tjp +1 -1
  411. data/test/TestSuite/Syntax/Errors/sorting_crit_exptd1.tjp +1 -1
  412. data/test/TestSuite/Syntax/Errors/sorting_crit_exptd2.tjp +1 -1
  413. data/test/TestSuite/Syntax/Errors/sorting_wbs.tjp +1 -1
  414. data/test/TestSuite/Syntax/Errors/too_large_timing_res.tjp +7 -0
  415. data/test/TestSuite/Syntax/Errors/unknown_scenario_idx.tjp +1 -1
  416. data/test/TestSuite/Syntax/Errors/unknown_task.tjp +1 -1
  417. data/test/all.rb +1 -16
  418. data/test/test_CSV-Reports.rb +8 -5
  419. data/test/test_Query.rb +2 -2
  420. data/test/test_RichText.rb +95 -0
  421. data/test/test_Scheduler.rb +8 -4
  422. data/test/test_Syntax.rb +8 -4
  423. data/test/test_deep_copy.rb +83 -0
  424. metadata +549 -487
  425. data/benchmarks/UTF-8-Strings.rb +0 -58
  426. data/doc/classes/TaskJuggler/ReportElement.html +0 -1070
  427. data/doc/classes/TaskJuggler/ReportTableElement.html +0 -644
  428. data/lib/reports/ReportElement.rb +0 -427
  429. data/test/TestSuite/Syntax/Correct/csvtest +0 -16
  430. data/test/TestSuite/Syntax/Errors/no_csv_suffix.tjp +0 -10
  431. data/test/TestSuite/Syntax/Errors/no_html_suffix.tjp +0 -10
  432. data/test/TestSuite/Syntax/Errors/report_redifinition.tjp +0 -10
@@ -70,7 +70,11 @@
70
70
  <td><strong>Parent:</strong></td>
71
71
  <td>
72
72
 
73
- Object
73
+ <a href="PropertyTreeNode.html">
74
+
75
+ TaskJuggler::PropertyTreeNode
76
+
77
+ </a>
74
78
 
75
79
  </td>
76
80
  </tr>
@@ -87,9 +91,7 @@
87
91
  <p>
88
92
  The <a href="Report.html">Report</a> class holds the fundamental
89
93
  description and functionality to turn the scheduled project into a user
90
- readable form. A report consists of one or more <a
91
- href="ReportElement.html">ReportElement</a> objects and some attributes
92
- that are global to all elements.
94
+ readable form. A report may contain other reports.
93
95
  </p>
94
96
 
95
97
  </div>
@@ -102,15 +104,11 @@ that are global to all elements.
102
104
 
103
105
  <div class="name-list">
104
106
 
105
- <a href="#M000386">addFormat</a>&nbsp;&nbsp;
106
-
107
- <a href="#M000385">end</a>&nbsp;&nbsp;
107
+ <a href="#M000614">generate</a>&nbsp;&nbsp;
108
108
 
109
- <a href="#M000387">generate</a>&nbsp;&nbsp;
109
+ <a href="#M000613">new</a>&nbsp;&nbsp;
110
110
 
111
- <a href="#M000383">new</a>&nbsp;&nbsp;
112
-
113
- <a href="#M000384">start=</a>&nbsp;&nbsp;
111
+ <a href="#M000615">to_html</a>&nbsp;&nbsp;
114
112
 
115
113
  </div>
116
114
  </div>
@@ -130,119 +128,7 @@ that are global to all elements.
130
128
  <table>
131
129
 
132
130
  <tr class="top-aligned-row context-row">
133
- <td class="context-item-name">costAccount</td>
134
-
135
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
136
-
137
- <td class="context-item-desc"></td>
138
- </tr>
139
-
140
- <tr class="top-aligned-row context-row">
141
- <td class="context-item-name">currencyformat</td>
142
-
143
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
144
-
145
- <td class="context-item-desc"></td>
146
- </tr>
147
-
148
- <tr class="top-aligned-row context-row">
149
- <td class="context-item-name">end</td>
150
-
151
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
152
-
153
- <td class="context-item-desc"></td>
154
- </tr>
155
-
156
- <tr class="top-aligned-row context-row">
157
- <td class="context-item-name">loadUnit</td>
158
-
159
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
160
-
161
- <td class="context-item-desc"></td>
162
- </tr>
163
-
164
- <tr class="top-aligned-row context-row">
165
- <td class="context-item-name">name</td>
166
-
167
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
168
-
169
- <td class="context-item-desc"></td>
170
- </tr>
171
-
172
- <tr class="top-aligned-row context-row">
173
- <td class="context-item-name">now</td>
174
-
175
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
176
-
177
- <td class="context-item-desc"></td>
178
- </tr>
179
-
180
- <tr class="top-aligned-row context-row">
181
- <td class="context-item-name">numberformat</td>
182
-
183
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
184
-
185
- <td class="context-item-desc"></td>
186
- </tr>
187
-
188
- <tr class="top-aligned-row context-row">
189
- <td class="context-item-name">project</td>
190
-
191
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
192
-
193
- <td class="context-item-desc"></td>
194
- </tr>
195
-
196
- <tr class="top-aligned-row context-row">
197
- <td class="context-item-name">resourceRoot</td>
198
-
199
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
200
-
201
- <td class="context-item-desc"></td>
202
- </tr>
203
-
204
- <tr class="top-aligned-row context-row">
205
- <td class="context-item-name">revenueAccount</td>
206
-
207
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
208
-
209
- <td class="context-item-desc"></td>
210
- </tr>
211
-
212
- <tr class="top-aligned-row context-row">
213
- <td class="context-item-name">shorttimeformat</td>
214
-
215
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
216
-
217
- <td class="context-item-desc"></td>
218
- </tr>
219
-
220
- <tr class="top-aligned-row context-row">
221
- <td class="context-item-name">sourceFileInfo</td>
222
-
223
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
224
-
225
- <td class="context-item-desc"></td>
226
- </tr>
227
-
228
- <tr class="top-aligned-row context-row">
229
- <td class="context-item-name">start</td>
230
-
231
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
232
-
233
- <td class="context-item-desc"></td>
234
- </tr>
235
-
236
- <tr class="top-aligned-row context-row">
237
- <td class="context-item-name">taskRoot</td>
238
-
239
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
240
-
241
- <td class="context-item-desc"></td>
242
- </tr>
243
-
244
- <tr class="top-aligned-row context-row">
245
- <td class="context-item-name">timeformat</td>
131
+ <td class="context-item-name">content</td>
246
132
 
247
133
  <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
248
134
 
@@ -250,23 +136,7 @@ that are global to all elements.
250
136
  </tr>
251
137
 
252
138
  <tr class="top-aligned-row context-row">
253
- <td class="context-item-name">timezone</td>
254
-
255
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
256
-
257
- <td class="context-item-desc"></td>
258
- </tr>
259
-
260
- <tr class="top-aligned-row context-row">
261
- <td class="context-item-name">userDefinedPeriod</td>
262
-
263
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
264
-
265
- <td class="context-item-desc"></td>
266
- </tr>
267
-
268
- <tr class="top-aligned-row context-row">
269
- <td class="context-item-name">weekstartsmonday</td>
139
+ <td class="context-item-name">typeSpec</td>
270
140
 
271
141
  <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
272
142
 
@@ -285,14 +155,14 @@ that are global to all elements.
285
155
  <h3 class="section-bar">Public Class methods</h3>
286
156
 
287
157
 
288
- <div id="method-M000383" class="method-detail">
289
- <a name="M000383"></a>
158
+ <div id="method-M000613" class="method-detail">
159
+ <a name="M000613"></a>
290
160
 
291
161
  <div class="method-heading">
292
162
 
293
- <a href="#M000383" class="method-signature">
163
+ <a href="#M000613" class="method-signature">
294
164
 
295
- <span class="method-name">new</span><span class="method-args">(project, name, format, sourceFileInfo)</span>
165
+ <span class="method-name">new</span><span class="method-args">(project, id, name, parent)</span>
296
166
 
297
167
  </a>
298
168
 
@@ -305,36 +175,18 @@ Create a new report object.
305
175
  </p>
306
176
 
307
177
  <p><a class="source-toggle" href="#"
308
- onclick="toggleCode('M000383-source');return false;">[Source]</a></p>
309
- <div class="method-source-code" id="M000383-source">
178
+ onclick="toggleCode('M000613-source');return false;">[Source]</a></p>
179
+ <div class="method-source-code" id="M000613-source">
310
180
  <pre>
311
- <span class="ruby-comment cmt"># File lib/reports/Report.rb, line 36</span>
312
- 36: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">project</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">format</span>, <span class="ruby-identifier">sourceFileInfo</span>)
313
- 37: <span class="ruby-ivar">@project</span> = <span class="ruby-identifier">project</span>
314
- 38: <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">name</span>
315
- 39: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">addReport</span>(<span class="ruby-keyword kw">self</span>)
316
- 40: <span class="ruby-ivar">@outputFormats</span> = [ <span class="ruby-identifier">format</span> ]
317
- 41: <span class="ruby-ivar">@sourceFileInfo</span> = <span class="ruby-identifier">sourceFileInfo</span>
318
- 42:
319
- 43: <span class="ruby-comment cmt"># The following attributes determine the content and look of the report.</span>
320
- 44: <span class="ruby-ivar">@costAccount</span> = <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'costAccount'</span>]
321
- 45: <span class="ruby-ivar">@currencyformat</span> = <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'currencyformat'</span>]
322
- 46: <span class="ruby-ivar">@loadUnit</span> = <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'loadunit'</span>]
323
- 47: <span class="ruby-ivar">@end</span> = <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'end'</span>]
324
- 48: <span class="ruby-ivar">@now</span> = <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'now'</span>]
325
- 49: <span class="ruby-ivar">@numberformat</span> = <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'numberformat'</span>]
326
- 50: <span class="ruby-ivar">@resourceRoot</span> = <span class="ruby-keyword kw">nil</span>
327
- 51: <span class="ruby-ivar">@revenueAccount</span> = <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'revenueAccount'</span>]
328
- 52: <span class="ruby-ivar">@shorttimeformat</span> = <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'shorttimeformat'</span>]
329
- 53: <span class="ruby-ivar">@start</span> = <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'start'</span>]
330
- 54: <span class="ruby-ivar">@taskRoot</span> = <span class="ruby-keyword kw">nil</span>
331
- 55: <span class="ruby-ivar">@timeformat</span> = <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'timeformat'</span>]
332
- 56: <span class="ruby-ivar">@timezone</span> = <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'timezone'</span>]
333
- 57: <span class="ruby-ivar">@userDefinedPeriod</span> = <span class="ruby-keyword kw">false</span>
334
- 58: <span class="ruby-ivar">@weekstartsmonday</span> = <span class="ruby-ivar">@project</span>[<span class="ruby-value str">'weekstartsmonday'</span>]
335
- 59:
336
- 60: <span class="ruby-ivar">@elements</span> = []
337
- 61: <span class="ruby-keyword kw">end</span>
181
+ <span class="ruby-comment cmt"># File lib/reports/Report.rb, line 33</span>
182
+ 33: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">project</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">parent</span>)
183
+ 34: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">project</span>.<span class="ruby-identifier">reports</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">parent</span>)
184
+ 35: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">addReport</span>(<span class="ruby-keyword kw">self</span>)
185
+ 36:
186
+ 37: <span class="ruby-comment cmt"># The type specifier must be set for every report. It tells whether this</span>
187
+ 38: <span class="ruby-comment cmt"># is a task, resource, text or other report.</span>
188
+ 39: <span class="ruby-ivar">@typeSpec</span> = <span class="ruby-keyword kw">nil</span>
189
+ 40: <span class="ruby-keyword kw">end</span>
338
190
  </pre>
339
191
  </div>
340
192
 
@@ -345,81 +197,12 @@ Create a new report object.
345
197
  <h3 class="section-bar">Public Instance methods</h3>
346
198
 
347
199
 
348
- <div id="method-M000386" class="method-detail">
349
- <a name="M000386"></a>
350
-
351
- <div class="method-heading">
352
-
353
- <a href="#M000386" class="method-signature">
354
-
355
- <span class="method-name">addFormat</span><span class="method-args">(format)</span>
356
-
357
- </a>
358
-
359
- </div>
360
-
361
- <div class="method-description">
362
-
363
- <p>
364
- Add new ouput format request.
365
- </p>
366
-
367
- <p><a class="source-toggle" href="#"
368
- onclick="toggleCode('M000386-source');return false;">[Source]</a></p>
369
- <div class="method-source-code" id="M000386-source">
370
- <pre>
371
- <span class="ruby-comment cmt"># File lib/reports/Report.rb, line 76</span>
372
- 76: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addFormat</span>(<span class="ruby-identifier">format</span>)
373
- 77: <span class="ruby-ivar">@outputFormats</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">format</span>
374
- 78: <span class="ruby-keyword kw">end</span>
375
- </pre>
376
- </div>
377
-
378
- </div>
379
- </div>
380
-
381
-
382
- <div id="method-M000385" class="method-detail">
383
- <a name="M000385"></a>
384
-
385
- <div class="method-heading">
386
-
387
- <a href="#M000385" class="method-signature">
388
-
389
- <span class="method-name">end</span><span class="method-args">(=(date))</span>
390
-
391
- </a>
392
-
393
- </div>
394
-
395
- <div class="method-description">
396
-
397
- <p>
398
- Set the end <em>date</em> of the report period and mark it as user defined.
399
- </p>
400
-
401
- <p><a class="source-toggle" href="#"
402
- onclick="toggleCode('M000385-source');return false;">[Source]</a></p>
403
- <div class="method-source-code" id="M000385-source">
404
- <pre>
405
- <span class="ruby-comment cmt"># File lib/reports/Report.rb, line 70</span>
406
- 70: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">end</span>=(<span class="ruby-identifier">date</span>)
407
- 71: <span class="ruby-ivar">@end</span> = <span class="ruby-identifier">date</span>
408
- 72: <span class="ruby-ivar">@userDefinedPeriod</span> = <span class="ruby-keyword kw">true</span>
409
- 73: <span class="ruby-keyword kw">end</span>
410
- </pre>
411
- </div>
412
-
413
- </div>
414
- </div>
415
-
416
-
417
- <div id="method-M000387" class="method-detail">
418
- <a name="M000387"></a>
200
+ <div id="method-M000614" class="method-detail">
201
+ <a name="M000614"></a>
419
202
 
420
203
  <div class="method-heading">
421
204
 
422
- <a href="#M000387" class="method-signature">
205
+ <a href="#M000614" class="method-signature">
423
206
 
424
207
  <span class="method-name">generate</span><span class="method-args">()</span>
425
208
 
@@ -436,39 +219,49 @@ according the the requested output format(s).
436
219
  </p>
437
220
 
438
221
  <p><a class="source-toggle" href="#"
439
- onclick="toggleCode('M000387-source');return false;">[Source]</a></p>
440
- <div class="method-source-code" id="M000387-source">
222
+ onclick="toggleCode('M000614-source');return false;">[Source]</a></p>
223
+ <div class="method-source-code" id="M000614-source">
441
224
  <pre>
442
- <span class="ruby-comment cmt"># File lib/reports/Report.rb, line 83</span>
443
- 83: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generate</span>
444
- 84: <span class="ruby-keyword kw">begin</span>
445
- 85: <span class="ruby-comment cmt"># Most output format can be generated from a common intermediate</span>
446
- 86: <span class="ruby-comment cmt"># representation of the elements. We generate that IR first.</span>
447
- 87: <span class="ruby-ivar">@elements</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">element</span><span class="ruby-operator">|</span>
448
- 88: <span class="ruby-identifier">element</span>.<span class="ruby-identifier">generateIntermediateFormat</span>
449
- 89: <span class="ruby-keyword kw">end</span>
450
- 90:
451
- 91: <span class="ruby-comment cmt"># Then generate the actual output format.</span>
452
- 92: <span class="ruby-ivar">@outputFormats</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">format</span><span class="ruby-operator">|</span>
453
- 93: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">format</span>
454
- 94: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:html</span>
455
- 95: <span class="ruby-identifier">generateHTML</span>
456
- 96: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:csv</span>
457
- 97: <span class="ruby-identifier">generateCSV</span>
458
- 98: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:export</span>
459
- 99: <span class="ruby-identifier">generateExport</span>
460
- 100: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:gui</span>
461
- 101: <span class="ruby-comment cmt"># TODO: Find a way to hook up the GUI here.</span>
462
- 102: <span class="ruby-keyword kw">else</span>
463
- 103: <span class="ruby-identifier">raise</span> <span class="ruby-value str">'Unknown report output format.'</span>
464
- 104: <span class="ruby-keyword kw">end</span>
465
- 105: <span class="ruby-keyword kw">end</span>
466
- 106: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span>
467
- 107: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">messageHandler</span>.<span class="ruby-identifier">send</span>(<span class="ruby-constant">Message</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'reporting_failed'</span>, <span class="ruby-value str">'error'</span>,
468
- 108: <span class="ruby-identifier">$!</span>.<span class="ruby-identifier">message</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span>,
469
- 109: <span class="ruby-ivar">@sourceFileInfo</span>))
470
- 110: <span class="ruby-keyword kw">end</span>
471
- 111: <span class="ruby-keyword kw">end</span>
225
+ <span class="ruby-comment cmt"># File lib/reports/Report.rb, line 45</span>
226
+ 45: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generate</span>
227
+ 46: <span class="ruby-keyword kw">begin</span>
228
+ 47: <span class="ruby-ivar">@content</span> = <span class="ruby-keyword kw">nil</span>
229
+ 48: <span class="ruby-keyword kw">case</span> <span class="ruby-ivar">@typeSpec</span>
230
+ 49: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:export</span>
231
+ 50: <span class="ruby-comment cmt"># Does not have an intermediate representation. Nothing to do here.</span>
232
+ 51: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:resourcereport</span>
233
+ 52: <span class="ruby-ivar">@content</span> = <span class="ruby-constant">ResourceListRE</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>)
234
+ 53: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:textreport</span>
235
+ 54: <span class="ruby-ivar">@content</span> = <span class="ruby-constant">TextReport</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>)
236
+ 55: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:taskreport</span>
237
+ 56: <span class="ruby-ivar">@content</span> = <span class="ruby-constant">TaskListRE</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>)
238
+ 57: <span class="ruby-keyword kw">else</span>
239
+ 58: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Unknown report type&quot;</span>
240
+ 59: <span class="ruby-keyword kw">end</span>
241
+ 60:
242
+ 61: <span class="ruby-comment cmt"># Most output format can be generated from a common intermediate</span>
243
+ 62: <span class="ruby-comment cmt"># representation of the elements. We generate that IR first.</span>
244
+ 63: <span class="ruby-ivar">@content</span>.<span class="ruby-identifier">generateIntermediateFormat</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@content</span>
245
+ 64:
246
+ 65: <span class="ruby-comment cmt"># Then generate the actual output format.</span>
247
+ 66: <span class="ruby-identifier">get</span>(<span class="ruby-value str">'formats'</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">format</span><span class="ruby-operator">|</span>
248
+ 67: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">format</span>
249
+ 68: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:html</span>
250
+ 69: <span class="ruby-identifier">generateHTML</span>
251
+ 70: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:csv</span>
252
+ 71: <span class="ruby-identifier">generateCSV</span>
253
+ 72: <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:export</span>
254
+ 73: <span class="ruby-identifier">generateExport</span>
255
+ 74: <span class="ruby-keyword kw">else</span>
256
+ 75: <span class="ruby-identifier">raise</span> <span class="ruby-value str">'Unknown report output format.'</span>
257
+ 76: <span class="ruby-keyword kw">end</span>
258
+ 77: <span class="ruby-keyword kw">end</span>
259
+ 78: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TjException</span>
260
+ 79: <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">messageHandler</span>.<span class="ruby-identifier">send</span>(<span class="ruby-constant">Message</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'reporting_failed'</span>, <span class="ruby-value str">'error'</span>,
261
+ 80: <span class="ruby-identifier">$!</span>.<span class="ruby-identifier">message</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-keyword kw">nil</span>,
262
+ 81: <span class="ruby-ivar">@sourceFileInfo</span>))
263
+ 82: <span class="ruby-keyword kw">end</span>
264
+ 83: <span class="ruby-keyword kw">end</span>
472
265
  </pre>
473
266
  </div>
474
267
 
@@ -476,14 +269,14 @@ according the the requested output format(s).
476
269
  </div>
477
270
 
478
271
 
479
- <div id="method-M000384" class="method-detail">
480
- <a name="M000384"></a>
272
+ <div id="method-M000615" class="method-detail">
273
+ <a name="M000615"></a>
481
274
 
482
275
  <div class="method-heading">
483
276
 
484
- <a href="#M000384" class="method-signature">
277
+ <a href="#M000615" class="method-signature">
485
278
 
486
- <span class="method-name">start=</span><span class="method-args">(date)</span>
279
+ <span class="method-name">to_html</span><span class="method-args">()</span>
487
280
 
488
281
  </a>
489
282
 
@@ -492,19 +285,17 @@ according the the requested output format(s).
492
285
  <div class="method-description">
493
286
 
494
287
  <p>
495
- Set the start <em>date</em> of the report period and mark it as user
496
- defined.
288
+ Render the content of the report as HTML (without the framing).
497
289
  </p>
498
290
 
499
291
  <p><a class="source-toggle" href="#"
500
- onclick="toggleCode('M000384-source');return false;">[Source]</a></p>
501
- <div class="method-source-code" id="M000384-source">
292
+ onclick="toggleCode('M000615-source');return false;">[Source]</a></p>
293
+ <div class="method-source-code" id="M000615-source">
502
294
  <pre>
503
- <span class="ruby-comment cmt"># File lib/reports/Report.rb, line 64</span>
504
- 64: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">start=</span>(<span class="ruby-identifier">date</span>)
505
- 65: <span class="ruby-ivar">@start</span> = <span class="ruby-identifier">date</span>
506
- 66: <span class="ruby-ivar">@userDefinedPeriod</span> = <span class="ruby-keyword kw">true</span>
507
- 67: <span class="ruby-keyword kw">end</span>
295
+ <span class="ruby-comment cmt"># File lib/reports/Report.rb, line 86</span>
296
+ 86: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
297
+ 87: <span class="ruby-ivar">@content</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@content</span>.<span class="ruby-identifier">to_html</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>
298
+ 88: <span class="ruby-keyword kw">end</span>
508
299
  </pre>
509
300
  </div>
510
301