taskjuggler 0.0.7 → 0.0.8

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 (415) hide show
  1. data/CHANGELOG +119 -0
  2. data/benchmarks/allocatedSlots.tjp +1602 -0
  3. data/benchmarks/booking.tjp +40 -30
  4. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/css/tjmanual.css +0 -0
  5. data/{test/TestSuite/Scheduler/Correct → benchmarks}/css/tjreport.css +1 -0
  6. data/benchmarks/gantt.tjp +57 -0
  7. data/benchmarks/htmltaskreport.tjp +26 -1
  8. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/details.png +0 -0
  9. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/flag-green.png +0 -0
  10. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/flag-red.png +0 -0
  11. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/flag-yellow.png +0 -0
  12. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/resource.png +0 -0
  13. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/resourcegroup.png +0 -0
  14. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/task.png +0 -0
  15. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/taskgroup.png +0 -0
  16. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/trend-down.png +0 -0
  17. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/trend-flat.png +0 -0
  18. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/trend-up.png +0 -0
  19. data/benchmarks/profile.clt +36082 -0
  20. data/benchmarks/profile.html +58182 -0
  21. data/benchmarks/runbench.rb +6 -0
  22. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/scripts/wz_tooltip.js +0 -0
  23. data/doc/AppConfig.html +85 -37
  24. data/doc/Arguments.html +11 -1
  25. data/doc/CHANGELOG.html +131 -2
  26. data/doc/COPYING.html +11 -1
  27. data/doc/Object.html +12 -3
  28. data/doc/README.html +11 -1
  29. data/doc/RuntimeConfig.html +11 -1
  30. data/doc/String.html +11 -1
  31. data/doc/StringIO.html +11 -1
  32. data/doc/TaskJuggler.html +250 -219
  33. data/doc/TaskJuggler/Account.html +11 -1
  34. data/doc/TaskJuggler/AccountAttribute.html +11 -1
  35. data/doc/TaskJuggler/AccountScenario.html +11 -1
  36. data/doc/TaskJuggler/Allocation.html +11 -1
  37. data/doc/TaskJuggler/AllocationAttribute.html +11 -1
  38. data/doc/TaskJuggler/AttributeBase.html +11 -1
  39. data/doc/TaskJuggler/AttributeDefinition.html +11 -1
  40. data/doc/TaskJuggler/BatchProcessor.html +11 -1
  41. data/doc/TaskJuggler/Booking.html +11 -1
  42. data/doc/TaskJuggler/BookingListAttribute.html +11 -1
  43. data/doc/TaskJuggler/BooleanAttribute.html +11 -1
  44. data/doc/TaskJuggler/CSVFile.html +12 -2
  45. data/doc/TaskJuggler/CellSettingPattern.html +11 -1
  46. data/doc/TaskJuggler/CellSettingPatternList.html +11 -1
  47. data/doc/TaskJuggler/Charge.html +11 -1
  48. data/doc/TaskJuggler/ChargeListAttribute.html +11 -1
  49. data/doc/TaskJuggler/ChargeSet.html +11 -1
  50. data/doc/TaskJuggler/ChargeSetListAttribute.html +11 -1
  51. data/doc/TaskJuggler/CollisionDetector.html +1063 -0
  52. data/doc/TaskJuggler/ColumnListAttribute.html +11 -1
  53. data/doc/TaskJuggler/ColumnTable.html +11 -1
  54. data/doc/TaskJuggler/Daemon.html +11 -1
  55. data/doc/TaskJuggler/{OnShiftCache.html → DataCache.html} +127 -139
  56. data/doc/TaskJuggler/DataCacheEntry.html +711 -0
  57. data/doc/TaskJuggler/DateAttribute.html +11 -1
  58. data/doc/TaskJuggler/DefinitionListAttribute.html +11 -1
  59. data/doc/TaskJuggler/DependencyListAttribute.html +11 -1
  60. data/doc/TaskJuggler/DurationAttribute.html +16 -5
  61. data/doc/TaskJuggler/FileList.html +11 -1
  62. data/doc/TaskJuggler/FileRecord.html +11 -1
  63. data/doc/TaskJuggler/FixnumAttribute.html +19 -9
  64. data/doc/TaskJuggler/FlagListAttribute.html +29 -19
  65. data/doc/TaskJuggler/FloatAttribute.html +23 -13
  66. data/doc/TaskJuggler/FormatListAttribute.html +19 -9
  67. data/doc/TaskJuggler/GanttChart.html +94 -133
  68. data/doc/TaskJuggler/GanttContainer.html +11 -1
  69. data/doc/TaskJuggler/GanttHeader.html +11 -1
  70. data/doc/TaskJuggler/GanttHeaderScaleItem.html +11 -1
  71. data/doc/TaskJuggler/GanttLine.html +11 -1
  72. data/doc/TaskJuggler/GanttLoadStack.html +11 -1
  73. data/doc/TaskJuggler/GanttMilestone.html +11 -1
  74. data/doc/TaskJuggler/GanttRouter.html +247 -596
  75. data/doc/TaskJuggler/GanttTaskBar.html +11 -1
  76. data/doc/TaskJuggler/HTMLDocument.html +11 -1
  77. data/doc/TaskJuggler/HTMLGraphics.html +11 -1
  78. data/doc/TaskJuggler/Interval.html +11 -1
  79. data/doc/TaskJuggler/IntervalListAttribute.html +33 -23
  80. data/doc/TaskJuggler/JobInfo.html +11 -1
  81. data/doc/TaskJuggler/Journal.html +11 -1
  82. data/doc/TaskJuggler/JournalEntry.html +11 -1
  83. data/doc/TaskJuggler/JournalEntryList.html +11 -1
  84. data/doc/TaskJuggler/KeywordArray.html +11 -1
  85. data/doc/TaskJuggler/KeywordDocumentation.html +16 -6
  86. data/doc/TaskJuggler/Limits.html +11 -1
  87. data/doc/TaskJuggler/Limits/Limit.html +11 -1
  88. data/doc/TaskJuggler/LimitsAttribute.html +24 -14
  89. data/doc/TaskJuggler/ListAttributeBase.html +11 -1
  90. data/doc/TaskJuggler/Log.html +11 -1
  91. data/doc/TaskJuggler/LogFile.html +11 -1
  92. data/doc/TaskJuggler/LogicalAttribute.html +11 -1
  93. data/doc/TaskJuggler/LogicalExpression.html +11 -1
  94. data/doc/TaskJuggler/LogicalExpressionAttribute.html +19 -9
  95. data/doc/TaskJuggler/LogicalFlag.html +11 -1
  96. data/doc/TaskJuggler/LogicalFunction.html +11 -1
  97. data/doc/TaskJuggler/LogicalOperation.html +11 -1
  98. data/doc/TaskJuggler/Macro.html +11 -1
  99. data/doc/TaskJuggler/MacroTable.html +11 -1
  100. data/doc/TaskJuggler/ManagerResponsibilities.html +11 -1
  101. data/doc/TaskJuggler/ManagerStatusRecord.html +11 -1
  102. data/doc/TaskJuggler/Message.html +11 -1
  103. data/doc/TaskJuggler/MessageHandler.html +11 -1
  104. data/doc/TaskJuggler/Navigator.html +12 -2
  105. data/doc/TaskJuggler/NavigatorElement.html +11 -1
  106. data/doc/TaskJuggler/NikuProject.html +11 -1
  107. data/doc/TaskJuggler/NikuReport.html +11 -1
  108. data/doc/TaskJuggler/NikuResource.html +11 -1
  109. data/doc/TaskJuggler/NodeListAttribute.html +17 -7
  110. data/doc/TaskJuggler/PlaceHolderCell.html +722 -0
  111. data/doc/TaskJuggler/ProcessIntercom.html +11 -1
  112. data/doc/TaskJuggler/ProcessIntercomIface.html +11 -1
  113. data/doc/TaskJuggler/Project.html +587 -500
  114. data/doc/TaskJuggler/ProjectBroker.html +11 -1
  115. data/doc/TaskJuggler/ProjectBrokerIface.html +11 -1
  116. data/doc/TaskJuggler/ProjectFileParser.html +205 -192
  117. data/doc/TaskJuggler/ProjectFileScanner.html +230 -207
  118. data/doc/TaskJuggler/ProjectRecord.html +11 -1
  119. data/doc/TaskJuggler/ProjectServer.html +11 -1
  120. data/doc/TaskJuggler/ProjectServerIface.html +11 -1
  121. data/doc/TaskJuggler/PropertyAttribute.html +19 -9
  122. data/doc/TaskJuggler/PropertyList.html +95 -83
  123. data/doc/TaskJuggler/PropertySet.html +11 -1
  124. data/doc/TaskJuggler/PropertyTreeNode.html +11 -1
  125. data/doc/TaskJuggler/Query.html +234 -232
  126. data/doc/TaskJuggler/RTFHandlers.html +11 -1
  127. data/doc/TaskJuggler/RTFNavigator.html +11 -1
  128. data/doc/TaskJuggler/RTFQuery.html +11 -1
  129. data/doc/TaskJuggler/RTFReport.html +11 -1
  130. data/doc/TaskJuggler/RTFReportLink.html +11 -1
  131. data/doc/TaskJuggler/RTFWithQuerySupport.html +11 -1
  132. data/doc/TaskJuggler/RealFormat.html +12 -2
  133. data/doc/TaskJuggler/RealFormatAttribute.html +15 -5
  134. data/doc/TaskJuggler/ReferenceAttribute.html +38 -28
  135. data/doc/TaskJuggler/Report.html +96 -113
  136. data/doc/TaskJuggler/ReportBase.html +161 -152
  137. data/doc/TaskJuggler/ReportContext.html +11 -1
  138. data/doc/TaskJuggler/ReportServer.html +59 -48
  139. data/doc/TaskJuggler/ReportServerIface.html +51 -41
  140. data/doc/TaskJuggler/ReportServerRecord.html +11 -1
  141. data/doc/TaskJuggler/ReportServlet.html +11 -1
  142. data/doc/TaskJuggler/ReportTable.html +46 -25
  143. data/doc/TaskJuggler/ReportTableCell.html +296 -275
  144. data/doc/TaskJuggler/ReportTableColumn.html +14 -4
  145. data/doc/TaskJuggler/ReportTableLegend.html +11 -1
  146. data/doc/TaskJuggler/ReportTableLine.html +19 -7
  147. data/doc/TaskJuggler/Resource.html +12 -2
  148. data/doc/TaskJuggler/ResourceListAttribute.html +40 -30
  149. data/doc/TaskJuggler/ResourceListRE.html +11 -1
  150. data/doc/TaskJuggler/ResourceScenario.html +708 -565
  151. data/doc/TaskJuggler/RichText.html +54 -36
  152. data/doc/TaskJuggler/RichTextAttribute.html +31 -21
  153. data/doc/TaskJuggler/RichTextDocument.html +11 -1
  154. data/doc/TaskJuggler/RichTextElement.html +11 -1
  155. data/doc/TaskJuggler/RichTextFunctionExample.html +11 -1
  156. data/doc/TaskJuggler/RichTextFunctionHandler.html +11 -1
  157. data/doc/TaskJuggler/RichTextImage.html +11 -1
  158. data/doc/TaskJuggler/RichTextIntermediate.html +81 -71
  159. data/doc/TaskJuggler/RichTextParser.html +88 -33
  160. data/doc/TaskJuggler/RichTextScanner.html +45 -35
  161. data/doc/TaskJuggler/RichTextSnip.html +11 -1
  162. data/doc/TaskJuggler/RichTextSyntaxRules.html +436 -389
  163. data/doc/TaskJuggler/Scenario.html +11 -1
  164. data/doc/TaskJuggler/ScenarioData.html +11 -1
  165. data/doc/TaskJuggler/ScenarioListAttribute.html +23 -13
  166. data/doc/TaskJuggler/Scoreboard.html +92 -73
  167. data/doc/TaskJuggler/SheetHandlerBase.html +11 -1
  168. data/doc/TaskJuggler/SheetReceiver.html +11 -1
  169. data/doc/TaskJuggler/SheetSender.html +11 -1
  170. data/doc/TaskJuggler/Shift.html +11 -1
  171. data/doc/TaskJuggler/ShiftAssignment.html +11 -1
  172. data/doc/TaskJuggler/ShiftAssignments.html +11 -1
  173. data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +24 -14
  174. data/doc/TaskJuggler/ShiftScenario.html +11 -1
  175. data/doc/TaskJuggler/SimpleQueryExpander.html +11 -1
  176. data/doc/TaskJuggler/SortListAttribute.html +21 -11
  177. data/doc/TaskJuggler/SourceFileInfo.html +11 -1
  178. data/doc/TaskJuggler/StatusSheetReceiver.html +11 -1
  179. data/doc/TaskJuggler/StatusSheetReport.html +11 -1
  180. data/doc/TaskJuggler/StatusSheetSender.html +112 -11
  181. data/doc/TaskJuggler/StringAttribute.html +23 -13
  182. data/doc/TaskJuggler/SymbolAttribute.html +19 -9
  183. data/doc/TaskJuggler/SyntaxReference.html +80 -71
  184. data/doc/TaskJuggler/TOCEntry.html +11 -1
  185. data/doc/TaskJuggler/TSResourceRecord.html +11 -1
  186. data/doc/TaskJuggler/TSTaskRecord.html +11 -1
  187. data/doc/TaskJuggler/TableColumnDefinition.html +11 -1
  188. data/doc/TaskJuggler/TableOfContents.html +11 -1
  189. data/doc/TaskJuggler/TableReport.html +422 -411
  190. data/doc/TaskJuggler/Task.html +11 -1
  191. data/doc/TaskJuggler/TaskDependency.html +11 -1
  192. data/doc/TaskJuggler/TaskListAttribute.html +33 -23
  193. data/doc/TaskJuggler/TaskListRE.html +11 -1
  194. data/doc/TaskJuggler/TaskScenario.html +2007 -1919
  195. data/doc/TaskJuggler/TextFormatter.html +11 -1
  196. data/doc/TaskJuggler/TextParser.html +421 -612
  197. data/doc/TaskJuggler/TextParser/Pattern.html +410 -211
  198. data/doc/TaskJuggler/TextParser/Rule.html +224 -152
  199. data/doc/TaskJuggler/TextParser/StackElement.html +190 -28
  200. data/doc/TaskJuggler/TextParser/State.html +989 -0
  201. data/doc/TaskJuggler/TextParser/StateTransition.html +782 -0
  202. data/doc/TaskJuggler/TextParser/TextParserResultArray.html +25 -14
  203. data/doc/TaskJuggler/TextParser/TokenDoc.html +11 -1
  204. data/doc/TaskJuggler/TextReport.html +11 -1
  205. data/doc/TaskJuggler/TextScanner.html +285 -273
  206. data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +17 -7
  207. data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +24 -14
  208. data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +11 -1
  209. data/doc/TaskJuggler/TextScanner/StreamHandle.html +64 -52
  210. data/doc/TaskJuggler/TimeSheet.html +11 -1
  211. data/doc/TaskJuggler/TimeSheetReceiver.html +11 -1
  212. data/doc/TaskJuggler/TimeSheetRecord.html +11 -1
  213. data/doc/TaskJuggler/TimeSheetReport.html +11 -1
  214. data/doc/TaskJuggler/TimeSheetSender.html +11 -1
  215. data/doc/TaskJuggler/TimeSheetSummary.html +11 -1
  216. data/doc/TaskJuggler/TimeSheets.html +11 -1
  217. data/doc/TaskJuggler/Tj3AppBase.html +11 -1
  218. data/doc/TaskJuggler/Tj3Client.html +11 -1
  219. data/doc/TaskJuggler/Tj3Daemon.html +11 -1
  220. data/doc/TaskJuggler/Tj3SheetAppBase.html +11 -1
  221. data/doc/TaskJuggler/Tj3SsReceiver.html +11 -1
  222. data/doc/TaskJuggler/Tj3SsSender.html +11 -1
  223. data/doc/TaskJuggler/Tj3TsReceiver.html +11 -1
  224. data/doc/TaskJuggler/Tj3TsSender.html +11 -1
  225. data/doc/TaskJuggler/Tj3TsSummary.html +11 -1
  226. data/doc/TaskJuggler/TjException.html +11 -1
  227. data/doc/TaskJuggler/TjTime.html +474 -324
  228. data/doc/TaskJuggler/TjpExample.html +11 -1
  229. data/doc/TaskJuggler/TjpExportRE.html +11 -1
  230. data/doc/TaskJuggler/TjpSyntaxRules.html +3731 -3662
  231. data/doc/TaskJuggler/URLParameter.html +11 -1
  232. data/doc/TaskJuggler/UserManual.html +11 -1
  233. data/doc/TaskJuggler/VimSyntax.html +11 -1
  234. data/doc/TaskJuggler/WebServer.html +11 -1
  235. data/doc/TaskJuggler/WorkingHours.html +295 -221
  236. data/doc/TaskJuggler/WorkingHoursAttribute.html +11 -1
  237. data/doc/TaskJuggler/XMLBlob.html +11 -1
  238. data/doc/TaskJuggler/XMLComment.html +11 -1
  239. data/doc/TaskJuggler/XMLDocument.html +11 -1
  240. data/doc/TaskJuggler/XMLElement.html +11 -1
  241. data/doc/TaskJuggler/XMLNamedText.html +11 -1
  242. data/doc/TaskJuggler/XMLText.html +11 -1
  243. data/doc/index.html +694 -624
  244. data/doc/lib/AppConfig_rb.html +1 -1
  245. data/doc/lib/Attributes_rb.html +1 -1
  246. data/doc/lib/Booking_rb.html +1 -1
  247. data/doc/lib/DataCache_rb.html +69 -0
  248. data/doc/lib/KeywordDocumentation_rb.html +1 -1
  249. data/doc/lib/ProjectFileParser_rb.html +1 -1
  250. data/doc/lib/ProjectFileScanner_rb.html +1 -1
  251. data/doc/lib/Project_rb.html +1 -1
  252. data/doc/lib/PropertyList_rb.html +1 -1
  253. data/doc/lib/Query_rb.html +1 -1
  254. data/doc/lib/RealFormat_rb.html +1 -1
  255. data/doc/lib/ResourceScenario_rb.html +1 -1
  256. data/doc/lib/Resource_rb.html +1 -1
  257. data/doc/lib/RichTextParser_rb.html +1 -1
  258. data/doc/lib/RichTextScanner_rb.html +1 -1
  259. data/doc/lib/RichTextSyntaxRules_rb.html +1 -1
  260. data/doc/lib/RichText_rb.html +1 -1
  261. data/doc/lib/Scoreboard_rb.html +1 -1
  262. data/doc/lib/StatusSheetSender_rb.html +1 -1
  263. data/doc/lib/SyntaxReference_rb.html +1 -1
  264. data/doc/lib/TaskJuggler_rb.html +1 -1
  265. data/doc/lib/TaskScenario_rb.html +3 -1
  266. data/doc/lib/TextParser/Pattern_rb.html +3 -1
  267. data/doc/lib/TextParser/Rule_rb.html +3 -1
  268. data/doc/lib/TextParser/StackElement_rb.html +3 -1
  269. data/doc/lib/TextParser/State_rb.html +65 -0
  270. data/doc/lib/TextParser_rb.html +1 -1
  271. data/doc/lib/TextScanner_rb.html +1 -1
  272. data/doc/lib/Tj3Config_rb.html +1 -1
  273. data/doc/lib/TjTime_rb.html +1 -1
  274. data/doc/lib/TjpSyntaxRules_rb.html +1 -1
  275. data/doc/lib/WorkingHours_rb.html +3 -1
  276. data/doc/lib/daemon/ReportServer_rb.html +1 -1
  277. data/doc/lib/reports/CSVFile_rb.html +1 -1
  278. data/doc/lib/reports/CollisionDetector_rb.html +67 -0
  279. data/doc/lib/reports/GanttChart_rb.html +1 -1
  280. data/doc/lib/reports/GanttRouter_rb.html +3 -1
  281. data/doc/lib/reports/Navigator_rb.html +1 -1
  282. data/doc/lib/reports/ReportBase_rb.html +1 -1
  283. data/doc/lib/reports/ReportTableCell_rb.html +1 -1
  284. data/doc/lib/reports/ReportTableColumn_rb.html +1 -1
  285. data/doc/lib/reports/ReportTableLine_rb.html +1 -1
  286. data/doc/lib/reports/ReportTable_rb.html +1 -1
  287. data/doc/lib/reports/Report_rb.html +1 -1
  288. data/doc/lib/reports/TableReport_rb.html +1 -1
  289. data/doc/lib/taskjuggler3_rb.html +1 -1
  290. data/examples/tutorial.tjp +1 -2
  291. data/lib/AppConfig.rb +10 -4
  292. data/lib/Attributes.rb +4 -4
  293. data/lib/DataCache.rb +124 -0
  294. data/lib/KeywordDocumentation.rb +5 -5
  295. data/lib/Project.rb +54 -10
  296. data/lib/ProjectFileParser.rb +10 -9
  297. data/lib/ProjectFileScanner.rb +38 -25
  298. data/lib/PropertyList.rb +6 -4
  299. data/lib/Query.rb +0 -8
  300. data/lib/RealFormat.rb +1 -1
  301. data/lib/Resource.rb +1 -1
  302. data/lib/ResourceScenario.rb +96 -31
  303. data/lib/RichText.rb +17 -5
  304. data/lib/RichTextParser.rb +22 -9
  305. data/lib/RichTextScanner.rb +34 -34
  306. data/lib/RichTextSyntaxRules.rb +41 -36
  307. data/lib/Scoreboard.rb +16 -7
  308. data/lib/StatusSheetSender.rb +63 -0
  309. data/lib/SyntaxReference.rb +9 -10
  310. data/lib/TaskJuggler.rb +28 -4
  311. data/lib/TaskScenario.rb +66 -19
  312. data/lib/TextParser.rb +219 -384
  313. data/lib/TextParser/Pattern.rb +168 -49
  314. data/lib/TextParser/Rule.rb +33 -17
  315. data/lib/TextParser/StackElement.rb +42 -2
  316. data/lib/TextParser/State.rb +175 -0
  317. data/lib/TextScanner.rb +19 -15
  318. data/lib/Tj3Config.rb +1 -1
  319. data/lib/TjTime.rb +111 -3
  320. data/lib/TjpSyntaxRules.rb +122 -66
  321. data/lib/WorkingHours.rb +91 -186
  322. data/lib/daemon/ReportServer.rb +3 -2
  323. data/lib/reports/CSVFile.rb +1 -1
  324. data/lib/reports/CollisionDetector.rb +177 -0
  325. data/lib/reports/GanttChart.rb +25 -41
  326. data/lib/reports/GanttRouter.rb +104 -233
  327. data/lib/reports/Navigator.rb +1 -1
  328. data/lib/reports/Report.rb +9 -33
  329. data/lib/reports/ReportBase.rb +0 -1
  330. data/lib/reports/ReportTable.rb +19 -8
  331. data/lib/reports/ReportTableCell.rb +61 -25
  332. data/lib/reports/ReportTableColumn.rb +2 -2
  333. data/lib/reports/ReportTableLine.rb +4 -2
  334. data/lib/reports/TableReport.rb +1 -0
  335. data/lib/taskjuggler3.rb +0 -1
  336. data/manual/Installation +7 -3
  337. data/manual/Intro +12 -10
  338. data/manual/The_TaskJuggler_Syntax +4 -4
  339. data/test/TestSuite/CSV-Reports/celltext-Reference.csv +14 -14
  340. data/test/TestSuite/CSV-Reports/genrefs +1 -1
  341. data/test/TestSuite/CSV-Reports/resourcereport-Reference.csv +4 -4
  342. data/test/TestSuite/CSV-Reports/resourcereport_with_tasks-Reference.csv +22 -22
  343. data/test/TestSuite/CSV-Reports/sortByTree-Reference.csv +14 -14
  344. data/test/TestSuite/CSV-Reports/sortBy_duration.down-Reference.csv +14 -14
  345. data/test/TestSuite/CSV-Reports/sortBy_effort.up-Reference.csv +14 -14
  346. data/test/TestSuite/CSV-Reports/sortBy_plan.start.down-Reference.csv +14 -14
  347. data/test/TestSuite/CSV-Reports/taskreport-Reference.csv +14 -14
  348. data/test/TestSuite/CSV-Reports/taskreport_with_resources-Reference.csv +32 -24
  349. data/test/TestSuite/CSV-Reports/weekly-Reference.csv +13 -0
  350. data/test/TestSuite/CSV-Reports/weekly.tjp +9 -0
  351. data/test/TestSuite/HTML-Reports/css/tjreport.css +7 -2
  352. data/test/TestSuite/HTML-Reports/depArrows.html +839 -830
  353. data/test/TestSuite/HTML-Reports/depArrows.tjp +12 -12
  354. data/test/TestSuite/HTML-Reports/profile.html +37581 -0
  355. data/test/TestSuite/ReportGenerator/Errors/no_report_defined.tjp +7 -0
  356. data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.tjp +1 -1
  357. data/test/TestSuite/StatusSheets/TimeSheets/2002-03-01/missing-reports +2 -0
  358. data/test/TestSuite/StatusSheets/run +2 -0
  359. data/test/TestSuite/Syntax/Correct/Booking.tjp +13 -5
  360. data/test/TestSuite/Syntax/Correct/ResourceRoot.tjp +21 -0
  361. data/test/TestSuite/Syntax/Correct/RollupResource.tjp +21 -0
  362. data/test/TestSuite/Syntax/Correct/TaskRoot.tjp +1 -1
  363. data/test/TestSuite/Syntax/Errors/empty.tjp +1 -1
  364. data/test/TestSuite/Syntax/Errors/include_before_project.tjp +2 -0
  365. data/test/TestSuite/Syntax/Errors/no_reduce.tjp +6 -0
  366. data/test/TestSuite/Syntax/Errors/unsupported_token.tjp +1 -1
  367. data/test/TestSuite/TimeSheets/run +1 -1
  368. data/test/test_CSV-Reports.rb +2 -4
  369. data/test/test_CollisionDetector.rb +85 -0
  370. data/test/test_Project.rb +2 -2
  371. data/test/test_ProjectFileScanner.rb +73 -31
  372. data/test/test_Query.rb +2 -2
  373. data/test/test_ReportGenerator.rb +1 -1
  374. data/test/test_RichText.rb +4 -4
  375. data/test/test_WorkingHours.rb +150 -11
  376. metadata +75 -67
  377. data/test/TestSuite/ReportGenerator/Errors/css/tjreport.css +0 -407
  378. data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.html +0 -26
  379. data/test/TestSuite/Scheduler/Correct/Allocate.html +0 -3210
  380. data/test/TestSuite/Scheduler/Correct/Container.html +0 -349
  381. data/test/TestSuite/Scheduler/Correct/Limits.html +0 -4964
  382. data/test/TestSuite/Scheduler/Correct/Shift.html +0 -1719
  383. data/test/TestSuite/Scheduler/Correct/Shift2.html +0 -476
  384. data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +0 -66
  385. data/test/TestSuite/Scheduler/Correct/icons/details.png +0 -0
  386. data/test/TestSuite/Scheduler/Correct/icons/flag-green.png +0 -0
  387. data/test/TestSuite/Scheduler/Correct/icons/flag-red.png +0 -0
  388. data/test/TestSuite/Scheduler/Correct/icons/flag-yellow.png +0 -0
  389. data/test/TestSuite/Scheduler/Correct/icons/resource.png +0 -0
  390. data/test/TestSuite/Scheduler/Correct/icons/resourcegroup.png +0 -0
  391. data/test/TestSuite/Scheduler/Correct/icons/task.png +0 -0
  392. data/test/TestSuite/Scheduler/Correct/icons/taskgroup.png +0 -0
  393. data/test/TestSuite/Scheduler/Correct/icons/trend-down.png +0 -0
  394. data/test/TestSuite/Scheduler/Correct/icons/trend-flat.png +0 -0
  395. data/test/TestSuite/Scheduler/Correct/icons/trend-up.png +0 -0
  396. data/test/TestSuite/Scheduler/Correct/scripts/wz_tooltip.js +0 -1301
  397. data/test/TestSuite/Scheduler/Errors/css/tjmanual.css +0 -66
  398. data/test/TestSuite/Scheduler/Errors/css/tjreport.css +0 -407
  399. data/test/TestSuite/Scheduler/Errors/icons/details.png +0 -0
  400. data/test/TestSuite/Scheduler/Errors/icons/flag-green.png +0 -0
  401. data/test/TestSuite/Scheduler/Errors/icons/flag-red.png +0 -0
  402. data/test/TestSuite/Scheduler/Errors/icons/flag-yellow.png +0 -0
  403. data/test/TestSuite/Scheduler/Errors/icons/resource.png +0 -0
  404. data/test/TestSuite/Scheduler/Errors/icons/resourcegroup.png +0 -0
  405. data/test/TestSuite/Scheduler/Errors/icons/task.png +0 -0
  406. data/test/TestSuite/Scheduler/Errors/icons/taskgroup.png +0 -0
  407. data/test/TestSuite/Scheduler/Errors/icons/trend-down.png +0 -0
  408. data/test/TestSuite/Scheduler/Errors/icons/trend-flat.png +0 -0
  409. data/test/TestSuite/Scheduler/Errors/icons/trend-up.png +0 -0
  410. data/test/TestSuite/Scheduler/Errors/scripts/wz_tooltip.js +0 -1301
  411. data/test/TestSuite/StatusSheets/resrep.tji +0 -7
  412. data/test/TestSuite/StatusSheets/tj3d.log +0 -312
  413. data/test/TestSuite/Syntax/Correct/Managers.html +0 -263
  414. data/test/TestSuite/TimeSheets/acceptable_intervals +0 -1
  415. data/test/TestSuite/TimeSheets/statussheets.log +0 -1
