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
@@ -106,17 +106,17 @@ during the macro call.
106
106
 
107
107
  <div class="name-list">
108
108
 
109
- <a href="#M000529">add</a>&nbsp;&nbsp;
109
+ <a href="#M000715">add</a>&nbsp;&nbsp;
110
110
 
111
- <a href="#M000530">clear</a>&nbsp;&nbsp;
111
+ <a href="#M000716">clear</a>&nbsp;&nbsp;
112
112
 
113
- <a href="#M000533">error</a>&nbsp;&nbsp;
113
+ <a href="#M000719">error</a>&nbsp;&nbsp;
114
114
 
115
- <a href="#M000531">include?</a>&nbsp;&nbsp;
115
+ <a href="#M000717">include?</a>&nbsp;&nbsp;
116
116
 
117
- <a href="#M000528">new</a>&nbsp;&nbsp;
117
+ <a href="#M000714">new</a>&nbsp;&nbsp;
118
118
 
119
- <a href="#M000532">resolve</a>&nbsp;&nbsp;
119
+ <a href="#M000718">resolve</a>&nbsp;&nbsp;
120
120
 
121
121
  </div>
122
122
  </div>
@@ -137,12 +137,12 @@ during the macro call.
137
137
  <h3 class="section-bar">Public Class methods</h3>
138
138
 
139
139
 
140
- <div id="method-M000528" class="method-detail">
141
- <a name="M000528"></a>
140
+ <div id="method-M000714" class="method-detail">
141
+ <a name="M000714"></a>
142
142
 
143
143
  <div class="method-heading">
144
144
 
145
- <a href="#M000528" class="method-signature">
145
+ <a href="#M000714" class="method-signature">
146
146
 
147
147
  <span class="method-name">new</span><span class="method-args">(messageHandler)</span>
148
148
 
@@ -153,8 +153,8 @@ during the macro call.
153
153
  <div class="method-description">
154
154
 
155
155
  <p><a class="source-toggle" href="#"
156
- onclick="toggleCode('M000528-source');return false;">[Source]</a></p>
157
- <div class="method-source-code" id="M000528-source">
156
+ onclick="toggleCode('M000714-source');return false;">[Source]</a></p>
157
+ <div class="method-source-code" id="M000714-source">
158
158
  <pre>
159
159
  <span class="ruby-comment cmt"># File lib/MacroTable.rb, line 38</span>
160
160
  38: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">messageHandler</span>)
@@ -171,12 +171,12 @@ during the macro call.
171
171
  <h3 class="section-bar">Public Instance methods</h3>
172
172
 
173
173
 
174
- <div id="method-M000529" class="method-detail">
175
- <a name="M000529"></a>
174
+ <div id="method-M000715" class="method-detail">
175
+ <a name="M000715"></a>
176
176
 
177
177
  <div class="method-heading">
178
178
 
179
- <a href="#M000529" class="method-signature">
179
+ <a href="#M000715" class="method-signature">
180
180
 
181
181
  <span class="method-name">add</span><span class="method-args">(macro)</span>
182
182
 
@@ -191,8 +191,8 @@ Add a new macro definition to the table or replace an existing one.
191
191
  </p>
192
192
 
193
193
  <p><a class="source-toggle" href="#"
194
- onclick="toggleCode('M000529-source');return false;">[Source]</a></p>
195
- <div class="method-source-code" id="M000529-source">
194
+ onclick="toggleCode('M000715-source');return false;">[Source]</a></p>
195
+ <div class="method-source-code" id="M000715-source">
196
196
  <pre>
197
197
  <span class="ruby-comment cmt"># File lib/MacroTable.rb, line 44</span>
198
198
  44: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add</span>(<span class="ruby-identifier">macro</span>)
@@ -205,12 +205,12 @@ Add a new macro definition to the table or replace an existing one.
205
205
  </div>
206
206
 
207
207
 
208
- <div id="method-M000530" class="method-detail">
209
- <a name="M000530"></a>
208
+ <div id="method-M000716" class="method-detail">
209
+ <a name="M000716"></a>
210
210
 
211
211
  <div class="method-heading">
212
212
 
213
- <a href="#M000530" class="method-signature">
213
+ <a href="#M000716" class="method-signature">
214
214
 
215
215
  <span class="method-name">clear</span><span class="method-args">()</span>
216
216
 
@@ -225,8 +225,8 @@ Remove all definitions from the table.
225
225
  </p>
226
226
 
227
227
  <p><a class="source-toggle" href="#"
228
- onclick="toggleCode('M000530-source');return false;">[Source]</a></p>
229
- <div class="method-source-code" id="M000530-source">
228
+ onclick="toggleCode('M000716-source');return false;">[Source]</a></p>
229
+ <div class="method-source-code" id="M000716-source">
230
230
  <pre>
231
231
  <span class="ruby-comment cmt"># File lib/MacroTable.rb, line 49</span>
232
232
  49: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clear</span>
@@ -239,12 +239,12 @@ Remove all definitions from the table.
239
239
  </div>
240
240
 
241
241
 
242
- <div id="method-M000533" class="method-detail">
243
- <a name="M000533"></a>
242
+ <div id="method-M000719" class="method-detail">
243
+ <a name="M000719"></a>
244
244
 
245
245
  <div class="method-heading">
246
246
 
247
- <a href="#M000533" class="method-signature">
247
+ <a href="#M000719" class="method-signature">
248
248
 
249
249
  <span class="method-name">error</span><span class="method-args">(id, text, sourceFileInfo)</span>
250
250
 
@@ -259,8 +259,8 @@ This function sends an error message to the message handler.
259
259
  </p>
260
260
 
261
261
  <p><a class="source-toggle" href="#"
262
- onclick="toggleCode('M000533-source');return false;">[Source]</a></p>
263
- <div class="method-source-code" id="M000533-source">
262
+ onclick="toggleCode('M000719-source');return false;">[Source]</a></p>
263
+ <div class="method-source-code" id="M000719-source">
264
264
  <pre>
265
265
  <span class="ruby-comment cmt"># File lib/MacroTable.rb, line 75</span>
266
266
  75: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">error</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">sourceFileInfo</span>)
@@ -275,12 +275,12 @@ This function sends an error message to the message handler.
275
275
  </div>
276
276
 
277
277
 
278
- <div id="method-M000531" class="method-detail">
279
- <a name="M000531"></a>
278
+ <div id="method-M000717" class="method-detail">
279
+ <a name="M000717"></a>
280
280
 
281
281
  <div class="method-heading">
282
282
 
283
- <a href="#M000531" class="method-signature">
283
+ <a href="#M000717" class="method-signature">
284
284
 
285
285
  <span class="method-name">include?</span><span class="method-args">(name)</span>
286
286
 
@@ -295,8 +295,8 @@ Returns true only if a macro named <em>name</em> is defined in the table.
295
295
  </p>
296
296
 
297
297
  <p><a class="source-toggle" href="#"
298
- onclick="toggleCode('M000531-source');return false;">[Source]</a></p>
299
- <div class="method-source-code" id="M000531-source">
298
+ onclick="toggleCode('M000717-source');return false;">[Source]</a></p>
299
+ <div class="method-source-code" id="M000717-source">
300
300
  <pre>
301
301
  <span class="ruby-comment cmt"># File lib/MacroTable.rb, line 54</span>
302
302
  54: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">include?</span>(<span class="ruby-identifier">name</span>)
@@ -309,12 +309,12 @@ Returns true only if a macro named <em>name</em> is defined in the table.
309
309
  </div>
310
310
 
311
311
 
312
- <div id="method-M000532" class="method-detail">
313
- <a name="M000532"></a>
312
+ <div id="method-M000718" class="method-detail">
313
+ <a name="M000718"></a>
314
314
 
315
315
  <div class="method-heading">
316
316
 
317
- <a href="#M000532" class="method-signature">
317
+ <a href="#M000718" class="method-signature">
318
318
 
319
319
  <span class="method-name">resolve</span><span class="method-args">(args, sourceFileInfo)</span>
320
320
 
@@ -333,13 +333,13 @@ unchanged. No error is generated.
333
333
  </p>
334
334
 
335
335
  <p><a class="source-toggle" href="#"
336
- onclick="toggleCode('M000532-source');return false;">[Source]</a></p>
337
- <div class="method-source-code" id="M000532-source">
336
+ onclick="toggleCode('M000718-source');return false;">[Source]</a></p>
337
+ <div class="method-source-code" id="M000718-source">
338
338
  <pre>