@@ -149,12 +149,18 @@
149
149
 
150
150
  <li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
151
151
 
152
+ <li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
153
+
152
154
  <li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
153
155
 
154
156
  <li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
155
157
 
156
158
  <li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
157
159
 
160
+ <li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
161
+
162
+ <li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
163
+
158
164
  <li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
159
165
 
160
166
  <li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
@@ -261,7 +267,7 @@
261
267
 
262
268
  <li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
263
269
 
264
- <li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
270
+ <li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
265
271
 
266
272
  <li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
267
273
 
@@ -441,6 +447,10 @@
441
447
 
442
448
  <li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
443
449
 
450
+ <li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
451
+
452
+ <li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
453
+
444
454
  <li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
445
455
 
446
456
  <li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
@@ -157,12 +157,18 @@
157
157
 
158
158
  <li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
159
159
 
160
+ <li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
161
+
160
162
  <li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
161
163
 
162
164
  <li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
163
165
 
164
166
  <li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
165
167
 
168
+ <li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
169
+
170
+ <li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
171
+
166
172
  <li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
167
173
 
168
174
  <li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
@@ -269,7 +275,7 @@
269
275
 
270
276
  <li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
271
277
 
272
- <li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
278
+ <li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
273
279
 
274
280
  <li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
275
281
 