339
339
  <span class="ruby-comment cmt"># File lib/MacroTable.rb, line 63</span>
340
340
  63: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">resolve</span>(<span class="ruby-identifier">args</span>, <span class="ruby-identifier">sourceFileInfo</span>)
341
341
  64: <span class="ruby-identifier">name</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>]
342
- 65: <span class="ruby-identifier">resolved</span> = <span class="ruby-ivar">@macros</span>[<span class="ruby-identifier">name</span>].<span class="ruby-identifier">value</span>.<span class="ruby-identifier">clone</span>
342
+ 65: <span class="ruby-identifier">resolved</span> = <span class="ruby-ivar">@macros</span>[<span class="ruby-identifier">name</span>].<span class="ruby-identifier">value</span>.<span class="ruby-identifier">dup</span>
343
343
  66: <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
344
344
  67: <span class="ruby-identifier">args</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
345
345
  68: <span class="ruby-identifier">resolved</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-node">&quot;${#{i}}&quot;</span>, <span class="ruby-identifier">arg</span>)
@@ -106,9 +106,9 @@ the scenario.
106
106
 
107
107
  <div class="name-list">
108
108
 
109
- <a href="#M000411">new</a>&nbsp;&nbsp;
109
+ <a href="#M001129">new</a>&nbsp;&nbsp;
110
110
 
111
- <a href="#M000412">to_s</a>&nbsp;&nbsp;
111
+ <a href="#M001130">to_s</a>&nbsp;&nbsp;
112
112
 
113
113
  </div>
114
114
  </div>
@@ -187,12 +187,12 @@ the scenario.
187
187
  <h3 class="section-bar">Public Class methods</h3>
188
188
 
189
189
 
190
- <div id="method-M000411" class="method-detail">
191
- <a name="M000411"></a>
190
+ <div id="method-M001129" class="method-detail">
191
+ <a name="M001129"></a>
192
192
 
193
193
  <div class="method-heading">
194
194
 
195
- <a href="#M000411" class="method-signature">
195
+ <a href="#M001129" class="method-signature">
196
196
 
197
197
  <span class="method-name">new</span><span class="method-args">(id, level, text, property = nil, scenario = nil, sourceFileInfo = nil)</span>
198
198
 
@@ -203,8 +203,8 @@ the scenario.
203
203
  <div class="method-description">
204
204
 
205
205
  <p><a class="source-toggle" href="#"
206
- onclick="toggleCode('M000411-source');return false;">[Source]</a></p>
207
- <div class="method-source-code" id="M000411-source">
206
+ onclick="toggleCode('M001129-source');return false;">[Source]</a></p>
207
+ <div class="method-source-code" id="M001129-source">
208
208
  <pre>
209
209
  <span class="ruby-comment cmt"># File lib/Message.rb, line 26</span>
210
210
  26: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">level</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">property</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">scenario</span> = <span class="ruby-keyword kw">nil</span>,
@@ -230,12 +230,12 @@ the scenario.
230
230
  <h3 class="section-bar">Public Instance methods</h3>
231
231
 
232
232
 
233
- <div id="method-M000412" class="method-detail">
234
- <a name="M000412"></a>
233
+ <div id="method-M001130" class="method-detail">
234
+ <a name="M001130"></a>
235
235
 
236
236
  <div class="method-heading">
237
237
 
238
- <a href="#M000412" class="method-signature">
238
+ <a href="#M001130" class="method-signature">
239
239
 
240
240
  <span class="method-name">to_s</span><span class="method-args">()</span>
241
241
 
@@ -246,8 +246,8 @@ the scenario.
246
246
  <div class="method-description">
247
247
 
248
248
  <p><a class="source-toggle" href="#"
249
- onclick="toggleCode('M000412-source');return false;">[Source]</a></p>
250
- <div class="method-source-code" id="M000412-source">
249
+ onclick="toggleCode('M001130-source');return false;">[Source]</a></p>
250
+ <div class="method-source-code" id="M001130-source">
251
251
  <pre>
252
252
  <span class="ruby-comment cmt"># File lib/Message.rb, line 40</span>
253
253
  40: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
@@ -95,9 +95,9 @@
95
95
 
96
96
  <div class="name-list">
97
97
 
98
- <a href="#M000425">new</a>&nbsp;&nbsp;
98
+ <a href="#M000790">new</a>&nbsp;&nbsp;
99
99
 
100
- <a href="#M000426">send</a>&nbsp;&nbsp;
100
+ <a href="#M000791">send</a>&nbsp;&nbsp;
101
101
 
102
102
  </div>
103
103
  </div>
@@ -116,6 +116,14 @@
116
116
  <div class="name-list">
117
117
  <table>
118
118
 
119
+ <tr class="top-aligned-row context-row">
120
+ <td class="context-item-name">errors</td>
121
+
122
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
123
+
124
+ <td class="context-item-desc"></td>
125
+ </tr>
126
+
119
127
  <tr class="top-aligned-row context-row">
120
128
  <td class="context-item-name">messages</td>
121
129
 
@@ -136,12 +144,12 @@
136
144
  <h3 class="section-bar">Public Class methods</h3>
137
145
 
138
146
 
139
- <div id="method-M000425" class="method-detail">
140
- <a name="M000425"></a>
147
+ <div id="method-M000790" class="method-detail">
148
+ <a name="M000790"></a>
141
149
 
142
150
  <div class="method-heading">
143
151
 
144
- <a href="#M000425" class="method-signature">
152
+ <a href="#M000790" class="method-signature">
145
153
 
146
154
  <span class="method-name">new</span><span class="method-args">(console = false)</span>
147
155
 
@@ -152,14 +160,16 @@
152
160
  <div class="method-description">
153
161
 
154
162
  <p><a class="source-toggle" href="#"
155
- onclick="toggleCode('M000425-source');return false;">[Source]</a></p>
156
- <div class="method-source-code" id="M000425-source">
163
+ onclick="toggleCode('M000790-source');return false;">[Source]</a></p>
164
+ <div class="method-source-code" id="M000790-source">
157
165
  <pre>
158
166
  <span class="ruby-comment cmt"># File lib/MessageHandler.rb, line 19</span>
159
167
  19: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">console</span> = <span class="ruby-keyword kw">false</span>)
160
168
  20: <span class="ruby-ivar">@messages</span> = []
161
169
  21: <span class="ruby-ivar">@console</span> = <span class="ruby-identifier">console</span>
162
- 22: <span class="ruby-keyword kw">end</span>
170
+ 22:
171
+ 23: <span class="ruby-ivar">@errors</span> = <span class="ruby-value">0</span>
172
+ 24: <span class="ruby-keyword kw">end</span>
163
173
  </pre>
164
174
  </div>
165
175
 
@@ -170,12 +180,12 @@
170
180
  <h3 class="section-bar">Public Instance methods</h3>
171
181
 
172
182
 
173
- <div id="method-M000426" class="method-detail">
174
- <a name="M000426"></a>
183
+ <div id="method-M000791" class="method-detail">
184
+ <a name="M000791"></a>
175
185
 
176
186
  <div class="method-heading">
177
187
 
178
- <a href="#M000426" class="method-signature">
188
+ <a href="#M000791" class="method-signature">
179
189
 
180
190
  <span class="method-name">send</span><span class="method-args">(message)</span>
181
191
 
@@ -186,16 +196,18 @@
186
196
  <div class="method-description">
187
197
 
188
198
  <p><a class="source-toggle" href="#"
189
- onclick="toggleCode('M000426-source');return false;">[Source]</a></p>
190
- <div class="method-source-code" id="M000426-source">
199
+ onclick="toggleCode('M000791-source');return false;">[Source]</a></p>
200
+ <div class="method-source-code" id="M000791-source">
191
201
  <pre>
192
- <span class="ruby-comment cmt"># File lib/MessageHandler.rb, line 24</span>
193
- 24: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">send</span>(<span class="ruby-identifier">message</span>)
194
- 25: <span class="ruby-ivar">@messages</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">message</span>
195
- 26: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@console</span>
196
- 27: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">message</span>
197
- 28: <span class="ruby-keyword kw">end</span>
198
- 29: <span class="ruby-keyword kw">end</span>
202
+ <span class="ruby-comment cmt"># File lib/MessageHandler.rb, line 26</span>
203
+ 26: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">send</span>(<span class="ruby-identifier">message</span>)
204
+ 27: <span class="ruby-ivar">@errors</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">message</span>.<span class="ruby-identifier">level</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'error'</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">message</span>.<span class="ruby-identifier">level</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'fatal'</span>
205
+ 28: <span class="ruby-ivar">@messages</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">message</span>
206
+ 29: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@console</span>
207
+ 30: <span class="ruby-comment cmt"># The to_s call is necessary to support remote prints via DRb.</span>
208
+ 31: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">message</span>.<span class="ruby-identifier">to_s</span>
209
+ 32: <span class="ruby-keyword kw">end</span>
210
+ 33: <span class="ruby-keyword kw">end</span>
199
211
  </pre>