@@ -449,6 +455,10 @@
449
455
 
450
456
  <li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
451
457
 
458
+ <li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
459
+
460
+ <li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
461
+
452
462
  <li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
453
463
 
454
464
  <li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
@@ -153,12 +153,18 @@
153
153
 
154
154
  <li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
155
155
 
156
+ <li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
157
+
156
158
  <li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
157
159
 
158
160
  <li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
159
161
 
160
162
  <li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
161
163
 
164
+ <li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
165
+
166
+ <li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
167
+
162
168
  <li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
163
169
 
164
170
  <li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
@@ -265,7 +271,7 @@
265
271
 
266
272
  <li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
267
273
 
268
- <li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
274
+ <li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
269
275
 
270
276
  <li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
271
277
 
@@ -445,6 +451,10 @@
445
451
 
446
452
  <li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
447
453
 
454
+ <li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
455
+
456
+ <li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
457
+
448
458
  <li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
449
459
 
450
460
  <li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
@@ -586,10 +596,10 @@
586
596
  <div class="method-source-code"
587
597
  id="new-source">
588
598
  <pre>
589
- <span class="ruby-comment cmt"># File lib/Attributes.rb, line 484</span>
590
- 484: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">property</span>, <span class="ruby-identifier">type</span>)
591
- 485: <span class="ruby-keyword kw">super</span>
592
- 486: <span class="ruby-keyword kw">end</span></pre>
599
+ <span class="ruby-comment cmt"># File lib/Attributes.rb, line 485</span>
600
+ 485: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">property</span>, <span class="ruby-identifier">type</span>)
601
+ 486: <span class="ruby-keyword kw">super</span>
602
+ 487: <span class="ruby-keyword kw">end</span></pre>
593
603
  </div>