200
212
  </div>
201
213
 
@@ -87,6 +87,16 @@
87
87
 
88
88
  <div id="contextContent">
89
89
 
90
+ <div id="description">
91
+ <p>
92
+ A <a href="Navigator.html">Navigator</a> is an automatically generated menu
93
+ to navigate a list of reports. The hierarchical structure of the reports
94
+ will be reused to group them. The actual structure of the <a
95
+ href="Navigator.html">Navigator</a> depends on the output format.
96
+ </p>
97
+
98
+ </div>
99
+
90
100
  </div>
91
101
 
92
102
 
@@ -95,9 +105,11 @@
95
105
 
96
106
  <div class="name-list">
97
107
 
98
- <a href="#M000581">new</a>&nbsp;&nbsp;
108
+ <a href="#M000410">generate</a>&nbsp;&nbsp;
109
+
110
+ <a href="#M000409">new</a>&nbsp;&nbsp;
99
111
 
100
- <a href="#M000582">to_html</a>&nbsp;&nbsp;
112
+ <a href="#M000411">to_html</a>&nbsp;&nbsp;
101
113
 
102
114
  </div>
103
115
  </div>
@@ -132,6 +144,14 @@
132
144
  <td class="context-item-desc"></td>
133
145
  </tr>
134
146
 
147
+ <tr class="top-aligned-row context-row">
148
+ <td class="context-item-name">reportRoot</td>
149
+
150
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
151
+
152
+ <td class="context-item-desc"></td>
153
+ </tr>
154
+
135
155
  </table>
136
156
  </div>
137
157
  </div>
@@ -144,12 +164,12 @@
144
164
  <h3 class="section-bar">Public Class methods</h3>
145
165
 
146
166
 
147
- <div id="method-M000581" class="method-detail">
148
- <a name="M000581"></a>
167
+ <div id="method-M000409" class="method-detail">
168
+ <a name="M000409"></a>
149
169
 
150
170
  <div class="method-heading">
151
171
 
152
- <a href="#M000581" class="method-signature">
172
+ <a href="#M000409" class="method-signature">
153
173
 
154
174
  <span class="method-name">new</span><span class="method-args">(id, project)</span>
155
175
 
@@ -160,15 +180,17 @@
160
180
  <div class="method-description">
161
181
 
162
182
  <p><a class="source-toggle" href="#"
163
- onclick="toggleCode('M000581-source');return false;">[Source]</a></p>
164
- <div class="method-source-code" id="M000581-source">
183
+ onclick="toggleCode('M000409-source');return false;">[Source]</a></p>
184
+ <div class="method-source-code" id="M000409-source">
165
185
  <pre>
166
- <span class="ruby-comment cmt"># File lib/reports/Navigator.rb, line 22</span>
167
- 22: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">project</span>)
168
- 23: <span class="ruby-ivar">@id</span> = <span class="ruby-identifier">id</span>
169
- 24: <span class="ruby-ivar">@project</span> = <span class="ruby-identifier">project</span>
170
- 25: <span class="ruby-ivar">@hideReport</span> = <span class="ruby-constant">LogicalExpression</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">LogicalOperation</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">0</span>))
171
- 26: <span class="ruby-keyword kw">end</span>
186
+ <span class="ruby-comment cmt"># File lib/reports/Navigator.rb, line 119</span>
187
+ 119: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">project</span>)
188
+ 120: <span class="ruby-ivar">@id</span> = <span class="ruby-identifier">id</span>
189
+ 121: <span class="ruby-ivar">@project</span> = <span class="ruby-identifier">project</span>
190
+ 122: <span class="ruby-ivar">@hideReport</span> = <span class="ruby-constant">LogicalExpression</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">LogicalOperation</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">0</span>))
191
+ 123: <span class="ruby-ivar">@reportRoot</span> = <span class="ruby-keyword kw">nil</span>
192
+ 124: <span class="ruby-ivar">@elements</span> = []
193
+ 125: <span class="ruby-keyword kw">end</span>
172
194
  </pre>