594
604
 
595
605
  </div>
@@ -620,10 +630,10 @@
620
630
  <div class="method-source-code"
621
631
  id="tjp-d-source">
622
632
  <pre>
623
- <span class="ruby-comment cmt"># File lib/Attributes.rb, line 488</span>
624
- 488: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">ScenarioListAttribute</span><span class="ruby-operator">::</span><span class="ruby-identifier">tjpId</span>
625
- 489: <span class="ruby-value str">'scenarios'</span>
626
- 490: <span class="ruby-keyword kw">end</span></pre>
633
+ <span class="ruby-comment cmt"># File lib/Attributes.rb, line 489</span>
634
+ 489: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">ScenarioListAttribute</span><span class="ruby-operator">::</span><span class="ruby-identifier">tjpId</span>
635
+ 490: <span class="ruby-value str">'scenarios'</span>
636
+ 491: <span class="ruby-keyword kw">end</span></pre>
627
637
  </div>
628
638
 
629
639
  </div>
@@ -660,10 +670,10 @@
660
670
  <div class="method-source-code"
661
671
  id="to-s-source">
662
672
  <pre>
663
- <span class="ruby-comment cmt"># File lib/Attributes.rb, line 492</span>
664
- 492: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">query</span> = <span class="ruby-keyword kw">nil</span>)
665
- 493: <span class="ruby-ivar">@value</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">', '</span>)
666
- 494: <span class="ruby-keyword kw">end</span></pre>
673
+ <span class="ruby-comment cmt"># File lib/Attributes.rb, line 493</span>
674
+ 493: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">query</span> = <span class="ruby-keyword kw">nil</span>)
675
+ 494: <span class="ruby-ivar">@value</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">', '</span>)
676
+ 495: <span class="ruby-keyword kw">end</span></pre>
667
677
  </div>