173
195
  </div>
174
196
 
@@ -179,12 +201,74 @@
179
201
  <h3 class="section-bar">Public Instance methods</h3>
180
202
 
181
203
 
182
- <div id="method-M000582" class="method-detail">
183
- <a name="M000582"></a>
204
+ <div id="method-M000410" class="method-detail">
205
+ <a name="M000410"></a>
206
+
207
+ <div class="method-heading">
208
+
209
+ <a href="#M000410" class="method-signature">
210
+
211
+ <span class="method-name">generate</span><span class="method-args">(reports, reportRoot, parentElement)</span>
212
+
213
+ </a>
214
+
215
+ </div>
216
+
217
+ <div class="method-description">
218
+
219
+ <p>
220
+ Generate an output format independant version of the navigator. This is a
221
+ tree of <a href="NavigatorElement.html">NavigatorElement</a> objects.
222
+ </p>
223
+
224
+ <p><a class="source-toggle" href="#"
225
+ onclick="toggleCode('M000410-source');return false;">[Source]</a></p>
226
+ <div class="method-source-code" id="M000410-source">
227
+ <pre>
228
+ <span class="ruby-comment cmt"># File lib/reports/Navigator.rb, line 129</span>
229
+ 129: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generate</span>(<span class="ruby-identifier">reports</span>, <span class="ruby-identifier">reportRoot</span>, <span class="ruby-identifier">parentElement</span>)
230
+ 130: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Report context missing&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">reportContext</span>.<span class="ruby-identifier">report</span>
231
+ 131:
232
+ 132: <span class="ruby-identifier">reports</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">report</span><span class="ruby-operator">|</span>
233
+ 133: <span class="ruby-identifier">hasURL</span> = <span class="ruby-identifier">report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'formats'</span>).<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">:html</span>)
234
+ 134: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">report</span>.<span class="ruby-identifier">parent</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">reportRoot</span>) <span class="ruby-operator">||</span>
235
+ 135: (<span class="ruby-identifier">report</span>.<span class="ruby-identifier">leaf?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">hasURL</span>)
236
+ 136:
237
+ 137: <span class="ruby-identifier">label</span> = <span class="ruby-identifier">report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'title'</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">report</span>.<span class="ruby-identifier">name</span>
238
+ 138: <span class="ruby-comment cmt"># Determine the URL for this element.</span>
239
+ 139: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hasURL</span>
240
+ 140: <span class="ruby-identifier">url</span> = <span class="ruby-identifier">report</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'.html'</span>
241
+ 141: <span class="ruby-identifier">url</span> = <span class="ruby-identifier">normalizeURL</span>(<span class="ruby-identifier">url</span>, <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">reportContext</span>.<span class="ruby-identifier">report</span>.<span class="ruby-identifier">name</span>)
242
+ 142: <span class="ruby-keyword kw">end</span>
243
+ 143: <span class="ruby-identifier">parentElement</span>.<span class="ruby-identifier">elements</span> <span class="ruby-operator">&lt;&lt;</span>
244
+ 144: (<span class="ruby-identifier">element</span> = <span class="ruby-constant">NavigatorElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">parentElement</span>, <span class="ruby-identifier">label</span>, <span class="ruby-identifier">url</span>))
245
+ 145:
246
+ 146: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">report</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">reportContext</span>.<span class="ruby-identifier">report</span>
247
+ 147: <span class="ruby-identifier">element</span>.<span class="ruby-identifier">currentUrl</span> = <span class="ruby-identifier">url</span>
248
+ 148: <span class="ruby-comment cmt"># Mark this element and all its parents as current.</span>
249
+ 149: <span class="ruby-identifier">nEl</span> = <span class="ruby-identifier">element</span>
250
+ 150: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">nEl</span>
251
+ 151: <span class="ruby-identifier">nEl</span>.<span class="ruby-identifier">current</span> = <span class="ruby-keyword kw">true</span>
252
+ 152: <span class="ruby-identifier">nEl</span> = <span class="ruby-identifier">nEl</span>.<span class="ruby-identifier">parent</span>
253
+ 153: <span class="ruby-keyword kw">end</span>
254
+ 154: <span class="ruby-keyword kw">end</span>
255
+ 155:
256
+ 156: <span class="ruby-identifier">generate</span>(<span class="ruby-identifier">reports</span>, <span class="ruby-identifier">report</span>, <span class="ruby-identifier">element</span>)
257
+ 157: <span class="ruby-keyword kw">end</span>
258
+ 158: <span class="ruby-keyword kw">end</span>
259
+ </pre>
260
+ </div>
261
+
262
+ </div>
263
+ </div>
264
+
265
+
266
+ <div id="method-M000411" class="method-detail">
267
+ <a name="M000411"></a>
184
268
 
185
269
  <div class="method-heading">
186
270
 
187
- <a href="#M000582" class="method-signature">
271
+ <a href="#M000411" class="method-signature">
188
272
 
189
273
  <span class="method-name">to_html</span><span class="method-args">()</span>
190
274
 
@@ -195,37 +279,17 @@
195
279
  <div class="method-description">
196
280
 
197
281
  <p><a class="source-toggle" href="#"
198
- onclick="toggleCode('M000582-source');return false;">[Source]</a></p>
199
- <div class="method-source-code" id="M000582-source">
282
+ onclick="toggleCode('M000411-source');return false;">[Source]</a></p>
283
+ <div class="method-source-code" id="M000411-source">
200
284
  <pre>
201
- <span class="ruby-comment cmt"># File lib/reports/Navigator.rb, line 28</span>
202
- 28: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
203
- 29: <span class="ruby-identifier">reports</span> = <span class="ruby-identifier">filterReports</span>
204
- 30: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">reports</span>.<span class="ruby-identifier">empty?</span>
205
- 31:
206
- 32: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
207
- 33: <span class="ruby-identifier">html</span> = []
208
- 34: <span class="ruby-identifier">html</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>))
209
- 35: <span class="ruby-identifier">reports</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">report</span><span class="ruby-operator">|</span>
210
- 36: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">report</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value str">'formats'</span>).<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">:html</span>)
211
- 37:
212
- 38: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
213
- 39: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
214
- 40: <span class="ruby-keyword kw">else</span>
215
- 41: <span class="ruby-identifier">div</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'|'</span>)
216
- 42: <span class="ruby-keyword kw">end</span>
217
- 43: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">report</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@project</span>.<span class="ruby-identifier">reportContext</span>.<span class="ruby-identifier">report</span>
218
- 44: <span class="ruby-identifier">div</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">span</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'span'</span>,
219
- 45: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'class:navbar_current'</span>))
220
- 46: <span class="ruby-identifier">span</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">report</span>.<span class="ruby-identifier">name</span>)
221
- 47: <span class="ruby-keyword kw">else</span>
222
- 48: <span class="ruby-identifier">div</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">span</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'span'</span>, <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'class:navbar_other'</span>))
223
- 49: <span class="ruby-identifier">span</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">a</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'a'</span>, <span class="ruby-value str">'href'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">report</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'.html'</span>))
224
- 50: <span class="ruby-identifier">a</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">report</span>.<span class="ruby-identifier">name</span>)
225
- 51: <span class="ruby-keyword kw">end</span>
226
- 52: <span class="ruby-keyword kw">end</span>
227
- 53: <span class="ruby-identifier">html</span>
228
- 54: <span class="ruby-keyword kw">end</span>
285
+ <span class="ruby-comment cmt"># File lib/reports/Navigator.rb, line 160</span>
286
+ 160: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_html</span>
287
+ 161: <span class="ruby-identifier">reports</span> = <span class="ruby-identifier">filterReports</span>
288
+ 162: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">reports</span>.<span class="ruby-identifier">empty?</span>
289
+ 163:
290
+ 164: <span class="ruby-identifier">generate</span>(<span class="ruby-identifier">reports</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">content</span> = <span class="ruby-constant">NavigatorElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">nil</span>))
291
+ 165: <span class="ruby-identifier">content</span>.<span class="ruby-identifier">to_html</span>
292
+ 166: <span class="ruby-keyword kw">end</span>
229
293
  </pre>
230
294
  </div>
231
295