668
678
 
669
679
  </div>
@@ -169,12 +169,18 @@
169
169
 
170
170
  <li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
171
171
 
172
+ <li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
173
+
172
174
  <li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
173
175
 
174
176
  <li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
175
177
 
176
178
  <li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
177
179
 
180
+ <li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
181
+
182
+ <li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
183
+
178
184
  <li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
179
185
 
180
186
  <li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
@@ -281,7 +287,7 @@
281
287
 
282
288
  <li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
283
289
 
284
- <li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
290
+ <li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
285
291
 
286
292
  <li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
287
293
 
@@ -461,6 +467,10 @@
461
467
 
462
468
  <li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
463
469
 
470
+ <li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
471
+
472
+ <li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
473
+
464
474
  <li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
465
475
 
466
476
  <li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
@@ -726,10 +736,10 @@ Get the value at index <em>idx</em>.
726
736
  <div class="method-source-code"
727
737
  id="--source">
728
738
  <pre>
729
- <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 78</span>
730
- 78: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">idx</span>)
731
- 79: <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">idx</span>]
732
- 80: <span class="ruby-keyword kw">end</span></pre>
739
+ <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 87</span>
740
+ 87: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">idx</span>)
741
+ 88: <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">idx</span>]
742
+ 89: <span class="ruby-keyword kw">end</span></pre>
733
743
  </div>
734
744
 
735
745
  </div>
@@ -762,10 +772,10 @@ Set the <em>value</em> at index <em>idx</em>.
762
772
  <div class="method-source-code"
763
773
  id="--source">
764
774
  <pre>
765
- <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 83</span>
766
- 83: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]=</span>(<span class="ruby-identifier">idx</span>, <span class="ruby-identifier">value</span>)
767
- 84: <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">idx</span>] = <span class="ruby-identifier">value</span>
768
- 85: <span class="ruby-keyword kw">end</span></pre>
775
+ <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 92</span>
776
+ 92: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">[]=</span>(<span class="ruby-identifier">idx</span>, <span class="ruby-identifier">value</span>)
777
+ 93: <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">idx</span>] = <span class="ruby-identifier">value</span>
778
+ 94: <span class="ruby-keyword kw">end</span></pre>
769
779
  </div>
770
780
 
771
781
  </div>
@@ -834,10 +844,10 @@ Assign result of block to each element.
834
844
  <div class="method-source-code"
835
845
  id="collect--source">
836
846
  <pre>
837
- <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 73</span>
838
- 73: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">collect!</span>
839
- 74: <span class="ruby-ivar">@sb</span>.<span class="ruby-identifier">collect!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">x</span> }
840
- 75: <span class="ruby-keyword kw">end</span></pre>
847
+ <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 82</span>
848
+ 82: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">collect!</span>
849
+ 83: <span class="ruby-ivar">@sb</span>.<span class="ruby-identifier">collect!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">x</span> }
850
+ 84: <span class="ruby-keyword kw">end</span></pre>
841
851
  </div>
842
852
 
843
853
  </div>
@@ -874,42 +884,42 @@ Array of [ start, end ] <a href="TjTime.html">TjTime</a> values.
874
884
  <div class="method-source-code"
875
885
  id="collect-ntervals-source">
876
886
  <pre>
877
- <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 102</span>
878
- 102: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">collectIntervals</span>(<span class="ruby-identifier">iv</span>, <span class="ruby-identifier">minDuration</span>)
879
- 103: <span class="ruby-comment cmt"># Determine the start and stop index for the scoreboard search.</span>
880
- 104: <span class="ruby-identifier">startIdx</span> = <span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span>, <span class="ruby-keyword kw">true</span>)
881
- 105: <span class="ruby-identifier">endIdx</span> = <span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">true</span>)
882
- 106:
883
- 107: <span class="ruby-comment cmt"># Convert the minDuration into number of slots.</span>
884
- 108: <span class="ruby-identifier">minDuration</span> <span class="ruby-operator">/=</span> <span class="ruby-ivar">@resolution</span>
885
- 109: <span class="ruby-identifier">minDuration</span> = <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">minDuration</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value">0</span>
886
- 110:
887
- 111: <span class="ruby-comment cmt"># This is collects the resulting intervals.</span>
888
- 112: <span class="ruby-identifier">intervals</span> = []
889
- 113: <span class="ruby-comment cmt"># The duration counter for the currently analyzed interval and the start</span>
890
- 114: <span class="ruby-comment cmt"># index.</span>
891
- 115: <span class="ruby-identifier">duration</span> = <span class="ruby-identifier">start</span> = <span class="ruby-value">0</span>
892
- 116:
893
- 117: <span class="ruby-identifier">startIdx</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">endIdx</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">idx</span><span class="ruby-operator">|</span>
894
- 118: <span class="ruby-comment cmt"># Check whether the scoreboard slot matches any of the target values.</span>
895
- 119: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">idx</span>])
896
- 120: <span class="ruby-comment cmt"># If so, save the start position if this is the first slot and start</span>
897
- 121: <span class="ruby-comment cmt"># counting the matching slots.</span>
898
- 122: <span class="ruby-identifier">start</span> = <span class="ruby-identifier">idx</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">start</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
899
- 123: <span class="ruby-identifier">duration</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
900
- 124: <span class="ruby-keyword kw">else</span>
901
- 125: <span class="ruby-comment cmt"># If we don't have a match, check if we've just finished a matching</span>
902
- 126: <span class="ruby-comment cmt"># interval.</span>
903
- 127: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">duration</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
904
- 128: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">duration</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-identifier">minDuration</span>
905
- 129: <span class="ruby-identifier">intervals</span> <span class="ruby-operator">&lt;&lt;</span> [ <span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">start</span>), <span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">idx</span>) ]
906
- 130: <span class="ruby-keyword kw">end</span>
907
- 131: <span class="ruby-identifier">duration</span> = <span class="ruby-identifier">start</span> = <span class="ruby-value">0</span>
908
- 132: <span class="ruby-keyword kw">end</span>
909
- 133: <span class="ruby-keyword kw">end</span>
910
- 134: <span class="ruby-keyword kw">end</span>
911
- 135: <span class="ruby-identifier">intervals</span>
912
- 136: <span class="ruby-keyword kw">end</span></pre>
887
+ <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 111</span>
888
+ 111: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">collectIntervals</span>(<span class="ruby-identifier">iv</span>, <span class="ruby-identifier">minDuration</span>)
889
+ 112: <span class="ruby-comment cmt"># Determine the start and stop index for the scoreboard search.</span>
890
+ 113: <span class="ruby-identifier">startIdx</span> = <span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">iv</span>.<span class="ruby-identifier">start</span>, <span class="ruby-keyword kw">true</span>)
891
+ 114: <span class="ruby-identifier">endIdx</span> = <span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">iv</span>.<span class="ruby-identifier">end</span>, <span class="ruby-keyword kw">true</span>)
892
+ 115:
893
+ 116: <span class="ruby-comment cmt"># Convert the minDuration into number of slots.</span>
894
+ 117: <span class="ruby-identifier">minDuration</span> <span class="ruby-operator">/=</span> <span class="ruby-ivar">@resolution</span>
895
+ 118: <span class="ruby-identifier">minDuration</span> = <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">minDuration</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value">0</span>
896
+ 119:
897
+ 120: <span class="ruby-comment cmt"># This is collects the resulting intervals.</span>
898
+ 121: <span class="ruby-identifier">intervals</span> = []
899
+ 122: <span class="ruby-comment cmt"># The duration counter for the currently analyzed interval and the start</span>
900
+ 123: <span class="ruby-comment cmt"># index.</span>
901
+ 124: <span class="ruby-identifier">duration</span> = <span class="ruby-identifier">start</span> = <span class="ruby-value">0</span>
902
+ 125:
903
+ 126: <span class="ruby-identifier">startIdx</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">endIdx</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">idx</span><span class="ruby-operator">|</span>
904
+ 127: <span class="ruby-comment cmt"># Check whether the scoreboard slot matches any of the target values.</span>
905
+ 128: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">yield</span>(<span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">idx</span>])
906
+ 129: <span class="ruby-comment cmt"># If so, save the start position if this is the first slot and start</span>
907
+ 130: <span class="ruby-comment cmt"># counting the matching slots.</span>
908
+ 131: <span class="ruby-identifier">start</span> = <span class="ruby-identifier">idx</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">start</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
909
+ 132: <span class="ruby-identifier">duration</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
910
+ 133: <span class="ruby-keyword kw">else</span>
911
+ 134: <span class="ruby-comment cmt"># If we don't have a match, check if we've just finished a matching</span>
912
+ 135: <span class="ruby-comment cmt"># interval.</span>
913
+ 136: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">duration</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
914
+ 137: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">duration</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-identifier">minDuration</span>
915
+ 138: <span class="ruby-identifier">intervals</span> <span class="ruby-operator">&lt;&lt;</span> [ <span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">start</span>), <span class="ruby-identifier">idxToDate</span>(<span class="ruby-identifier">idx</span>) ]
916
+ 139: <span class="ruby-keyword kw">end</span>
917
+ 140: <span class="ruby-identifier">duration</span> = <span class="ruby-identifier">start</span> = <span class="ruby-value">0</span>
918
+ 141: <span class="ruby-keyword kw">end</span>
919
+ 142: <span class="ruby-keyword kw">end</span>
920
+ 143: <span class="ruby-keyword kw">end</span>
921
+ 144: <span class="ruby-identifier">intervals</span>
922
+ 145: <span class="ruby-keyword kw">end</span></pre>
913
923
  </div>
914
924
 
915
925
  </div>
@@ -945,15 +955,18 @@ sanitize the <em>date</em> by forcing it into the project time span.
945
955
  <pre>
946
956
  <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 54</span>
947
957
  54: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">date</span>, <span class="ruby-identifier">forceIntoProject</span> = <span class="ruby-keyword kw">false</span>)
948
- 55: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">forceIntoProject</span>
949
- 56: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">date</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@startDate</span>
950
- 57: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@size</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">date</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-ivar">@endDate</span>
951
- 58: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">date</span> <span class="ruby-operator">&lt;</span> <span class="ruby-ivar">@startDate</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">date</span> <span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@endDate</span>
952
- 59: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Date #{date} is out of project time range &quot;</span> <span class="ruby-operator">+</span>
953
- 60: <span class="ruby-node">&quot;(#{@startDate} - #{@endDate})&quot;</span>
954
- 61: <span class="ruby-keyword kw">end</span>
955
- 62: ((<span class="ruby-identifier">date</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@startDate</span>) <span class="ruby-operator">/</span> <span class="ruby-ivar">@resolution</span>).<span class="ruby-identifier">to_i</span>
956
- 63: <span class="ruby-keyword kw">end</span></pre>
958
+ 55: <span class="ruby-identifier">idx</span> = ((<span class="ruby-identifier">date</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@startDate</span>) <span class="ruby-operator">/</span> <span class="ruby-ivar">@resolution</span>).<span class="ruby-identifier">to_i</span>
959
+ 56:
960
+ 57: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">forceIntoProject</span>
961
+ 58: <span class="ruby-keyword kw">return</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span>
962
+ 59: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@size</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-ivar">@size</span>
963
+ 60: <span class="ruby-keyword kw">elsif</span> (<span class="ruby-identifier">idx</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-ivar">@size</span>)
964
+ 61: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Date #{date} is out of project time range &quot;</span> <span class="ruby-operator">+</span>
965
+ 62: <span class="ruby-node">&quot;(#{@startDate} - #{@endDate})&quot;</span>
966
+ 63: <span class="ruby-keyword kw">end</span>
967
+ 64:
968
+ 65: <span class="ruby-identifier">idx</span>
969
+ 66: <span class="ruby-keyword kw">end</span></pre>
957
970
  </div>
958
971
 
959
972
  </div>
@@ -970,7 +983,7 @@ sanitize the <em>date</em> by forcing it into the project time span.
970
983
  <div class="method-heading">
971
984
 
972
985
  <span class="method-name">each</span><span
973
- class="method-args">()</span>
986
+ class="method-args">(startIdx = 0, endIdx = @size)</span>
974
987
  <span class="method-click-advice">click to toggle source</span>
975
988
 
976
989
  </div>
@@ -986,12 +999,18 @@ Iterate over all scoreboard entries.
986
999
  <div class="method-source-code"
987
1000
  id="each-source">
988
1001
  <pre>
989
- <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 66</span>
990
- 66: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span>
991
- 67: <span class="ruby-ivar">@sb</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">entry</span><span class="ruby-operator">|</span>
992
- 68: <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">entry</span>
993
- 69: <span class="ruby-keyword kw">end</span>
994
- 70: <span class="ruby-keyword kw">end</span></pre>
1002
+ <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 69</span>
1003
+ 69: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span>(<span class="ruby-identifier">startIdx</span> = <span class="ruby-value">0</span>, <span class="ruby-identifier">endIdx</span> = <span class="ruby-ivar">@size</span>)
1004
+ 70: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">startIdx</span> <span class="ruby-operator">!=</span> <span class="ruby-value">0</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">endIdx</span> <span class="ruby-operator">!=</span> <span class="ruby-ivar">@size</span>
1005
+ 71: <span class="ruby-identifier">startIdx</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">endIdx</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
1006
+ 72: <span class="ruby-keyword kw">yield</span> <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">i</span>]
1007
+ 73: <span class="ruby-keyword kw">end</span>
1008
+ 74: <span class="ruby-keyword kw">else</span>
1009
+ 75: <span class="ruby-ivar">@sb</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">entry</span><span class="ruby-operator">|</span>
1010
+ 76: <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">entry</span>
1011
+ 77: <span class="ruby-keyword kw">end</span>
1012
+ 78: <span class="ruby-keyword kw">end</span>
1013
+ 79: <span class="ruby-keyword kw">end</span></pre>
995
1014
  </div>
996
1015
 
997
1016
  </div>
@@ -1024,10 +1043,10 @@ Get the value corresponding to <em>date</em>.
1024
1043
  <div class="method-source-code"
1025
1044
  id="get-source">
1026
1045
  <pre>
1027
- <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 88</span>
1028
- 88: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get</span>(<span class="ruby-identifier">date</span>)
1029
- 89: <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">date</span>)]
1030
- 90: <span class="ruby-keyword kw">end</span></pre>
1046
+ <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 97</span>
1047
+ 97: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get</span>(<span class="ruby-identifier">date</span>)
1048
+ 98: <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">date</span>)]
1049
+ 99: <span class="ruby-keyword kw">end</span></pre>
1031
1050
  </div>
1032
1051
 
1033
1052
  </div>
@@ -1103,10 +1122,10 @@ Set the <em>value</em> corresponding to <em>date</em>.
1103
1122
  <div class="method-source-code"
1104
1123
  id="set-source">
1105
1124
  <pre>
1106
- <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 93</span>
1107
- 93: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set</span>(<span class="ruby-identifier">date</span>, <span class="ruby-identifier">value</span>)
1108
- 94: <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">date</span>)] = <span class="ruby-identifier">value</span>
1109
- 95: <span class="ruby-keyword kw">end</span></pre>
1125
+ <span class="ruby-comment cmt"># File lib/Scoreboard.rb, line 102</span>
1126
+ 102: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set</span>(<span class="ruby-identifier">date</span>, <span class="ruby-identifier">value</span>)
1127
+ 103: <span class="ruby-ivar">@sb</span>[<span class="ruby-identifier">dateToIdx</span>(<span class="ruby-identifier">date</span>)] = <span class="ruby-identifier">value</span>
1128
+ 104: <span class="ruby-keyword kw">end</span></pre>
1110
1129
  </div>
1111
1130
 
1112
1131
  </div>
@@ -171,12 +171,18 @@
171
171
 
172
172
  <li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
173
173
 
174
+ <li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
175
+
174
176
  <li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
175
177
 
176
178
  <li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
177
179
 
178
180
  <li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
179
181
 
182
+ <li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
183
+
184
+ <li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
185
+
180
186
  <li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
181
187
 
182
188
  <li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
@@ -283,7 +289,7 @@
283
289
 
284
290
  <li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
285
291
 
286
- <li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
292
+ <li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
287
293
 
288
294
  <li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
289
295
 
@@ -463,6 +469,10 @@
463
469
 
464
470
  <li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
465
471
 
472
+ <li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
473
+
474
+ <li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
475
+
466
476
  <li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
467
477
 
468
478
  <li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
@@ -173,12 +173,18 @@
173
173
 
174
174
  <li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
175
175
 
176
+ <li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
177
+
176
178
  <li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
177
179
 
178
180
  <li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
179
181
 
180
182
  <li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
181
183
 
184
+ <li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
185
+
186
+ <li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
187
+
182
188
  <li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
183
189
 
184
190
  <li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
@@ -285,7 +291,7 @@
285
291
 
286
292
  <li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
287
293
 
288
- <li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
294
+ <li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
289
295
 
290
296
  <li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
291
297
 
@@ -465,6 +471,10 @@
465
471
 
466
472
  <li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
467
473
 
474
+ <li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
475
+
476
+ <li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
477
+
468
478
  <li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
469
479
 
470
480
  <li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>